| Age | Commit message (Collapse) | Author |
|
|
|
Automerge uses WebAssembly which requires vite-plugin-wasm and
vite-plugin-top-level-await to handle WASM modules in production builds.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Install @automerge/automerge, @automerge/automerge-repo, and
@automerge/automerge-repo-storage-indexeddb as the foundation
for replacing LWW conflict resolution with CRDT-based sync.
Includes tests verifying core Automerge functionality:
- Document creation and modification
- Change generation and application
- Concurrent change merging
- Serialization/deserialization
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
- Add rate limiting to login endpoint (5 requests/minute per IP)
- Configure CORS middleware with environment-based origin control
- Expose rate limit headers in CORS for client visibility
- Update hono to 4.11.3 for rate limiter peer dependency
🤖 Generated with [Claude Code](https://claude.ai/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Migrate all 28 inline SVG icons across 8 components to use Font Awesome
React components for better maintainability and consistency.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Replace inline styles with TailwindCSS, implementing a cohesive Japanese-inspired
design system with custom colors (cream, teal primary), typography (Fraunces,
DM Sans), and animations. Update all pages and components with consistent styling,
improve accessibility by adding aria-hidden to decorative SVGs, and configure
Biome for Tailwind CSS syntax support.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Add localDeckRepository, localCardRepository, and localReviewLogRepository
with full CRUD operations for offline support. Includes sync tracking
with _synced flag and methods for finding unsynced items.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Set up Dexie database with LocalDeck, LocalCard, and LocalReviewLog
tables for offline support. Each entity includes _synced flag for
tracking synchronization status.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Configure Progressive Web App functionality:
- Add vite-plugin-pwa with workbox for service worker
- Create web manifest with app metadata and icons
- Add offline fallback page for when network is unavailable
- Update index.html with PWA meta tags and theme color
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Implement study endpoints for spaced repetition learning:
- GET /api/decks/:deckId/study to fetch due cards
- POST /api/decks/:deckId/study/:cardId to submit reviews
- Integrate ts-fsrs library for scheduling algorithm
- Add ReviewLog repository for tracking review history
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Add build pipeline with esbuild for production bundling.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Add functional registration form with:
- Username and password fields with confirm password
- Client-side validation (password match, minimum length)
- Error display for API failures
- Redirect to home when already authenticated
- Loading state during submission
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Implements fetch wrapper that handles JWT authentication, automatic
token refresh on 401 responses, and provides typed methods for REST
operations. Includes comprehensive tests.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Add wouter router with pages for home, login, register, and 404.
Include tests for all routes using @testing-library/react.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
|
|
Set up the client-side React application with Vite bundler:
- Add React 19 and Vite 7 with the React plugin
- Create index.html entry point and App component
- Configure Vite with API proxy to backend server
- Add client build scripts to package.json
- Update tsconfig for React JSX and DOM types
- Fix TypeScript errors in auth code (JWT_SECRET type narrowing)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
|
|
Implement POST /api/auth/register endpoint with:
- Argon2 password hashing
- Zod validation for username (1-255 chars) and password (8-255 chars)
- Duplicate username check (returns 409 Conflict)
- Returns created user with id, username, and createdAt
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Add Zod validation schemas for all data models (User, Deck, Card,
ReviewLog) along with input schemas for API endpoints (create, update,
login, submit review).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Add Drizzle ORM with PostgreSQL for database access. Includes:
- Schema definitions for users, decks, cards, and review_logs tables
- Database connection with node-postgres driver
- Drizzle Kit configuration for migrations
- npm scripts for db:generate, db:migrate, db:push, db:studio
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Add Vitest as the test runner for the server package with configuration
for global test APIs. Update root package.json to run tests across all
packages.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Setup basic Hono server with health check endpoint. Adds dev, build,
and start scripts using Node.js native TypeScript execution.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Add Biome for linting and formatting with recommended rules.
Reformat existing JSON files to use tabs.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
|