aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
4 daysfeat(decks): add default note type setting per deckHEADmainnsfisis
Allow each deck to specify a default note type that is auto-selected when creating new notes. Includes DB schema migration, server API updates, sync layer support, and UI for editing the default in the deck settings modal. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9 daysfeat: bump version to v0.5.1v0.5.1nsfisis
9 daysfeat(asset): update iconsnsfisis
11 daysstyle(ui): hide version footer on mobilensfisis
12 daysMerge pull request #16 from nsfisis/claude/add-card-difficulty-level-BGN2Cnsfisis
Display card difficulty for reviewed cards in deck view
12 daysfeat(cards): display FSRS difficulty level in card browse viewClaude
Show per-card difficulty (D: X.X) in the card list alongside existing metrics (reps, lapses). Hidden for unreviewed cards (difficulty = 0). https://claude.ai/code/session_019XoFbra6drKrZpHASUzKDq
2026-02-15feat: bump version to v0.5.0v0.5.0nsfisis
2026-02-15feat(deck): add progress bar showing review/total ratio on deck listnsfisis
Add totalCardCount and reviewCardCount to deck API responses and display a progress bar on the home page for each deck with cards. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15fix(test): define __APP_VERSION__ in vitest confignsfisis
Vite's define config is not inherited by Vitest, causing App component tests to fail with ReferenceError. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15refactor: rename format script to fix namespace with lint auto-fixnsfisis
Add pnpm fix (runs fix:lint + fix:format), pnpm fix:lint (biome check --write), and rename pnpm format to pnpm fix:format for consistency with the existing check namespace convention.
2026-02-15fix(types): use CardStateType instead of number for card state fieldsnsfisis
Card and StudyCard interfaces used generic number for state, causing type errors when indexing Record<CardStateType, ...> maps. Also adds missing FSRS fields to client Card interface to match API response. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15refactor: rename lint/typecheck scripts to check namespacensfisis
Consolidate typecheck and lint into a unified `pnpm check` command with `check:ts` and `check:lint` sub-commands. Update CI workflow to use the single check step and update docs accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15refactor(sync): replace dynamic import with static import for CRDT repositoriesnsfisis
The dynamic import was redundant since the module was already statically imported in the same file, causing a Vite warning. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15feat(deck): display new card count on deck detail pagensfisis
Add newCardCount alongside Total and Due stats in the deck detail view, queried from cards with state=New via a new countNewCards repository method. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15docs(manual): add spaced repetition terminology guidensfisis
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15fix(study): allow edit button click when card is flippednsfisis
The disabled attribute on the parent button element prevented all child click events, making the edit button unresponsive on the back side. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15feat(study): show state badge for all card statesnsfisis
Display Learning, Review, and Relearning badges in addition to New, using consistent color scheme from DeckCardsPage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15style(study): move new card badge to top-left to avoid edit button overlapnsfisis
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15feat(ui): add version display in app footernsfisis
Inject package.json version via Vite's define config and display it in a persistent footer across all pages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15feat: bump version to v0.4.8v0.4.8nsfisis
2026-02-14feat(study): add edit button to study session cardsnsfisis
Allow editing note content directly from the study screen via a pen icon button or the E key shortcut. Keyboard shortcuts are disabled while the edit modal is open to prevent accidental card flips/ratings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14fix(study): flush pending review before navigating away from session completensfisis
Navigation links on the session complete screen were fire-and-forget, causing the last card's review to not be reflected on the deck list. Replace links with buttons that await the review flush and invalidate the deck query cache before navigating. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13style(home): vertically center deck info in deck list itemsnsfisis
Add my-auto to the deck info container for vertical centering within the flex row.
2026-02-13feat: bump version to v0.4.7v0.4.7nsfisis
2026-02-13feat(deck): add "Add Note" button to deck detail pagensfisis
Allow creating notes directly from the deck detail page without navigating through View Cards first. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13Merge pull request #15 from nsfisis/claude/remove-card-limit-10fVwnsfisis
Remove newCardsPerDay limit and simplify card study logic
2026-02-12feat: 学習カード数の上限を撤廃Claude
REVIEW_CARDS_LIMIT(復習カード80枚制限)とnewCardsPerDay(1日の新規カード制限) を削除し、期日が来たすべてのカードを制限なく返すように変更。 削除した主な要素: - REVIEW_CARDS_LIMIT定数とカード取得時のlimitパラメータ - newCardsPerDayフィールド(DB schema, 型定義, Zod schema, sync, CRDT) - countDueNewCards, countDueReviewCards, findDueNewCardsForStudy, findDueReviewCardsForStudy(CardRepository) - countTodayNewCardReviews(ReviewLogRepository) - デッキルートからのReviewLogRepository依存 https://claude.ai/code/session_018hrEJ9vg3RPoeAPyEc17gS
2026-02-09Merge pull request #14 from nsfisis/claude/create-claude-md-H1HAansfisis
Add CLAUDE.md developer documentation
2026-02-09Simplify Architecture section to reference docs/dev/architecture.mdClaude
https://claude.ai/code/session_013M6WrK2CDSC3JJLnnhio6e
2026-02-09Add CLAUDE.md with project conventions and quick referenceClaude
https://claude.ai/code/session_013M6WrK2CDSC3JJLnnhio6e
2026-02-08feat: bump version to v0.4.6v0.4.6nsfisis
2026-02-08refactor(study): remove legacy card fallback and commentsnsfisis
All cards now use note-based template rendering. The legacy front/back fallback path is no longer needed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08Merge pull request #13 from nsfisis/claude/clarify-deck-numbers-mg3d4nsfisis
Simplify deck stats to show due card count from server
2026-02-08feat(study): use seeded PRNG for deterministic card shuffle ordernsfisis
Shuffle order is now fixed within a study day by seeding mulberry32 with the study day boundary timestamp (3:00 AM rollover). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08fix(deck): change review card limit to 80 and simplify deck detail statsClaude
Review card limit is reduced from 100 to 80 across deck list, deck detail, and study routes. Deck detail page now shows only total card count and due card count (with budget limits applied), matching the deck list and study screen numbers. https://claude.ai/code/session_01NAj4waQhwSSXV9EbgioX2j
2026-02-07feat: bump version to 0.4.5v0.4.5nsfisis
2026-02-05feat(study): display new card badge on study screennsfisis
Show a "New" badge in the top-right corner of cards when the card state is 0 (new), helping users identify cards they haven't seen before. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05feat(deck): display card counts by state on deck detail pagensfisis
Show separate counts for New, Learning, and Review cards instead of a single "Due Today" count. Uses FSRS CardState to categorize cards with color-coded display (blue/orange/green). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05feat(server): add purge mechanism for soft-deleted recordsnsfisis
Automatically removes soft-deleted records older than 90 days. Runs on server startup and every 24 hours thereafter. Respects foreign key dependencies when deleting. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05fix(decks): align due card count with study screen limitsnsfisis
The deck list was showing all due cards without applying the newCardsPerDay limit or review card limit (100), causing a mismatch with the actual number of cards available in the study screen. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05feat: bump version to 0.4.4v0.4.4nsfisis
2026-02-05feat(study): add undo support for card reviewsnsfisis
Defer API submission of reviews by storing them as pending. The previous pending review is flushed when the next card is rated, and on unmount via fire-and-forget. Undo discards the pending review and returns to the previous card without any API call. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05Merge pull request #12 from nsfisis/claude/fix-build-errors-Lqijlnsfisis
Include shared source directory in Docker builds
2026-02-04fix(docker): add missing src/shared directory to build contextsClaude
Both server and client code import from src/shared/date, but the Dockerfiles only copied their respective src/server or src/client directories, causing the build to fail with missing module errors. https://claude.ai/code/session_01FCGM9USwv6qmWQ7ACk9PEG
2026-02-04chore: bump version to v0.4.3v0.4.3nsfisis
2026-02-04refactor(db): remove unused findNewCards from localCardRepositorynsfisis
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04fix(study): use 3 AM boundary for counting today's new card reviewsnsfisis
countTodayNewCardReviews was using midnight (0:00) as the start of day, inconsistent with the 3 AM study day boundary used elsewhere. Reviews between 0:00-3:00 AM were incorrectly counted as the next day's budget. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04fix(study): apply 3 AM boundary to study API card queriesnsfisis
findDueNewCardsForStudy and findDueReviewCardsForStudy were still using lte(cards.due, now) while findDueCards and countDueCards had been updated to use the study day boundary in d4489f2. This caused inconsistency between the displayed due count and actual cards returned by the study API. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04chore(deps): update dependencies and pin JWT algorithmnsfisis
Update all dependencies to latest patch/minor versions. Explicitly specify HS256 algorithm in JWT verify to prevent algorithm confusion attacks. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04feat(deps): migrate atomFamily from jotai/utils to jotai-familynsfisis
Replace built-in jotai atomFamily with jotai-family package for better parameter-based atom family support. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>