Alexandre Brandizzi
5adde3723b
fix(work-orders): preserve explicit empty technician assignment
2026-09-29 18:22:30 -03:00
Alexandre Brandizzi
7d5d015602
fix: require undated drafts for Pending status
2026-09-29 13:04:51 -03:00
Alexandre Brandizzi
4771f6f8eb
test: cover pending schedule date promotion
2026-09-29 12:52:02 -03:00
Alexandre Brandizzi
a61ab1919a
test: find pending creation in unscheduled results
2026-09-29 12:43:38 -03:00
Alexandre Brandizzi
52b682283c
test: scope pending wizard selection assertion
2026-09-29 12:33:15 -03:00
Alexandre Brandizzi
123b1ec9b5
test: cover pending work order status workflows
2026-09-29 12:25:56 -03:00
Alexandre Brandizzi
d281cbd663
Merge remote-tracking branch 'origin/main' into HEAD
...
# Conflicts:
# e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-admin.png
# e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-dispatcher.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-add.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-detail.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-edit.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-empty.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-error.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-filter.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-inactive.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-list.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-mobile-navigation.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-detail.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-empty.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-error.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-filters.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-list.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-mobile-navigation.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-new.png
2026-09-25 16:46:17 -03:00
Alexandre Brandizzi
7fed941435
test(visual): refresh sidebar baselines for the My Account link
2026-09-25 12:14:19 -03:00
Alexandre Brandizzi
fac0d1885c
test(visual): update sidebar baselines for the Completion Docs entry
2026-09-25 11:46:50 -03:00
Alexandre Brandizzi
358ec3e890
Merge pull request #261 from Sea-Haven-Industries/feat/ab/sh-392-dashboard-unassigned
...
Frontend checks / static (push) Waiting to run
Frontend checks / build (push) Waiting to run
Frontend checks / unit (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Frontend checks / browser-smoke (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / ci-complete (push) Blocked by required conditions
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
SH-392: Unassigned KPI tile on the Dashboard
2026-09-25 06:52:00 +00:00
Alexandre Brandizzi
9f46a91cb9
Merge pull request #260 from Sea-Haven-Industries/fix/ab/sh-383-media-contract
...
fix(media): apply the SH-116 media contract to every upload surface
2026-09-25 06:06:59 +00:00
Alexandre Brandizzi
b91682f53c
Merge remote-tracking branch 'origin/main' into lane/pr261
2026-09-25 03:02:25 -03:00
Alexandre Brandizzi
56ca5b0c39
test(uplifts): assert the uplift amount on the approver e2e buttons
2026-09-25 01:58:47 -03:00
Alexandre Brandizzi
39ee98e09b
fix(vendor-portal): advertise phone photo and video types for uplift evidence
...
The evidence picker filtered to PDF/JPG/PNG and its label and missing-file
messages said the same, while the pre-check (and the server, which applies
the SH-116 allowlist and work-order counts to UpliftEvidence uploads)
accepts HEIC, MP4 and MOV. On a phone the picker hid exactly the photos and
clips the validator would pass.
The evidence input now uses the same accept filter as the completion
upload, exported once from document-validation, and the label and both
missing-evidence messages name all six types.
2026-09-25 01:43:34 -03:00
Alexandre Brandizzi
ffff03fcc2
test(visual): refresh work-order baselines for lucide-react icon updates
2026-09-24 22:48:18 -03:00
Alexandre Brandizzi
67cb490d52
test(dashboard): refresh visual baselines for the Unassigned tile and the Services entry
...
Rendered by the CI Playwright container at f64447f5 .
2026-09-24 22:20:14 -03:00
Alexandre Brandizzi
f64447f52c
chore(dashboard): keep ticket keys out of source comments
2026-09-24 22:06:24 -03:00
Alexandre Brandizzi
792dc6917b
Merge remote-tracking branch 'origin/main' into feat/ab/sh-392-dashboard-unassigned
...
# Conflicts:
# e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-admin.png
# e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-dispatcher.png
2026-09-24 22:05:10 -03:00
Alexandre Brandizzi
60b0638ea3
test(dashboard): update visual baselines for the Unassigned tile (SH-392)
...
Rendered by the CI Playwright container (mcr.microsoft.com/playwright:v1.61.1-noble)
at fca87b67 .
2026-09-24 21:52:21 -03:00
Alexandre Brandizzi
fca87b67cb
test(dashboard): give the visual fixture an Unassigned count (SH-392)
2026-09-24 21:48:16 -03:00
Alexandre Brandizzi
839246380a
test(visual): update sidebar baselines for the Services entry
2026-09-24 20:59:54 -03:00
Cursor Agent
c5e01c7491
test(e2e): match completion media uploads by filename
...
Assert concurrent JPG, MP4, and MOV multipart requests by filename instead of
arrival order so browser-smoke stays deterministic with two workers.
2026-09-20 21:37:34 +00:00
Alexandre Brandizzi
3e5fba4d2b
Merge pull request #225 from Sea-Haven-Industries/feat/ab/sh-292-notification-center
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
SH-292: Notification Center panel and feed
2026-09-18 23:33:59 +00:00
Codex Review Integration
edd2e7efe2
test(visual): refresh mobile navigation baseline for the notification bell
2026-09-18 13:52:00 -03:00
Codex Review Integration
988c96c42d
fix(notifications): keep vendor reminder actions and refresh header baselines
...
No Vendor opens the work order form on vendor assignment and Vendor Conflict
links each work order, as the vendor reminders did. Header baselines include the
notification bell, and the top bar user menu moves to its own component to stay
within the function-size gate. The vendor e2e now covers the feed contract.
2026-09-18 13:34:12 -03:00
Alexandre Brandizzi
c9562650ca
Merge branch 'dev' into fix/ab/sh-364-inline-technician-registration
2026-09-18 11:59:16 -03:00
Alexandre Brandizzi
3058a96edb
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 15:46:15 -03:00
Alexandre Brandizzi
3a6f101776
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 15:30:20 -03:00
Alexandre Brandizzi
d53507731e
Merge branch 'dev' into feat/ab/sh-326-team-member
2026-09-17 15:30:16 -03:00
Codex Review Integration
abe28a3a7f
Merge remote-tracking branch 'origin/dev' into fix/ab/sh-364-inline-technician-registration
...
# Conflicts:
# src/app/(protected)/workorders/_components/wizard/use-new-wo-wizard-controller.ts
# src/app/(protected)/workorders/_components/wizard/wizard-step-location-service-select.tsx
# src/app/(protected)/workorders/_components/wizard/wizard-step-vendor-time.tsx
# src/test/app/(protected)/workorders/wizard-service-clears-vendor.test.tsx
2026-09-17 15:27:39 -03:00
Alexandre Brandizzi
b9c3b11a74
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 15:16:27 -03:00
Alexandre Brandizzi
6eacdc09f6
Merge branch 'dev' into feat/ab/sh-336-dashboard
2026-09-17 15:16:22 -03:00
Alexandre Brandizzi
873e3e32de
Merge branch 'dev' into feat/ab/sh-326-team-member
2026-09-17 15:16:18 -03:00
Alexandre Brandizzi
0876e9c3f0
Merge branch 'dev' into feat/ab/sh-336-dashboard
2026-09-17 15:10:22 -03:00
Alexandre Brandizzi
5b6991c93a
Merge branch 'dev' into feat/ab/sh-326-team-member
2026-09-17 15:10:19 -03:00
Alexandre Brandizzi
65d55d7c9f
Merge branch 'dev' into fix/ab/sh-364-inline-technician-registration
2026-09-17 14:48:26 -03:00
Alexandre Brandizzi
b149d3c275
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 14:48:23 -03:00
Alexandre Brandizzi
318859fb1b
Merge branch 'dev' into fix/ab/sh-321-wizard-vendor-notes
2026-09-17 14:48:19 -03:00
Codex Review Integration
6a18cc321a
test(dashboard): update visual baselines for Team Members nav item
2026-09-17 14:46:16 -03:00
Alexandre Brandizzi
3dbf3df5d5
Merge branch 'dev' into fix/ab/sh-364-inline-technician-registration
2026-09-17 14:26:40 -03:00
Alexandre Brandizzi
40779566c3
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 14:26:37 -03:00
Alexandre Brandizzi
e5df5b46c0
Merge branch 'dev' into fix/ab/sh-321-wizard-vendor-notes
2026-09-17 14:26:33 -03:00
Alexandre Brandizzi
b2b25d7bae
Merge branch 'dev' into feat/ab/sh-336-dashboard
2026-09-17 14:26:27 -03:00
Alexandre Brandizzi
1a13787ecb
Merge branch 'dev' into feat/ab/sh-207-uplift-queue-frontend
2026-09-17 14:26:21 -03:00
Codex Review Integration
8bc6c5e687
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-326-team-member
...
# Conflicts:
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-error.png
2026-09-17 14:00:03 -03:00
Alexandre Brandizzi
d6518bc065
Merge branch 'dev' into feat/ab/sh-324-team-members-list
2026-09-17 13:28:10 -03:00
Codex Review Integration
c40f0c4a37
Merge remote-tracking branch 'origin/dev' into fix/ab/sh-364-inline-technician-registration
...
# Conflicts:
# src/app/(protected)/workorders/_components/wizard/use-new-wo-wizard-controller.ts
2026-09-17 13:26:17 -03:00
Codex Review Integration
dee81b0a44
Merge remote-tracking branch 'origin/dev' into fix/ab/sh-321-wizard-vendor-notes
...
# Conflicts:
# src/app/(protected)/workorders/_components/wizard/use-new-wo-wizard-controller.ts
2026-09-17 13:20:31 -03:00
Codex Review Integration
1271d3c11e
feat(dashboard): dispatcher scope picker, status distribution, region drilldown, perf counts
...
- SH-336: add the dispatcher-scope picker (All / My WOs / individual) for
Scheduler/Admin via a new viewAllDispatchersOnDashboard role gate, a static
'My WOs' label for Dispatcher, and hide the dispatcher tables (and skip their
queries) when the viewer cannot see all dispatchers. Scope drives dispatcherId
on stats, workload, performance, and regions (SH-347 contract).
- SH-352: add the Status Distribution module with its empty state and status
drill-down.
- SH-347: show Assigned/Completed counts and colour the completion rate
(green >=90, amber 70-89, red <70) on Dispatcher Performance.
- SH-348: drill a region bar into the board region filter; hold the
unconfirmed 'Unmapped/Other' bucket off the chart.
- SH-349: label Vendor Insights as all-time, company-wide.
- Make the drilldown-filters effect fire only on URL change; add a deterministic
clock to the status-drilldown test; add the dashboard visual regression spec
and baselines.
2026-09-17 02:56:31 -03:00
Codex Review Integration
ebbbd91f83
test(uplifts): serve can-approve in the uplift e2e workflow mock
2026-09-17 02:49:24 -03:00