Commit graph

245 commits

Author SHA1 Message Date
Arthur Bassi
abc63dc70f fix(work-orders): restore pending BE contract ledger 2026-08-12 10:58:15 -03:00
Arthur Bassi
11e1b65bc1 fix(work-orders): pass workOrderVersion in slide-over media and fix test fixture
Wire workOrderVersion through slide-over media delete/categorize after dev
merge, and remove duplicate completedDate in unscheduled highlight fixture.
2026-08-11 16:55:31 -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
Alexandre Brandizzi
7366f549e5
Merge pull request #45 from Sea-Haven-Industries/feature/wo-detail-comp-doc
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): completion document UI and completedDate board contract
2026-08-11 15:56:04 -03:00
Arthur Bassi
017820ac4b fix(work-orders): add completedDate to unscheduled highlight fixture
Keep the merged origin/dev test building against WorkOrderTableRow after
the CompDoc completedDate field landed on this branch.
2026-08-11 15:35:42 -03:00
Arthur Bassi
1005186ea7 Merge branch 'dev' into feature/wo-detail-comp-doc 2026-08-11 15:23:55 -03:00
Alexandre Brandizzi
2cf33ca6c1
Merge pull request #114 from Sea-Haven-Industries/feat/sh-101-uplift-lifecycle
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(uplifts): complete vendor approval lifecycle (SH-101)
2026-08-11 15:01:09 -03:00
Arthur Bassi
969f99a576 fix(work-orders): send workOrderVersion on media categorize/delete
Align CompDoc media mutations with backend PR #47 so categorize and
delete no longer return 422 WorkOrderVersionRequired.
2026-08-11 14:52:41 -03:00
Adam Moussa
4949508d43
Merge branch 'dev' into feat/sh-101-uplift-lifecycle 2026-08-11 13:35:55 -04:00
Arthur Bassi
f35fce9bd5
feat(work-orders): comment @mentions autocomplete (SH-217) (#91)
* docs(work-orders): add pending BE contract checklist for design parity gaps

* feat(work-orders): add mentions in work-order comments composer

* docs(work-orders): align pr description with jira and qa residuals

* refactor(workorders): split work order view page into view components

* fix(work-orders): export comment assignment vendor input types for view hook

* fix(work-orders): drop preferredContact from vendor update payload

Align with WorkOrderVendorUpdatePayload on current dev so the mentions branch typechecks.

* fix(work-orders): remove Preferred Contact from WO vendor editor (SH-180)

EOF

* fix(work-orders): harden comment mentions and clear draft on success

* fix(work-orders): harden mention highlight boundary and submit catch [SH-217]

* fix(work-orders): keep mention cursor sync on current value [SH-217]

* fix(work-orders): keep mention menu open after typing @

Pass live text into syncCursor instead of a render-time valueRef.
Add a composer interaction regression for @ autocomplete visibility.

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 14:07:02 -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
Arthur Bassi
a30ac73d29
feat(work-orders): draft technician until vendor dialog save (SH-193) (#89)
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
* docs(work-orders): add pending BE contract checklist for design parity gaps

* feat(work-orders): add technician affordance in wo vendor dialog

* fix(work-orders): defer technician create until vendor dialog save

* docs(work-orders): align pr description with jira and qa residuals

* fix(vendors): harden draft technician optional field typing

* refactor(workorders): extract vendor dialog body footer and save hook

* fix(work-orders): coerce null company vendor for add-technician prop

* fix(work-orders): preserve draft technician staging on save [SH-193]

* fix(work-orders): select technicians by stable id [SH-193]

Keep selectedKey as explicit dialog state (SiteDialog pattern) so same-name drafts do not collide with existing vendors, and cover the regression with interaction tests.

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 14:01:31 -03:00
arthur.bassi
251edd9c61 fix(work-orders): drop vendor collateral from slide-over PR
Restore vendors and page-header to origin/dev so this PR stays the WO
slide-over/media slice only. Remove stale godfile baseline entries now
under the 500-line cap.
2026-08-11 13:54:31 -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
95fb97ea3f
Merge branch 'dev' into feat/sh-101-uplift-lifecycle 2026-08-11 13:49:38 -03:00
Alexandre Brandizzi
34ebad390f fix(uplifts): align revise validation contract 2026-08-11 13:49:03 -03:00
dependabot[bot]
ced5405746
chore(deps): bump the npm_and_yarn group across 1 directory with 3 updates (#113)
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
Bumps the npm_and_yarn group with 3 updates in the / directory: [fast-uri](https://github.com/fastify/fast-uri), [js-yaml](https://github.com/nodeca/js-yaml) and [postcss](https://github.com/postcss/postcss).


Updates `fast-uri` from 3.1.4 to 3.1.5
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5)

Updates `js-yaml` from 4.3.0 to 4.3.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.0...4.3.1)

Updates `postcss` from 8.5.18 to 8.5.26
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.18...8.5.26)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: js-yaml
  dependency-version: 4.3.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-version: 8.5.26
  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>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-11 10:21:42 -03:00
Arthur Bassi
f66284d78c Merge remote-tracking branch 'origin/dev' into feature/wo-detail-comp-doc 2026-08-11 09:47:20 -03:00
Alexandre Brandizzi
889812f90f
Merge branch 'dev' into feat/sh-101-uplift-lifecycle 2026-08-11 09:02:37 -03:00
Alexandre Brandizzi
47272a0afc
Merge pull request #97 from Sea-Haven-Industries/feat/sh-98-portal-lifecycle-recovered
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(vendor-portal): complete request lifecycle (SH-98)
2026-08-11 09:01:54 -03:00
Alexandre Brandizzi
c0e203a090 feat(uplifts): complete SH-101 vendor workflow 2026-08-11 08:57:38 -03:00
Alexandre Brandizzi
bd12351c87
Merge branch 'dev' into feat/sh-98-portal-lifecycle-recovered 2026-08-11 08:53:28 -03:00
Alexandre Brandizzi
1cba10b9a8
Merge pull request #93 from Sea-Haven-Industries/feat/sh-237-sh-238
fix(vendors): complete shell and visual parity gates
2026-08-11 08:52:51 -03:00
arthur.bassi
a05e768115 fix(work-orders): address Bugbot findings on slide-over and vendor roster
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 18:35:28 -03:00
Alexandre Brandizzi
bc5659eb2a fix(vendor-portal): clear stale refusal state 2026-08-10 18:25:57 -03:00
arthur.bassi
767f0df43f Merge remote-tracking branch 'origin/dev' into feature/wo-detail-comp-doc 2026-08-10 18:13:40 -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
Alexandre Brandizzi
3f4d64d7b6 fix: guard pending refusal dialog 2026-08-10 13:31:12 -03:00
Alexandre Brandizzi
4d2ee40d60 feat(vendor-portal): complete request lifecycle (SH-98) 2026-08-10 13:16:26 -03:00
Alexandre Brandizzi
cc0df8f569 fix(vendors): complete shell and visual parity gates 2026-08-10 12:11:38 -03:00
Alexandre Brandizzi
78ed8571a0
Merge pull request #76 from Sea-Haven-Industries/albrand/vendor-prototype-parity
Some checks failed
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
fix(vendors): match prototype directory experience
2026-08-07 15:43:39 -03:00
Alexandre Brandizzi
e9d556cf9a Merge remote-tracking branch 'origin/dev' into albrand/vendor-prototype-parity
# Conflicts:
#	e2e/vendors/vendors.spec.ts
#	src/app/(protected)/vendors/_components/vendors-list-toolbar.tsx
#	src/app/(protected)/vendors/_components/vendors-table.tsx
2026-08-07 11:32:36 -03:00
Arthur Bassi
88216520d8
fix(vendors): align Vendors list UI with design specs (SH-219) (#92)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
* docs(work-orders): add pending BE contract checklist for design parity gaps

* fix(vendors): align list header, Total Jobs, and Filters with design (SH-219)

* test(vendors): align e2e subtitle with SH-219 technicians copy

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

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 11:12:45 -03:00
Alexandre Brandizzi
fca5487f6d fix(vendors): enforce prototype visual geometry 2026-08-06 23:30:23 -03:00
Alexandre Brandizzi
ec203e1f5b fix(vendors): preserve the selected edit state 2026-08-06 22:39:11 -03:00
Alexandre Brandizzi
ff2e04b30e refactor(vendors): satisfy changed-file governance 2026-08-06 22:31:12 -03:00
Alexandre Brandizzi
b61d46ce4b fix(vendors): match prototype directory experience 2026-08-06 22:23:30 -03:00
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)
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
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