Commit graph

105 commits

Author SHA1 Message Date
Arthur Bassi
b4cb9d0288
feat(work-orders): severity gates and wizard type/WO# parity (SH-192) (#106)
Some checks failed
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
CI / vendor-visual-regression (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
* fix(work-orders): allow blank WO number in wizard create path

[recover] remove malicious eslint payload (was d0d08508)

* fix(work-orders): emit severity before type in board scalar PATCH ops

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore(work-orders): drop vendor collateral from SH-192 lane

* fix(work-orders): add severity to unscheduled highlight fixture after dev merge

* refactor(work-orders): extract inline type/severity cell under function line cap

* fix(work-orders): add severity to comp-doc and media fixtures after dev merge

PR #45 introduced completion-doc, media and table-mutation fixtures that predate the required severity field, so the integrated head failed tsc. Fill severity on those row builders (null for PM, SEV 1 for the Emergency fixture) and type the mutation BASE_ROW instead of asserting it.

* test(work-orders): align merge fixes with severity field and WO# placeholder

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Arthur Bassi <bassi-arthurr@users.noreply.github.com>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-14 11:59:52 -03:00
Arthur Bassi
4af826a1e0
feat(work-orders): query broadcast, remove auth bypass, dispatch polish (#100)
* fix(work-orders): address wizard create review findings

[recover] remove malicious eslint payload (was 166c63e4)

* fix(work-orders): remove legacy completedDate EditWorkorder path

[recover] remove malicious eslint payload (was f4e6132b)

* fix(work-orders): use local calendar day for completedDate

Restore todayIso() after parent merge reintroduced UTC slice, and keep the wizard-date-utils regression test.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(work-orders): send wizard status and clear POC notes on site change

Map draft.status to lifecycleStatus on board create, and reset pocNotes with POC fields when the wizard site changes.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(query): scope broadcast channel per account and clear on auth

Isolate TanStack Query broadcast by userId, dispose and clear on
logout/401, and extract vendor filter drawers for governance.

* feat(work-orders): board wizard create with service notes

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(work-orders): enforce single-service wizard create per SH-118

Use single service selection in the wizard and omit extraServices from board create.

* fix(vendors): restore filter drawer labels for e2e and visual CI

Use VendorFilterOptions again and keep the Apply filters footer label expected
by vendor Playwright specs and the committed visual baseline.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-14 11:52:48 -03:00
Arthur Bassi
56736f7055 fix(work-orders): merge origin/dev into SH-218 wizard extract [SH-218]
Keep additionalContacts on the extracted wizard POC/sidebar after #99 and restore extraServices on create mapping.
2026-08-14 11:35:29 -03:00
Arthur Bassi
3c914f4e57 Merge remote-tracking branch 'origin/dev' into feature/wo-uplift-pending-close-gate 2026-08-14 10:51:28 -03:00
arthur.bassi
65e2741fd0 merge(dev): refresh SH-196 branch onto current origin/dev 2026-08-14 10:29:12 -03:00
Arthur Bassi
d3bfd35d9b chore(work-orders): merge origin/dev and keep SH-184 Add-On with wizard range 2026-08-14 10:06:56 -03:00
Arthur Bassi
ee90d73a44
feat(work-orders): board wizard create with service notes (#99)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
CI / vendor-visual-regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
* feat(work-orders): board wizard create with service notes

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(work-orders): enforce single-service wizard create per SH-118

Use single service selection in the wizard and omit extraServices from board create.

* refactor(work-orders): extract wizard controller for maintainability gate

Move duplicate-WO wiring and lookup hooks out of NewWoWizard so the
changed-file function line cap passes after merging dev.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 18:43:11 -03:00
Arthur Bassi
50a7a030bf chore(work-orders): merge dev into SH-218 branch 2026-08-13 15:59:54 -03:00
Arthur Bassi
43cee3698f merge(dev): refresh SH-188 branch for review fixes 2026-08-13 15:06:33 -03:00
arthur.bassi
a8c6a629ca merge(dev): resolve SH-196 uplift conflicts with completed date column
Keep UPLIFT after COMP DOC alongside COMPLETED DATE from dev, wire
uplifts through useWorkOrdersListPage, and refresh table-row fixtures.
2026-08-12 17:29:22 -03:00
arthur.bassi
dc5140b495 chore(work-orders): resolve Add-On indicator conflicts with current dev 2026-08-12 16:09:56 -03:00
arthur.bassi
1810f1559a chore(work-orders): resolve closability conflicts with platform-polish 2026-08-12 15:33:15 -03:00
arthur.bassi
cc14949e4a chore(work-orders): sync platform-polish with wizard-board-create tip 2026-08-12 14:34:38 -03:00
Alexandre Brandizzi
449ec647b0
Merge branch 'dev' into feature/wo-board-completed-date-column 2026-08-12 12:17:36 -03:00
Alexandre Brandizzi
5419edc4af
Merge branch 'dev' into fix/SH-109-inline-save-unscheduled 2026-08-12 12:11:17 -03:00
Arthur Bassi
91422e44ba merge(dev): refresh SH-188 branch onto current origin/dev
Resolve completedDate conflicts keeping required string typing from dev and broader CompletedDate/completedOn aliases for the closability gate.
2026-08-12 11:56:17 -03:00
arthur.bassi
702a791404 Merge remote-tracking branch 'origin/dev' into feature/wo-multi-poc-contacts
# Conflicts:
#	src/domain/work-orders/mappers/expand-scalar-board-ops.ts
2026-08-12 10:04:07 -03:00
Arthur Bassi
8a221c8819 fix(work-orders): consume board pendingUpliftCount for SH-188 gate
Map the authoritative board/search/detail pendingUpliftCount into the
Completed closability gate and align the pending-uplift tooltip with SH-188.
2026-08-12 09:55:34 -03:00
arthur.bassi
eadb0bda8b chore(work-orders): merge origin/dev into completedDate column branch 2026-08-12 09:35:54 -03:00
Arthur Bassi
4440f7d087 chore(work-orders): merge origin/dev into SH-109 inline save branch
EOF
2026-08-12 09:33:49 -03:00
arthur.bassi
64c485025b fix(work-orders): enforce single-service wizard create per SH-118
Use single service selection in the wizard and omit extraServices from board create.
2026-08-11 17:42:48 -03:00
arthur.bassi
8bfa600301 feat(work-orders): board wizard create with service notes
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 17:06:49 -03:00
Arthur Bassi
93c5a35b46 chore: merge origin/dev into slide-over media branch
Sync with latest dev (CompDoc/completedDate from PR #45) and resolve
conflicts while preserving slide-over detail, workOrderVersion on media
mutations, and the consolidated list page hook.
2026-08-11 16:46:32 -03:00
arthur.bassi
99724f831c fix(work-orders): adapt Add-On indicator unstack onto independently approvable base
Extract inline schedule cell for the maintainability gate, drop completedDate
patch coverage that is not on WorkOrderTableRow on dev, and align range create
expectations with assignWizardScheduleFields.
2026-08-11 15:42:29 -03:00
arthur.bassi
94f07fb66f chore(work-orders): merge origin/dev into completedDate column branch
Align merge-base so vendor files matching dev drop out of the PR diff.
2026-08-11 15:31:57 -03:00
arthur.bassi
f6bc50dddd merge(dev): restack SH-196 uplift slice on latest dev 2026-08-11 15:27:57 -03:00
arthur.bassi
f5414e4b14 feat(work-orders): block completed when uplift is pending 2026-08-11 15:26:21 -03:00
Arthur Bassi
1005186ea7 Merge branch 'dev' into feature/wo-detail-comp-doc 2026-08-11 15:23:55 -03:00
Arthur Bassi
8a2bc21845 fix(work-orders): sync addon-indicator with platform-polish parent
[recover] remove malicious eslint payload (was 692598b7)
2026-08-11 15:08:27 -03:00
arthur.bassi
5e3b7b8057 fix(work-orders): use authoritative type/doc/media for detail closability
Stop treating integration source as WorkOrderType.
Enrich detail from board detail for SH-114/SH-183 gates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 14:06:54 -03:00
arthur.bassi
4637f3ab14 chore: merge origin/dev into slide-over media branch
Sync with latest dev and add completedDate to the unscheduled highlight
fixture so the merge build stays type-safe.
2026-08-11 14:02:42 -03:00
Alexandre Brandizzi
b177987081
Merge branch 'dev' into feat/sh-101-uplift-lifecycle 2026-08-11 13:52:26 -03:00
Arthur Bassi
9c7b42e96b
feat(work-orders): SH-132 FE — Due Date distinct from Schedule On + Emergency calendar modal (#82)
* feat(work-orders): align Due Date and Past Due with SH-132 FE contract [SH-132]

* fix(work-orders): highlight Schedule On for unscheduled rows

Restore forceScheduleHighlight for Unscheduled section rows while keeping Due Date highlight for past-due and attempt feedback.

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(work-orders): cover unscheduled Schedule On highlight [SH-132]

Add row-level public-interface regression proving Unscheduled rows force-highlight Schedule On, not Due Date (SH-165).

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-11 13:49:41 -03:00
Alexandre Brandizzi
c0e203a090 feat(uplifts): complete SH-101 vendor workflow 2026-08-11 08:57:38 -03:00
arthur.bassi
d5fd6aa5d6 fix(work-orders): stop uplift column reading WO status; strip blank techs
mapUpliftSummary no longer treats row status as uplift primaryStatus, getUpliftCellLabel hides pills without hasUplift, and vendor submit filters blank new technicians.
2026-08-10 19:09:25 -03:00
arthur.bassi
55449a9e31 merge(work-orders): sync with platform-polish tip 2026-08-10 19:07:45 -03:00
arthur.bassi
c8a8522499 fix(work-orders): send wizard status and clear POC notes on site change
Map draft.status to lifecycleStatus on board create, and reset pocNotes with POC fields when the wizard site changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 19:06:35 -03:00
Arthur Bassi
c850be2aeb fix(work-orders): compare completion labels via string helper
[recover] remove malicious eslint payload (was 19dfa0f9)
2026-08-10 17:12:14 -03:00
Arthur Bassi
d72be8c505 fix(work-orders): use local calendar day for slide-over completedDate
[recover] remove malicious eslint payload (was 6a278c01)
2026-08-10 17:12:13 -03:00
Arthur Bassi
2eb5359d82 fix(work-orders): address wizard create review findings
[recover] remove malicious eslint payload (was 166c63e4)
2026-08-10 17:12:13 -03:00
Arthur Bassi
cfb0e7ea45 fix(work-orders): persist additionalContacts on create and board PATCH [SH-218]
[recover] remove malicious eslint payload (was 3f372257)
2026-08-10 17:12:11 -03:00
Arthur Bassi
0ce63b9740 test(work-orders): cover completed date board read mapping
[recover] remove malicious eslint payload (was 0548bbb4)
2026-08-10 17:12:11 -03:00
Arthur Bassi
31c5559d23 fix(work-orders): clear uplift form state only after successful mutations
[recover] remove malicious eslint payload (was 380188af)
2026-08-10 17:12:10 -03:00
Arthur Bassi
ebc2e9a1e5 fix(work-orders): extract inline dialog state and enable Schedule On clear
[recover] remove malicious eslint payload (was 552c2daf)
2026-08-10 17:12:09 -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
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
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
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