Commit Graph
636 Commits
Author SHA1 Message Date
bruno cbe51a2849 fix: Search section title → Search
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
2026-06-18 16:41:17 -04:00
bruno 2f88c22fda fix: full i18n for Tags help section
CI / lint (push) Failing after 21s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
- Tag cloud intro + all 4 bullet descriptions
- Inline vs frontmatter: intro + Frontmatter/Inline/Fusion descriptions
- Template filtering: intro + Patterns/Regex/AddRemove descriptions
- 12 fixes total, all EN translations provided
2026-06-18 16:40:37 -04:00
bruno 29b93c933e fix: Tab Mgmt intro + 6 FR descriptions in Tab/Search sections
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
- Tab: intro paragraph + Ctrl+Shift+Tab → Previous tab
- Search: History, Colors, Tag facets, Sort by date all → EN
2026-06-18 16:38:55 -04:00
bruno 306951837c fix: missing EN translations for Icons + Clear in Navigation
CI / lint (push) Failing after 18s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
2026-06-18 16:30:51 -04:00
bruno 6653c7965a fix: raw i18n keys + truncated paragraphs in Navigation section
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
- Added missing help.desc_filter_usage + help.desc_vault_context keys
- Fixed truncated auto paragraphs (full text now in locale)
- All truncated paragraphs restored to complete text
2026-06-18 16:30:28 -04:00
bruno b587147c81 fix: i18n help introduction hero — badges + stat labels
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 12s
- 5 feature tag badges: data-i18n on span.help-badge
- 3 stat labels: Experience, Search → English
- Access label fixed with dedicated key
- All EN translations provided
2026-06-18 16:19:35 -04:00
bruno 866b3008cc fix: full i18n for Tab Management + Search help sections
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 9s
- 5 EN translations fixed for tab feature descriptions
- 16 Search section LI descriptions + paragraphs wrapped in data-i18n
- Search operators, autocomplete, filter chips, facets all translated
- Examples and combined example paragraphs tagged
2026-06-18 16:16:27 -04:00
bruno 57a7eb480d fix: full i18n for Navigation + Tabs help sections
CI / lint (push) Failing after 18s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
- 15 LI descriptions wrapped in data-i18n spans
- 2 filter paragraphs tagged
- 3 tab navigation descriptions fixed
- All EN translations provided
- 914 locale keys
2026-06-18 16:12:02 -04:00
bruno c997183fca chore: remove helper script
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
2026-06-18 15:59:40 -04:00
bruno 661989d85d fix: wrap 73 LI descriptions across all help sections with data-i18n
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
Pattern: <li><strong>TERM</strong> : French desc → wrapped in <span data-i18n>
Covers: Navigation, Tabs, Search, Tags, Files, Editing, Graph,
AI Editor, Palette, Shortcuts, Sharing, Webhooks, Backups,
Security, Customization, Tips sections
901 locale keys, 442 data-i18n attributes
2026-06-18 15:59:19 -04:00
bruno 62378a9352 fix: wrap all LI descriptions in help-interface with data-i18n spans
CI / lint (push) Failing after 23s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
16 descriptions after <strong> now wrapped in <span data-i18n>
All have EN translations (Show/hide sidebar, Return to home, etc.)
Fixed broken hamburger span ('obile)' → '(mobile)')
2026-06-18 15:52:40 -04:00
bruno b4fefe483e fix: tag + translate all help body headings and paragraphs
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
- 36 new data-i18n tags on h2/h3/p in help modal body
- Fixed concatenated attributes (pdata-i18n → p data-i18n)
- All section headings translated (Palette, AI Editor, Search, etc.)
- 827 locale keys total, 354 data-i18n attributes
- Help guide title 'Guide utilisation ObsiGate' now translated
2026-06-18 15:43:54 -04:00
bruno 31d8c2603e fix: complete help guide i18n — all body text translated
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 9s
- Help badges, stat labels, headings tagged
- All <li> descriptions after <strong> wrapped in data-i18n
- 30 text fragments in help body tagged + EN translations
- 791 locale keys total, 0 untranslated help keys
- Emojis preserved in nav items
2026-06-18 15:27:04 -04:00
bruno 7977cb89aa fix: admin table i18n + emoji preservation in nav items
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 9s
- Admin panel: table headers, data values, date locale-aware
- Settings/help nav: emojis added to locale values (🔍🔧🔄 etc.)
- auth.js: getLocale import, t() for all user-facing strings
- Added common.never + 6 admin column keys
- 746 locale keys per language
2026-06-18 15:16:08 -04:00
bruno bd8d6ccf63 feat: complete i18n — all French text tagged + translated
CI / lint (push) Failing after 18s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
- 82 new data-i18n tags on remaining French text in index.html
- 80 auto-generated keys translated to English
- 315 total data-i18n attributes, 739 locale keys per language
- Help body paragraphs, settings descriptions, about footer
- Dashboard quick help, config parameter labels
- ALL user-visible text now has i18n coverage
2026-06-18 15:01:00 -04:00
bruno 2c4f9c6967 fix: tag settings nav items + dashboard quick help labels
CI / lint (push) Failing after 20s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 14s
- Settings sidebar: 6 items with emoji prefixes → data-i18n
- Settings content: 20+ section/label items tagged
- Dashboard quick help: section title + shortcut descriptions
- About modal: built-with section
- 233 total data-i18n attributes
2026-06-18 14:55:01 -04:00
bruno b03b057f66 fix: i18n for help modal nav, settings nav, about modal, header menu
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 9s
- Help modal: 18 nav links with data-i18n, title, search placeholder
- Settings sidebar: 7 nav items tagged (Recherche..Themes)
- About modal: subtitle tagged
- Header dropdown: all 7 menu items tagged
- 226 total data-i18n attributes in index.html
2026-06-18 14:53:11 -04:00
bruno 31b7f4c569 fix: translate dashboard tabs, header menu items
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
- showWelcome() dashboard: all tabs, empty states, hints → ${t()}
- Header dropdown: 7 menu items with data-i18n (Thème..Déconnexion)
- 61 new locale keys for dashboard, settings nav, help nav, about
- Total: 658 keys per language
2026-06-18 14:47:18 -04:00
bruno 1a27e95c1a fix: admin panel template literal — ' + t() + ' → ${t()}
CI / lint (push) Failing after 18s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 11s
The concatenation syntax was literal text inside backtick template,
showing raw code on screen. Fixed both admin.title and admin.new_user.
2026-06-18 14:44:40 -04:00
bruno 044395500f fix: missing closing paren in t() call causing SyntaxError in ui.js
CI / lint (push) Failing after 18s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
The template literal ${t('modal.in_folder', {path: parentPath || '/'}\nwas missing the closing )} — the / after || was interpreted\nas the start of a regex literal, causing:\n  Uncaught SyntaxError: Invalid regular expression: missing /

Fixed both occurrences (directory + file create modals).
2026-06-18 14:28:49 -04:00
bruno bc7875bc8e chore: remove i18n migration helper scripts
CI / lint (push) Failing after 18s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 9s
2026-06-18 14:18:40 -04:00
bruno 0403be4516 feat: complete i18n coverage — all dynamic content translated
CI / test (push) Has been cancelled
CI / security (push) Has been cancelled
CI / build (push) Has been cancelled
CI / e2e (push) Has been cancelled
CI / lint (push) Has been cancelled
All remaining French strings converted to t() calls:
- ui.js: create/delete file/dir modals, rename/copy/bookmark toasts
- palette.js: confirm dialogs, error toasts
- search.js: result summary text with interpolation
- config.js: about/diagnostics section labels
- auth.js: admin panel title
- viewer.js: forge popout labels
- dashboard.js: shared widget buttons, date locale-aware

57 new locale keys for dynamic content (modals, toasts, admin, about)
Total: 597 keys per language

All 26 modules validated — 163 exports, 0 errors
2026-06-18 14:18:25 -04:00
bruno f91a386566 feat: comprehensive i18n coverage — all static text + auto-translate toasts
CI / lint (push) Failing after 18s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 9s
Locale files expanded to 300+ keys covering all sections:
- Header menu, sidebar, search, viewer, editor, AI toolbar
- Config modal (all sections), help modal, dashboard, graph, mermaid
- Context menus, offline UI, palette, auth, shares, backups
- All toasts and confirmations

Automatic data-i18n tagging in index.html (177 attributes)
via Python script — handles all user-facing static text nodes.
Zero concatenation errors verified.

i18n.js: added tr() reverse-lookup function
(French text → key → current locale translation)

ui.js: showToast() now auto-translates via tr()
— all 24 existing toast call sites benefit automatically
2026-06-18 14:01:37 -04:00
bruno f85482214e feat: i18n system - French/English internationalization
CI / lint (push) Failing after 20s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 9s
Core: i18n.js module with t(), setLocale(), initI18n()
- Flat key→string JSON locale files (fr.json + en.json, 165 keys)
- data-i18n / data-i18n-placeholder / data-i18n-attr DOM attributes
- Live locale switch via setLocale() - no page reload
- Language detection: localStorage > navigator.language > 'fr'
- Fallback: missing key → French → raw key

Wired into:
- app.js: await initI18n() early in init()
- config.js: profile save → await setLocale(), toasts + confirm via t()
- auth.js: network error toast via t()
- index.html: data-i18n on login form, profile section, search placeholder
2026-06-18 13:31:11 -04:00
bruno daab917ed1 Add autocomplete status check and restructure test environments
CI / lint (push) Failing after 26s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
Add Ollama autocomplete status endpoint to AI routes, update sync panel
UI to display autocomplete state, replace monolithic test compose files
with separate Linux/Windows variants, and add PowerShell build script
for Windows deployment
2026-06-18 09:40:09 -04:00
bruno 8acfd1f19a fix: OLLAMA env vars dans environment (pas env_file)
CI / lint (push) Failing after 3s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -8s
2026-06-16 14:25:17 -04:00
bruno 32b1c0438b fix: ajout Ollama dans docker-compose.yml (production)
CI / lint (push) Failing after 3s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-16 13:02:22 -04:00
bruno 83279b536f fix: logout supprime access_token cookie + bouton toujours visible
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -8s
- Backend: delete_cookie access_token (/) + refresh_token
- Logout ne requiert plus auth (graceful si token expire)
- Bouton Deconnexion toujours visible dans le menu
2026-06-16 12:43:50 -04:00
bruno 9f382e4960 fix: logout redirige vers / (page login) au lieu de reload
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -6s
2026-06-16 12:39:44 -04:00
bruno 6c2a9f716a fix: bouton Enregistrer + Deconnexion dans Profil — style harmonieux
CI / lint (push) Failing after 3s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -8s
- config-save-btn: fond accent, texte blanc, border-radius 6px
- Bouton Deconnexion: fond danger-bg, texte danger
- Logout dans initProfile via /api/auth/logout
2026-06-16 12:33:32 -04:00
bruno 85efc068c4 fix: AuthManager import + openConfigModal reference erreur
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-16 12:29:54 -04:00
bruno c4b797f0b4 feat: Profil + Deconnexion dans le menu header (⚙️)
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
- Profil: ouvre Config → scroll vers section Profil (langue, nom)
- Deconnexion: logout via /api/auth/logout, visible si auth activee
- Redemarrage: window.location.reload apres logout
2026-06-16 12:17:45 -04:00
bruno 0a0cecf178 feat: section Profil (langue) + ghost text lie a la langue
CI / lint (push) Failing after 10s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -4s
- Section Profil dans Configuration: langue (fr/en/es/de), nom
- Persistance localStorage (obsigate-lang, obsigate-name)
- Ghost text adapte le prompt a la langue du profil
- CSS profile-form, config-select stylise
2026-06-16 12:14:05 -04:00
bruno 2d03586ae0 fix: prompt ghost enrichi (contexte phrase) + trim espaces au Tab
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
- Mid-word: prompt avec contexte de la phrase + exemple
- acceptGhost: trim leading whitespace pour eviter double espace
- Prompt plus direct pour le modele 1.5B
2026-06-16 12:06:01 -04:00
bruno 21ee6265d3 fix: ghost text post-process strip input prefix + mid-word isolation
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -8s
- Mid-word: extrait le mot partiel, demande ONLY remaining letters
- Post-process: strip le texte d'entree du debut de la reponse
- Support caracteres accentues dans la regex mid-word
- Prompt plus direct: Complete this word / Continue this text
2026-06-16 12:01:38 -04:00
bruno 9792c6a08b fix: ghost text visible (innerHTML + span) + IA flexible mot/phrase/bloc
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -6s
- showGhost utilise innerHTML avec span.ghost-prediction (etait invisible)
- Prompt intelligent: mid-word = complete le mot, sinon complete 1-2 phrases
- Seuil reduit: 1 caractere minimum (au lieu de 3)
- Detection doublon amelioree (trimStart)
- Timeout reduit: 800ms → 600ms
2026-06-16 11:55:12 -04:00
bruno eef01ee32a feat: ghost text AI inline + Ollama qwen2.5-coder:1.5b
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -6s
- Ollama provider ajoute dans ai.py (OpenAI-compatible API)
- Service ollama dans docker-compose (auto-pull qwen2.5-coder:1.5b)
- Ghost overlay dans Forge: prediction en texte pale apres le curseur
- Tab pour accepter, Escape pour rejeter, taper pour annuler
- Declenchement automatique apres 800ms de pause
- Scroll sync entre overlay et textarea
- Env vars: AI_DEFAULT_PROVIDER, OLLAMA_BASE_URL, OLLAMA_MODEL
2026-06-16 11:42:28 -04:00
bruno 994a6e1749 fix: dropdown autocomplete centre sous textarea + code nettoye
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -6s
2026-06-16 10:59:58 -04:00
bruno fa4b17d9e9 fix: curseur positionne sur la nouvelle ligne (pas en fin de fichier)
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -8s
2026-06-16 10:54:21 -04:00
bruno 4d0d1420df fix: continuations liste/checkbox/ol preservent le texte apres curseur (+after)
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -8s
2026-06-16 10:52:07 -04:00
bruno 9a868fd465 fix: line numbers — uniform font-size 13.5px + updateLineNumbers apres loadFile
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-16 10:45:40 -04:00
bruno d3b8062b6e fix: autocomplete fallback markdown + error catch
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -8s
2026-06-16 10:40:03 -04:00
bruno dab76c86f3 fix: position autocomplete dropdown — fixed viewport + getCaretCoordinates overflow visible
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-16 10:36:39 -04:00
bruno 4379f0c844 fix: list continuation ligne complete + autocomplete lazy-load
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -8s
- Listes: reconstruit fullLine (before+after) pour matcher regex milieu de ligne
- curseur dans le prefixe → laisse le navigateur gerer (pas d'interception)
- Autocomplete: suggest/detectContext charges via import() dynamique
- Alt+Backslash gere les deux variantes de key (\ et Backslash)
2026-06-16 10:29:41 -04:00
bruno 36c1546098 fix: header Forge — affiche Forge + titre/fichier, restaure ObsiGate a la fermeture
CI / lint (push) Failing after 10s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-16 10:13:19 -04:00
bruno 5fc110a1b2 fix: checkbox vide casse la liste + raccourci Alt+\ pour autocomplete
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
- Enter sur '- [ ]' sans texte: casse la liste (supprime la ligne vide)
- Raccourci: Alt+/ → Alt+\ (n'entre pas en conflit avec le slash menu)
- Aide F1, barre statut, console mis a jour
2026-06-16 10:08:50 -04:00
bruno 9c73dd8d51 feat: Alt+/ autocomplete + auto-continue listes/checkboxes au Enter
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -6s
- Raccourci: Ctrl+Space → Alt+/ (evite conflit OS)
- Enter sur ligne liste (-, *, +) → continue la puce
- Enter sur ligne vide (puce sans texte) → termine la liste
- Enter sur liste numerotee (1.) → auto-incremente (2.)
- Enter sur checkbox (- [ ]) → nouvelle checkbox vide
- Aide F1 mise a jour, barre statut mise a jour
2026-06-16 09:43:39 -04:00
bruno 06a986d01c feat: autocomplete intelligent partage (Forge + CodeMirror)
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
- autocomplete.js: detection de contexte (mermaid, code, frontmatter, wikilink, markdown)
- Suggestions Mermaid: 15 types + syntaxe par type (flowchart, sequence, class, etc.)
- Suggestions Code: snippets Python/JS/Bash/SQL + 15 langages
- Suggestions Frontmatter: 9 champs YAML
- Suggestions Markdown: titres, formatting, callouts, tableaux
- Wikilinks: [[ cherche dans l'index via API /search/advanced
- Integration Forge: Ctrl+Space, auto-trigger [[ et ```, Tab/Enter pour accepter
- Dropdown flottant positionne au curseur, navigation fleches
2026-06-16 09:12:21 -04:00
bruno a002acb2b2 fix: liens wikilink utilisent TabManager.openPreview (corrige titre du tab)
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -2s
2026-06-16 08:23:23 -04:00
bruno 1a26827a5f fix: About — reduction drastique espacements pour eliminer scrollbar
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-16 07:54:41 -04:00