Alexandre Brandizzi
40301e23ab
Merge branch 'dev' into feat/ab/sh-278-vendor-service-area
2026-09-16 19:32:20 -03:00
Alexandre Brandizzi
3ec6540271
Merge branch 'dev' into fix/ab/sh-194-week-scoped-search
2026-09-16 19:30:44 -03:00
Codex Review Integration
1fa9f6ec02
fix(work-orders): close wizard before saving vendor notes on create
...
The create mutation's onSuccess awaited saveCompanyNotes before calling
onOpenChange(false). Because isCreating is createMutation.isPending ||
isCheckingDuplicate, and isPending drops to false the moment the work-order
create resolves, the dialog stayed open with Create re-enabled and pointer
events unlocked for the length of the roster GET plus notes PATCH. A second
Create click ran handleCreate again; with a blank provisional WO number the
duplicate lookup short-circuits without an API call, so createMutation.mutate
fired a second time and created a duplicate work order.
Close the dialog first, then fire saveCompanyNotes unawaited. The save does
not need the dialog open: fetchCurrentBaseline reads the roster when the
baseline is missing, and the failure toast is raised from the mutation's
option-level onError, so it still surfaces after the dialog unmounts.
2026-09-16 19:29:29 -03:00
Alexandre Brandizzi
68c4809a16
Merge branch 'dev' into fix/ab/sh-341-generate-completes-work-order
2026-09-16 19:18:28 -03:00
Alexandre Brandizzi
331de59f97
Merge branch 'dev' into feat/ab/sh-278-vendor-service-area
2026-09-16 19:18:25 -03:00
Alexandre Brandizzi
638e33af72
Merge branch 'dev' into feat/ab/sh-235-severity-badge
2026-09-16 19:18:21 -03:00
Alexandre Brandizzi
a793e1c2d9
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 19:18:18 -03:00
Codex Review Integration
04f8b51eab
refactor(work-orders): use Tailwind tokens for search scope label
...
Swap the inline fontSize/color on the week-scope status label for the
text-(length:--text-xs) and text-muted-foreground classes already used
across the header, so it tracks future token changes. --text-xs is 11px
and text-muted-foreground resolves to --muted-foreground, so rendering is
unchanged.
2026-09-16 19:17:28 -03:00
Alexandre Brandizzi
9cce2966f1
Merge branch 'dev' into feat/ab/sh-195-date-header-tooltips
2026-09-16 19:16:15 -03:00
Alexandre Brandizzi
33a979c79d
Merge branch 'dev' into fix/ab/sh-341-generate-completes-work-order
2026-09-16 19:04:30 -03:00
Alexandre Brandizzi
0ca032ef8f
Merge branch 'dev' into feat/ab/sh-195-date-header-tooltips
2026-09-16 19:04:26 -03:00
Alexandre Brandizzi
0b219311b5
Merge branch 'dev' into feat/ab/sh-278-vendor-service-area
2026-09-16 19:04:23 -03:00
Alexandre Brandizzi
448ba70d87
Merge branch 'dev' into feat/ab/sh-235-severity-badge
2026-09-16 19:04:20 -03:00
Alexandre Brandizzi
51739fd155
Merge branch 'dev' into fix/ab/sh-356-due-date-after-schedule
2026-09-16 19:04:17 -03:00
Alexandre Brandizzi
b120b43b0f
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 19:04:14 -03:00
Codex Review Integration
de79daefb1
feat(team-members): add searchable team member registry (SH-324)
2026-09-16 18:54:33 -03:00
Alexandre Brandizzi
f33580972d
Merge branch 'dev' into feat/ab/sh-195-date-header-tooltips
2026-09-16 18:52:33 -03:00
Alexandre Brandizzi
7876b6ca42
Merge branch 'dev' into feat/ab/sh-278-vendor-service-area
2026-09-16 18:52:29 -03:00
Alexandre Brandizzi
dd34e79e19
Merge branch 'dev' into fix/ab/sh-356-due-date-after-schedule
2026-09-16 18:52:26 -03:00
Alexandre Brandizzi
cd611fd09c
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 18:52:23 -03:00
Alexandre Brandizzi
79f9e52870
Merge branch 'dev' into fix/ab/sh-341-generate-completes-work-order
2026-09-16 18:50:23 -03:00
Alexandre Brandizzi
5d1b6e5aa0
Merge branch 'dev' into feat/ab/sh-197-inline-create-fields
2026-09-16 18:50:20 -03:00
Alexandre Brandizzi
1e15eab573
Merge branch 'dev' into feat/ab/sh-235-severity-badge
2026-09-16 18:50:17 -03:00
Alexandre Brandizzi
55723a1cfd
Merge branch 'dev' into fix/ab/sh-341-generate-completes-work-order
2026-09-16 18:38:38 -03:00
Alexandre Brandizzi
8b5b5903fa
Merge branch 'dev' into feat/ab/sh-197-inline-create-fields
2026-09-16 18:38:35 -03:00
Alexandre Brandizzi
c081ea8d97
Merge branch 'dev' into feat/ab/sh-195-date-header-tooltips
2026-09-16 18:38:32 -03:00
Alexandre Brandizzi
42b5642fec
Merge branch 'dev' into feat/ab/sh-278-vendor-service-area
2026-09-16 18:38:29 -03:00
Alexandre Brandizzi
d3b74afe5a
Merge branch 'dev' into feat/ab/sh-235-severity-badge
2026-09-16 18:38:26 -03:00
Alexandre Brandizzi
b746087d0b
Merge branch 'dev' into fix/ab/sh-356-due-date-after-schedule
2026-09-16 18:38:23 -03:00
Alexandre Brandizzi
551ed863f4
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 18:38:20 -03:00
Alexandre Brandizzi
2152d2d31c
Merge branch 'dev' into fix/ab/sh-369-completion-doc-service-gate
2026-09-16 18:38:17 -03:00
Alexandre Brandizzi
0f34e8c7c6
Merge branch 'dev' into fix/ab/sh-371-pm-extra-media-gallery
2026-09-16 18:38:14 -03:00
Alexandre Brandizzi
ac2642d5b9
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 18:28:25 -03:00
Alexandre Brandizzi
c135605c87
Merge branch 'dev' into fix/ab/sh-369-completion-doc-service-gate
2026-09-16 18:28:22 -03:00
Alexandre Brandizzi
754912c643
Merge branch 'dev' into fix/ab/sh-371-pm-extra-media-gallery
2026-09-16 18:28:19 -03:00
Codex Review Integration
3a902bfebe
feat(work-orders): use services registry picker
2026-09-16 18:26:55 -03:00
Alexandre Brandizzi
daaf588793
Merge branch 'dev' into feat/ab/sh-278-vendor-service-area
2026-09-16 18:26:26 -03:00
Alexandre Brandizzi
f2df213965
Merge branch 'dev' into feat/ab/sh-235-severity-badge
2026-09-16 18:26:23 -03:00
Alexandre Brandizzi
49fd0b039c
Merge branch 'dev' into fix/ab/sh-356-due-date-after-schedule
2026-09-16 18:26:20 -03:00
Alexandre Brandizzi
99f57b9c89
Merge branch 'dev' into fix/ab/sh-341-generate-completes-work-order
2026-09-16 18:24:22 -03:00
Alexandre Brandizzi
baf16501cc
Merge branch 'dev' into feat/ab/sh-197-inline-create-fields
2026-09-16 18:24:20 -03:00
Alexandre Brandizzi
ae6ba6978f
Merge branch 'dev' into feat/ab/sh-195-date-header-tooltips
2026-09-16 18:24:17 -03:00
Alexandre Brandizzi
632d01f373
Merge branch 'dev' into fix/ab/sh-357-sh-358-status-transitions
2026-09-16 18:22:16 -03:00
Alexandre Brandizzi
92fa61ad57
Merge branch 'dev' into feat/ab/sh-195-date-header-tooltips
2026-09-16 18:20:16 -03:00
Alexandre Brandizzi
46f90abf8a
Merge branch 'dev' into feat/ab/sh-197-inline-create-fields
2026-09-16 18:18:14 -03:00
Alexandre Brandizzi
d872e08a2b
Merge branch 'dev' into fix/ab/sh-341-generate-completes-work-order
2026-09-16 18:16:14 -03:00
Alexandre Brandizzi
71432ac586
Merge branch 'dev' into fix/ab/sh-357-sh-358-status-transitions
2026-09-16 18:08:14 -03:00
Alexandre Brandizzi
ad1fd7ebf9
Merge branch 'dev' into fix/ab/sh-361-sh-363-audit-log-entries
2026-09-16 18:08:11 -03:00
Codex Review Integration
a9d8416f0f
fix(work-orders): prefer stored media over a zero detail media count
...
The detail endpoint's info inherits MediaCount from the board row DTO but
the service never sets it, so it serializes as 0. The previous guard trusted
any numeric value and returned that 0, leaving the slide-over completion gate
reporting "At least 1 photo" even after an upload. Take the larger of the
reported count and the stored (non-legacy) attachments so a positive API
count still wins while a spurious or omitted 0 no longer masks present media.
Dropping the unused mapped-row argument also removes a flat-payload path that
would have counted legacy items.
2026-09-16 18:05:50 -03:00
Adam Moussa
e95a720630
Merge branch 'dev' into feat/ab/sh-222-create-error-copy
2026-09-16 16:46:27 -04:00