Block a user
Add rate limiting to /auth/login and /auth/register endpoints
Add rate limiting to /auth/login and /auth/register endpoints
This issue has already been resolved and merged into main via PR #28 (feat(auth): add rate limiting to login and register endpoints). Closing as completed.
Persist async batch job state to PostgreSQL
Persist async batch job state to PostgreSQL
This issue has already been resolved and merged into main via PR #34 (feat(jobs): persist async batch job state in PostgreSQL). Closing as completed.
Auto-generate TypeScript API client from FastAPI OpenAPI spec
Add cursor-based pagination to /analyze/batch and /jobs endpoints
Add patent trend charts to the Analytics page
Add per-analysis multi-model selection (GPT-4o, Gemini, Claude)
Add webhook and notification support for batch job completion
Add scheduled recurring analysis for tracked companies
Add side-by-side company patent portfolio comparison view
Add export functionality for analysis reports (PDF and CSV)
Add ruff (Python) and tsc --noEmit (TypeScript) linting to CI
Add pytest test job to Gitea Actions CI workflow
Commit a frontend package lockfile for reproducible builds
Add dark mode support using Tailwind dark variant
Add skeleton loaders and error states to Batch and Analytics pages
Fix Patent.patent_id type annotation from int to str in types.py
Fix analyze_single_patent to download PDF before attempting to read it
Document patent PDF storage volume requirement and add S3/MinIO option