diff --git a/docs/ui-modernisation/UI-07.md b/docs/ui-modernisation/UI-07.md index 636111cf..6af62bef 100644 --- a/docs/ui-modernisation/UI-07.md +++ b/docs/ui-modernisation/UI-07.md @@ -3,12 +3,12 @@ 3 November 2026. Owner explicitly answered **"Approve Career/CV/letter and A3-IM07"**. Isolated `codex/a3-ui-07` starts at accepted/published UI06 receipt19dad316. Approval record7e410e79 is published/remotely verified. UI06 implementation6f801251 and all earlier approvals remain accepted; no repeat gate. - [x] Inspect current reminder, calendar/provider, document and inbox owners and approved A3 journeys/coverage. -- [ ] Establish selected baseline; preserve existing reminder mutation/retry/focus and correspondence/document trust boundaries. -- [ ] Calendar: agenda first with persisted view-only preference and accessible optional month view; include recorded deadlines even for saved applications missing from attention feed. Keep workflow reminders available, linked context, raw date provenance, unknown-date disclosure, loading/error/retry. Do not derive interview times from stage or assume timezone/precision lost in legacy DateTime storage. -- [ ] Qualify owner-scoped bounded calendar read and server/local date boundaries, including soft-deleted and sibling-owner exclusion. No schema migration/provider activation/calendar writes needed for calendar display. -- [ ] Correspondence: quiet inbox/context presentation using current read/draft/send owners; preserve uncertain outcomes/conflicts/explicit confirmed-send and provider permissions. No live send. -- [ ] Documents: connected library/filter/source/download presentation, preserve URL allowlists, frozen data, private/public state and failures. Reconcile the independently validated ca519cac date patch narrowly before combining it. -- [ ] Targeted frontend/backend/types/lint/build and controlled rendered EN/NB/themes/widths/focus/accessibility journeys; independent review. +- [x] Establish selected baseline; preserve existing reminder mutation/retry/focus and correspondence/document trust boundaries. +- [x] Calendar: agenda first with persisted view-only preference and accessible optional month view; include recorded deadlines even for saved applications missing from attention feed. Keep workflow reminders available, linked context, raw date provenance, unknown-date disclosure, loading/error/retry. Do not derive interview times from stage or assume timezone/precision lost in legacy DateTime storage. +- [x] Qualify owner-scoped bounded calendar read and server/local date boundaries, including soft-deleted and sibling-owner exclusion. No schema migration/provider activation/calendar writes needed for calendar display. +- [x] Correspondence: quiet inbox/context presentation using current read/draft/send owners; preserve uncertain outcomes/conflicts/explicit confirmed-send and provider permissions. No live send. +- [x] Documents: connected library/filter/source/download presentation, preserve URL allowlists, frozen data, private/public state and failures. Reconcile the independently validated ca519cac date patch narrowly before combining it. +- [x] Targeted frontend/backend/types/lint/build and controlled rendered EN/NB/themes/widths/focus/accessibility journeys; independent review. - [ ] Publish coherent validated checkpoints, verify remote refs, update evidence and durable handoff. Next mandatory Gate F before A3-IM08. Scope reaches existing RemindersView, ApplicationCalendarController, correspondence/document presentation and their tests/fixtures/catalogues/navigation. Existing reminder attention feed excludes deadline-only Saved applications; using it as a complete calendar would silently omit deadlines. Add a narrow bounded read to the existing calendar owner instead of changing the attention feed's meaning or fetching an unbounded full board. Existing calendar ICS/provider exports remain unchanged and require explicit user actions/consent. @@ -16,3 +16,5 @@ Scope reaches existing RemindersView, ApplicationCalendarController, corresponde Current JobApplication fields store Deadline/FollowUpAt as nullable DateTime, with no independent interview appointment or original source precision/timezone metadata. Display recorded calendar dates with raw values retained, label the date-level boundary, and do not manufacture appointments. Any later interview scheduling/data-model qualification must be recorded separately. Unknown-date attention remains the existing reminder workflow, not a guessed calendar event. Rollback: revert this feature increment; no database/data rollback for presentation and bounded read. Preserve canonical Career Profile, CV/letter history/settings, RD21 and all previous routes. Full roadmap/security/release acceptance remains open. + +Local final qualification:WORKSPACE_VALIDATION.md;108 unique frontend cases/8 suites,52 backend cases,types/lint/build,48 final calendar plus96 document/mail browser scans/captures. Interview scheduling/original date precision-timezone data remains an explicit gap, not fabricated appointments. Initial calendar194e01ed published/remotely verified; complete increment publication/next Gate F pending. diff --git a/docs/ui-modernisation/WORKSPACE_VALIDATION.md b/docs/ui-modernisation/WORKSPACE_VALIDATION.md new file mode 100644 index 00000000..e1848e74 --- /dev/null +++ b/docs/ui-modernisation/WORKSPACE_VALIDATION.md @@ -0,0 +1,33 @@ +# A3-IM07 Calendar, correspondence and document qualification + +3 November 2026. Owner explicitly approved **"Approve Career/CV/letter and A3-IM07"**. This increment is implemented and locally qualified within the boundaries below. Gate F remains required before A3-IM08. Feature branch `codex/a3-ui-07` preserves prior published UI01–06 refs and original integration baseline; no main merge or production deployment. + +Calendar subpackage `194e01ed7ffbdad6f2e5ac61c88f47628987b337` was published and independently remotely verified. Its committed17-source/61-evidence manifest matched exactly. Current follow-up includes a localised MUI month selector, document and inbox keyboard landmarks, and a narrow integration of independently validated date patch ca519cac. Final publication receipt is recorded separately. The earlier calendar manifest describes immutable checkpoint194e01ed; use the final workspace manifest for current combined sources/evidence. + +Calendar offers agenda first and an optional owner-scoped persisted month view, prioritises upcoming dates, and includes recorded application closing dates even for Saved applications omitted by the attention feed. Existing reminder groups/actions remain below it on `/reminders`. The narrow authenticated calendar read is explicitly owner/nondeleted scoped, inclusive and limited to62 days; it retains original recordedAt and stored calendar day. It does not infer an interview appointment, source precision or timezone missing from legacy data. Existing ICS/provider actions and consent remain unchanged. + +The first rendered Bokmål calendar capture exposed a native month control displaying an English month name in an English-configured browser. The replacement reuses MUI Select and Intl for the selected UI language, with adjacent-month choices and previous/next navigation. A red locale regression preceded the fix; all eight agenda tests and a fresh48-scan browser run pass with exact EN/NB month-label assertions. A verifier lookup initially expected a label-only accessible name; MUI includes its selected value. Corrected that harness lookup and retained the failed attempt; no application behavior was weakened. + +Documents retain existing metadata table/mobile cards, filters, pagination, linked sources, public/private/frozen distinctions, exact source/download allowlists and permission/error recovery. Named filters and Jump/Return move focus without requests. The ca519cac date patch was applied only to DocumentsPage and its ten EN/NB regression cases; both resulting blobs matched the isolated accepted patch before additional focus changes (02f4de2e and64090d7e). It rejects impossible/overflow/trailing-junk unzoned timestamps while preserving fractional-second metadata and wall-clock display. No whole localisation branch was merged. + +Correspondence retains the existing inbox, inline plain-text message read, linked job context, draft editor, provider status, review queue and confirmation owners. Named filters/results include current loading/unlink/empty/detail/pagination notices; jump and return only move focus. Draft conflict/revision, definitive failure/new-attempt, uncertain-result lock, explicit send confirmation, saved draft retention and tenant protections remain unchanged. No external mail was sent. + +| Evidence | Exact result and boundary | +|---|---| +| Final selected frontend |108 unique cases / eight suites passed, zero failed/pending. Latest complete execution per suite:agenda8,reminders11,calendar actions3,catalogue3,documents33,inbox37,attachments5,file-picker8. Baselines and independent reruns overlap and are not added | +| Backend |52 unique cases:calendar10 plus document/inbox/provider/draft/send/attempt preservation42, all passed with zero failed/skipped. InMemory/temporary SQLite, mocked providers; MariaDB SQL composition test does not connect to MariaDB | +| Types/lint/build |Passed. Final build's TypeScript validation and scoped verifier lint passed; earlier failed typecheck and failed navigation/month regressions remain failed historical attempts | +| Calendar browser |16 configs320/390/768/1440 × EN/NB × light/dark,48 axe scans/captures on final localised month control; zero violations/overflow/page errors/writes | +| Documents/mail browser |Same16 configs,96 axe scans/captures:documents,filtered document,inbox,message,send confirmation,uncertain result. Zero violations/overflow/page errors/unexpected writes. Relevant document/inbox sources and fixtures unchanged by subsequent calendar-only selector fix; that evidence is reused, not described as another fresh execution | +| Browser total |32 controlled journey executions across two work packages,144 distinct route/state/config captures; no overlapping rerun totals added | +| Controlled interactions |Document filter and request-free keyboard jump/return; explicit fixture-file download with verified bytes/name/source URL/raw date metadata. Inbox jump/return, inert script-looking plain text, manual reply, saved draft, confirmation before send, uncertain-result retention and disabled repeat send | +| Mutation qualification |32 intercepted requests in the full document/mail matrix:16 draft saves and16 confirmed-send fixtures returning uncertain. Calendar0 writes. All API requests intercepted and all external origins blocked; no real storage/mailbox/OAuth/delivery | +| Independent review |No actionable document/inbox source/verifier findings;70 matching frontend cases independently passed, overlapping108. Earlier calendar review covered seven cases before the extra ordering case, overlapping108; browser/backend/build not independently repeated | + +Native suite aggregation is under [evidence/workspace](evidence/workspace); original reports remain under calendar and documents-inbox. Browser scripts are verify-a3-calendar.mjs and verify-a3-documents-inbox.mjs against the actual built React static export on localhost4338. Synthetic provider capability flags are fixtures, not access grants. Native download verifies a controlled text fixture, not licensed files or real storage integrity. Existing attachment preview/file-picker behavior is tested locally; physical PDF rendering is not reopened. Representative320px mobile and1440px Bokmål/dark captures were visually inspected. Fixed navigation can appear within full-page scroll captures; native-device behavior is not thereby accepted. + +Known open capabilities and qualifications: actual interview scheduling and original date precision/timezone migration; current calendar is explicitly date-level. Live Google/Outlook consent/events, real mailbox/delivery/reminder service, real storage/backend-browser integration, MariaDB, hosted CI, native device/screen reader/touch/zoom and native-language review remain NOT RUN. Broader attachment decimal formatting remains an independent localisation candidate. European localisation, full Product Review/Global Jobs, Phase10, recovery, final integrated security and release readiness remain open. + +No schema/dependency/migration or reminder/mail/file writer change in this presentation increment; the calendar read is additive. All existing routes, canonical Career Profile, document settings/history/frozen packages, RD21 and provider rights are retained. Rollback reverts the increment; no database/data rollback is required. Root security policy de3d5031 remains isolated and is not silently merged. + +Next protected gate: owner review of the published IM07 result before A3-IM08 contextual AI presentation and Settings automation. Preserve manual fallback, explicit consent/review/apply, stale inputs, usage/limits, accurate rule controls, errors/retry/cancel. No live model activation follows from that UI gate. Independently eligible localisation/security/release preparation may continue while awaiting the decision. diff --git a/docs/ui-modernisation/evidence/calendar/browser/FAILED-selector-name-harness.json b/docs/ui-modernisation/evidence/calendar/browser/FAILED-selector-name-harness.json new file mode 100644 index 00000000..c4c734c5 --- /dev/null +++ b/docs/ui-modernisation/evidence/calendar/browser/FAILED-selector-name-harness.json @@ -0,0 +1,23 @@ +{ + "screens": [], + "journeys": [], + "errors": [], + "unexpectedWrites": [], + "reads": [ + { + "width": 320, + "language": "en", + "mode": "light", + "from": "2026-11-01", + "to": "2026-11-30" + } + ], + "blockedExternal": [ + "https://fonts.googleapis.com" + ], + "limits": [ + "Controlled API fixtures, not a live backend/provider or reminder delivery.", + "Date-level recorded deadline/follow-up display; no fabricated interview appointments or source timezone reconstruction.", + "No native-device, physical rendering, final security or release qualification." + ] +} \ No newline at end of file diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-1440.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-1440.png index f400f487..17587489 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-320.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-320.png index e1bac655..9246f09f 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-320.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-390.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-390.png index e888b8c8..5b285104 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-390.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-768.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-768.png index 4cf75b1a..8e41128b 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-768.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-1440.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-1440.png index ca96c0d3..8be0acf5 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-320.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-320.png index a2208753..48fd870d 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-320.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-390.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-390.png index b3a6630c..e2d3f30d 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-390.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-390.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-768.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-768.png index 7c3ceba5..ec091465 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-768.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-en-light-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-1440.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-1440.png index dbb11241..d1a10ee1 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-320.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-320.png index 238e47ef..a59ea307 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-320.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-390.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-390.png index aea1d3d6..3d44c16e 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-390.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-768.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-768.png index 0b3f6385..8268d93f 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-768.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-1440.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-1440.png index fe3a4d99..35d667a8 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-320.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-320.png index ad417891..660f6733 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-320.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-390.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-390.png index 15782d17..479a8a23 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-390.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-390.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-768.png b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-768.png index 6f3defc3..b6193a92 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-768.png and b/docs/ui-modernisation/evidence/calendar/browser/agenda-nb-light-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-1440.png b/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-1440.png index b09be2f7..47459446 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-320.png b/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-320.png index d02dc337..f26b6c45 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-320.png and b/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-768.png b/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-768.png index 60da0fdc..c097a2aa 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-768.png and b/docs/ui-modernisation/evidence/calendar/browser/linked-application-en-light-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-dark-320.png b/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-dark-320.png index dc0bf0da..70b57fad 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-dark-320.png and b/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-dark-768.png b/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-dark-768.png index e70c4ac7..1eecf446 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-dark-768.png and b/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-light-1440.png b/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-light-1440.png index d0643b5b..8f31b4ab 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-light-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-light-768.png b/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-light-768.png index 632bdac6..f1c8f62d 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-light-768.png and b/docs/ui-modernisation/evidence/calendar/browser/linked-application-nb-light-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-1440.png b/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-1440.png index 40a1f444..e744a4fd 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-320.png b/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-320.png index d1e8c8cc..04a533cb 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-320.png and b/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-390.png b/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-390.png index cb061e36..f1067555 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-390.png and b/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-768.png b/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-768.png index 1f0b9bc9..38529fb2 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-768.png and b/docs/ui-modernisation/evidence/calendar/browser/month-en-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-en-light-1440.png b/docs/ui-modernisation/evidence/calendar/browser/month-en-light-1440.png index b73cefdf..38e02fad 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-en-light-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/month-en-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-en-light-320.png b/docs/ui-modernisation/evidence/calendar/browser/month-en-light-320.png index a958c3ed..4fed4993 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-en-light-320.png and b/docs/ui-modernisation/evidence/calendar/browser/month-en-light-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-en-light-390.png b/docs/ui-modernisation/evidence/calendar/browser/month-en-light-390.png index 0954d48c..dcbd0f39 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-en-light-390.png and b/docs/ui-modernisation/evidence/calendar/browser/month-en-light-390.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-en-light-768.png b/docs/ui-modernisation/evidence/calendar/browser/month-en-light-768.png index a65474fc..67f1231e 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-en-light-768.png and b/docs/ui-modernisation/evidence/calendar/browser/month-en-light-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-1440.png b/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-1440.png index 9e04f1c5..9d0cf631 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-320.png b/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-320.png index 2fd6a467..a0db0ee9 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-320.png and b/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-390.png b/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-390.png index 9a207881..1b1d56e8 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-390.png and b/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-768.png b/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-768.png index 050974a8..a7852fd1 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-768.png and b/docs/ui-modernisation/evidence/calendar/browser/month-nb-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-1440.png b/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-1440.png index e4aedac6..e92c6556 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-1440.png and b/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-320.png b/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-320.png index 8680b801..bf1c74ff 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-320.png and b/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-320.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-390.png b/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-390.png index 015063f6..b2b2ab9d 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-390.png and b/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-390.png differ diff --git a/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-768.png b/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-768.png index b70fdb82..cd887d6d 100644 Binary files a/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-768.png and b/docs/ui-modernisation/evidence/calendar/browser/month-nb-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/backend/a3-documents-inbox.trx b/docs/ui-modernisation/evidence/documents-inbox/backend/a3-documents-inbox.trx new file mode 100644 index 00000000..f3ce95ce --- /dev/null +++ b/docs/ui-modernisation/evidence/documents-inbox/backend/a3-documents-inbox.trx @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 9.0.19) +[xUnit.net 00:00:00.48] Discovering: JobTrackerApi.Tests +[xUnit.net 00:00:00.62] Discovered: JobTrackerApi.Tests +[xUnit.net 00:00:00.63] Starting: JobTrackerApi.Tests +[xUnit.net 00:00:07.18] Finished: JobTrackerApi.Tests + + + + \ No newline at end of file diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/BROWSER.json b/docs/ui-modernisation/evidence/documents-inbox/browser/BROWSER.json new file mode 100644 index 00000000..b319c764 --- /dev/null +++ b/docs/ui-modernisation/evidence/documents-inbox/browser/BROWSER.json @@ -0,0 +1,1026 @@ +{ + "screens": [ + { + "width": 320, + "language": "en", + "mode": "light", + "state": "documents", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "document-filtered", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "inbox", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "message", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "dark", + "state": "documents", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "dark", + "state": "document-filtered", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "dark", + "state": "inbox", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "dark", + "state": "message", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "dark", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "dark", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "light", + "state": "documents", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "light", + "state": "document-filtered", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "light", + "state": "inbox", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "light", + "state": "message", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "light", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "light", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "dark", + "state": "documents", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "dark", + "state": "document-filtered", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "dark", + "state": "inbox", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "dark", + "state": "message", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "dark", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 320, + "language": "nb", + "mode": "dark", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "light", + "state": "documents", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "light", + "state": "document-filtered", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "light", + "state": "inbox", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "light", + "state": "message", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "light", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "light", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "dark", + "state": "documents", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "dark", + "state": "document-filtered", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "dark", + "state": "inbox", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "dark", + "state": "message", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "dark", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 390, + "language": "en", + "mode": "dark", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "light", + "state": "documents", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "light", + "state": "document-filtered", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "light", + "state": "inbox", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "light", + "state": "message", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "light", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "light", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "dark", + "state": "documents", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "dark", + "state": "document-filtered", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "dark", + "state": "inbox", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "dark", + "state": "message", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "dark", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 390, + "language": "nb", + "mode": "dark", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "light", + "state": "documents", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "light", + "state": "document-filtered", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "light", + "state": "inbox", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "light", + "state": "message", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "light", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "light", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "dark", + "state": "documents", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "dark", + "state": "document-filtered", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "dark", + "state": "inbox", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "dark", + "state": "message", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "dark", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 768, + "language": "en", + "mode": "dark", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "light", + "state": "documents", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "light", + "state": "document-filtered", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "light", + "state": "inbox", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "light", + "state": "message", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "light", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "light", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "dark", + "state": "documents", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "dark", + "state": "document-filtered", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "dark", + "state": "inbox", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "dark", + "state": "message", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "dark", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 768, + "language": "nb", + "mode": "dark", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "light", + "state": "documents", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "light", + "state": "document-filtered", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "light", + "state": "inbox", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "light", + "state": "message", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "light", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "light", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "dark", + "state": "documents", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "dark", + "state": "document-filtered", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "dark", + "state": "inbox", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "dark", + "state": "message", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "dark", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 1440, + "language": "en", + "mode": "dark", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "light", + "state": "documents", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "light", + "state": "document-filtered", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "light", + "state": "inbox", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "light", + "state": "message", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "light", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "light", + "state": "uncertain-send", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "dark", + "state": "documents", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "dark", + "state": "document-filtered", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "dark", + "state": "inbox", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "dark", + "state": "message", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "dark", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 1440, + "language": "nb", + "mode": "dark", + "state": "uncertain-send", + "violations": [] + } + ], + "journeys": [ + { + "width": 320, + "language": "en", + "mode": "light", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 320, + "language": "en", + "mode": "dark", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 320, + "language": "nb", + "mode": "light", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 320, + "language": "nb", + "mode": "dark", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 390, + "language": "en", + "mode": "light", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 390, + "language": "en", + "mode": "dark", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 390, + "language": "nb", + "mode": "light", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 390, + "language": "nb", + "mode": "dark", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 768, + "language": "en", + "mode": "light", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 768, + "language": "en", + "mode": "dark", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 768, + "language": "nb", + "mode": "light", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 768, + "language": "nb", + "mode": "dark", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 1440, + "language": "en", + "mode": "light", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 1440, + "language": "en", + "mode": "dark", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 1440, + "language": "nb", + "mode": "light", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + }, + { + "width": 1440, + "language": "nb", + "mode": "dark", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + } + ], + "errors": [], + "unexpectedWrites": [], + "mockedWrites": [ + { + "width": 320, + "language": "en", + "mode": "light", + "action": "saveDraft" + }, + { + "width": 320, + "language": "en", + "mode": "light", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 320, + "language": "en", + "mode": "dark", + "action": "saveDraft" + }, + { + "width": 320, + "language": "en", + "mode": "dark", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 320, + "language": "nb", + "mode": "light", + "action": "saveDraft" + }, + { + "width": 320, + "language": "nb", + "mode": "light", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 320, + "language": "nb", + "mode": "dark", + "action": "saveDraft" + }, + { + "width": 320, + "language": "nb", + "mode": "dark", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 390, + "language": "en", + "mode": "light", + "action": "saveDraft" + }, + { + "width": 390, + "language": "en", + "mode": "light", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 390, + "language": "en", + "mode": "dark", + "action": "saveDraft" + }, + { + "width": 390, + "language": "en", + "mode": "dark", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 390, + "language": "nb", + "mode": "light", + "action": "saveDraft" + }, + { + "width": 390, + "language": "nb", + "mode": "light", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 390, + "language": "nb", + "mode": "dark", + "action": "saveDraft" + }, + { + "width": 390, + "language": "nb", + "mode": "dark", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 768, + "language": "en", + "mode": "light", + "action": "saveDraft" + }, + { + "width": 768, + "language": "en", + "mode": "light", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 768, + "language": "en", + "mode": "dark", + "action": "saveDraft" + }, + { + "width": 768, + "language": "en", + "mode": "dark", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 768, + "language": "nb", + "mode": "light", + "action": "saveDraft" + }, + { + "width": 768, + "language": "nb", + "mode": "light", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 768, + "language": "nb", + "mode": "dark", + "action": "saveDraft" + }, + { + "width": 768, + "language": "nb", + "mode": "dark", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 1440, + "language": "en", + "mode": "light", + "action": "saveDraft" + }, + { + "width": 1440, + "language": "en", + "mode": "light", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 1440, + "language": "en", + "mode": "dark", + "action": "saveDraft" + }, + { + "width": 1440, + "language": "en", + "mode": "dark", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 1440, + "language": "nb", + "mode": "light", + "action": "saveDraft" + }, + { + "width": 1440, + "language": "nb", + "mode": "light", + "action": "confirmedSendFixtureUncertain" + }, + { + "width": 1440, + "language": "nb", + "mode": "dark", + "action": "saveDraft" + }, + { + "width": 1440, + "language": "nb", + "mode": "dark", + "action": "confirmedSendFixtureUncertain" + } + ], + "unavailableReads": [], + "blockedExternal": [ + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com", + "https://fonts.googleapis.com" + ], + "limits": [ + "Synthetic metadata/binary/mail/provider fixtures; not live storage, mailbox, OAuth or delivery.", + "Browser covers draft save, explicit confirmation and controlled uncertain outcome only; other recovery/conflict paths remain targeted tests.", + "No real sending, native device, final integrated security or release acceptance." + ] +} \ No newline at end of file diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/PILOT.json b/docs/ui-modernisation/evidence/documents-inbox/browser/PILOT.json new file mode 100644 index 00000000..d3fed53f --- /dev/null +++ b/docs/ui-modernisation/evidence/documents-inbox/browser/PILOT.json @@ -0,0 +1,81 @@ +{ + "screens": [ + { + "width": 320, + "language": "en", + "mode": "light", + "state": "documents", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "document-filtered", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "inbox", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "message", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "send-confirmation", + "violations": [] + }, + { + "width": 320, + "language": "en", + "mode": "light", + "state": "uncertain-send", + "violations": [] + } + ], + "journeys": [ + { + "width": 320, + "language": "en", + "mode": "light", + "documentFilterFocusDownloadSource": "PASS", + "inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS" + } + ], + "errors": [], + "unexpectedWrites": [], + "mockedWrites": [ + { + "width": 320, + "language": "en", + "mode": "light", + "action": "saveDraft" + }, + { + "width": 320, + "language": "en", + "mode": "light", + "action": "confirmedSendFixtureUncertain" + } + ], + "unavailableReads": [], + "blockedExternal": [ + "https://fonts.googleapis.com", + "https://fonts.googleapis.com" + ], + "limits": [ + "Synthetic metadata/binary/mail/provider fixtures; not live storage, mailbox, OAuth or delivery.", + "Browser covers draft save, explicit confirmation and controlled uncertain outcome only; other recovery/conflict paths remain targeted tests.", + "No real sending, native device, final integrated security or release acceptance." + ] +} \ No newline at end of file diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-1440.png new file mode 100644 index 00000000..c7586e1e Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-320.png new file mode 100644 index 00000000..dbab7129 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-390.png new file mode 100644 index 00000000..e9ba93f0 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-768.png new file mode 100644 index 00000000..ed977ee1 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-1440.png new file mode 100644 index 00000000..e9a5a852 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-320.png new file mode 100644 index 00000000..69cc8e93 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-390.png new file mode 100644 index 00000000..df138645 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-768.png new file mode 100644 index 00000000..f24546f1 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-en-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-1440.png new file mode 100644 index 00000000..8d35f5ca Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-320.png new file mode 100644 index 00000000..e99595d6 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-390.png new file mode 100644 index 00000000..dfa77508 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-768.png new file mode 100644 index 00000000..2ffba9aa Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-1440.png new file mode 100644 index 00000000..6c493fa9 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-320.png new file mode 100644 index 00000000..a3ca1bc2 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-390.png new file mode 100644 index 00000000..b1f939b8 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-768.png new file mode 100644 index 00000000..3f429d04 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/document-filtered-nb-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-1440.png new file mode 100644 index 00000000..6ff391eb Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-320.png new file mode 100644 index 00000000..5d958128 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-390.png new file mode 100644 index 00000000..4918cbda Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-768.png new file mode 100644 index 00000000..b6dbdefc Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-1440.png new file mode 100644 index 00000000..2271cd64 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-320.png new file mode 100644 index 00000000..b6394009 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-390.png new file mode 100644 index 00000000..d7bfccd7 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-768.png new file mode 100644 index 00000000..68e70932 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-en-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-1440.png new file mode 100644 index 00000000..3f4ee04c Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-320.png new file mode 100644 index 00000000..c60b097d Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-390.png new file mode 100644 index 00000000..e1424a2d Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-768.png new file mode 100644 index 00000000..94adfa0b Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-1440.png new file mode 100644 index 00000000..0ab8d319 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-320.png new file mode 100644 index 00000000..ed2c7c0e Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-390.png new file mode 100644 index 00000000..8ec54d75 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-768.png new file mode 100644 index 00000000..550ccdf4 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/documents-nb-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-1440.png new file mode 100644 index 00000000..0a710c28 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-320.png new file mode 100644 index 00000000..68010412 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-390.png new file mode 100644 index 00000000..1ec18b91 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-768.png new file mode 100644 index 00000000..b19b7f8a Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-1440.png new file mode 100644 index 00000000..4cc884f5 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-320.png new file mode 100644 index 00000000..da8e50b9 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-390.png new file mode 100644 index 00000000..9f76e742 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-768.png new file mode 100644 index 00000000..b6d88b1a Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-en-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-1440.png new file mode 100644 index 00000000..8a7ed2e2 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-320.png new file mode 100644 index 00000000..6f70c69f Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-390.png new file mode 100644 index 00000000..b578a9a1 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-768.png new file mode 100644 index 00000000..bfdf4158 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-1440.png new file mode 100644 index 00000000..bef32be0 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-320.png new file mode 100644 index 00000000..79574410 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-390.png new file mode 100644 index 00000000..5c0b714d Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-768.png new file mode 100644 index 00000000..4ff831c3 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/inbox-nb-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-1440.png new file mode 100644 index 00000000..a59a02cf Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-320.png new file mode 100644 index 00000000..9e59e032 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-390.png new file mode 100644 index 00000000..8a8e2d45 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-768.png new file mode 100644 index 00000000..de6d7c55 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-1440.png new file mode 100644 index 00000000..61bc68d9 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-320.png new file mode 100644 index 00000000..0dda48b4 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-390.png new file mode 100644 index 00000000..7c0917e4 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-768.png new file mode 100644 index 00000000..df3098e1 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-en-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-1440.png new file mode 100644 index 00000000..c09d29ba Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-320.png new file mode 100644 index 00000000..5b6999e5 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-390.png new file mode 100644 index 00000000..2882a4d1 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-768.png new file mode 100644 index 00000000..8a45870b Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-1440.png new file mode 100644 index 00000000..a2c413ec Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-320.png new file mode 100644 index 00000000..d8a9ef65 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-390.png new file mode 100644 index 00000000..dd1bf88c Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-768.png new file mode 100644 index 00000000..0bce586e Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/message-nb-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-1440.png new file mode 100644 index 00000000..b5fd3457 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-320.png new file mode 100644 index 00000000..c4bfef44 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-390.png new file mode 100644 index 00000000..bfc758d9 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-768.png new file mode 100644 index 00000000..5dab3866 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-1440.png new file mode 100644 index 00000000..28b59630 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-320.png new file mode 100644 index 00000000..1eec3248 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-390.png new file mode 100644 index 00000000..6f534811 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-768.png new file mode 100644 index 00000000..53eb52b6 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-en-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-1440.png new file mode 100644 index 00000000..3ead3a93 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-320.png new file mode 100644 index 00000000..c9ae408f Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-390.png new file mode 100644 index 00000000..af81e734 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-768.png new file mode 100644 index 00000000..59e7a653 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-1440.png new file mode 100644 index 00000000..dc36bf2c Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-320.png new file mode 100644 index 00000000..a05080e8 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-390.png new file mode 100644 index 00000000..a17ff9b7 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-768.png new file mode 100644 index 00000000..83b571ea Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/send-confirmation-nb-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-1440.png new file mode 100644 index 00000000..f1569538 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-320.png new file mode 100644 index 00000000..7d2e1d00 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-390.png new file mode 100644 index 00000000..65922811 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-768.png new file mode 100644 index 00000000..0066a50d Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-1440.png new file mode 100644 index 00000000..b2dd7957 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-320.png new file mode 100644 index 00000000..f651b29e Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-390.png new file mode 100644 index 00000000..528db8bc Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-768.png new file mode 100644 index 00000000..f736057b Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-en-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-1440.png new file mode 100644 index 00000000..53f55c8b Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-320.png new file mode 100644 index 00000000..40ffc34d Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-390.png new file mode 100644 index 00000000..a3961c65 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-768.png new file mode 100644 index 00000000..b39481fe Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-dark-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-1440.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-1440.png new file mode 100644 index 00000000..0aea5d7f Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-1440.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-320.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-320.png new file mode 100644 index 00000000..b7208d24 Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-320.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-390.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-390.png new file mode 100644 index 00000000..81221f3a Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-390.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-768.png b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-768.png new file mode 100644 index 00000000..5fda81ec Binary files /dev/null and b/docs/ui-modernisation/evidence/documents-inbox/browser/uncertain-send-nb-light-768.png differ diff --git a/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-attachment-preservation-tests.json b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-attachment-preservation-tests.json new file mode 100644 index 00000000..40bb8d0e --- /dev/null +++ b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-attachment-preservation-tests.json @@ -0,0 +1 @@ +{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":3,"numPassedTests":16,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":3,"numTotalTests":16,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793714393915,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":275,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"attachment Upload activates the same native input from Enter, Space and pointer","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714400372,"status":"passed","title":"attachment Upload activates the same native input from Enter, Space and pointer"},{"ancestorTitles":[],"duration":99,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Import JSON activates its own native input from Enter, Space and pointer","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714400648,"status":"passed","title":"Import JSON activates its own native input from Enter, Space and pointer"},{"ancestorTitles":[],"duration":56,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Convert CSV to Import JSON activates its own native input from Enter, Space and pointer","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714400747,"status":"passed","title":"Convert CSV to Import JSON activates its own native input from Enter, Space and pointer"},{"ancestorTitles":[],"duration":733,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Add Job attachment bucket 0 retains keyboard selection and distinct pending files","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793714400804,"status":"passed","title":"Add Job attachment bucket 0 retains keyboard selection and distinct pending files"},{"ancestorTitles":[],"duration":403,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Add Job attachment bucket 1 retains keyboard selection and distinct pending files","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793714401538,"status":"passed","title":"Add Job attachment bucket 1 retains keyboard selection and distinct pending files"},{"ancestorTitles":[],"duration":520,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Add Job attachment bucket 2 retains keyboard selection and distinct pending files","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793714401942,"status":"passed","title":"Add Job attachment bucket 2 retains keyboard selection and distinct pending files"},{"ancestorTitles":[],"duration":633,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Add Job attachment bucket 3 retains keyboard selection and distinct pending files","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793714402463,"status":"passed","title":"Add Job attachment bucket 3 retains keyboard selection and distinct pending files"},{"ancestorTitles":[],"duration":135,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"attachment selection retains files and job ownership, disables activation while uploading and clears selection after completion","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714403096,"status":"passed","title":"attachment selection retains files and job ownership, disables activation while uploading and clears selection after completion"}],"endTime":1793714403233,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\file-picker-activation.test.tsx","startTime":1793714395311,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":317,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"PDF preview identifies the document in en","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793714404702,"status":"passed","title":"PDF preview identifies the document in en"},{"ancestorTitles":[],"duration":193,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"PDF preview identifies the document in nb","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793714405019,"status":"passed","title":"PDF preview identifies the document in nb"},{"ancestorTitles":[],"duration":46,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"attachments empty state renders drag and drop guidance","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793714405212,"status":"passed","title":"attachments empty state renders drag and drop guidance"},{"ancestorTitles":[],"duration":293,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"attachments metadata controls update purpose and ai usage","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793714405259,"status":"passed","title":"attachments metadata controls update purpose and ai usage"},{"ancestorTitles":[],"duration":90,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"attachment failures remain explicit and retry restores the real empty state","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714405552,"status":"passed","title":"attachment failures remain explicit and retry restores the real empty state"}],"endTime":1793714405643,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\attachments.test.tsx","startTime":1793714403248,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":8,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"English and Bokmål expose the same UI message keys","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793714406046,"status":"passed","title":"English and Bokmål expose the same UI message keys"},{"ancestorTitles":[],"duration":6,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Bokmål preserves every English substitution variable","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793714406055,"status":"passed","title":"Bokmål preserves every English substitution variable"},{"ancestorTitles":[],"duration":3,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"supported UI catalogues contain no blank messages","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793714406061,"status":"passed","title":"supported UI catalogues contain no blank messages"}],"endTime":1793714406065,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\translation-catalogue.test.ts","startTime":1793714405658,"status":"passed","summary":""}],"wasInterrupted":false} diff --git a/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-calendar-month-locale-green.json b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-calendar-month-locale-green.json new file mode 100644 index 00000000..31d756f1 --- /dev/null +++ b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-calendar-month-locale-green.json @@ -0,0 +1 @@ +{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":1,"numPassedTests":8,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":8,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793714582424,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":260,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"agenda prioritises upcoming recorded dates while retaining earlier dates in the month","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793714589382,"status":"passed","title":"agenda prioritises upcoming recorded dates while retaining earlier dates in the month"},{"ancestorTitles":[],"duration":102,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"agenda defaults to recorded dates and links exact application without a fabricated appointment time","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714589643,"status":"passed","title":"agenda defaults to recorded dates and links exact application without a fabricated appointment time"},{"ancestorTitles":[],"duration":552,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"month toggle persists only view preference and selecting a day keeps linked events available","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793714589745,"status":"passed","title":"month toggle persists only view preference and selecting a day keeps linked events available"},{"ancestorTitles":[],"duration":150,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"locale changes translate controls without repeating the read or translating source text","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793714590297,"status":"passed","title":"locale changes translate controls without repeating the read or translating source text"},{"ancestorTitles":[],"duration":161,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed read offers bounded retry and never claims an empty successful calendar","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793714590448,"status":"passed","title":"failed read offers bounded retry and never claims an empty successful calendar"},{"ancestorTitles":[],"duration":76,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"invalid and unknown-kind fixture data is not turned into guessed events","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793714590610,"status":"passed","title":"invalid and unknown-kind fixture data is not turned into guessed events"},{"ancestorTitles":[],"duration":190,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"month navigation requests only the selected calendar range","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793714590686,"status":"passed","title":"month navigation requests only the selected calendar range"},{"ancestorTitles":[],"duration":324,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"view preference is scoped to the signed-in owner","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793714590876,"status":"passed","title":"view preference is scoped to the signed-in owner"}],"endTime":1793714591202,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\calendar-agenda.test.tsx","startTime":1793714584880,"status":"passed","summary":""}],"wasInterrupted":false} diff --git a/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-calendar-month-locale-red.json b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-calendar-month-locale-red.json new file mode 100644 index 00000000..83780d82 --- /dev/null +++ b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-calendar-month-locale-red.json @@ -0,0 +1 @@ +{"numFailedTestSuites":1,"numFailedTests":1,"numPassedTestSuites":0,"numPassedTests":0,"numPendingTestSuites":0,"numPendingTests":7,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":8,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793714534689,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"agenda prioritises upcoming recorded dates while retaining earlier dates in the month","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793714541094,"status":"pending","title":"agenda prioritises upcoming recorded dates while retaining earlier dates in the month"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"agenda defaults to recorded dates and links exact application without a fabricated appointment time","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793714541094,"status":"pending","title":"agenda defaults to recorded dates and links exact application without a fabricated appointment time"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"month toggle persists only view preference and selecting a day keeps linked events available","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793714541094,"status":"pending","title":"month toggle persists only view preference and selecting a day keeps linked events available"},{"ancestorTitles":[],"duration":383,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an accessible element with the role \"combobox\" and name \"Valgt måned\"\n\nHere are the accessible roles:\n\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Kalender\":\n \u001b[36m\u001b[39m\n\n Name \"15. nov. 2026\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n group:\n\n Name \"Kalendervisning\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Agenda\":\n \u001b[36m\u001b[39m\n\n Name \"Måned\":\n \u001b[36m\u001b[39m\n\n Name \"Forrige måned\":\n \u001b[36m\u001b[39m\n\n Name \"Neste måned\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n region:\n\n Name \"Kalender\":\n \u001b[36m\u001b[39m\n\n Name \"15. nov. 2026\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n article:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n time:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n link:\n\n Name \"Recorded teacher role · School\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mKalender\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mRegistrerte søknadsfrister og oppfølgingsdatoer, gruppert etter lagret kalenderdato. Klokkeslett og opprinnelige tidssoner utledes ikke. Intervjuavtaler lagres ikke her; oppgaver uten dato vises i Påminnelser nedenfor.\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAgenda\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mMåned\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m‹\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mValgt måned\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mValgt måned\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m›\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mInnhold lastet.\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m15. nov. 2026\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSøknadsfrist\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m15. nov. 2026\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mRecorded teacher role\u001b[0m\n \u001b[0m · School\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n at Object.getElementError (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\config.js:37:19)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:76:38\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:52:17\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:95:19\n at Object.getByRole (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\calendar-agenda.test.tsx:52:17)"],"fullName":"locale changes translate controls without repeating the read or translating source text","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793714541094,"status":"failed","title":"locale changes translate controls without repeating the read or translating source text"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed read offers bounded retry and never claims an empty successful calendar","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793714541495,"status":"pending","title":"failed read offers bounded retry and never claims an empty successful calendar"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"invalid and unknown-kind fixture data is not turned into guessed events","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793714541496,"status":"pending","title":"invalid and unknown-kind fixture data is not turned into guessed events"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"month navigation requests only the selected calendar range","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793714541496,"status":"pending","title":"month navigation requests only the selected calendar range"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"view preference is scoped to the signed-in owner","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793714541496,"status":"pending","title":"view preference is scoped to the signed-in owner"}],"endTime":1793714541513,"message":" ● locale changes translate controls without repeating the read or translating source text\n\n TestingLibraryElementError: Unable to find an accessible element with the role \"combobox\" and name \"Valgt måned\"\n\n Here are the accessible roles:\n\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Kalender\":\n \u001b[36m\u001b[39m\n\n Name \"15. nov. 2026\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n group:\n\n Name \"Kalendervisning\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Agenda\":\n \u001b[36m\u001b[39m\n\n Name \"Måned\":\n \u001b[36m\u001b[39m\n\n Name \"Forrige måned\":\n \u001b[36m\u001b[39m\n\n Name \"Neste måned\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n region:\n\n Name \"Kalender\":\n \u001b[36m\u001b[39m\n\n Name \"15. nov. 2026\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n article:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n time:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n link:\n\n Name \"Recorded teacher role · School\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\n Ignored nodes: comments, script, style\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mKalender\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mRegistrerte søknadsfrister og oppfølgingsdatoer, gruppert etter lagret kalenderdato. Klokkeslett og opprinnelige tidssoner utledes ikke. Intervjuavtaler lagres ikke her; oppgaver uten dato vises i Påminnelser nedenfor.\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAgenda\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mMåned\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m‹\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mValgt måned\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mValgt måned\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m›\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mInnhold lastet.\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m15. nov. 2026\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSøknadsfrist\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m15. nov. 2026\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mRecorded teacher role\u001b[0m\n \u001b[0m · School\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\n 50 | act(() => window.dispatchEvent(new StorageEvent('storage', { key: 'uiLanguage', newValue: 'nb' })));\n 51 | expect(screen.getByRole('button', { name: translations.nb.calendarMonth })).toBeVisible();\n > 52 | expect(screen.getByRole('combobox', { name: translations.nb.calendarSelectedMonth })).toHaveTextContent(new Intl.DateTimeFormat('nb-NO', { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(new Date(`${month}-01T12:00:00Z`)));\n | ^\n 53 | expect(screen.getByRole('link', { name: /Recorded teacher role/ })).toBeVisible();\n 54 | expect(get).toHaveBeenCalledTimes(1);\n 55 | });\n\n at Object.getElementError (node_modules/@testing-library/dom/dist/config.js:37:19)\n at node_modules/@testing-library/dom/dist/query-helpers.js:76:38\n at node_modules/@testing-library/dom/dist/query-helpers.js:52:17\n at node_modules/@testing-library/dom/dist/query-helpers.js:95:19\n at Object.getByRole (src/calendar-agenda.test.tsx:52:17)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\calendar-agenda.test.tsx","startTime":1793714536400,"status":"failed","summary":""}],"wasInterrupted":false} diff --git a/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-documents-inbox-baseline.json b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-documents-inbox-baseline.json new file mode 100644 index 00000000..0a0e1b37 --- /dev/null +++ b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-documents-inbox-baseline.json @@ -0,0 +1 @@ +{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":2,"numPassedTests":66,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":2,"numTotalTests":66,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793713975453,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":["CorrespondenceInboxPage"],"duration":470,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage [P7-11 inbox] resumed draft fallback metadata follows locale without mutating stored prose or refetching","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793713985902,"status":"passed","title":"[P7-11 inbox] resumed draft fallback metadata follows locale without mutating stored prose or refetching"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":316,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage renders correspondence inbox items and reloads with filters","invocations":1,"location":null,"numPassingAsserts":11,"retryReasons":[],"startAt":1793713986372,"status":"passed","title":"renders correspondence inbox items and reloads with filters"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":93,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage keeps saved correspondence visible when provider status is unavailable","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713986688,"status":"passed","title":"keeps saved correspondence visible when provider status is unavailable"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":94,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage opens provider-backed plain-text message detail in the hub","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793713986781,"status":"passed","title":"opens provider-backed plain-text message detail in the hub"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":134,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage navigates beyond the first correspondence page","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793713986875,"status":"passed","title":"navigates beyond the first correspondence page"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":252,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage unlinks a Gmail thread only after confirmation and returns it to review","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793713987010,"status":"passed","title":"unlinks a Gmail thread only after confirmation and returns it to review"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":183,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage falls back to the saved copy when provider detail is unavailable","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713987262,"status":"passed","title":"falls back to the saved copy when provider detail is unavailable"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":957,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage keeps replies editable and requires final send confirmation","invocations":1,"location":null,"numPassingAsserts":14,"retryReasons":[],"startAt":1793713987445,"status":"passed","title":"keeps replies editable and requires final send confirmation"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":384,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage saves an incomplete reply with its server delivery identity","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713988402,"status":"passed","title":"saves an incomplete reply with its server delivery identity"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":285,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage resumes a saved draft and surfaces revision conflicts without overwriting it","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793713988786,"status":"passed","title":"resumes a saved draft and surfaces revision conflicts without overwriting it"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":581,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage persists a new delivery identity only after a definitive failed attempt","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713989071,"status":"passed","title":"persists a new delivery identity only after a definitive failed attempt"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":595,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage starts a new-message draft only from an owned job and send-capable provider choice","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793713989652,"status":"passed","title":"starts a new-message draft only from an owned job and send-capable provider choice"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":663,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage searches the complete server-side job choice set while composing","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713990247,"status":"passed","title":"searches the complete server-side job choice set while composing"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":658,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage does not offer retry when delivery is uncertain","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793713990910,"status":"passed","title":"does not offer retry when delivery is uncertain"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":221,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage uses one hub for linked messages and recruitment suggestions","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713991568,"status":"passed","title":"uses one hub for linked messages and recruitment suggestions"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":102,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage localizes inbox controls while preserving correspondence content","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793713991789,"status":"passed","title":"localizes inbox controls while preserving correspondence content"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":101,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage legacy Gmail review route redirects into the consolidated hub filter","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793713991891,"status":"passed","title":"legacy Gmail review route redirects into the consolidated hub filter"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":94,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage failed inbox reads retain a current-language error and recover with one explicit GET-only Retry","invocations":1,"location":null,"numPassingAsserts":13,"retryReasons":[],"startAt":1793713991993,"status":"passed","title":"failed inbox reads retain a current-language error and recover with one explicit GET-only Retry"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":310,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage a late old page cannot overwrite the latest query and page-one inbox snapshot","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793713992087,"status":"passed","title":"a late old page cannot overwrite the latest query and page-one inbox snapshot"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":295,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage message Retry replays the captured owned detail read without hiding it and localizes saved-copy fallback","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793713992397,"status":"passed","title":"message Retry replays the captured owned detail read without hiding it and localizes saved-copy fallback"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":440,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage hidden or inactive details never resume a saved-copy fallback and hub return preserves inbox context","invocations":1,"location":null,"numPassingAsserts":8,"retryReasons":[],"startAt":1793713992692,"status":"passed","title":"hidden or inactive details never resume a saved-copy fallback and hub return preserves inbox context"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":240,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage provider status Retry is isolated from saved messages and drafts and live locale changes cause no reads","invocations":1,"location":null,"numPassingAsserts":11,"retryReasons":[],"startAt":1793713993132,"status":"passed","title":"provider status Retry is isolated from saved messages and drafts and live locale changes cause no reads"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":532,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage confirmed unlink owns pending actions and a failed successful-write refresh recovers with GET only","invocations":1,"location":null,"numPassingAsserts":13,"retryReasons":[],"startAt":1793713993372,"status":"passed","title":"confirmed unlink owns pending actions and a failed successful-write refresh recovers with GET only"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":570,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage literal all search preserves source and hash and hides another query snapshot while retaining same-query refresh data","invocations":1,"location":null,"numPassingAsserts":29,"retryReasons":[],"startAt":1793713993904,"status":"passed","title":"literal all search preserves source and hash and hides another query snapshot while retaining same-query refresh data"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":238,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage typing an inbox search keeps one natural Back step to the prior screen and preserves filter context","invocations":1,"location":null,"numPassingAsserts":14,"retryReasons":[],"startAt":1793713994474,"status":"passed","title":"typing an inbox search keeps one natural Back step to the prior screen and preserves filter context"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":451,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage held draft Save captures one write and locks edits, Send, Discard and every draft replacement entry","invocations":1,"location":null,"numPassingAsserts":15,"retryReasons":[],"startAt":1793713994712,"status":"passed","title":"held draft Save captures one write and locks edits, Send, Discard and every draft replacement entry"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":1142,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage double Review creates one confirmation, Cancel sends nothing and explicit double Send owns one captured attempt","invocations":1,"location":null,"numPassingAsserts":14,"retryReasons":[],"startAt":1793713995163,"status":"passed","title":"double Review creates one confirmation, Cancel sends nothing and explicit double Send owns one captured attempt"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":3942,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage recipient, subject and body edits cannot erase any recorded delivery state or rotate its attempt identity","invocations":1,"location":null,"numPassingAsserts":70,"retryReasons":[],"startAt":1793713996305,"status":"passed","title":"recipient, subject and body edits cannot erase any recorded delivery state or rotate its attempt identity"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":1430,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage generic 409 cannot prepare a new attempt while an authoritative failed result requires one explicit server rotation","invocations":1,"location":null,"numPassingAsserts":14,"retryReasons":[],"startAt":1793714000247,"status":"passed","title":"generic 409 cannot prepare a new attempt while an authoritative failed result requires one explicit server rotation"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":2056,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage recipient-only and subject-only unsaved changes require replacement and discard confirmation whose Cancel retains the draft","invocations":1,"location":null,"numPassingAsserts":22,"retryReasons":[],"startAt":1793714001677,"status":"passed","title":"recipient-only and subject-only unsaved changes require replacement and discard confirmation whose Cancel retains the draft"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":748,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage saved-draft initial read and post-save refresh failures recover with GET-only Retry without replaying the successful Save","invocations":1,"location":null,"numPassingAsserts":13,"retryReasons":[],"startAt":1793714003733,"status":"passed","title":"saved-draft initial read and post-save refresh failures recover with GET-only Retry without replaying the successful Save"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":431,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage a late Save after inbox unmount cannot refresh drafts or attach its result to another page","invocations":1,"location":null,"numPassingAsserts":8,"retryReasons":[],"startAt":1793714004481,"status":"passed","title":"a late Save after inbox unmount cannot refresh drafts or attach its result to another page"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":566,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage a held managed-draft 409 retains recipient, subject, body and revision with current-language original Save recovery","invocations":1,"location":null,"numPassingAsserts":11,"retryReasons":[],"startAt":1793714004912,"status":"passed","title":"a held managed-draft 409 retains recipient, subject, body and revision with current-language original Save recovery"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":1517,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage server attempt rotation preserves three unsaved fields and their dirty state while the next send uses the new identity","invocations":1,"location":null,"numPassingAsserts":15,"retryReasons":[],"startAt":1793714005478,"status":"passed","title":"server attempt rotation preserves three unsaved fields and their dirty state while the next send uses the new identity"},{"ancestorTitles":["CorrespondenceInboxPage"],"duration":600,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CorrespondenceInboxPage a committed Save starts a fresh draft-list read despite an older pending GET and rejects the late old snapshot","invocations":1,"location":null,"numPassingAsserts":11,"retryReasons":[],"startAt":1793714006995,"status":"passed","title":"a committed Save starts a fresh draft-list read despite an older pending GET and rejects the late old snapshot"}],"endTime":1793714007597,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\correspondence-inbox-page.test.tsx","startTime":1793713977509,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["en unknown attachment purposes"],"duration":154,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"en unknown attachment purposes uses the localized Other label for constructor","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714009040,"status":"passed","title":"uses the localized Other label for constructor"},{"ancestorTitles":["en unknown attachment purposes"],"duration":94,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"en unknown attachment purposes uses the localized Other label for toString","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714009194,"status":"passed","title":"uses the localized Other label for toString"},{"ancestorTitles":["en unknown attachment purposes"],"duration":87,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"en unknown attachment purposes uses the localized Other label for __proto__","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714009289,"status":"passed","title":"uses the localized Other label for __proto__"},{"ancestorTitles":["nb unknown attachment purposes"],"duration":91,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"nb unknown attachment purposes uses the localized Other label for constructor","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714009376,"status":"passed","title":"uses the localized Other label for constructor"},{"ancestorTitles":["nb unknown attachment purposes"],"duration":94,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"nb unknown attachment purposes uses the localized Other label for toString","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714009467,"status":"passed","title":"uses the localized Other label for toString"},{"ancestorTitles":["nb unknown attachment purposes"],"duration":95,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"nb unknown attachment purposes uses the localized Other label for __proto__","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793714009561,"status":"passed","title":"uses the localized Other label for __proto__"},{"ancestorTitles":["en uploaded wall-clock dates"],"duration":107,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"en uploaded wall-clock dates does not invent a timestamp from 2026-02-30T09:15:00","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714009656,"status":"passed","title":"does not invent a timestamp from 2026-02-30T09:15:00"},{"ancestorTitles":["en uploaded wall-clock dates"],"duration":60,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"en uploaded wall-clock dates does not invent a timestamp from 2026-02-12T24:15:00","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714009764,"status":"passed","title":"does not invent a timestamp from 2026-02-12T24:15:00"},{"ancestorTitles":["en uploaded wall-clock dates"],"duration":46,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"en uploaded wall-clock dates does not invent a timestamp from 2026-02-12T09:61:00","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714009824,"status":"passed","title":"does not invent a timestamp from 2026-02-12T09:61:00"},{"ancestorTitles":["en uploaded wall-clock dates"],"duration":46,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"en uploaded wall-clock dates does not invent a timestamp from 2026-02-12T09:15:00junk","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714009870,"status":"passed","title":"does not invent a timestamp from 2026-02-12T09:15:00junk"},{"ancestorTitles":["en uploaded wall-clock dates"],"duration":44,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"en uploaded wall-clock dates preserves fractional-second wall-clock metadata without timezone conversion","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714009916,"status":"passed","title":"preserves fractional-second wall-clock metadata without timezone conversion"},{"ancestorTitles":["nb uploaded wall-clock dates"],"duration":47,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"nb uploaded wall-clock dates does not invent a timestamp from 2026-02-30T09:15:00","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714009961,"status":"passed","title":"does not invent a timestamp from 2026-02-30T09:15:00"},{"ancestorTitles":["nb uploaded wall-clock dates"],"duration":44,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"nb uploaded wall-clock dates does not invent a timestamp from 2026-02-12T24:15:00","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714010008,"status":"passed","title":"does not invent a timestamp from 2026-02-12T24:15:00"},{"ancestorTitles":["nb uploaded wall-clock dates"],"duration":81,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"nb uploaded wall-clock dates does not invent a timestamp from 2026-02-12T09:61:00","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714010052,"status":"passed","title":"does not invent a timestamp from 2026-02-12T09:61:00"},{"ancestorTitles":["nb uploaded wall-clock dates"],"duration":92,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"nb uploaded wall-clock dates does not invent a timestamp from 2026-02-12T09:15:00junk","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714010134,"status":"passed","title":"does not invent a timestamp from 2026-02-12T09:15:00junk"},{"ancestorTitles":["nb uploaded wall-clock dates"],"duration":91,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"nb uploaded wall-clock dates preserves fractional-second wall-clock metadata without timezone conversion","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793714010226,"status":"passed","title":"preserves fractional-second wall-clock metadata without timezone conversion"},{"ancestorTitles":[],"duration":102,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] validates URL filters and reads one metadata page with literal Nordic search","invocations":1,"location":null,"numPassingAsserts":10,"retryReasons":[],"startAt":1793714010317,"status":"passed","title":"[P7-07 documents] validates URL filters and reads one metadata page with literal Nordic search"},{"ancestorTitles":[],"duration":367,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] server pagination and filter history preserve unknown query, hash and router state","invocations":1,"location":null,"numPassingAsserts":15,"retryReasons":[],"startAt":1793714010419,"status":"passed","title":"[P7-07 documents] server pagination and filter history preserve unknown query, hash and router state"},{"ancestorTitles":[],"duration":94,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] literal search all remains free text and preserves unrelated navigation context","invocations":1,"location":null,"numPassingAsserts":12,"retryReasons":[],"startAt":1793714010786,"status":"passed","title":"[P7-07 documents] literal search all remains free text and preserves unrelated navigation context"},{"ancestorTitles":[],"duration":248,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] a batched sort selection and immediate search preserve both filters and navigation context","invocations":1,"location":null,"numPassingAsserts":23,"retryReasons":[],"startAt":1793714010880,"status":"passed","title":"[P7-07 documents] a batched sort selection and immediate search preserve both filters and navigation context"},{"ancestorTitles":[],"duration":302,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] incompatible pending and failed queries hide old actions and late results cannot replace current metadata","invocations":1,"location":null,"numPassingAsserts":12,"retryReasons":[],"startAt":1793714011128,"status":"passed","title":"[P7-07 documents] incompatible pending and failed queries hide old actions and late results cannot replace current metadata"},{"ancestorTitles":[],"duration":140,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] Retry is one guarded GET and a completion after leaving cannot publish or start follow-up work","invocations":1,"location":null,"numPassingAsserts":10,"retryReasons":[],"startAt":1793714011430,"status":"passed","title":"[P7-07 documents] Retry is one guarded GET and a completion after leaving cannot publish or start follow-up work"},{"ancestorTitles":[],"duration":190,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] a true empty index, filtered no-match and request failure remain distinct","invocations":1,"location":null,"numPassingAsserts":10,"retryReasons":[],"startAt":1793714011570,"status":"passed","title":"[P7-07 documents] a true empty index, filtered no-match and request failure remain distinct"},{"ancestorTitles":[],"duration":91,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] English and Bokmål presentation changes preserve query context without a metadata refetch","invocations":1,"location":null,"numPassingAsserts":11,"retryReasons":[],"startAt":1793714011760,"status":"passed","title":"[P7-07 documents] English and Bokmål presentation changes preserve query context without a metadata refetch"},{"ancestorTitles":[],"duration":114,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] an out-of-range page offers explicit first-page recovery without claiming an empty index","invocations":1,"location":null,"numPassingAsserts":17,"retryReasons":[],"startAt":1793714011851,"status":"passed","title":"[P7-07 documents] an out-of-range page offers explicit first-page recovery without claiming an empty index"},{"ancestorTitles":[],"duration":140,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] seven resource kinds retain exact source actions, frozen provenance and honest date labels","invocations":1,"location":null,"numPassingAsserts":24,"retryReasons":[],"startAt":1793714011966,"status":"passed","title":"[P7-07 documents] seven resource kinds retain exact source actions, frozen provenance and honest date labels"},{"ancestorTitles":[],"duration":178,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] attachment download is explicit, API-relative and single-flight with original MIME, filename and URL disposal","invocations":1,"location":null,"numPassingAsserts":13,"retryReasons":[],"startAt":1793714012106,"status":"passed","title":"[P7-07 documents] attachment download is explicit, API-relative and single-flight with original MIME, filename and URL disposal"},{"ancestorTitles":[],"duration":170,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] a completed download preserves deliberate Search focus instead of restoring the old button","invocations":1,"location":null,"numPassingAsserts":12,"retryReasons":[],"startAt":1793714012284,"status":"passed","title":"[P7-07 documents] a completed download preserves deliberate Search focus instead of restoring the old button"},{"ancestorTitles":[],"duration":277,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] download errors retry only that file and late download completion after leaving creates no URL","invocations":1,"location":null,"numPassingAsserts":11,"retryReasons":[],"startAt":1793714012454,"status":"passed","title":"[P7-07 documents] download errors retry only that file and late download completion after leaving creates no URL"},{"ancestorTitles":[],"duration":71,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] a published historical CV retains its percent-encoded Nordic public slug without fetching its body","invocations":1,"location":null,"numPassingAsserts":8,"retryReasons":[],"startAt":1793714012731,"status":"passed","title":"[P7-07 documents] a published historical CV retains its percent-encoded Nordic public slug without fetching its body"},{"ancestorTitles":[],"duration":46,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-07 documents] malformed external and mismatched resource paths never become source, public or download actions","invocations":1,"location":null,"numPassingAsserts":15,"retryReasons":[],"startAt":1793714012802,"status":"passed","title":"[P7-07 documents] malformed external and mismatched resource paths never become source, public or download actions"}],"endTime":1793714012848,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\documents-page.test.tsx","startTime":1793714007609,"status":"passed","summary":""}],"wasInterrupted":false} diff --git a/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-documents-inbox-navigation-red.json b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-documents-inbox-navigation-red.json new file mode 100644 index 00000000..ff441518 --- /dev/null +++ b/docs/ui-modernisation/evidence/documents-inbox/frontend/a3-documents-inbox-navigation-red.json @@ -0,0 +1 @@ +{"numFailedTestSuites":2,"numFailedTests":4,"numPassedTestSuites":0,"numPassedTests":0,"numPendingTestSuites":0,"numPendingTests":66,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":2,"numTotalTests":70,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793714084717,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":["CorrespondenceInboxPage"],"duration":366,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an accessible element with the role \"button\" and name \"emailInboxJumpMessages\"\n\nHere are the accessible roles:\n\n status:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n region:\n\n Name \"Job email\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Job email\":\n \u001b[36m\u001b[39m\n\n Name \"Interview invite\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Linked messages\":\n \u001b[36m\u001b[39m\n\n Name \"Review suggestions\":\n \u001b[36m\u001b[39m\n\n Name \"Compose new email\":\n \u001b[36m\u001b[39m\n\n Name \"Refresh\":\n \u001b[36m\u001b[39m\n\n Name \"View message\":\n \u001b[36m\u001b[39m\n\n Name \"Open job\":\n \u001b[36m\u001b[39m\n\n Name \"Unlink thread\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n group:\n\n Name \"Email provider status\":\n \u001b[36m\u001b[39m\n\n Name \"Job\":\n \u001b[36m\u001b[39m\n\n Name \"Saved email draft\":\n \u001b[36m\u001b[39m\n\n Name \"Linked messages\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n alert:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n textbox:\n\n Name \"Search\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n combobox:\n\n Name \"Direction\":\n \u001b[36m\u001b[39m\n\n Name \"Link state\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n article:\n\n Name \"Interview invite\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m/\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mJob email\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mReview linked correspondence and suggested recruitment messages in one place.\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m1 item\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m1 linked on this page\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m1 inbound on this page\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mLinked messages\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mReview suggestions\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mCompose new email\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGmail: owner@gmail.test · Read only; reconnect to enable send\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mOutlook: Not connected\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n region:\n\n Name \"Jobb-e-post\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Jobb-e-post\":\n \u001b[36m\u001b[39m\n\n Name \"Interview invite\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Tilknyttede meldinger\":\n \u001b[36m\u001b[39m\n\n Name \"Gjennomgå forslag\":\n \u001b[36m\u001b[39m\n\n Name \"Skriv ny e-post\":\n \u001b[36m\u001b[39m\n\n Name \"Oppdater\":\n \u001b[36m\u001b[39m\n\n Name \"Vis melding\":\n \u001b[36m\u001b[39m\n\n Name \"Åpne jobb\":\n \u001b[36m\u001b[39m\n\n Name \"Fjern trådtilknytning\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n group:\n\n Name \"Status for e-postleverandører\":\n \u001b[36m\u001b[39m\n\n Name \"Jobb\":\n \u001b[36m\u001b[39m\n\n Name \"Lagret e-postutkast\":\n \u001b[36m\u001b[39m\n\n Name \"Tilknyttede meldinger\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n alert:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n textbox:\n\n Name \"Søk\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n combobox:\n\n Name \"Retning\":\n \u001b[36m\u001b[39m\n\n Name \"Tilknytningsstatus\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n article:\n\n Name \"Interview invite\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m/\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mJobb-e-post\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSe tilknyttet korrespondanse og foreslåtte rekrutteringsmeldinger på ett sted.\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m1 element\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m1 tilknyttet på denne siden\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m1 innkommende på denne siden\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mTilknyttede meldinger\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGjennomgå forslag\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSkriv ny e-post\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGmail: owner@gmail.test · Kun lesing; koble til på nytt for å sende\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mOutlook: Ikke tilkoblet\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m