Codex Review Integration
6f8b502116
fix(uplifts): align approval queue contracts (SH-207)
2026-09-16 22:40:48 -03:00
Codex Review Integration
9c360fc95b
fix(services): address registry review findings
2026-09-16 22:30:32 -03:00
Codex Review Integration
58fc323ea2
fix(work-orders): use local calendar day for Past Due and stabilize slow suites
...
computeIsPastDue and the day view's todayKey derived today from
toISOString() (UTC). West of UTC that rolls over hours early, so work
scheduled for today showed as Past Due every evening. Both now use the
local todayIso() helper the board already uses; regression tests pin
23:30 and 00:30 in America/Sao_Paulo with fake Date.
Test stability:
- adv-search page sync: scope pagination queries with within() instead of
scanning ~330 buttons / 3000 nodes on every waitFor poll
- pm-schedules-list-actions: static import of the edit page so module
transform does not count against the 5s test budget
- vendor create modal / detail drawer: userEvent.setup({ delay: null });
15s describe budget for full MUI dialog renders under parallel load
2026-09-16 22:06:33 -03:00
Alexandre Brandizzi
e6f5199da9
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 21:56:20 -03:00
Codex Review Integration
2d54ff12f8
fix(work-orders): show fixed copy for edit conflict toasts (SH-375)
2026-09-16 21:22:07 -03:00
Codex Review Integration
afc98a9daa
fix(work-orders): normalize partial-save and generic edit error toasts (SH-375)
2026-09-16 21:20:16 -03:00
Codex Review Integration
fc25d8f7c7
fix(work-orders): show generic copy for unknown edit errors (SH-375)
2026-09-16 21:14:25 -03:00
Codex Review Integration
0d95a32071
feat(uplifts): refresh work-order views after decisions (SH-214)
2026-09-16 21:12:22 -03:00
Alexandre Brandizzi
440a3d0112
Merge branch 'dev' into feat/ab/sh-222-create-error-copy
2026-09-16 20:56:26 -03:00
Codex Review Integration
85024b40f3
fix(uplifts): use admin revoke contract (SH-212)
2026-09-16 20:54:33 -03:00
Codex Review Integration
3f98ac380f
feat(uplifts): deliver approval queue experience (SH-207)
2026-09-16 20:43:12 -03:00
Codex Review Integration
c7388ba2d9
fix(dashboard): map breakdown type keys and open performance drill-downs
...
The Work Order Breakdown object from the backend serializes its keys
without JsonPropertyName, so they arrive lowercase (pm/emergency/reactive/
overdue/other). The mapper copied them straight into `status`, which the
card uses as both label and the `types` drill-down id, and
`workOrderTypeDrilldownSearch` only accepts canonical WOType values — so
every breakdown row rendered lowercase and was inert (SH-354). Route both
mapping branches through a normalizer that maps type keys back to their
canonical labels case-insensitively; `other` is not a WOType, so it stays a
labelled, non-drillable "Other" row, and unknown values (legacy array-shape
lifecycle labels) pass through unchanged.
Dispatcher Performance gated its drill-down on `completionRate > 0`, so a
dispatcher with assigned work but no completions yet was inert here while
drillable from Workload. The drill-down filters by dispatcher + range and
never uses the rate, so gate on identity instead.
Also mock useDashboardTrend in the dashboard page test so it no longer
issues a real request that failed quietly in jsdom.
2026-09-16 20:40:33 -03:00
Alexandre Brandizzi
6682fcd7c2
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 20:30:17 -03:00
Codex Review Integration
e323b0b2ce
feat(team-members): add member detail drawer (SH-326)
2026-09-16 20:27:05 -03:00
Alexandre Brandizzi
fc21321148
Merge branch 'dev' into feat/ab/sh-278-vendor-service-area
2026-09-16 20:16:18 -03:00
Alexandre Brandizzi
7aa964aa0f
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 20:16:15 -03:00
Alexandre Brandizzi
bbc955e6fe
Merge branch 'dev' into feat/ab/sh-195-date-header-tooltips
2026-09-16 20:00:20 -03:00
Alexandre Brandizzi
e272cabe34
Merge branch 'dev' into feat/ab/sh-278-vendor-service-area
2026-09-16 20:00:16 -03:00
Alexandre Brandizzi
85a6dad0f9
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 20:00:13 -03:00
Codex Review Integration
b6f4590bfa
feat(team-members): add member creation form (SH-325)
2026-09-16 19:49:27 -03:00
Codex Review Integration
1b17cbec01
feat(dashboard): build dashboard experience (SH-336)
2026-09-16 19:37:15 -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
a793e1c2d9
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 19:18:18 -03:00
Alexandre Brandizzi
9cce2966f1
Merge branch 'dev' into feat/ab/sh-195-date-header-tooltips
2026-09-16 19:16:15 -03:00
Codex Review Integration
b449df97e6
fix(services): use completion document templates
2026-09-16 19:13:00 -03:00
Codex Review Integration
0b63d882ab
refactor(services): split registry management view
2026-09-16 19:05:02 -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
Codex Review Integration
c9ab1f3598
feat(services): add registry management page
2026-09-16 18:42:31 -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
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
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
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
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
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
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
d872e08a2b
Merge branch 'dev' into fix/ab/sh-341-generate-completes-work-order
2026-09-16 18:16:14 -03:00