arthur.bassi
cd4b8d27fd
fix(work-orders): seed CompDoc address after location settles [SH-116]
2026-08-06 10:14:29 -03:00
arthur.bassi
bfc230d421
fix(work-orders): harden CompDoc generate seed persist and blob revoke
2026-08-05 10:54:33 -03:00
arthur.bassi
7ea0d2c464
fix(work-orders): refresh CompDoc on Generate failure and drop EditWorkorder date helper
...
Invalidate board/location queries when Save Draft or Generate fails so partial
prerequisite writes stay authoritative, and remove the unused CompDoc
mapCompletedDateUpdateFormData EditWorkorder helper.
2026-08-04 16:27:59 -03:00
arthur.bassi
6481d9ce86
test(work-orders): assert CompDoc Generate skips Yes when date patch fails
2026-08-04 15:09:19 -03:00
arthur.bassi
65d75ca372
fix(work-orders): persist CompDoc prerequisites before Generated status
...
Also register retry AbortControllers so cancel aborts the active upload attempt.
2026-08-04 15:03:28 -03:00
Alexandre Brandizzi
0027ecc41f
Merge remote-tracking branch 'origin/dev' into feature/wo-detail-comp-doc
2026-08-04 10:30:37 -03:00
Alexandre Brandizzi
ca7829036f
feat(vendors): add company roster workflows (SH-198) ( #64 )
...
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
Alexandre Brandizzi
4b88a60751
fix(vendors): remove preferred contact and fix trade ordering ( #63 )
...
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
509b3c3212
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-07-31 12:24:31 -03:00
Arthur Bassi
27c7c8df55
test(work-orders): align table mutations test with updateCompletedDate
...
Assert updateCompletedDate instead of getById before EditWorkorder.
2026-07-31 09:58:34 -03:00
Arthur Bassi
96f3daf20c
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-07-31 09:43:23 -03:00
Arthur Bassi
b2d44944ab
fix(work-orders): resolve CompDoc/dev merge type and maintainability issues
2026-07-30 11:09:05 -03:00
Arthur Bassi
e3aa69e577
chore(work-orders): sync feature/wo-detail-comp-doc with current dev
2026-07-30 10:59:22 -03:00
Arthur Bassi
e5300da9fb
chore(work-orders): sync feature/wo-board-api with current dev
2026-07-30 09:05:33 -03:00
Arthur Bassi
3004d039aa
fix(work-orders): address SH-116 CompDoc review blockers
...
Gate CompDoc on selected service, use real pm titles only,
make Address editable via location update, and wire media
to the board API with categories instead of blob state.
2026-07-30 09:04:03 -03:00
Arthur Bassi
2d64c34898
fix(work-orders): extract docStatus mapper for governance ratchet
...
Keep work-order-mapper under the frozen line cap and cap addDispatchSignoff params.
2026-07-29 09:31:15 -03:00
Arthur Bassi
188499155e
fix(work-orders): persist docStatus via board PATCH with NotNeeded mapping
...
Map API NotNeeded to UI NN on read. Emit board PATCH Yes|No|NotNeeded on
write, and keep DocStatus off the EditWorkorder payload.
2026-07-29 09:23:34 -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
b7056f569e
fix(work-orders): persist completion doc fields without race
...
Map docStatus through the real update payload, serialize concurrent
table patches per work order, and split CompDoc UI for governance.
2026-07-28 12:49:51 -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
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
Arthur Bassi
725efd2703
feat(work-orders): slim completion-doc UI onto current dev
...
Keep SH-116 CompDocDialog wiring and completedDate board contract.
Drop slide-over ownership (SH-112) so it stays in PR #32 .
2026-07-27 09:47:46 -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
fce531aeb0
Merge remote-tracking branch 'origin/dev' into codex/pr30-lint-fix
2026-07-24 18:46:55 -03:00
Alexandre Brandizzi
ea76a5d0ba
chore: integrate repaired wizard foundation
2026-07-24 18:45:46 -03:00
Alexandre Brandizzi
ca9d9e9c2a
chore: integrate current dev into board foundation
2026-07-24 18:43:22 -03: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
ed12f59255
chore(work-orders): merge origin/dev into table-core branch
...
Integrate origin/dev (vendor module + maintainability conventions) after PR #39 .
- Resolve src/app/(protected)/workorders/index.tsx conflict by keeping the
PR #40 table rewrite (WoTable + WorkOrdersFilterBar); dev's only change to
this file was a {Boolean(error)} lint fix on legacy filter UI that the
rewrite already removed.
- work-order-mapper.ts auto-merged cleanly.
- Conform PR #40 table-core code to dev's new maintainability lint rules
(seahaven/no-non-boolean-jsx-and, shared Text component for raw p/h
elements, logical-AND for one-sided conditionals) using narrowing-preserving
guards (!= null) where values flow into typed props, preserving behavior.
Validation (Node v24.14.0 / npm 11.9.0): npm ci, format:check, lint, build,
test (156/156) all green.
2026-07-24 14:04:15 -03:00
Alexandre Brandizzi
9a88f0583b
Merge pull request #51 from Sea-Haven-Industries/codex/frontend-maintainability
...
chore(frontend): enforce maintainable text rendering
2026-07-24 13:24:35 -03:00
Alexandre Brandizzi
17ab9845fb
fix(test): remove unused week helper import
2026-07-24 13:10:44 -03:00
Alexandre Brandizzi
392af77b91
refactor(ui): enforce maintainable conditional feedback
2026-07-24 11:32:58 -03:00
Arthur Bassi
01351b3f33
test(work-orders): cover missing checklist completedBy provenance
...
Regression: null/empty/whitespace completedBy shows Unknown, never the viewer.
2026-07-24 10:11:43 -03:00
Arthur Bassi
878e1d6a92
test(work-orders): cover New WO wizard open/close affordance
2026-07-24 10:11:38 -03:00
Arthur Bassi
7df076f011
fix(work-orders): wire Advanced Search sheet and cover SH-121 flow
2026-07-24 10:11:32 -03:00
Arthur Bassi
df2b5803a1
fix(test): cast canceled status in board-core fixture
2026-07-24 10:10:20 -03:00
Arthur Bassi
5e30c07c79
fix(test): align board-core affordance fixtures with WorkOrderTableRow
2026-07-24 10:07:15 -03:00
Alexandre Brandizzi
6ca45bc0ae
fix(vendors): preserve phone data across edits
2026-07-23 19:17:14 -03:00
Alexandre Brandizzi
21b7de57a1
chore(frontend): enforce maintainable text rendering
2026-07-23 18:48:15 -03:00
Alexandre Brandizzi
922d6c9a57
feat(vendors): edit assigned vendor from work order
2026-07-23 17:44:53 -03:00
Alexandre Brandizzi
bbbb51aed5
feat(vendors): complete core vendor workflows
2026-07-23 17:36:21 -03:00
Alexandre Brandizzi
20237f8142
feat(vendors): align directory UI with current prototype ( #46 )
...
CI / ci (push) Waiting to run
Deploy / deploy (push) Waiting to run
* feat(vendors): align directory UI with prototype
* fix(vendors): report the filtered total
* fix(vendors): keep company input in sync
* fix(vendors): scope facets to directory status
2026-07-23 15:23:03 -03:00
Arthur Bassi
c97d752dd6
fix(work-orders): hide CompDoc affordance until dialog slice
...
Omit onOpenCompDoc on board-core so View Doc/Draft are not no-ops.
2026-07-23 14:06:05 -03:00
Arthur Bassi
becc4913e3
fix(work-orders): hide unfinished affordances and route View to detail
2026-07-23 13:49:53 -03:00
Arthur Bassi
ff32c0da06
test(work-orders): fix advanced filter date fixture and unused import
2026-07-21 14:28:09 -03:00
Arthur Bassi
9628fb8c88
fix(test): make FormData content-type assertion type-safe
2026-07-21 10:49:16 -03:00
Arthur Bassi
12e8cb50a4
fix(api): strip Content-Type for FormData uploads
2026-07-17 14:11:56 -03:00