51 Commits
Author SHA1 Message Date
Antigravity 7871191c90 fix & feat: resolve user reports #1 through #8 (TTS voice & speed, modals, scrollbar, CEFR hint, SRS grammar exclusion, global word lookup) 2026-10-08 12:37:41 +03:00
Antigravity 8cffae46fa feat(feedback): implement ChipDip-style floating dev feedback & bug report widget with markdown sync 2026-10-08 11:53:18 +03:00
Antigravity e1cacde543 fix(reader): keep word translation popup as compact block on desktop without full-width stretch 2026-10-08 11:46:44 +03:00
Antigravity f10965eff5 feat(reader): implement FEAT-01 Focus Zen Mode (100% vh/vw, auto-hiding HUD, hotkeys F/Esc, native fullscreen) 2026-10-08 10:45:09 +03:00
Antigravity 9bbc9473de fix: resolve bugs 01 through 08 and set Ollama TTL to 1h 2026-10-07 19:19:49 +03:00
Antigravity 6c2d94773c fix(lesson): import missing shuffleArray, escapeRegex, playAudio, playTextSpeech from ui.js 2026-10-07 13:51:48 +03:00
Antigravity e0775fd0d4 fix(lesson): support quiz mode and improve responsive layout for mobile and laptop 2026-10-07 13:50:13 +03:00
Antigravity 640da1f27c fix(frontend): export ui object, harmonize API signatures, and clean view switcher 2026-10-07 13:13:45 +03:00
Antigravity 718e9797eb feat(lessons): implement comprehensive lesson configurator, session runner and AI debrief (Beta) 2026-10-07 13:03:16 +03:00
Antigravity 31e105b2c2 feat(tts): multi-voice switcher for EN & RU, Irina default voice, punctuation pause normalization and speed calibration 2026-10-07 12:07:01 +03:00
Antigravity 7893b353aa feat(listening): interactive listening comprehension trainer with neural voiceover and auto-evaluation 2026-10-07 10:57:10 +03:00
Antigravity a6fb4349e9 feat(tts): integrate autonomous Piper neural TTS with zero-latency pre-warming for words and context 2026-10-07 10:40:02 +03:00
Antigravity dee9b8d10b feat(reader): autonomous Wikipedia import and reading with media, tables and settings 2026-10-07 09:47:33 +03:00
Antigravity 532e2ec3b2 fix(ai,reader): robust sentence segmentation without abbreviation cutoffs & context-aware literary translation
- Implement robustSentenceSplit across reader.js and backend (miner.py, cefr.py) to prevent false cutoffs on honorifics (Mr., Mrs., Dr.), single-letter initials (John F. Kennedy), decimals, acronyms (U.S., U.K.), and abbreviations (No. 4, etc.)
- Upgrade translation prompt to professional literary Russian, eliminating literal word-for-word translation and preserving titles/honorifics
- Inject surrounding paragraph context into translation API to avoid out-of-context translations
- Inject offline dictionary hints into LLM prompt for accurate contextual word meaning
- Prefer qwen2.5:3b for higher translation fluency and fidelity
- Purge truncated cache entries from sentence_translations and restore Card 30 (briefcase) with authentic full sentence
- Bump Service Worker cache to notes-v6.0
- Add unit tests for robust sentence splitting, prompt formatting, and translation API
2026-10-06 22:32:36 +03:00
Antigravity 3098d3016d fix(cefr): resolve authentic context sentence per term and repair legacy SRS cards
- Add resolve_context_sentence_for_term to replace placeholder blanks and lookup authentic sentences from cefr_questions or books
- Fix dual mistake ingestion in process_cefr_answer to assign distinct context to target and chosen distractor
- Provide authentic context_sentence in options_breakdown and pass it via data-context in cefr.js
- Add repair_mismatched_cefr_contexts in database.py to automatically repair cards with placeholder blanks
- Bump Service Worker cache to notes-v5.9
- Add test_cefr_context_resolution_and_repair covering resolution, dual ingestion, manual add, and DB repair
2026-10-06 22:17:51 +03:00
Antigravity 82b7a654ca feat(reader): добавить парсер RFC из RFC Editor и отдельную группу спецификаций на книжной полке
- Реализован парсер RFC в app/reader.py с авто-загрузкой с rfc-editor.org и datatracker.ietf.org
- Очистка пагинации ([Page X], \x0c) и разбиение спецификаций на структурированные главы (TOC, разделы)
- Эндпоинт POST /api/books/fetch-rfc с защитой от дублирования и поддержкой номеров/URL
- Визуальное разделение на книжной полке через hr-разделитель и блок спецификаций IETF & RFC
- Быстрые пресеты стандартов (HTTP/1.1, HTTP/2, TLS 1.3, OAuth 2.0, WebSocket, QUIC, TCP, DNS)
- Интеграция в интерактивную читалку (перевод по клику, авто-захват контекста, SRS карточки)
- Unit-тесты парсера и API (31/31 passed) и обновление Service Worker кэша
2026-10-06 21:46:07 +03:00
Antigravity e73d3470b3 feat(ui): unify header and implement navigation drawer (Task 17)
- Redesign top header into clean, uncluttered layout with hamburger drawer trigger, clickable logo, central SRS focus badge, theme toggle and profile avatar
- Implement unified responsive Navigation Drawer for both desktop and mobile with touch swipe-to-dismiss, backdrop blur, keyboard Esc support and background scroll lock
- Streamline mobile bottom tab bar to 4 core actions (Dictionary, SRS, Reader, Menu) with Menu opening the unified drawer
- Synchronize real-time SRS due badges and dictionary word statistics between header, bottom tabs, and drawer
- Eliminate obsolete separate mobile-menu-modal in favor of unified drawer
- Bump Service Worker cache version to notes-v5.7
2026-10-06 21:28:25 +03:00
Antigravity 0ff4465d34 fix(reader): preserve full context sentence with abbreviations (Mr., Mrs., etc.) and log bug fix 2026-10-06 17:03:38 +03:00
Antigravity c9da5bd351 feat: background tasks manager and book sentence mining for CEFR tests 2026-10-06 16:36:39 +03:00
Antigravity 332286b641 fix(cefr): fix ReferenceError q is not defined in handleOptionTap, bump PWA to v5.4 2026-10-06 16:12:05 +03:00
Antigravity 15d4987977 fix(auth, pwa): restore api.auth.me, bump PWA cache to v5.3, and fix CEFR CSS styling 2026-10-06 16:04:58 +03:00
Antigravity a2eb26ced5 feat(cefr): dual mistake ingestion, 1-tap options breakdown, and 260 curated questions 2026-10-06 15:57:07 +03:00
Antigravity 4d58002b48 Implement Task 16: Murphy Grammar Engine & Handwritten Journaling 2026-10-06 15:42:10 +03:00
Antigravity 3fae321322 feat(cefr): CEFR level testing and automated gap ingestion engine (Task 15) 2026-10-06 15:24:33 +03:00
Antigravity 1c3f03a64c feat(reader): multi-word and phrasal verb detector in reader (Task 14) 2026-10-06 15:16:02 +03:00
Antigravity 37a1f1ab35 feat(ai): integrate local Ollama AI for in-context sentence translation and caching (Task 13) 2026-10-06 15:05:24 +03:00
Antigravity 0c5951df8d fix(reader): render full book in continuous mode with smooth chapter jumping and scroll tracking 2026-10-06 14:40:32 +03:00
Antigravity 21d94acf4e feat: decompose frontend into native ES modules (zero bundlers, zero npm) 2026-10-06 14:27:30 +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 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 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 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 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 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 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