diff --git a/bundle-budget.json b/bundle-budget.json index c8ccfbbee5..0a03a453ce 100644 --- a/bundle-budget.json +++ b/bundle-budget.json @@ -1,5 +1,5 @@ { - "$comment": "Client JS bundle-size budgets captured from a known-good production build. `production` guards aggregate user-facing chunks, `routes` guards the Lighthouse journeys and the main work-mode pages (added by the work-mode speed review, 7 Oct 2026) against route-local growth (route baselines lowered about 100 KB on 7 Oct 2026 (scaled from a local build by the ratio to the baselineSource build, so they stay comparable with it) when the sign-in library moved out of the first load, so that saving cannot quietly regrow), and `mockups` is a looser design-scratch hygiene ceiling. The `production` baseline alone was raised on 9 Oct 2026 to a local build of the hospital roles change merged with main (5472.8 KiB), after its 145 KiB duplicated-chunk regression was removed: main had already reached +9.8% from the combined work-mode growth. Route baselines and baselineSource were left as they were. Refresh intentionally with `npm run check:bundle-budget -- --update`.", + "$comment": "Client JS bundle-size budgets captured from a known-good production build. `production` guards aggregate user-facing chunks, `routes` guards the Lighthouse journeys and the main work-mode pages (added by the work-mode speed review, 7 Oct 2026) against route-local growth (route baselines lowered about 100 KB on 7 Oct 2026 (scaled from a local build by the ratio to the baselineSource build, so they stay comparable with it) when the sign-in library moved out of the first load, so that saving cannot quietly regrow), and `mockups` is a looser design-scratch hygiene ceiling. The `production` baseline alone was raised on 9 Oct 2026 to a local build of the hospital roles change merged with main (5472.8 KiB), after its 145 KiB duplicated-chunk regression was removed: main had already reached +9.8% from the combined work-mode growth. Route baselines and baselineSource were left as they were. Refresh intentionally with `npm run check:bundle-budget -- --update`. On 13 Oct 2026 the owner approved resetting two route baselines, /roster/shifts (390.9 KiB) and /teaching/assessments (459.3 KiB), to a local production build of main at f4bcb55a4 (which matched CI's own measurement of that commit), because main had already reached +9.7% and +8.9% there. All other baselines were left as they were.", "enforce": true, "production": { "gzipBytes": 5604147, @@ -42,7 +42,7 @@ "tolerancePct": 10 }, "/roster/shifts": { - "gzipBytes": 365000, + "gzipBytes": 400282, "tolerancePct": 10 }, "/open-shifts": { @@ -62,7 +62,7 @@ "tolerancePct": 10 }, "/teaching/assessments": { - "gzipBytes": 432014, + "gzipBytes": 470323, "tolerancePct": 10 }, "/cme": { diff --git a/docs/design-system/COMPONENTS.md b/docs/design-system/COMPONENTS.md index 8af049e6bb..e4115d4809 100644 --- a/docs/design-system/COMPONENTS.md +++ b/docs/design-system/COMPONENTS.md @@ -1058,14 +1058,14 @@ This generated snapshot is a local source-derived inventory. It does not assert | `AnswerFooter` | answer | yes | yes | inherited-global-root | yes | no | 1 | | `AsyncButton` | controls | yes | yes | inherited-global-root | yes | no | 5 | | `Breadcrumb` | layout | yes | yes | inherited-global-root | yes | no | 1 | -| `Button` | controls | yes | yes | inherited-global-root | yes | no | 129 | +| `Button` | controls | yes | yes | inherited-global-root | yes | no | 128 | | `Checkbox` | controls | yes | yes | inherited-global-root | yes | no | 14 | | `Chip` | controls | yes | yes | inherited-global-root | yes | no | 8 | | `ChoiceChip` | controls | yes | yes | inherited-global-root | yes | no | 7 | | `Citation` | source | yes | yes | inherited-global-root | yes | no | 1 | | `CitationList` | source | yes | yes | inherited-global-root | yes | no | 1 | | `ConfirmDialog` | layout | yes | yes | inherited-global-root | yes | no | 13 | -| `DateDisplay` | source | yes | yes | inherited-global-root | yes | no | 4 | +| `DateDisplay` | source | yes | yes | inherited-global-root | yes | no | 3 | | `Disclosure` | layout | yes | yes | inherited-global-root | yes | no | 3 | | `DisclosureGroup` | layout | yes | yes | inherited-global-root | yes | no | 1 | | `DoseLine` | answer | yes | yes | no | yes | no | 0 | @@ -1078,7 +1078,7 @@ This generated snapshot is a local source-derived inventory. It does not assert | `FieldHint` | feedback | yes | yes | inherited-global-root | yes | no | 2 | | `FormField` | controls | yes | yes | inherited-global-root | yes | no | 18 | | `IconButton` | controls | yes | yes | inherited-global-root | yes | no | 3 | -| `InlineNotice` | feedback | yes | yes | inherited-global-root | yes | no | 33 | +| `InlineNotice` | feedback | yes | yes | inherited-global-root | yes | no | 32 | | `LinkAction` | controls | yes | yes | no | yes | no | 0 | | `LoadingPanel` | feedback | yes | yes | inherited-global-root | yes | no | 10 | | `MissingValue` | feedback | yes | yes | inherited-global-root | yes | no | 11 | diff --git a/docs/design-system/adoption-manifest.json b/docs/design-system/adoption-manifest.json index 82f65f4052..5aaf8a35a0 100644 --- a/docs/design-system/adoption-manifest.json +++ b/docs/design-system/adoption-manifest.json @@ -375,7 +375,6 @@ "src/components/roster/manage/roster-approve-tab.tsx", "src/components/roster/manage/roster-cover-tab.tsx", "src/components/roster/manage/roster-decision-sheet.tsx", - "src/components/roster/manage/roster-manage-page.tsx", "src/components/roster/manage/roster-people-list.tsx", "src/components/roster/manage/roster-team-settings.tsx", "src/components/roster/requests/roster-dates-sheet.tsx", @@ -509,7 +508,6 @@ "src/components/roster/manage/roster-approve-tab.tsx", "src/components/roster/manage/roster-cover-tab.tsx", "src/components/roster/manage/roster-decision-sheet.tsx", - "src/components/roster/manage/roster-manage-page.tsx", "src/components/roster/manage/roster-people-list.tsx", "src/components/roster/manage/roster-team-settings.tsx", "src/components/roster/requests/roster-dates-sheet.tsx", @@ -897,13 +895,11 @@ "entryExported": true, "directImportFiles": [ "src/components/answer/AnswerFooter.tsx", - "src/components/privacy-quiet-signal-page.tsx", "src/components/ui/retrieval-state-banner.tsx", "src/components/ui/verification-notice.tsx" ], "productImportFiles": [ "src/components/answer/AnswerFooter.tsx", - "src/components/privacy-quiet-signal-page.tsx", "src/components/ui/retrieval-state-banner.tsx", "src/components/ui/verification-notice.tsx" ], @@ -1437,7 +1433,6 @@ "src/components/DocumentViewer.tsx", "src/components/calendar/calendar-subscribe.tsx", "src/components/clinical-dashboard/account-setup-dialog.tsx", - "src/components/clinical-dashboard/answer-crisis-banner.tsx", "src/components/clinical-dashboard/auth-panel.tsx", "src/components/clinical-dashboard/email-auth-form.tsx", "src/components/clinical-dashboard/medication-considerations.tsx", @@ -1473,7 +1468,6 @@ "src/components/DocumentViewer.tsx", "src/components/calendar/calendar-subscribe.tsx", "src/components/clinical-dashboard/account-setup-dialog.tsx", - "src/components/clinical-dashboard/answer-crisis-banner.tsx", "src/components/clinical-dashboard/auth-panel.tsx", "src/components/clinical-dashboard/email-auth-form.tsx", "src/components/clinical-dashboard/medication-considerations.tsx", diff --git a/knip.json b/knip.json index 3544d7a77c..f4618f36a4 100644 --- a/knip.json +++ b/knip.json @@ -10,7 +10,13 @@ "*.config.{ts,mts,mjs,cjs}" ], "project": ["src/**/*.{ts,tsx}", "scripts/**/*.{ts,mjs,cjs}", "worker/**/*.ts", "eslint-rules/**/*.mjs"], - "ignore": ["src/lib/supabase/database.types.ts", "**/*mockup*", "supabase/functions/**", "docs/**"], + "ignore": [ + "src/lib/supabase/database.types.ts", + "**/*mockup*", + "supabase/functions/**", + "docs/**", + "src/components/work-setup/work-setup-row.tsx" + ], "ignoreDependencies": [ "mammoth", "qrcode", diff --git a/public/offline.html b/public/offline.html index 508e194d7b..c2f470426f 100644 --- a/public/offline.html +++ b/public/offline.html @@ -162,7 +162,7 @@ .crisis-tel { display: inline-flex; align-items: center; - min-height: 2.75rem; + min-height: 3rem; margin-top: 0.35rem; color: var(--page-accent); font-size: 1.15rem; @@ -370,25 +370,12 @@
- Reconnect to search, generate answers, or open private clinical documents and account data. This offline page - can still show the public crisis numbers and any Mental Health Act deadlines your clinician has signed off, as - quotes below. -
-- For privacy, the PWA cache stores only this offline screen and public application assets. It does not store or - replay clinical queries, answers, documents, uploads, signed URLs, or API responses. The numbers and quotes - below are public, non-patient information, not stored or replayed patient data, and each shows its source and - the date it was checked. If you use On Call, this screen can also show the shared On Call numbers your browser - already saved in the last seven days, never your personal entries; they are cleared when you sign out. + Reconnect to search, get answers, or open private clinical documents and account data. The numbers below work + without a connection.
Emergency services
@@ -399,6 +386,23 @@Poisons Information Centre
+ 13 11 26 +24 hours, every day
++ For overdose or poisoning advice. Call 000 if the person has collapsed or is not breathing. +
++ Checked 13 October 2026 · + Source +
+Mental Health Emergency Response Line (MHERL) — Perth metropolitan
1300 555 788 @@ -482,6 +486,11 @@Reference only — check against the Act and your service's procedure.
@@ -605,6 +614,13 @@+ For privacy, this page stores only this offline screen and public application assets. It does not store or + replay clinical queries, answers, documents, uploads, signed URLs, or API responses. The numbers and quotes + above are public, non-patient information, each with its source and the date it was checked. If you use On Call, + this screen can also show the shared On Call numbers saved on this phone in the last seven days, never your + personal entries; they are cleared when you sign out. +
Try again