Commit Graph
13 Commits
Author SHA1 Message Date
bruno 93d0bda627 feat: PDF support + Split View (P1 roadmap items)
#74 — Support PDF complet:
- backend/pdf_reader.py — pymupdf/pypdf text extraction
- .pdf added to SUPPORTED_EXTENSIONS in indexer.py
- PDF-aware file view API endpoint (metadata, text preview)
- Streaming endpoint /api/file/{vault}/pdf/stream
- Frontend PDF viewer with iframe, toolbar, download
- CSS for PDF viewer container

#75 — Split View (PaneManager):
- New module frontend/js/pane-manager.js — ES module
- 1-4 pane CSS grid with resize handles
- Split right/down via keyboard (Ctrl+Alt+\) or PaneManager API
- Persistence in localStorage (obsigate-panes)
- Collapse to single pane, per-pane active state

285 tests passent
2026-07-23 17:33:51 -04:00
bruno b92fd3da08 feat: AI Editor — toolbar avec menus dropdown, multi-provider (DeepSeek/OpenRouter/Gemini)
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 11s
2026-05-30 16:44:42 -04:00
bruno 23fa003422 feat: French stemming (snowballstemmer) — 'recettes' matches 'recette', 'mangeons' matches 'manger'
CI / test (push) Has been cancelled
CI / security (push) Has been cancelled
CI / build (push) Has been cancelled
CI / lint (push) Has been cancelled
Add French snowball stemmer to tokenization pipeline:
- Index both original tokens AND their stems in InvertedIndex
- Query terms are also stemmed before lookup
- Stemmed forms accumulate TF from all original forms
- Lazy-init singleton pattern for stemmer
2026-05-28 13:15:37 -04:00
bruno 7b2da1ff6a feat: CI/CD pipeline + sortedcontainers for O(log n) index ops
CI / lint (push) Failing after 2m3s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after 10s
CI/CD (.gitea/workflows/ci.yml):
- Lint: ruff + mypy on every push/PR
- Test: pytest with coverage report (175 tests)
- Security: bandit SAST + pip-audit dependency scan
- Build: Docker image verification

sortedcontainers (backend/search.py):
- Replace bisect with SortedList for _sorted_tokens
- O(log n) add() / discard() instead of O(n) insort/pop
- SortedList.bisect_left() for prefix search
- Add sortedcontainers>=2.4.0 to requirements.txt
2026-05-27 22:47:28 -04:00
bruno c79202716c Add WeasyPrint PDF export for markdown files 2026-05-26 21:22:02 -04:00
bruno 0b611a8735 Add share, webhook, and conflict management features 2026-05-26 11:00:48 -04:00
bruno 3b7c59c7be feat: Update Dockerfile to include libc6-dev and version 1.4.0, and add backend/requirements.txt for dependencies. 2026-03-23 16:04:00 -04:00
bruno b6ffb45ad7 feat: Introduce optional JWT and Argon2id authentication with user management and access control, updating documentation and backend dependencies. 2026-03-23 15:56:35 -04:00
bruno 190f47f134 feat: Introduce a comprehensive authentication system, including user management, JWT handling, and initial frontend components with Docker support. 2026-03-23 15:44:37 -04:00
bruno 757b72c549 Add real-time file synchronization with watchdog, SSE notifications, and dynamic vault management API 2026-03-23 14:16:45 -04:00
bruno 8a22c1db28 Update FastAPI version to 0.110.3 for improved Docker compatibility and document additional excluded dependencies 2026-03-21 10:31:39 -04:00
bruno 5c620a0b63 Update Docker commands to include --build flag and switch to minimal uvicorn variant 2026-03-21 10:13:59 -04:00
bruno e76e9ea962 first commit 2026-03-21 09:52:44 -04:00