Alexandre Brandizzi
361f6b65a2
Merge branch 'dev' into feat/ab/sh-304-services-registry-ui
2026-09-17 15:10:25 -03:00
Alexandre Brandizzi
27883e3c7a
Merge pull request #217 from Sea-Haven-Industries/fix/ab/frontend-test-stability
...
SH-376: Past Due uses the local calendar day, and stabilise slow suites
2026-09-17 15:00:17 -03:00
Codex Review Integration
bbdf418ee3
refactor(services): extract useServiceEditor to satisfy maintainability gate
...
useServicesRegistryController exceeded the changed-file max-lines-per-function
budget (158 > 150). Move the add/edit form lifecycle into a useServiceEditor
sub-hook; the controller's public return shape and behavior are unchanged.
2026-09-17 14:55:05 -03:00
Alexandre Brandizzi
ff4ecb37e4
Merge branch 'dev' into feat/ab/sh-304-services-registry-ui
2026-09-17 14:48:16 -03:00
Alexandre Brandizzi
2d5e7cdd42
Merge branch 'dev' into fix/ab/frontend-test-stability
2026-09-17 14:48:13 -03:00
Alexandre Brandizzi
dfa3476a2c
Merge pull request #216 from Sea-Haven-Industries/feat/ab/sh-207-uplift-queue-frontend
...
SH-207: Deliver uplift approval queue experience
2026-09-17 14:46:26 -03:00
Alexandre Brandizzi
0302b2828f
Merge branch 'dev' into feat/ab/sh-304-services-registry-ui
2026-09-17 14:34:33 -03:00
Alexandre Brandizzi
99481c49e9
Merge branch 'dev' into feat/ab/sh-207-uplift-queue-frontend
2026-09-17 14:34:27 -03:00
Alexandre Brandizzi
6c88df6c5f
Merge branch 'dev' into fix/ab/frontend-test-stability
2026-09-17 14:34:24 -03:00
Alexandre Brandizzi
6420b0d091
Merge pull request #214 from Sea-Haven-Industries/feat/ab/sh-325-add-team-member
...
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 dev content / Deploy shoc-frontend-new-dev through Terraform (push) Waiting to run
SH-325: add team member form
2026-09-17 14:32:23 -03:00
Alexandre Brandizzi
3011cb1eda
Merge branch 'dev' into feat/ab/sh-304-services-registry-ui
2026-09-17 14:26:30 -03:00
Alexandre Brandizzi
1a13787ecb
Merge branch 'dev' into feat/ab/sh-207-uplift-queue-frontend
2026-09-17 14:26:21 -03:00
Alexandre Brandizzi
a81fd14d7d
Merge branch 'dev' into feat/ab/sh-325-add-team-member
2026-09-17 14:20:16 -03:00
Alexandre Brandizzi
3550b64ba3
Merge branch 'dev' into fix/ab/frontend-test-stability
2026-09-17 14:20:12 -03:00
Alexandre Brandizzi
c0b511ed12
Merge pull request #218 from Sea-Haven-Industries/fix/ab/sh-375-edit-error-copy
...
SH-375: keep backend validation text out of work-order edit errors
2026-09-17 14:18:12 -03:00
Codex Review Integration
90a3c24846
fix(services): source Trade picker from canonical catalog (SH-304)
...
The Trade select was fed from the editable DropdownOptions "Trade"
category, whose legacy seed values ("Plumbing", "General", ...) are not
in the backend TradeCatalog. ServicesRegistryService.RequireCanonicalTrade
rejects any non-canonical trade with 400 TradeInvalid, so Add Service and
Save Changes failed for legacy names and an admin editing the Trade
dropdown could break service creation at any time.
Source the picker from the server-owned canonical Trade reference on
Vendor/facets (the same list the vendor roster form uses), key the icon
defaults to the canonical names, and keep the edited service's stored
trade selectable if it was later deactivated so editing never silently
blanks the field.
2026-09-17 14:14:48 -03:00
Alexandre Brandizzi
0055f5c3b9
Merge branch 'dev' into fix/ab/frontend-test-stability
2026-09-17 14:04:21 -03:00
Alexandre Brandizzi
8d2adb4472
Merge branch 'dev' into fix/ab/sh-375-edit-error-copy
2026-09-17 14:04:19 -03:00
Codex Review Integration
a65f282b51
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-325-add-team-member
2026-09-17 13:47:06 -03:00
Alexandre Brandizzi
1e1b58c560
Merge pull request #211 from Sea-Haven-Industries/feat/ab/sh-324-team-members-list
...
SH-324: add searchable team member registry
2026-09-17 13:42:13 -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
7dd7ea497e
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-304-services-registry-ui
...
# Conflicts:
# src/api/api-paths.ts
# src/domain/services/api/services-api.ts
# src/domain/services/mappers/service-mapper.ts
# src/domain/services/types/service.ts
# src/infra/query-key/query-key.ts
# src/test/domain/services/api/services-api.test.ts
2026-09-17 13:24:08 -03:00
Alexandre Brandizzi
04a248fd53
Merge pull request #210 from Sea-Haven-Industries/feat/ab/sh-187-service-picker
...
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 dev content / Deploy shoc-frontend-new-dev through Terraform (push) Waiting to run
SH-187: Use Services registry in work-order picker
2026-09-17 13:14:09 -03:00
Alexandre Brandizzi
c991c9e89f
Merge branch 'dev' into feat/ab/sh-187-service-picker
2026-09-17 13:02:18 -03:00
Alexandre Brandizzi
56a7895950
Merge pull request #206 from Sea-Haven-Industries/fix/ab/sh-320-inline-sh-prefix-wo-number
...
SH-320: accept SH-prefixed placeholder work-order numbers
2026-09-17 13:00:19 -03:00
Alexandre Brandizzi
8427182209
Merge branch 'dev' into feat/ab/sh-187-service-picker
2026-09-17 12:58:17 -03:00
Alexandre Brandizzi
a9247a1997
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-17 12:50:18 -03:00
Codex Review Integration
b551421115
fix(work-orders): show duplicate-WO copy for edit conflicts (SH-375)
...
A duplicate work order number edit returns 422 DuplicateWoNumber from the
board PATCH endpoint, which mapped to the generic save-failed copy. Add the
code to the known validation copy map so edits reuse the same duplicate-WO
product text as create, and share the message constant across both paths.
2026-09-17 06:15:23 -03:00
Codex Review Integration
5c093e8c26
Merge remote-tracking branch 'origin/dev' into fix/ab/sh-375-edit-error-copy
2026-09-17 05:59:25 -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
Codex Review Integration
8bc8ff30b6
fix(uplifts): gate Approve and Reject on the backend tier permission (SH-207)
...
Wire the backend's GET uplifts/can-approve tier decision into the
pending row and detail modal actions. Approve/Reject now stay disabled
with the plain 'Requires Tier N role' tooltip unless the backend says
the current user may decide at that tier, so roles the backend refuses
(Dispatcher) never get a clickable action or a refusal toast.
2026-09-17 02:33:29 -03:00
Codex Review Integration
f39328576e
fix(services): replace status filter with active/inactive tabs (SH-304)
2026-09-17 02:01:08 -03:00
Codex Review Integration
824001dc5e
fix(work-orders): make service picker search placeholder type-neutral
2026-09-17 01:40:58 -03:00
Codex Review Integration
7cef338e34
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-324-team-members-list
...
# Conflicts:
# 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-new.png
2026-09-17 00:49:09 -03:00
Alexandre Brandizzi
6972972afe
test(visual): regenerate visual baselines for team members nav group
2026-09-17 00:30:36 -03:00
Codex Review Integration
dd1b029124
style(uplifts): apply prettier to the uplift detail modal
2026-09-17 00:18:32 -03:00
Codex Review Integration
4bffdac175
fix(uplifts): restrict revoke to admins and quiet permission failures (SH-207)
...
- Gate the Revoke action on the approved queue row and the detail modal
to admin users; non-admins get a disabled button with a plain
'Only admins can revoke uplifts' tooltip and the dialog cannot open.
- Stop nesting an h2 inside DialogTitle in the uplift detail modal
(hydration error) by rendering the title text as a non-heading.
- Handle work-order detail/uplift query 403s quietly in the detail
modal: sections fall back to 'Unavailable' and the queries suppress
the global error toast (QueryCache now honors suppressErrorToast).
- Extract UpliftDecisionDialogs and openUpliftEvidence from the page to
meet the changed-file maintainability gate (complexity 23 -> pass).
2026-09-17 00:13:54 -03:00
Codex Review Integration
16a2ab5511
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-325-add-team-member
2026-09-17 00:06:18 -03:00
Codex Review Integration
1207df6ed8
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-325-add-team-member
...
# Conflicts:
# 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-new.png
2026-09-17 00:04:46 -03:00
Alexandre Brandizzi
5e4999b4f2
Merge pull request #207 from Sea-Haven-Industries/fix/ab/sh-359-wo-board-column-order
...
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 dev content / Deploy shoc-frontend-new-dev through Terraform (push) Waiting to run
SH-359: place Completed Date before Comp Doc
2026-09-16 23:54:15 -03:00
Alexandre Brandizzi
bc40c17285
Merge branch 'dev' into fix/ab/sh-359-wo-board-column-order
2026-09-16 23:44:07 -03:00
Codex Review Integration
a24b43b219
test(team-members): refresh visual baselines (SH-325)
2026-09-16 23:15:17 -03:00
Codex Review Integration
0ac8c4473e
fix(team-members): harden team member flows (SH-325)
2026-09-16 23:14:51 -03:00
Codex Review Integration
ae255f59a6
fix(team-members): destructure load error prop (SH-324)
2026-09-16 22:58:46 -03:00
Codex Review Integration
9160dd472a
test(work-orders): refresh startup visual baselines (SH-324)
2026-09-16 22:53:03 -03:00
Codex Review Integration
a4ce537ed6
test(work-orders): tolerate cold visual page startup (SH-324)
2026-09-16 22:50:55 -03:00
Codex Review Integration
6a2b9eb80c
test(uplifts): cover detail evidence callback (SH-209)
2026-09-16 22:50:40 -03:00
Codex Review Integration
2fb5d4a965
fix(services): satisfy registry maintainability gate
2026-09-16 22:50:09 -03:00
Codex Review Integration
5aed31392c
fix(uplifts): complete approval queue review fixes (SH-208)
2026-09-16 22:44:37 -03:00
Codex Review Integration
6f8b502116
fix(uplifts): align approval queue contracts (SH-207)
2026-09-16 22:40:48 -03:00