Commit Graph
101 Commits
Author SHA1 Message Date
Antigravity 922ab20127 docs(ai): add Stage 7 Murphy Engine and Handwritten Notebook Prompts 2026-10-06 14:01:31 +03:00
Antigravity 1db9356e0c docs: add Tasks 14 (phrasal verb detector) and 15 (CEFR level tests with auto-ingestion) 2026-10-06 13:54:11 +03:00
Antigravity 5c47bc6eca docs(ai): specify 100% offline Piper TTS for Stage 3 audio generation 2026-10-06 12:22:39 +03:00
Antigravity 84bbe2031d docs: add AI_TODO.md with dual-model architecture roadmap 2026-10-06 12:16:25 +03:00
Antigravity 9a5d588125 feat(dict): high-speed offline dictionary with wordforms and zero daemon SQLite mmap 2026-10-06 12:01:08 +03:00
Antigravity 9d4e911bfd feat: debloat dictionary parsers (remove Datamuse, switch to Wiktionary REST API with English section isolation) 2026-10-06 11:46:51 +03:00
Antigravity 078fa08fbd feat: optimize SQLite PRAGMAs (WAL, mmap 256MB, cache 32MB, temp_store) and add compound indexes 2026-10-06 11:38:46 +03:00
Antigravity 438dfdb055 feat(perf): implement HTTP connection pooling with httpx.AsyncClient singleton and Keep-Alive
- get_http_client: singleton AsyncClient with limits(max_keepalive=10, max_connections=20, keepalive_expiry=60s)
- close_http_client: clean socket pool teardown in FastAPI lifespan shutdown
- refactor dictionary fetchers to reuse pooled client and avoid 5x TLS handshakes per word lookup
- add test_http_connection_pooling (22/22 pytest passed)
2026-10-06 11:34:31 +03:00
Antigravity c4a6edee37 fix(reader): optimize rendering performance, prevent browser freeze on large technical books
- extract_outline_entries: filter PDF bookmarks by depth and major structural headings, avoiding 550 micro-snippets
- renderContinuousBook: load current chapter and seamlessly append next chapters on scroll (virtual continuous) instead of dumping all chapters into DOM synchronously
- renderInteractiveSpans: use native HTML template fragment instead of new DOMParser per paragraph
- event delegation: handle word clicks on readerContentBody instead of adding hundreds of thousands of individual DOM event listeners
- consolidate existing CCNA book in DB into 68 clean chapters
2026-10-06 11:23:21 +03:00
Antigravity 46d6973365 chore(nginx): increase client_max_body_size to 200M and set 300s timeouts 2026-10-06 11:15:54 +03:00
Antigravity 2a84b5bcb0 fix(upload): add client_max_body_size to nginx config and improve upload error messaging 2026-10-06 10:30:49 +03:00
Antigravity 6dcfd59f73 feat(reader): add PDF reading support with outline chapters, CLI blocks, and noise filtering (task 7) 2026-10-06 10:16:40 +03:00
Antigravity c38b1dae0a fix(reader): sticky reader toolbar, compact settings grid, and viewport-aware Aa dropdown 2026-10-06 09:45:00 +03:00
Antigravity 0d05da7b9e feat(reader): continuous reading mode, seamless infinite scroll, and end-of-chapter nav cards 2026-10-06 09:33:06 +03:00
Antigravity 4d40b13bce feat(reader): hash router, zero-flicker reload, honest weighted progress, and smart chapter detection 2026-10-06 09:18:57 +03:00
Antigravity f642a131ad docs: add comprehensive rework plan for navigation, honest progress and chapter detection to TODO.md 2026-10-05 16:59:25 +03:00
Antigravity 6ee67c0653 feat(reader): remember reading position across refresh, add chapter progress bar, and plan PDF support 2026-10-05 16:51:08 +03:00
Antigravity fdc11ed9ea fix(reader): restore font-controls closing brace and fix desktop popup and settings panel styling 2026-10-05 16:25:56 +03:00
Antigravity 84e9be614e feat(reader): implement full appearance customization panel with themes, fonts, margins, line-height, and localStorage persistence 2026-10-05 16:15:20 +03:00
Antigravity c0fdcd776b feat(mobile): implement iOS Safari responsive layout, bottom tab bar, and mobile bottom sheet 2026-10-05 16:08:05 +03:00
Antigravity d5e9354016 docs(todo): add mobile layout optimization task 4 and move bookmarklet to coming soon 2026-10-05 15:43:05 +03:00
Antigravity d5071c8ac9 fix(frontend): restore DOMContentLoaded wrapper in app.js and render login overlay by default 2026-10-05 15:28:31 +03:00
Antigravity 99741c386e fix(auth): implement DB-first auth, persistent bearer token, secure cookies, and CLI reset_password script 2026-10-05 15:23:37 +03:00
Antigravity a73bdc29fd feat: prevent duplicate cards, merge contexts, and display star badge when word is in library 2026-10-05 15:15:06 +03:00
Antigravity f52820fff6 docs(todo): add task 3 for word deduplication and duplicate prevention 2026-10-05 15:06:30 +03:00
Antigravity 2ba78191df docs: add BOOKS_SOURCES.md reference guide for free English books 2026-10-05 14:22:24 +03:00
Antigravity 25576de87a feat(perf): enable GZipMiddleware reducing static transfer size by 81.7% 2026-10-05 14:10:55 +03:00
Antigravity 1ee39d66bd fix(html): close change-password-modal divs so reader-word-popup is not trapped inside hidden modal 2026-10-05 13:49:43 +03:00
Antigravity ca70580e62 feat(reader): full Markdown and HTML rendering for GitHub READMEs, tables, images and links 2026-10-05 13:30:00 +03:00
Antigravity c5e0e2dcfa fix(reader): mount app volume in docker-compose, move popup to body root and add smooth scroll tracking 2026-10-05 13:02:37 +03:00
Antigravity cbd65decd5 feat(reader): full markdown rendering, styled code blocks and precise popup positioning 2026-10-05 12:52:59 +03:00
Antigravity e7586ee1b4 docs(todo): add reader popup positioning bugfix task 2026-10-05 12:44:10 +03:00
Antigravity 92b63abe9b docs: add sequential TODO backlog with prioritized technical tasks 2026-10-05 12:42:50 +03:00
Antigravity dae0d525c7 chore: disable legacy audio proxy and hide audio controls 2026-10-05 12:40:58 +03:00
Antigravity 4e52cab88e fix(reader): fix reader word popup translation key and sanitize token lookup 2026-10-05 11:47:07 +03:00
Antigravity d8a2c6e34f feat: implement Stage 5 (Interactive Reader, EPUB/TXT parser, Bookshelf, Click-to-Translate) and Stage 4.3 (Strict CEFR level calculation) 2026-10-05 11:42:13 +03:00
Antigravity c51c505b61 fix(ui,auth): fix login overlay styles, PWA service worker scope, favicon, and update user config to kopri 2026-10-05 11:19:56 +03:00
Antigravity d82bb9e8e9 feat(nginx): add reverse proxy configuration for study.qpid.pro 2026-10-05 11:03:50 +03:00
Antigravity 83f19168db feat(docker): add Dockerfile and docker-compose.yml for containerized deployment 2026-10-05 10:45:49 +03:00
Antigravity b5025b3966 docs(roadmap): add Stage 5 Interactive Reader with source auto-tagging and tag-scoped SRS tests 2026-09-23 13:32:02 +00:00
Antigravity 8c702dbafa docs(roadmap): add planned active CEFR vocabulary calculation with retention weighting 2026-09-23 10:55:02 +00:00
Antigravity a74b0dbf64 fix(ui): restore dictionary card styles and clean up activity heatmap labels 2026-09-23 10:22:15 +00:00
Antigravity 2294121777 feat(trainer): add GitHub activity heatmap, 4-option quiz mode, active typing, and duplicate checks 2026-09-23 10:02:29 +00:00
Antigravity d31c77fdd0 fix(ui): align batch select button and search input in one row 2026-09-23 09:38:41 +00:00
Antigravity 0b7f2a7b4d docs(todo): add duplicate word prevention and merging requirement 2026-09-23 09:31:38 +00:00
Antigravity ad6f430d8f docs(mentor): update learning strategy, smart quiz algorithms, and session context 2026-09-23 05:54:23 +00:00
Antigravity f8b0cedfc6 fix(audio): support HEAD method on audio proxy route 2026-09-22 13:28:20 +00:00
Antigravity 5fdb55e11a docs(plan): mark Stage 1 as completed 2026-09-22 13:27:22 +00:00
Antigravity 813d567b0e feat(core): implement secure MVP core with dictionary search, auth, and CRUD 2026-09-22 13:27:11 +00:00
Antigravity 4dbc53890a docs(plan): update roadmap with security layer (auth, sessions, rate-limit) and general english scope 2026-09-22 13:09:18 +00:00