Files
jobtrackingapp/docs/verification/jobs-002-application-workspace.md
T
cesnimda b67a531af4
CI and Deploy / test (pull_request) Successful in 4m34s
CI and Deploy / deploy (pull_request) Has been skipped
feat(jobs): embed route-backed workspace
2026-08-10 11:28:01 +02:00

2.0 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

  • Persist search, filters, sort and page in the URL and verify refresh/Back/Forward.
  • 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.