mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-10-04 10:43:46 +10:00
docs: log M11 in the redesign plan
This commit is contained in:
+62
-1
@@ -1,6 +1,6 @@
|
||||
# Reactive Resume redesign plan ("Desk & Paper")
|
||||
|
||||
Status: approved on 28 Sep 2026 (every §9 recommendation accepted). Work happens on `redesign/desk-and-paper`. M0 to M10 are done; see §11 and §12.
|
||||
Status: approved on 28 Sep 2026 (every §9 recommendation accepted). Work happens on `redesign/desk-and-paper`. M0 to M11 are done; see §11 and §12.
|
||||
|
||||
**PDF engine (28 Sep 2026):** the react-pdf rendering engine (`packages/pdf`) and Semantic CSS are replaced with [Forme](https://www.formepdf.com/) in the next phase of this redesign. Until then the redesign hosts them as they are: no per-template PDF work, render-performance work or CSS-editor restyling. Engine-dependent items are marked "waits for Forme".
|
||||
|
||||
@@ -1396,3 +1396,64 @@ Verification:
|
||||
- It needs `FLAG_ALLOW_UNSAFE_AI_BASE_URL=true` (set in the E2E workflow) and skips without it.
|
||||
- The full suite passes against the production build, and the assistant spec passed three runs in a row.
|
||||
|
||||
### M11 · Settings and public pages (done 29 Sep 2026)
|
||||
|
||||
What changed:
|
||||
|
||||
- **Settings** in three pages, Account, Preferences and AI & developer:
|
||||
- Layout: an in-page nav (220 px, with the version, Docs, Source and Donate at the bottom) beside a 680 px column; sections divided by rules, with no cards.
|
||||
- Tablets get the nav as tabs. On phones the Account tab opens a three-row root showing each page's current value, with Help & docs and Sign out.
|
||||
- Old addresses redirect: profile and authentication go to Account; api-keys, integrations and job-search go to AI & developer.
|
||||
- **Account:**
|
||||
- Profile: photo (upload or remove), then Name, Username (with the instance host) and Email, each saving when the field loses focus. Invalid or failed values stay, with the reason under them.
|
||||
- Sign-in & security: Password (Change, or Set a password), a Two-step verification switch leading to the existing flows, Passkeys (add, name, remove) and every enabled sign-in provider (Q3o).
|
||||
- Your data: Export everything, and Delete account. The delete dialog counts documents, applications and API keys, and asks you to type "delete"; Keep account cancels.
|
||||
- Sign out.
|
||||
- **Preferences:** Light, Dark and System tiles; the interface language with Help translate; the motion note.
|
||||
- **AI & developer:**
|
||||
- Provider rows show the model and the key's last four characters, with Test ("Connected · 420 ms" or the provider's exact error) and Edit. Edit holds the name, model, base URL, a new key, the "Use this provider" switch and Delete. Add provider lists all 16.
|
||||
- API keys: a table with Created, Last used and Expires. New key offers 30 days, 90 days or Never and shows the key once with Copy. Revoke has Undo.
|
||||
- MCP server: the address with Copy, and the setup guide.
|
||||
- **Account export:** the API now includes applications, and the browser zips everything: `account.json`, each resume and letter as its own file, and `applications.json`.
|
||||
- **Shared resume:**
|
||||
- Desktop and tablets: a 64 px bar (name, headline and city, Copy link, Download PDF), the page on the sunken canvas, and the footer credit.
|
||||
- Phones: the resume as text in print order, in the template's colour, with contact details as tap targets and Download and Share pinned.
|
||||
- Off, unknown and trashed links read "This resume isn't shared right now." with nothing about the owner.
|
||||
- With downloads off, Download is hidden and printing shows a note.
|
||||
- **ATS checker:**
|
||||
- Idle: a drop zone with Check a sample file and an optional posting. Busy: three labelled steps.
|
||||
- Result: the 440 px column (the ring, the categories to fix, the posting's missing terms, the CTA and Check another file) beside the Original page / As software reads it lens.
|
||||
- Fix these in the editor signs a visitor up, imports the same file and opens Check.
|
||||
- **Removed:** the six settings pages and the API key dialog; the public checker's AI review (Q3l), its locked card, the marketing parse preview and the old uploader; the unused theme combobox and dashboard header.
|
||||
|
||||
Differences from the plan, with reasons:
|
||||
|
||||
- **The settings root is phones-only.** From 640 px, /dashboard/settings opens Account (redirected before render). Tablets show the three pages as tabs above the column.
|
||||
- **"Last changed" for the password is the sign-in record's last update.** Better Auth doesn't record password changes separately.
|
||||
- **Test latency is timed in the browser**, so it includes the round trip through the server, which is what the user waits for.
|
||||
- **Rows say "Model …", not "Default model …".** The app uses the most recently used tested provider rather than a chosen default.
|
||||
- **Revoke turns the key off at once and deletes it when the Undo toast closes.** If the tab closes first, the key stays off and hidden.
|
||||
- **The delete dialog counts documents in Trash too**, because they're deleted as well.
|
||||
- **The reflow reads its order from the semantic tree but its values from the resume**, so it stays in print order without a second renderer. Rich text is parsed into an allowlist of elements, because resume HTML isn't sanitized on save. The template's body font applies only where the browser has it; loading resume fonts on the page waits for Forme.
|
||||
- **Phones use the system share sheet** where there is one, and copy the link otherwise.
|
||||
- **As software reads it shows the extracted text without highlighting a span**, because the analysis doesn't locate one.
|
||||
- **The checker's copy follows Q9**: "Up to 25 MB · checked in your browser, never uploaded". The sample file is the Onyx template preview.
|
||||
- **The checker's import reads the PDF in the browser even when an AI provider is set up**, so the issues in Check line up with the file that was checked.
|
||||
- **The checker's honesty panel is gone** with the old layout. Its key line stays under the score: it reflects extraction, not your chances.
|
||||
|
||||
Verification:
|
||||
|
||||
- Typecheck, knip, `turbo boundaries` and Biome are clean across the workspace, and catalogs are extracted.
|
||||
- Tests pass: api 485 (plus 10 opt-in), web 885, server 126. New tests cover:
|
||||
- the export zip's contents;
|
||||
- revoke and undo;
|
||||
- provider test formatting and the key ending;
|
||||
- public page states: downloads off, phones, and the credit with and without sign-ups;
|
||||
- reflow order against print order, with hidden sections and entries;
|
||||
- the rich-text allowlist.
|
||||
- E2E:
|
||||
- New: `settings`, `shared-resume` and `ats-checker` (the sign-up and import path).
|
||||
- Updated: `public-download-preference` and `root-public-resume`.
|
||||
- The full suite passes against the production build: 42 passed, 7 opt-in skipped.
|
||||
- Docs: the guides name the new settings pages, the key flow, the export's contents and the new checker.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user