Files
jobtrackingapp/docs/verification/jobs-002-application-workspace.md
T
cesnimda 998ee07a9a
CI and Deploy / test (pull_request) Failing after 2m55s
CI and Deploy / deploy (pull_request) Has been skipped
feat(notifications): open bell popover
2026-08-15 13:37:29 +02:00

42 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# JOBS-002 application table and workspace verification
Updated: 2026-08-15
## Confirmed baseline
- `JobTable` owned search, filters, sort and page only in React state.
- `?open=` opened the legacy quick dialog and was immediately removed from the URL.
- “Open application workspace” navigated to `/applications/:id`; its Back control always navigated to a fresh `/jobs`.
- The existing full-page workspace already composes the owner-scoped checklist, intelligence, CV, cover-letter, attachment, correspondence and interview components. It is reused rather than duplicated.
## Superseded overlay increment
- The route-backed overlay was a verified intermediate design, but the user explicitly requested a dedicated page instead of a popup.
- DEC-068 supersedes DEC-065. No new navigation emits `?open=` or `?workspace=`.
## Increment 2 — canonical dedicated workspace
- `/jobs/:id` is the canonical workspace route; `/applications/:id` is a query-preserving compatibility redirect.
- The entire desktop row and mobile card navigate to the workspace. Buttons, links, checkboxes and menus remain independent controls; keyboard users can open a focused row with Enter or Space.
- Expandable detail rows and the legacy popup are removed from the applications-list flow. The table now prioritises company, role, location, status, applied date, elapsed days, deadline and optional source URL.
- The workspace aggregate now includes discovery date, full/translated advert text, language, tags, notes and available source/country provenance. Job Details renders these without overflowing and exposes the existing editor.
- Workflow, quick-command, correspondence and Gmail-review links route to the appropriate dedicated workspace section.
- Correspondence and Gmail Review are removed from primary sidebar navigation; the global inbox routes remain available for compatibility and genuinely global review work.
- The header bell opens a theme-aware notification popover anchored to the bell. It supports loading/error/empty states, mark-read, dismiss, notification-owned destinations and a separate link to the global Operations page.
- Return navigation preserves the complete URL-owned list state, including when a workspace section changes.
## Verification
- Focused Jest: workspace/table and workflow routing — 8/8 pass.
- Focused backend workspace aggregate: 9/9 pass.
- Production build: pass. Standalone repository-wide `tsc --noEmit` still exposes pre-existing React Router test-prop and target errors; no new application-source error was reported.
- Notification/AppShell/Operations focused Jest: 3 suites and 6/6 pass.
- Evidence: V-158V-163 in `docs/audits/verification-log.md`.
## Remaining before completion
- URL-owned list state is implemented for search, status, company, location, follow-up, readiness, deleted visibility, sort/direction and page. Direct hydration and dedicated-page return pass focused tests; real-browser refresh/history remains.
- Confirm the existing section-level save/dirty behavior does not need an additional workspace-level navigation guard.
- Add real-browser 375/768/1440, light/dark, keyboard/focus restoration, refresh/history, error and long-content evidence.
- Run tenant-authorization regressions and the production smoke gate.