Commit graph

201 commits

Author SHA1 Message Date
Alexandre Brandizzi
c0d5e556f2 fix(work-orders): persist date before Generate and fix media retry cancel
Keep CompDoc from marking Generated until completedDate is saved.
Bind retry AbortControllers to the uploader cancel map with upsert-by-localId.
2026-08-04 15:10:37 -03:00
Alexandre Brandizzi
9074841125 fix(work-orders): restore patchField options and harden mutations tests
keep slide-over save callbacks working with the board patch queue.
2026-08-04 15:10:37 -03:00
Alexandre Brandizzi
e7fb8d6122 fix(work-orders): persist completedDate via board and media sh-116
leave EditWorkorder for completedDate; await mutations before draft saved
toast; upload-then-categorize with MIME allowlist, progress, cancel, retry.
2026-08-04 15:10:37 -03:00
Arthur Bassi
cfcf6fa8f0 fix(work-orders): persist completedDate without legacy GetWorkorderById
Save Draft failed on GetWorkorderById (HTTP 400) before EditWorkorder.
Post only Id + CompletedDate and cover the EditWorkorder route contract.
2026-08-04 15:10:37 -03:00
Arthur Bassi
5ea79ce8d1 fix(work-orders): use completedDate in CompDoc without lifecycle Completed 2026-08-04 15:10:37 -03:00
Arthur Bassi
e1daf94be2 refactor(work-orders): split slide-over and CompDoc for governance
Extract focused hooks and sibling components so CompDoc, slide-over,
media uploader, and list page meet maintainability ratchets.
2026-08-04 15:10:37 -03:00
Arthur Bassi
5d478c1484 fix(test): update work-orders board tests for slide-over navigation 2026-08-04 15:10:37 -03:00
Arthur Bassi
5630949d25 fix(test): align failed-save fixtures with WorkOrderTableRow 2026-08-04 15:10:37 -03:00
Arthur Bassi
ba80dbf961 fix(work-orders): preserve slide-over draft baseline on failed save 2026-08-04 15:10:37 -03:00
Arthur Bassi
8e0737f7fb fix(work-orders): preserve slide-over draft and gate media close 2026-08-04 15:10:37 -03:00
Arthur Bassi
6c481eaf7c fix(work-orders): preserve comment draft until mutation succeeds 2026-08-04 15:10:37 -03:00
Arthur Bassi
bbca86c9a7 feat(work-orders): board slide-over detail with comments, audit and media
# Conflicts:
#	src/app/(protected)/workorders/_components/comp-doc/comp-doc-dialog.tsx
#	src/app/(protected)/workorders/_components/detail/work-order-assignee-menu.tsx
#	src/app/(protected)/workorders/_components/detail/work-order-detail-sections.tsx
#	src/app/(protected)/workorders/_components/detail/work-order-slide-over.tsx
#	src/app/(protected)/workorders/_components/detail/work-order-status-menu.tsx
#	src/app/(protected)/workorders/_components/media/media-upload-modal.tsx
2026-08-04 15:10:37 -03:00
Alexandre Brandizzi
ca7829036f
feat(vendors): add company roster workflows (SH-198) (#64)
Some checks failed
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
* feat(vendors): support company roster workflows

* fix(vendors): address roster review feedback

* test(vendors): preserve draft on roster load failure

* fix(vendors): preserve current roster selection
2026-08-04 09:53:48 -03:00
dependabot[bot]
297efa8f73
chore(deps-dev): bump the npm_and_yarn group across 1 directory with 2 updates (#74)
Bumps the npm_and_yarn group with 2 updates in the / directory: [brace-expansion](https://github.com/juliangruber/brace-expansion) and [undici](https://github.com/nodejs/undici).


Updates `brace-expansion` from 5.0.8 to 5.0.9
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.8...v5.0.9)

Updates `undici` from 7.28.0 to 7.29.0
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.28.0...v7.29.0)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.9
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: undici
  dependency-version: 7.29.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 09:40:55 -03:00
Alexandre Brandizzi
4b88a60751
fix(vendors): remove preferred contact and fix trade ordering (#63)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
* fix(vendors): address SH-180 and SH-182

* refactor(vendors): satisfy maintainability gates
2026-08-03 17:53:39 -03:00
Alexandre Brandizzi
2a37609b41
Merge pull request #31 from Sea-Haven-Industries/feature/wo-board-api
Some checks failed
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
feat(work-orders): integrate board list, search and field patch API
2026-07-30 10:06:23 -03:00
Arthur Bassi
e5300da9fb chore(work-orders): sync feature/wo-board-api with current dev 2026-07-30 09:05:33 -03:00
Alexandre Brandizzi
978e56b7c9
Merge pull request #59 from Sea-Haven-Industries/codex/vendor-nav-layout-fixes
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
fix(vendors): close reactivation and navigation QA regressions
2026-07-29 21:59:09 -03:00
Arthur Bassi
36b936c4c6 chore(work-orders): sync feature/wo-board-api with current dev 2026-07-29 09:34:11 -03:00
Alexandre Brandizzi
a228db29e3
Merge branch 'dev' into codex/vendor-nav-layout-fixes 2026-07-29 07:21:31 -03:00
Alexandre Brandizzi
2d0917f052
chore(deps): apply controlled security updates (#56)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
2026-07-29 07:20:23 -03:00
Alexandre Brandizzi
bcf63dffad refactor(vendors): satisfy maintainability gates 2026-07-28 17:27:34 -03:00
Alexandre Brandizzi
b1cf3a0678 test(vendors): isolate mutable reactivation state 2026-07-28 17:22:42 -03:00
Alexandre Brandizzi
4fe9319d7a fix(vendors): support sparse updates on current target 2026-07-28 17:20:07 -03:00
Alexandre Brandizzi
e6a3899f4c fix(vendors): make navigation and PO filters responsive 2026-07-28 17:16:50 -03:00
Alexandre Brandizzi
95cbfff301 fix(vendors): allow sparse reactivation updates 2026-07-28 17:16:07 -03:00
Arthur Bassi
6e99dc0af2 refactor(work-orders): pass board-api governance maintainability gate
Split oversized API/mapper/UI modules and extract focused helpers so the
exact head satisfies godfile and complexity ratchets without relaxing thresholds.
2026-07-28 09:56:27 -03:00
Arthur Bassi
e1ea198319 fix(work-orders): make board-api head build in isolation
Include wizard-service-notes-fields in this slice, keep ApiError export,
and align JSX/boolean lint plus save-id wiring after rebase onto dev.
2026-07-27 10:59:28 -03:00
Alexandre Brandizzi
dffa30f27a style(locations): format site query mapping 2026-07-27 10:27:13 -03:00
Arthur Bassi
01d1795b66 fix(work-orders): add contactName to restored wizard vendor mocks 2026-07-27 10:27:12 -03:00
Arthur Bassi
6c4197dba7 fix(work-orders): restore wizard mock modules for base consumers 2026-07-27 10:27:12 -03:00
Arthur Bassi
8ae54a6173 fix(work-orders): use overdue=true and harden board patch overlays 2026-07-27 10:26:35 -03:00
Arthur Bassi
3ea136ce3c feat(work-orders): integrate board list, search and field patch API 2026-07-27 10:19:34 -03:00
Alexandre Brandizzi
94bd10245b
Merge pull request #44 from Sea-Haven-Industries/feature/wo-dispatch-shell
Some checks failed
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
feat(work-orders): add dispatch detail shell
2026-07-24 18:56:51 -03:00
Alexandre Brandizzi
66cc892107 Merge remote-tracking branch 'origin/dev' into codex/pr44-current-base 2026-07-24 18:52:29 -03:00
Alexandre Brandizzi
09ed3693f6 refactor: enforce dispatch detail quality gates 2026-07-24 18:51:50 -03:00
Alexandre Brandizzi
4845494af5
Merge pull request #30 from Sea-Haven-Industries/feature/wo-board-foundation
feat(ui): add loading/error primitives and FormData upload fix
2026-07-24 18:51:32 -03:00
Alexandre Brandizzi
fce531aeb0 Merge remote-tracking branch 'origin/dev' into codex/pr30-lint-fix 2026-07-24 18:46:55 -03:00
Alexandre Brandizzi
2d2fe0d9f9
Merge pull request #43 from Sea-Haven-Industries/feature/wo-wizard-shell
feat(work-orders): add board wizard shell UI
2026-07-24 18:46:16 -03:00
Alexandre Brandizzi
ea76a5d0ba chore: integrate repaired wizard foundation 2026-07-24 18:45:46 -03:00
Alexandre Brandizzi
07c8799a3f Merge remote-tracking branch 'origin/dev' into codex/pr30-lint-fix 2026-07-24 18:43:30 -03:00
Alexandre Brandizzi
ca9d9e9c2a chore: integrate current dev into board foundation 2026-07-24 18:43:22 -03:00
Alexandre Brandizzi
1c451e07b4 Merge remote-tracking branch 'origin/dev' into codex/pr43-dev-integration 2026-07-24 18:41:42 -03:00
Alexandre Brandizzi
2f5ee30020 refactor: align work order wizard with frontend standards 2026-07-24 18:41:30 -03:00
Alexandre Brandizzi
5b8d8a1dfc
refactor(work-orders): split advanced search state and sections (#54) 2026-07-24 17:35:53 -04:00
Alexandre Brandizzi
caecc05b68 Merge remote-tracking branch 'origin/dev' into codex/pr43-dev-integration
# Conflicts:
#	src/app/(protected)/workorders/index.tsx
#	src/test/app/(protected)/workorders/work-orders-board-core-affordances.test.tsx
2026-07-24 18:13:54 -03:00
Alexandre Brandizzi
45909e7aa6
Complete vendor operations roadmap frontend (#52)
* feat(vendors): complete operations roadmap frontend

* test(vendors): cover work order assignment flow

* fix(vendors): address review feedback

* fix(vendors): prevent stale preference saves

* fix(vendors): require truthful appointment bounds
2026-07-24 18:10:45 -03:00
Arthur Bassi
52e77dc197
feat(work-orders): add board advanced search UI (#42)
* feat(work-orders): add board advanced search UI

* fix(work-orders): wire Advanced Search sheet and cover SH-121 flow

* style(work-orders): format board fixture

---------

Co-authored-by: Arthur Bassi <arthur.winiarski.ranger@outlook.com>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-07-24 20:59:47 +00:00
Alexandre Brandizzi
4337cc662b
chore(governance): enforce frontend quality system (#53)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
* chore(governance): make React/TS conventions mandatory via executable gates

Add AGENTS.md, QUALITY_GATES.md, ARCHITECTURE_AND_CODE_QUALITY.md, and
REVIEW_AND_PR_FRAMEWORK.md as the binding conventions and PR review
contract for humans and all coding/review agents.

Add a single 'npm run verify' command (format + lint + build + test +
governance) and 'npm run governance', which runs a dependency-free godfile
ratchet (whole-repo, baseline in scripts/governance-baseline.json) and a
changed-file maintainability gate (complexity<=20, function<=150, params<=4,
depth<=4) via ESLint. Legacy is handled by ratchets, not relaxation: 5
godfiles over 500 lines are grandfathered debt; maintainability thresholds
apply to changed TS/TSX (72 legacy violations across ~51 files otherwise).

Add a repo-owned 'governance' CI job that runs 'npm run verify' so every
gate is guaranteed from this repository, independent of the org reusable
workflow.

* fix(governance): make frontend ratchets fail closed
2026-07-24 16:47:34 -03:00
Alexandre Brandizzi
33001aac74
Merge pull request #40 from Sea-Haven-Industries/feature/wo-table-core
Some checks are pending
CI / ci (push) Waiting to run
Deploy / deploy (push) Waiting to run
feat(work-orders): add board table core and filters
2026-07-24 14:08:45 -03:00