Files
jobtrackingapp/docs/verification/jobs-002-application-workspace.md
T
cesnimda 109745edb0
CI and Deploy / test (pull_request) Failing after 2m51s
CI and Deploy / deploy (pull_request) Has been skipped
feat(jobs): add dedicated workspace page
Make /jobs/:id the canonical application workspace while preserving list state and compatibility links. Replace popup and expandable-row navigation with accessible whole-row routing and richer job details.
2026-08-15 13:33:00 +02:00

2.9 KiB
Raw Blame History

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.
  • 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.
  • Evidence: V-158V-162 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.
  • Add a shared dirty-edit close/navigation guard for workspace sections that own unsaved content.
  • 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.