docs: fill feature gaps in /documentation#2463
Merged
Merged
Conversation
Trio audit found public docs covered ~21 of the user-facing options but missed several features the product already ships. This wave is copy-only — no UI, no code logic. New pages: - start-here/import-from-anki — Anki → Notion reverse import (free up to 1,000 cards) - cards/ai-flashcards — Claude + Vertex AI options, when each fires, writing user instructions - cards/parser-rules — page-scoped overrides for which Notion blocks become cards, sub-decks, tags - reference/plans — Day Pass ($4/24h), Week Pass ($9/7d), 1-hour Unlimited trial Expansions: - start-here/upload-a-file — Dropbox and Google Drive upload paths - help/common-problems — password-protected PDF entry (closes the "vague error → no docs" journey) - reference/glossary — Favorites, Feedback widget, Image Quiz HTML, Theme, Tour - help/limits — strip internal-file-path reference (VOICE.md fix) Sidebar: - "Start here" gains Import from Anki - "Make better cards" gains Parser rules and AI flashcard generation - "Reference" gains Short plans and trial No changelog entry — these are documentation additions, not product behavior changes. Out of scope (Wave 2, separate PR with screenshots): Image Occlusion, Templates browser, Chat study assistant, Print/PDF export. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
✅ Deploy Preview for notion2anki ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
9 tasks
aalemayhu
added a commit
that referenced
this pull request
May 19, 2026
Wave 2 of the documentation gap audit. Adds the visual/interactive features that needed real walkthroughs, plus several corrections to existing pages that had drifted from the code. New pages: - cards/image-occlusion — canvas masking tool: how to draw boxes, hide-all vs hide-one modes, draft auto-save, common mistakes - cards/templates — note-types library at /templates: browse, preview, download, customize, the three sections (yours / official / starter) - reference/chat — Chat study assistant at /chat: prompt patterns, conversation history, message quotas by plan, what we store - reference/print-export — /print PDF export: paper sizes, margins, privacy, the 2-hour file retention window Corrections to existing pages: - start-here/what-is-2anki — "Two ways to use it" was missing Auto Sync. Renamed to "Three ways" and added the paid recurring path with a link to How sync works. - cards/card-options — added the MCQ section (Enable, Show, Shuffle, TTS for Q/A/Extra with 7 languages), font-size, toggle-mode, page-emoji, custom note-type model names (basic/cloze/input), and user-instructions for the Claude AI option. Also broke the flat 21-row table into 7 grouped tables (Deck shape, Card content, Card types, Filtering, Links & formatting, PDF & AI, Multiple choice, Debugging). - cards/notion-blocks — moved PDF embed from Implemented to Unsupported (the code falls through to default with an "unsupported: <type>" fallback). Added new unsupported blocks: Heading 4, Meeting notes, Tab, Transcription. Added a "Sub-deck-only" section for Child database. - reference/file-formats — added a row for Word documents (.docx/.doc), which the upload accepts and converts via LibreOffice. - sync/review-export — corrected the required-properties list. The code only needs Date + Reviews, not the 5 listed (Reviews/Lapses/Ease/Last review/Due). Also updated the plan tier — Auto Sync subscribers have access too, not only Lifetime. Banner update: - WipBanner — added "with help from AI" so readers know how these pages are being written. Sidebar: - "Make better cards" gains Image occlusion and Note types and templates - "Reference" gains Chat — study assistant and Print or export to PDF Depends on docs/fill-feature-gaps (#2463). When that merges, the references to ai-flashcards, parser-rules, and plans become real and a follow-up edit can re-add the links that were dropped here to keep tests green. No changelog entry — documentation additions, no product-behavior change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4 tasks
aalemayhu
added a commit
that referenced
this pull request
May 19, 2026
…2467) ## Summary The Playwright test [\`tests/onboarding-tour.spec.ts:123\`](https://github.com/2anki/server/blob/main/web/tests/onboarding-tour.spec.ts#L123) — *"user created before migration cutoff does not see the tour"* — has been **failing on every PR**, including main itself. The pre-existing failure has blocked the local merge-status hook on the recent docs PRs (#2463 already merged via admin bypass, #2464 still open and blocked). ## Diagnosis | Field | Value | |---|---| | Production cutoff | \`MIGRATION_CUTOFF = '2026-05-19T00:00:00.000Z'\` ([OnboardingTour.tsx:29](https://github.com/2anki/server/blob/main/web/src/pages/UploadPage/components/OnboardingTour/OnboardingTour.tsx#L29)) | | OLD_USER fixture | \`created_at: '2026-06-07T10:00:00.000Z'\` | | Comparison | \`2026-06-07 >= 2026-05-19\` → true → tour shown → test fails | The fixture date was AFTER the cutoff but the test name claims it represents a user from BEFORE the cutoff. The two were never reconciled. The unit test (\`OnboardingTour.test.tsx\`) doesn't trip on this because it injects \`migrationDate={MIGRATION_DATE}\` via prop, using \`'2026-06-08T00:00:00.000Z'\` so 06-07 is correctly "before". The Playwright test runs the real component and hits the production const directly. ## Fix One line. Move OLD_USER's \`created_at\` to \`'2026-04-15T10:00:00.000Z'\` — clearly before the production cutoff. No production code change. The component, the cutoff date, and every other test stay as they are. ## Not in this PR - No changelog entry — test-only change, no user-visible behavior. - No sonar-scanner — single test-fixture line per \`.claude/rules/sonar.md\` exception list. ## Test plan - [ ] CI: Playwright workflow goes green for the first time in days. - [ ] All other tests stay green (unit test for the same component was already passing via prop injection — no risk of regressing it). - [ ] Once merged, #2464 (docs Wave 2) gets a clean check rollup and can merge normally without admin bypass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- codesmith:footer --> --- <a href="https://app.blacksmith.sh/2anki/codesmith/server/pr/2467"><picture><source media="(prefers-color-scheme: dark)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-in-codesmith-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-in-codesmith-light.svg"><img alt="View in Codesmith" src="https://pr-comments-assets.blacksmith.sh/codesmith/view-in-codesmith-dark.svg"></picture></a> <sup>Need help on this PR? Tag <code>@codesmith</code> with what you need.</sup> - [ ] Let Codesmith autofix CI failures and bot reviews <!-- /codesmith:footer --> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
aalemayhu
added a commit
that referenced
this pull request
May 19, 2026
Wave 2 of the documentation gap audit. Adds the visual/interactive features that needed real walkthroughs, plus several corrections to existing pages that had drifted from the code. New pages: - cards/image-occlusion — canvas masking tool: how to draw boxes, hide-all vs hide-one modes, draft auto-save, common mistakes - cards/templates — note-types library at /templates: browse, preview, download, customize, the three sections (yours / official / starter) - reference/chat — Chat study assistant at /chat: prompt patterns, conversation history, message quotas by plan, what we store - reference/print-export — /print PDF export: paper sizes, margins, privacy, the 2-hour file retention window Corrections to existing pages: - start-here/what-is-2anki — "Two ways to use it" was missing Auto Sync. Renamed to "Three ways" and added the paid recurring path with a link to How sync works. - cards/card-options — added the MCQ section (Enable, Show, Shuffle, TTS for Q/A/Extra with 7 languages), font-size, toggle-mode, page-emoji, custom note-type model names (basic/cloze/input), and user-instructions for the Claude AI option. Also broke the flat 21-row table into 7 grouped tables (Deck shape, Card content, Card types, Filtering, Links & formatting, PDF & AI, Multiple choice, Debugging). - cards/notion-blocks — moved PDF embed from Implemented to Unsupported (the code falls through to default with an "unsupported: <type>" fallback). Added new unsupported blocks: Heading 4, Meeting notes, Tab, Transcription. Added a "Sub-deck-only" section for Child database. - reference/file-formats — added a row for Word documents (.docx/.doc), which the upload accepts and converts via LibreOffice. - sync/review-export — corrected the required-properties list. The code only needs Date + Reviews, not the 5 listed (Reviews/Lapses/Ease/Last review/Due). Also updated the plan tier — Auto Sync subscribers have access too, not only Lifetime. Banner update: - WipBanner — added "with help from AI" so readers know how these pages are being written. Sidebar: - "Make better cards" gains Image occlusion and Note types and templates - "Reference" gains Chat — study assistant and Print or export to PDF Depends on docs/fill-feature-gaps (#2463). When that merges, the references to ai-flashcards, parser-rules, and plans become real and a follow-up edit can re-add the links that were dropped here to keep tests green. No changelog entry — documentation additions, no product-behavior change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
aalemayhu
added a commit
that referenced
this pull request
May 19, 2026
## Summary Wave 2 of the documentation gap audit, plus several corrections to existing pages that had drifted from the code (Al flagged each one in real time). ### New pages - **`cards/image-occlusion`** — the `/image-occlusion` canvas tool. How to draw boxes, hide-all vs hide-one modes, draft auto-save, common mistakes. - **`cards/templates`** — the `/templates` library. The three sections (Your / Official / Starter), preview, download, customize, the "edit but Anki imports by name" gotcha. - **`reference/chat`** — the `/chat` study assistant. Prompt patterns, conversation history, message quotas by plan, what we store and don't. - **`reference/print-export`** — the `/print` tool. Paper sizes, margins, the 2-hour file retention, the Subscription/Lifetime gate. ### Corrections to existing pages - **`start-here/what-is-2anki`** — "Two ways to use it" was missing Auto Sync. Renamed to **"Three ways"** and added the paid recurring path with a link to How sync works. - **`cards/card-options`** — the table was missing the entire MCQ section (Enable / Show / Shuffle / TTS for Q/A/Extra in 7 languages), font-size, toggle-mode, page-emoji, custom note-type model names, and user-instructions for the Claude AI option. Also split the flat 21-row table into 7 grouped tables (Deck shape, Card content, Card types, Filtering, Links & formatting, PDF & AI, Multiple choice, Debugging). - **`cards/notion-blocks`** — moved **PDF embed** from Implemented to Unsupported (the code falls through to the default-case fallback that renders `unsupported: <type>` + a JSON dump). Added new Notion blocks as unsupported: Heading 4, Meeting notes, Tab, Transcription. Added a "Sub-deck-only" section for Child database (it doesn't render as a card but can be a sub-deck source). - **`reference/file-formats`** — added a row for Word documents (.docx / .doc). The upload accepts them and they convert via LibreOffice. - **`sync/review-export`** — corrected the required-properties list. The code (`AnkifyRouter.ts:238-239`) only needs **Date** (date) + **Reviews** (number), not the five we were listing (Reviews/Lapses/Ease/Last review/Due). Also updated plan tier — Auto Sync subscribers have access, not just Lifetime. ### Banner update - **`WipBanner.tsx`** — added "with help from AI" to the docs banner. The full new copy: *"These docs are being rewritten with help from AI. If something looks wrong, open an issue — we read every one."* Al asked for explicit transparency about how the docs are being written. ### Sidebar - "Make better cards" gains **Image occlusion** and **Note types and templates** - "Reference" gains **Chat — study assistant** and **Print or export to PDF** ### Dependencies and known follow-up - Depends on **#2463 (Wave 1)**. When that merges, three references in this PR can become real links: `cards/ai-flashcards`, `cards/parser-rules`, `reference/plans`. They were dropped here so `content-links.test.ts` (the link-integrity check) stays green. A short follow-up PR after Wave 1 lands can re-add the links. - The image-occlusion and templates pages are prose-only. Designer agent recommended a GIF for image-occlusion and a grid screenshot for templates; both are still valuable as text and can take visuals in a later PR. ### Not in this PR - No changelog entry. Documentation additions, not product-behavior changes — `docs:` is not in the changelog table per `CLAUDE.md`. - No sonar-scanner. Markdown + one banner string + sidebar array entries; per `.claude/rules/sonar.md` sonar is skipped for "pure doc/dep/test/typo changes". ## Test plan - [ ] `/check` is green — server tsc, web typecheck, 774 vitest, biome lint all clean locally. - [ ] Visit `/documentation/cards/image-occlusion`, `/documentation/cards/templates`, `/documentation/reference/chat`, `/documentation/reference/print-export` and confirm each renders. - [ ] Visit `/documentation/start-here/what-is-2anki` and confirm "Three ways to use it" appears with the Auto Sync entry. - [ ] Visit `/documentation/cards/card-options` and confirm the new grouped tables (especially the Multiple choice section). - [ ] Visit `/documentation/cards/notion-blocks` and confirm PDF embed shows under Unsupported. - [ ] Visit `/documentation/sync/review-export` and confirm the property list is just Date + Reviews. - [ ] Visit `/documentation/reference/file-formats` and confirm the Word row. - [ ] Open any docs page and confirm the new banner copy mentions AI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- codesmith:footer --> --- <a href="https://app.blacksmith.sh/2anki/codesmith/server/pr/2464"><picture><source media="(prefers-color-scheme: dark)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-in-codesmith-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-in-codesmith-light.svg"><img alt="View in Codesmith" src="https://pr-comments-assets.blacksmith.sh/codesmith/view-in-codesmith-dark.svg"></picture></a> <sup>Need help on this PR? Tag <code>@codesmith</code> with what you need.</sup> - [ ] Let Codesmith autofix CI failures and bot reviews <!-- /codesmith:footer --> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
A trio audit (pm/designer/engineer) compared the live docs at 2anki.net/documentation against the codebase and surfaced a list of features that ship in product but aren't documented. This is Wave 1: copy-only, no UI changes, no logic. Wave 2 (Image Occlusion, Templates browser, Chat assistant, Print/PDF export) needs screenshots and ships separately.
What changed
4 new pages
start-here/import-from-anki— Anki → Notion reverse import (free up to 1,000 cards/import).cards/ai-flashcards— Claude AI and Vertex AI options on one page; when each fires; how to write good user instructions; storage/privacy notes.cards/parser-rules— the/rules/:ideditor: deck/sub-deck rules, flashcard block types, tag format, per-page card-options overrides.reference/plans— Day Pass ($4/24h), Week Pass ($9/7d), 1-hour Unlimited trial, comparison table.4 expansions
start-here/upload-a-file— Dropbox + Google Drive upload paths.help/common-problems— password-protected PDF entry (closes the "locked PDF → vague error → no docs hit" journey PM flagged).reference/glossary— Favorites, Feedback widget, Image Quiz HTML, Theme, Tour (5 short lines).help/limits— removes asrc/lib/misc/getUploadLimits.tsreference per VOICE.md (no internal file paths in user-facing copy).Sidebar
Trio resolutions baked into the plan
common-problems.md, not a standalone page.Not in this PR
CLAUDE.mdthe changelog table coversfeat:/fix:/etc., notdocs:..claude/rules/sonar.mdsonar is skipped for "pure doc/dep/test/typo changes".Test plan
/checkis green (server tsc + web typecheck + 774 vitest + biome lint all clean locally)./documentation/start-here/import-from-ankiand confirm the page renders./documentation/cards/ai-flashcardsand confirm the page renders./documentation/cards/parser-rulesand confirm the page renders./documentation/reference/plansand confirm the page renders.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmithwith what you need.