Alexandre Brandizzi
c9562650ca
Merge branch 'dev' into fix/ab/sh-364-inline-technician-registration
2026-09-18 11:59:16 -03:00
Alexandre Brandizzi
e780bafdd8
Merge branch 'dev' into feat/ab/sh-304-services-registry-ui
2026-09-18 11:59:13 -03:00
npal
5645c7e02b
Merge remote-tracking branch 'origin/dev' into refactor/dispatch-detail-modal-split-v2
2026-09-17 18:10:34 -05:00
npal
a93747f119
refactor(vendor-portal,settings): move state and fetch logic into hooks (SH-378)
...
vendor-portal-provider.tsx and task-templates.tsx mixed data-fetching,
state, and rendering in one file, with no caching and hand-rolled form
state. This is a pure refactor with no behavior change.
- vendor-portal-provider.tsx: replace manual useEffect/useState fetch
with useVendorPortalSession (useQuery), closing the token race
condition the old key={token} remount was working around
- task-templates.tsx: split into useTaskTemplateEditor hook plus 4
presentational components; replace hand-rolled form state with
react-hook-form + zod validation; replace the "new" string sentinel
with a NEW_TEMPLATE_ID constant
- add 29 tests (hook, component, and full-page integration) confirming
identical behavior to the original code
2026-09-17 18:05:06 -05:00
Alexandre Brandizzi
5f2d120965
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 16:02:15 -03:00
Alexandre Brandizzi
1ee4bbef7e
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 15:46:18 -03:00
Alexandre Brandizzi
3058a96edb
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 15:46:15 -03:00
Codex Review Integration
28ff14d457
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-304-services-registry-ui
...
# Conflicts:
# src/test/lib/auth/user-utils.test.ts
2026-09-17 15:34:52 -03:00
Alexandre Brandizzi
bff5ed138b
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 15:30:22 -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
948ce278de
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 15:16:30 -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
9ed8099e71
Merge branch 'dev' into feat/ab/sh-304-services-registry-ui
2026-09-17 15:16:25 -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
361f6b65a2
Merge branch 'dev' into feat/ab/sh-304-services-registry-ui
2026-09-17 15:10:25 -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
bca906f900
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 15:02:23 -03:00
Alexandre Brandizzi
534d7ce4d6
Merge branch 'dev' into fix/ab/sh-364-inline-technician-registration
2026-09-17 15:02:19 -03:00
Alexandre Brandizzi
f5da80cd6e
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 15:02:16 -03:00
Alexandre Brandizzi
bf916019f9
Merge branch 'dev' into fix/ab/sh-321-wizard-vendor-notes
2026-09-17 15:02:13 -03:00
Alexandre Brandizzi
8d2c947c54
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 14:48:30 -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
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
Codex Review Integration
827d52add7
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-326-team-member
2026-09-17 14:36:45 -03:00
Alexandre Brandizzi
1a76f270ea
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 14:34:46 -03:00
Alexandre Brandizzi
0eeae02785
Merge branch 'dev' into fix/ab/sh-364-inline-technician-registration
2026-09-17 14:34:43 -03:00
Alexandre Brandizzi
130f5830ce
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 14:34:40 -03:00
Alexandre Brandizzi
b48d1a24be
Merge branch 'dev' into fix/ab/sh-321-wizard-vendor-notes
2026-09-17 14:34:36 -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
c614d43900
Merge branch 'dev' into feat/ab/sh-336-dashboard
2026-09-17 14:34:30 -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
09c2447094
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 14:26:43 -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
3011cb1eda
Merge branch 'dev' into feat/ab/sh-304-services-registry-ui
2026-09-17 14:26:30 -03:00
Alexandre Brandizzi
b2b25d7bae
Merge branch 'dev' into feat/ab/sh-336-dashboard
2026-09-17 14:26:27 -03:00
Alexandre Brandizzi
2f659bb6cd
Merge branch 'dev' into feat/ab/sh-326-team-member
2026-09-17 14:26:24 -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
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