61 Commits

Author SHA1 Message Date
9752b18529 Add dark theme support and bookmark status to share view
- Implement dark/light theme toggle with persistent preference via
  localStorage
- Add a sticky toolbar with theme toggle, Markdown export, and PDF
  export buttons
- Update bookmark button to reflect current state with visual feedback
- Introduce CSS custom properties for theming and responsive layout
  improvements
2026-05-26 20:19:58 -04:00
d4896a5df1 Sync YAML frontmatter with share and bookmark actions 2026-05-26 20:02:37 -04:00
8fdcdaf412 Add search toggles, path filters, and find/replace functionality 2026-05-26 13:35:38 -04:00
6c282ac77f Add index change hook for incremental updates 2026-05-26 12:43:38 -04:00
775722f5d4 Switch inverted index from stale check to incremental updates
Register a hook with the indexer so that file add/remove events
incrementally maintain the inverted index, removing the need for
periodic staleness checks and cooldowns. Rebuild the index once on
startup via init_inverted_index().
2026-05-26 12:37:59 -04:00
b38f3f16e4 Coalesce index generation increments and add rebuild cooldown 2026-05-26 11:42:47 -04:00
0b611a8735 Add share, webhook, and conflict management features 2026-05-26 11:00:48 -04:00
ed2bb4f7fb Add missing imports and clear backlink index
Resolve build index regression causing stale backlink data on reindex.
2026-05-26 10:35:22 -04:00
482937fb30 Add audit logging, rate limiting, secret redactor, and backlinks
Implement several security and feature improvements across the backend
and frontend:
- New IP-based rate limiter for authentication endpoints
- New audit logging system for sensitive operations
- New secret redactor to mask sensitive patterns in rendered content
- Configurable token TTL and IGNORED_DIRS via environment variables
- Add backlink index and API endpoint
- Add preview tab support with single/double-click behavior in tree
- Add file backup before write/delete operations
2026-05-26 10:27:00 -04:00
370420aa00 ajout de fonctionnalités 2026-05-25 20:21:42 -04:00
e1fcbe9ce7 feat: expand CSP connect-src directive and add async loading guard for highlight.js in popout view
- Add cdnjs.cloudflare.com, fonts.googleapis.com, and fonts.gstatic.com to connect-src CSP directive
- Add waitForHljs helper function with 50 attempt limit and 100ms polling interval
- Check if hljs is defined before highlighting code blocks in popout view
- Fall back to async waiting if hljs not immediately available to prevent undefined reference errors
2026-04-12 17:06:35 -04:00
89c6889f42 feat: add matched_path field to tree search results for consistency with advanced search response format 2026-03-31 14:35:16 -04:00
84d3ad0e90 feat: add ext: operator for file extension filtering in advanced search
- Add ext: operator support to query parser in backend and frontend
- Update search documentation in README and help modal with ext: examples
- Parse ext: operator to extract file extension filter (strips leading dot, converts to lowercase)
- Filter search candidates by file extension in advanced_search function
- Add ext chip display in search UI alongside existing tag/vault/title/path chips
- Update API documentation and function
2026-03-31 13:41:07 -04:00
d3b9298dfa feat: add file and directory management endpoints with context menu support
- Add POST/PATCH/DELETE endpoints for directory operations (create, rename, delete)
- Add POST/PATCH endpoints for file operations (create, rename)
- Implement writable vault check to prevent modifications on read-only vaults
- Update file delete endpoint to broadcast SSE events and update index
- Add Pydantic models for all new request/response schemas
- Integrate context menu support in frontend for files and directories
- Broadcast real
2026-03-30 15:26:44 -04:00
960a06f189 feat: Initialize ObsiGate application with core frontend and backend components. 2026-03-27 14:37:23 -04:00
f71d97e06c feat: Implement core application structure with frontend styling, JavaScript, and Python backend services. 2026-03-27 13:54:08 -04:00
0bbd793e97 feat: Implement core Python FastAPI backend for user authentication, vault management, and file operations. 2026-03-27 10:11:43 -04:00
508e4c5997 feat: Implement persistent vault-specific settings management, including loading, saving, and updating preferences. 2026-03-26 21:20:01 -04:00
413524c3bf feat: introduce initial ObsiGate Single Page Application with Python backend for vault browsing and search. 2026-03-26 21:02:58 -04:00
3ae430aaa6 feat: implement core backend API with data models, SSE, index management, and initial admin bootstrap. 2026-03-26 20:18:56 -04:00
2b69c49ed1 refactor: remove hidden files indexing configuration and convert to UI-only display preference, eliminating includeHidden and hiddenWhitelist from vault config and indexing logic while adding hideHiddenFiles client-side filtering 2026-03-26 19:53:40 -04:00
34f4e41419 feat: add comprehensive error handling and logging for vault settings save operations with permission error detection and detailed error messages in UI toast notifications 2026-03-26 16:00:27 -04:00
ac962bd416 feat: add per-vault reindexing with selective reload based on modified vaults, simplify hidden files whitelist logic to include all sub-hidden files when parent is whitelisted, and auto-uncheck includeHidden when adding whitelist items 2026-03-26 15:08:01 -04:00
80e2a7fc53 feat: fix hidden files whitelist logic to require ALL hidden path components be whitelisted, add vault config to single file indexing, and improve reindex button feedback with save phase indication 2026-03-26 14:14:04 -04:00
08e4d732f5 feat: merge UI vault settings with environment config, improve French UI text clarity, and enhance hidden files whitelist styling with hover effects and empty state 2026-03-26 09:24:56 -04:00
fe3ffe5860 refactor: extract should_include_path to utils module to resolve circular import between indexer and attachment_indexer 2026-03-26 09:10:09 -04:00
9e42fb072b feat: add hidden files configuration with per-vault settings for includeHidden and hiddenWhitelist, supporting environment variables and UI controls for selective indexing of dot-prefixed files and folders 2026-03-25 09:54:34 -04:00
1baad8eab9 feat: change config path from relative to absolute /app/data/config.json for Docker deployment 2026-03-25 07:47:11 -04:00
f22a2abae8 feat: add Progressive Web App (PWA) support with service worker registration, manifest, update notifications, and install prompts 2026-03-24 23:55:15 -04:00
d020264ba3 feat: extend file watcher to support all indexable file types beyond markdown 2026-03-24 16:38:35 -04:00
c5e395005f feat: implement initial ObsiGate application with backend API, indexing, search, and basic frontend. 2026-03-24 12:56:00 -04:00
d6ae501f51 feat: Implement initial backend indexer for vaults, supporting file system scanning, markdown parsing, and in-memory metadata indexing. 2026-03-24 12:32:19 -04:00
d76ad89f09 feat: Introduce initial web frontend and backend services, and generalize directory configuration in docker-compose. 2026-03-24 12:24:43 -04:00
0b9405283e feat: Implement backend file indexing for vaults and initial frontend application. 2026-03-24 10:52:53 -04:00
46e054f5dd feat: Introduce core backend application with authentication API and a new popout HTML page. 2026-03-24 09:51:38 -04:00
5e300f9ada feat: implement initial frontend SPA with advanced search, query parsing, and autocomplete suggestions. 2026-03-24 09:41:03 -04:00
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
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
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
757b72c549 Add real-time file synchronization with watchdog, SSE notifications, and dynamic vault management API 2026-03-23 14:16:45 -04:00
b40fcae62f Add advanced search engine with inverted index, thread pool execution, configuration API, and comprehensive diagnostics 2026-03-23 13:21:20 -04:00
af7d1c0d2e Reduce logging verbosity by downgrading frontmatter and permission warnings to debug level 2026-03-23 12:18:04 -04:00
e171a0dc35 Add advanced TF-IDF search with autocomplete, query operators, facets, pagination, and accent normalization 2026-03-23 12:09:46 -04:00
ba6271b89b Improve image path regex to handle spaces, parentheses, and emojis in standard markdown image links with greedy matching and path trimming 2026-03-23 11:08:26 -04:00
175ac3dea8 Add comprehensive Obsidian image rendering with multi-strategy resolution, attachment indexing, and API endpoints for image serving with MIME type detection and rescan functionality 2026-03-23 10:00:48 -04:00
29bdc52cef Add comprehensive error handling to raw file API endpoint with permission checks, binary file fallback, and detailed logging for read operations 2026-03-23 00:43:35 -04:00
db70d51c65 Add case-insensitive path validation for Windows/Docker compatibility, improve error handling in file API with binary file support and enhanced logging for path resolution and file read operations 2026-03-22 23:58:48 -04:00
1129d1bca5 Add multi-language syntax highlighting to source editor, improve copy button to copy raw file content, and add permission error handling to file API endpoint 2026-03-22 23:52:10 -04:00
8e1ae4be26 Optimize tree search with pre-built path index for O(1) vault lookup and eliminate filesystem traversal by indexing all directories and files during vault scan 2026-03-22 23:00:35 -04:00
6a782750de Add reload endpoint response model for per-vault indexing statistics 2026-03-22 22:08:42 -04:00