Arthur Bassi
737a52c4aa
test(work-orders): wait for board heading before visual error alert
2026-08-24 10:50:38 -03:00
Arthur Bassi
54797f13ef
test(work-orders): wait for visual error alert before asserting
2026-08-24 10:09:30 -03:00
Arthur Bassi
abc14ed8f9
fix(work-orders): unfreeze visual-spec timers for board error retry
...
Use setFixedTime so React Query can finish the 500 retry and render the alert.
2026-08-21 13:32:58 -03:00
Arthur Bassi
b50ebcff42
test(work-orders): refresh visual baselines after advanced filters
2026-08-21 13:24:38 -03:00
Arthur Bassi
9c355fb49e
Merge branch 'dev' into feat/sh-244-advanced-filter-fields
2026-08-21 13:05:19 -03:00
Arthur Bassi
f0dd32edd4
Merge branch 'dev' into feat/work-orders-visual-regression
2026-08-21 12:57:24 -03:00
Arthur Bassi
eca04bcaa8
chore(work-orders): merge origin/dev into advanced filter branch
...
Keep SH-244 query-param tests alongside the WO type filter union from dev.
2026-08-21 12:35:57 -03:00
Arthur Bassi
1ed993a353
fix: Update e2e/work-orders/type-filter.spec.ts
...
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-21 11:47:18 -03:00
Arthur Bassi
27a5c4eaf2
test(work-orders): refresh visual baselines after board layout changes
...
Regenerate Docker snapshots against current week/day chrome and pagination.
2026-08-20 23:48:27 -03:00
Arthur Bassi
9d39d5bb14
ci(work-orders): add Playwright visual regression to CI
...
Run board screenshots in the existing Docker visual job with vendors.
2026-08-20 23:24:14 -03:00
Arthur Bassi
776d3ebd9c
Merge branch 'dev' into feat/sh-244-advanced-filter-fields
2026-08-20 22:07:10 -03:00
Arthur Bassi
1d9f3c3637
test(work-orders): drop Jira keys from advanced filter test names
...
Keep ticket identity on the branch and PR, not in Playwright or Vitest titles.
2026-08-20 22:02:59 -03:00
Arthur Bassi
723f84e80a
Merge branch 'dev' into cursor/sh-243-wo-type-filter-multiselect
2026-08-20 22:00:08 -03:00
Arthur Bassi
93ab14abf3
feat(work-orders): add SH-244 advanced filter fields and AAP indicator styles
2026-08-20 18:34:29 -03:00
Alexandre Brandizzi
35bfb9b7c8
fix(vendors): correct roster validation and editing
2026-08-20 18:25:34 -03:00
Arthur Bassi
919748a274
fix(work-orders): expose type filter selection state to AT
...
Menu roles and aria-checked match the multi-select. Trigger uses AAP Tag icon.
2026-08-20 17:20:10 -03:00
Arthur Bassi
f522c46911
chore(work-orders): merge origin/dev into SH-243 type filter branch
2026-08-20 16:43:26 -03:00
Arthur Bassi
e8efde5fbc
feat(work-orders): add multi-select All types filter (SH-243)
...
Dispatchers can select several WO types so the board shows the union of matching rows.
2026-08-20 16:32:30 -03:00
Arthur Bassi
8614f9415c
feat(work-orders): relocate dispatcher filter under the title (SH-242)
...
Place dispatcher scoping under the Work Orders heading as a plain
trigger so the week/day bar stays boxed, without changing board params.
2026-08-20 15:53:03 -03:00
Arthur Bassi
75c82e90a5
Merge branch 'dev' into feat/sh-241-wo-day-pagination
2026-08-20 11:37:01 -03:00
Arthur Bassi
e6567c2c0a
Merge branch 'dev' into feat/sh-241-wo-day-pagination
2026-08-20 11:26:47 -03:00
Alexandre Brandizzi
3141adba13
Merge branch 'dev' into feat/sh-254-fe-deactivate-confirm
2026-08-20 11:24:12 -03:00
Arthur Bassi
91f30304a2
Merge branch 'dev' into feat/sh-241-wo-day-pagination
2026-08-20 11:16:17 -03:00
Alexandre Brandizzi
326ac18eb0
Merge branch 'dev' into feat/sh-254-fe-deactivate-confirm
2026-08-20 11:15:10 -03:00
Codex Review Integration
aebb2c6b1a
Merge remote-tracking branch 'origin/dev' into feat/sh-253-vendor-detail-parity
...
# Conflicts:
# src/test/app/(protected)/vendors/vendor-detail-drawer.test.tsx
2026-08-20 11:14:51 -03:00
Alexandre Brandizzi
fc63948d4e
Merge branch 'dev' into feat/sh-254-fe-deactivate-confirm
2026-08-20 10:58:38 -03:00
Alexandre Brandizzi
4e36396868
Merge branch 'dev' into feat/sh-253-vendor-detail-parity
2026-08-20 10:58:34 -03:00
Alexandre Brandizzi
8edcb6659d
Merge branch 'dev' into feat/sh-250-fe-additive-add
2026-08-20 10:58:26 -03:00
Arthur Bassi
0c514c9bad
feat(work-orders): add per-day board pagination (SH-241)
...
Paginate the selected day's WOs client-side with AAP footer controls.
2026-08-20 10:08:34 -03:00
Arthur Bassi
2c14b08945
feat(work-orders): day-scoped week navigation (SH-240)
...
Let dispatchers pick one week and one weekday so the board
replaces rows instead of stacking the full week.
2026-08-19 14:45:59 -03:00
Codex Review Integration
670d03d572
test(vendors): update the deactivation e2e to the confirmation flow (SH-254)
...
The browser smoke encoded the behaviour this ticket changes: it asserted
the Deactivate button was disabled when work orders were linked. It now
asserts the opposite — the work orders are listed as links, "Deactivate
anyway" is enabled, and confirming sends confirmOpenWorkOrders=true.
Also fixes the mock's DELETE route, whose anchored pattern stopped
matching once the request carried a query string. The raced-409 case is
unchanged and still preserves the vendor.
2026-08-19 14:29:01 -03:00
Codex Review Integration
4e5863def5
test(vendors): refresh the vendor detail visual baseline (SH-253)
...
Regenerated in the CI Playwright image so the baseline matches the
container's rendering. Only vendor-detail changed; the list and edit
baselines are untouched, which confirms extracting the table's status
badge left that view pixel-identical.
2026-08-19 13:43:02 -03:00
Codex Review Integration
9624c264de
fix(vendors): send only user-edited company fields on additive add (SH-250)
...
Adversarial review found a last-writer-wins window: after a stale 409 the
roster is refetched while the form keeps its pre-conflict values, so the
form-vs-roster diff resent our stale value for any company field another
user changed in that window, silently reverting their edit.
Transmit only fields the user actually edited, taken from react-hook-form
dirty state. Selecting a company calls reset(), so loaded values are never
dirty and only genuine edits are sent.
dirtyFields is resolved during render: formState is a Proxy that only tracks
properties read at render time, so reading it inside the submit callback
returned empty. The vendors E2E caught that; unit tests could not, since
they pass the flags in directly.
2026-08-18 14:42:01 -03:00
Codex Review Integration
4d1f02b87d
test(vendors): e2e asserts additive PATCH and no destructive PUT from add flow (SH-250, SH-246)
2026-08-18 13:13:04 -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
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
fca5487f6d
fix(vendors): enforce prototype visual geometry
2026-08-06 23:30:23 -03:00
Alexandre Brandizzi
b61d46ce4b
fix(vendors): match prototype directory experience
2026-08-06 22:23:30 -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
b1cf3a0678
test(vendors): isolate mutable reactivation state
2026-07-28 17:22:42 -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
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
Alexandre Brandizzi
6ca45bc0ae
fix(vendors): preserve phone data across edits
2026-07-23 19:17:14 -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