Files
jobtrackingapp/docs/verification/jobs-002-application-workspace.md
T
cesnimda bd5362c8c2
CI and Deploy / test (pull_request) Successful in 4m55s
CI and Deploy / deploy (pull_request) Has been skipped
feat(jobs): persist list state in URL
2026-08-15 13:00:27 +02:00

2.2 KiB

JOBS-002 application table and workspace verification

Updated: 2026-08-10

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.

Increment 1 — route-backed overlay

  • Table row Open now creates /jobs?workspace={id} and renders the existing workspace inside an accessible MUI dialog.
  • Workspace sections update section= with replacement navigation; opening is a pushed entry, so Back closes and Forward reopens without losing the mounted list state.
  • A direct /jobs?workspace={id}&section={section} opens the requested application and closes by safely removing only workspace query keys.
  • MUI owns focus trap/restoration. The dialog is full-screen below 768px and links to /applications/:id?section=... as the full-page fallback.
  • Legacy ?open= quick-dialog links continue to work; their workspace action enters the same overlay route.

Verification

  • Focused Jest: src/application-workspace-overlay.test.tsx — 2/2 pass.
  • Full frontend Jest: 51 suites and 206/206 tests pass; existing force-exit notice remains.
  • Production build and TypeScript: pass.
  • Evidence: V-158 and V-159 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 overlay Back/Forward pass focused tests; real-browser refresh/history remains.
  • Add a shared dirty-edit close/navigation guard for workspace sections that own unsaved content.
  • Improve the table's scan-priority data without adding every available field.
  • 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.