bruno
4287303575
i18n: English translations for all 72 remaining help section keys
...
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
- Palette, Shortcuts, Sharing, Webhooks, Backups, Security, Tips
- All auto-generated help.desc_* keys now have proper EN text
- 0 placeholder [EN] keys remaining
- en.json: 1162 keys, all translated
2026-06-19 08:58:03 -04:00
bruno
aa06ae534b
fix: broken HTML — spans inside title/aria-label attributes
...
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
- Filtres de chemin: changed to data-i18n-attr
- help close/hide/clear buttons: changed to data-i18n-attr
- aria-label spans: changed to data-i18n-attr
- This fixes the visible HTML tag leakage in the UI
2026-06-19 08:47:50 -04:00
bruno
c93b7fb2fd
fix: reorder help sections to match TOC
...
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-ai now at position 10 (between help-graphe and help-palette)
- help-personnalisation moved to position 17 (before help-astuces)
- All 18 sections now match TOC order
2026-06-19 08:29:32 -04:00
bruno
0b3464aa9e
i18n: add data-i18n to all body text in help-ai through help-astuces
...
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 10s
- 94 <p>, <li>, <h3>, <h4> elements now have data-i18n
- AI Editor section: 16 English translations provided
- 251 new keys total across all sections
- Remaining 80 placeholder keys in sharing/webhooks/backups/security/tips
- en.json: 1068 -> 1162, fr.json: 1068 -> 1162
2026-06-19 08:27:47 -04:00
bruno
7d3250306a
i18n: help modal chrome + webhooks table + sidebar tab
...
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
- Help: Fermer l'aide, Masquer l'aide, Effacer -> data-i18n
- Sidebar: Filtres de chemin, Tous les vaults, Sauvegardes -> data-i18n
- Webhooks table: 6 event trigger cells -> data-i18n
- Added 12 new keys to en.json/fr.json
2026-06-19 08:14:33 -04:00
bruno
8230356d27
i18n: help-ai to help-astuces — 10 hardcoded texts now use data-i18n
...
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
- AI Editor: Complète, flashe en vert, Ton décontracté
- Webhooks: notify, POST HTTP, blog post, note événement
- Tips: Utilisez les tags, sidebar, filtrage
- Added 10 new keys to en.json/fr.json (1046 -> 1056)
2026-06-19 08:05:05 -04:00
bruno
edd9ce4afd
fix: AI Editor section not visible — mismatched anchor #help-ia -> #help-ai
...
CI / lint (push) Failing after 24s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s
- TOC link and inline reference both pointed to #help-ia
- Actual section has id=help-ai
- Fixed both hrefs to match the section ID
2026-06-19 07:47:23 -04:00
bruno
8e0ca92161
fix: header theme toggle now uses themes.js toggleThemeMode
...
CI / lint (push) Failing after 24s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 15s
- toggleTheme() in ui.js now calls toggleThemeMode() from themes.js
- This properly toggles dark/light within the current named theme
- Updates the theme label and icon after mode change
2026-06-19 07:40:42 -04:00
bruno
c51bf0eab0
roadmap: ajout #76 BooksLM — console AI contextuelle style NotebookLM par répertoire
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 23:45:11 -04:00
bruno
b6be12969b
i18n: add data-i18n to remaining 6 shortcut descriptions
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 23:18:20 -04:00
bruno
a15328093a
i18n: fix dashboard tabs and shortcut descriptions
...
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
- Dashboard tabs: Statistiques/Récents/Partagés -> data-i18n spans
- Shortcut descriptions: added 10 help.shortcut_* keys to locales
- Tip text: added help.shortcut_tip key
- Added 3 dashboard.tab_* keys
- en.json/fr.json: 1044 -> 1059 keys
2026-06-18 23:15:01 -04:00
bruno
8db9f4447f
i18n: fix hardcoded French in Statistics and Shortcuts panel
...
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
- dashboard.js: Fichiers/Tags uniques/Taille totale/Vaults -> t() calls
- config.js: Tags uniques/Vaults in About -> t() calls
- index.html: Raccourcis & Astuces -> data-i18n
- Added 5 new keys: dashboard.stats_*, help.shortcuts_title
2026-06-18 23:04:10 -04:00
bruno
4b9a450be3
fix: add missing t() import and fix init order
...
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 12s
- app.js: import { t } alongside initI18n, move initI18n() before UI.initTheme()
- sidebar.js: add import { t } from ./i18n.js
- These fix ReferenceError: t is not defined on startup
2026-06-18 22:55:04 -04:00
bruno
659c227e6a
i18n: complete audit — 55 new keys, all hardcoded strings converted to t()
...
CI / lint (push) Failing after 22s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 9s
- Added 4 missing keys: button.cancel, toast.dir_renamed, toast.file_deleted, toast.file_renamed
- Replaced 41 hardcoded showToast() strings with t() calls across 13 JS files
- Replaced 10 hardcoded textContent/title/innerHTML strings with t() calls
- Fixed theme labels: Sombre/Clair -> t('theme.dark')/t('theme.light')
- Fixed vault selector: Tous les vaults -> t('help.all_vaults')
- Both locale files: 983 -> 1032 keys, perfectly matched
- Bidirectional EN<->FR switching verified in browser
2026-06-18 22:49:19 -04:00
bruno
01dec0a0ec
fix: data-i18n on 10 Graph View strong headings
...
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 10s
- Zoom/Pan, Depth slider, Filter by tag, Filter by type
- Visual search, Navigation arrows, Nodes, Info panel, Export PNG
- Context menu
All → EN translations
2026-06-18 16:55:49 -04:00
bruno
2fdca72f02
fix: full i18n for Graph View help 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
- Intro paragraph tagged + translated
- 8 LI descriptions wrapped in data-i18n spans
- 10 existing EN translations fixed
- Title: Vue Graphe → Graph View
- Barnes-Hut paragraph translated
2026-06-18 16:53:18 -04:00
bruno
e1d3b22c51
fix: Automatic save heading in Advanced Editing
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:52:10 -04:00
bruno
b822196e66
fix: Files section title + ObsiGate indexes paragraph
...
CI / lint (push) Failing after 27s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 11s
- 📄 Fichiers → 📄 Files
- ObsiGate indexe et affiche → ObsiGate indexes and displays
2026-06-18 16:49:08 -04:00
bruno
fa294f0a51
chore: remove helper
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
2026-06-18 16:46:13 -04:00
bruno
88c7a5ead9
fix: full i18n for Files + Advanced Editing help sections
...
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
- 18 LI descriptions wrapped in data-i18n spans
- 1 paragraph tagged
- 3 auto key EN translations fixed
- 4 existing span EN translations fixed
- Sections: Markdown rendering, file actions, CodeMirror, AI toolbar
2026-06-18 16:45:58 -04:00
bruno
557cea719d
fix: help modal title → ObsiGate User Guide
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:42:06 -04:00
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
bruno
4104ed9fa2
fix: panneau About plus large (540px) + espacements reduits — sans scrollbar
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 -7s
2026-06-16 07:52:13 -04:00
bruno
ff2d95aad0
fix: restaurer CSS complet (ecrase par write_file append)
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 07:47:33 -04:00
bruno
66039028a5
feat: panneau A propos elegant + retrait Editor POC
...
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
- Remplace Editor POC par A propos (sparkles) dans le menu header
- Modale About avec animation fade+scale, logo SVG, hero gradient
- Stats live: fichiers, vaults (API /health), tests (285)
- Stack techno: 12 badges (FastAPI, vanilla JS, Docker, etc.)
- Footer: date livraison, blague aleatoire (10 variantes humour)
- Touche d'humour: git push --force accidentels, CSS > backend
- Fermeture: bouton X, clic overlay, Escape
- initAboutModal dans sync.js + config.js export
2026-06-16 07:37:39 -04:00
bruno
fccee296a5
fix: Forge — preserver scroll position pendant autoHeight (empeche saut du curseur)
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 -7s
2026-06-16 07:19:08 -04:00
bruno
23f4f9f4f2
fix: CSP — ajout cloudflareinsights.com + legacy.js deja corrige
...
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 -3s
- CSP script-src: ajout https://static.cloudflareinsights.com
- legacy.js ligne 98 a deja le null-check if(filterBtn)
- L'erreur production vient d'un ancien deploy, sera resolu au prochain rebuild
2026-06-15 23:29:46 -04:00
bruno
d1841a057d
feat: #65 systeme de themes — 15 themes x dark/light
...
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
- themes.js: 15 palettes (Defaut ObsiGate, GitHub, Linear, Spotify, Notion,
Discord, Dracula, One Dark, Tokyo Night, Nord, Night Owl, Anthracite,
Cyberpunk, Navy Elegance, Tons Terreux)
- Chaque theme a un mode sombre ET clair
- UI: grille de themes dans Configuration → Themes
- Toggle Sombre/Clair par theme
- Persistance localStorage (obsigate-theme + obsigate-theme-mode)
- Preview visuel: barre de couleur + accent bouton
- initThemes() appele au startup dans sync.js
- Defaut ObsiGate conserve le theme actuel
2026-06-15 23:20:35 -04:00
bruno
671befe610
feat: #59 finalisation mode hors-ligne PWA — badge + conflits
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -6s
- Badge hors-ligne dans le header (icone wifi-off + compteur pending)
- Modale resolution de conflits (garder local vs serveur)
- CSS offline-indicator, offline-pending badge
- Integration: initOffline (sync.js), cacheViewedFile (viewer.js), searchOffline (search.js)
- IndexedDB: files, content, pending stores avec sync queue
- ROADMAP: #59 marque FAIT
2026-06-15 23:04:47 -04:00
bruno
8248bb0846
feat: #58 Tests E2E Playwright — 44 tests desktop + CI
...
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
- playwright.config.ts: chromium-desktop + chromium-mobile
- tests/e2e/obsigate.spec.ts: 44 tests en 11 sections
- Dashboard & Navigation (8 tests)
- Full-Text Search (10 tests)
- File Navigation & Viewer (5 tests)
- Editor (4 tests: Forge, basic modal, Ctrl+S)
- Mermaid Diagrams (2 tests)
- PDF Export, Dark Mode, Responsive, Saved Searches
- Keyboard Shortcuts (Ctrl+K, /, Escape)
- Context Menu directory
- CI: nouveau job e2e dans .gitea/workflows/ci.yml
- ROADMAP: #58 marque FAIT
- .gitignore: node_modules, test-results, playwright-report
2026-06-15 22:54:30 -04:00
bruno
4431546a3a
fix: activer file watcher + supprimer env var trompeuse OBSIGATE_WATCHER_ENABLED
...
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
- config.json avait watcher_enabled=false → passe a true
- Le watcher natif surveille TestVault + TestDir
- Les nouveaux fichiers sont maintenant indexes en temps reel
- Suppression de OBSIGATE_WATCHER_ENABLED=false des compose (non lu par le code)
2026-06-15 17:06:47 -04:00
bruno
83d21bad1a
fix: syntaxe viewer.js — accolade et ligne orphelines apres patch filtre
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -5s
2026-06-15 16:59:36 -04:00
bruno
5466457a06
feat: filtre sauvegardes (Tous/Recherches/Repertoires) extensible
...
CI / lint (push) Failing after 3s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
- Barre de filtres avec 3 pills: Tous, Recherches, Repertoires
- Chaque saved-search-item a data-type=search|directory
- _applySavedFilter() masque/affiche selon le filtre actif
- _initSavedFilter() initialise les listeners (run once)
- Extensible: ajouter un pill + data-type suffit
- Gere l'etat empty quand aucun resultat pour le filtre
2026-06-15 16:57:19 -04:00
bruno
2c7b8b525a
fix: icone type distinct + position a droite dans les recherches sauvegardees
...
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -3s
- Recherche classique: icone search (loupe) grise a droite
- Recherche repertoire: icone folder-search bleue a droite
- Icones dans .saved-search-meta, poussees a droite via margin-left:auto
- Les badges/vault restent a gauche dans .saved-search-badges
2026-06-15 16:51:49 -04:00
bruno
1116957c19
feat: menu contextuel repertoire → Sauvegarder recherche + icone dossier
...
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -2s
- ContextMenuManager: option Ajouter aux recherches sauvegardees pour repertoires
- _saveDirectorySearch: POST /api/saved-searches avec include_paths=repertoire/**
- Bascule automatique vers longlet Sauvegardes dans le sidebar
- loadSavedSearches: icone folder-search + classe saved-search-dir pour recherches dossier
- Recherches dossier affichent le chemin au lieu d'une query vide
2026-06-15 16:45:45 -04:00
bruno
5ec54d3cc2
fix: barre flottante deplacee hors content-area (avant </body>) — immunisee contre innerHTML
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -5s
2026-06-15 16:33:54 -04:00
bruno
c2d7000edf
fix: barre flottante en position fixed (viewport) pour visibilite permanente
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -8s
2026-06-15 16:28:07 -04:00
bruno
91d7074a07
fix: preserver la barre flottante lors du innerHTML clear du content-area
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-15 16:23:23 -04:00
bruno
d0bc5ebbd0
fix: mise a jour legacy.js + app.js pour les nouveaux IDs rb-* (barre flottante)
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -8s
2026-06-15 15:16:54 -04:00
bruno
1ce3a6d65c
feat: barre de recherche epuree + barre flottante de resultats
...
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
- Header: retire Aa/wd/.*, compteur 0/0, fleches nav (reste filtre + clear)
- Nouvelle barre flottante sticky en bas du content-area
- Style pill arrondi, fond semi-transparent, ombre legere
- Contient: compteur, nav prev/next, toggles Aa/wd/.*
- Apparait seulement quand des resultats sont affiches
- Disparait au clear ou retour dashboard
- Mobile: filtre + clear restent visibles
- IDs renommes rb-* pour eviter collisions
2026-06-15 15:12:18 -04:00
bruno
75a28da8d9
style: formatage HTML index.html — indentation multi-lignes coherente
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-15 14:55:36 -04:00
bruno
0f4a7405db
feat: section aide rapide dans le dashboard stats
...
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -8s
- Boite elegante sous les statistiques avec icone clavier
- 10 raccourcis clavier essentiels (palette, recherche, edition)
- Badges style touches clavier (mono, accent, bordure)
- Astuce Ctrl+survol et editeur Forge
- Toggle masquer/afficher avec persistence localStorage
- Layout grid responsive (auto-fill minmax 260px)
2026-06-15 14:11:49 -04:00
bruno
dd52f379bf
fix: rename variables Forge pour eviter conflit const saveBtn
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -2s
2026-06-15 13:59:15 -04:00
bruno
cc2ec9e869
fix: suppression boutons doublons Forge + delegation parent modal
...
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -8s
- Retrait des 3 boutons (delete/cancel/save) de la barre Forge (doublons)
- Retrait des handlers JS associés dans editor-poc.html
- Le header parent ObsiGate reste visible quand Forge est ouvert
- Les boutons save/delete du parent délèguent à Forge via postMessage
- Forge écoute 'parent-save' et 'parent-delete' du parent
- state.editorVault/editorPath settés dans viewer.js pour le parent
2026-06-15 13:57:21 -04:00
bruno
feeb46b873
feat: finalisation éditeur Forge + mode hors-ligne PWA + consolidation roadmap
...
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
- Forge: Tab indent, Ctrl+K, auto-focus, AI status, messages erreur FR
- Forge: slash commands clean, cache-bust iframe, preview serveur
- Forge: iframe 82vh, hauteur auto, table inline, sélecteur langage
- PWA hors-ligne: IndexedDB (offline-db.js + offline.js)
- Mermaid: thème dark complet, highlight.js preview
- Backend: màj CSP, rename chain, bookmarks/history/shares
- Roadmap: consolidation dans docs/ROADMAP.md (75 items)
- Infra: docker-compose.podman.yml, suppression test-vault
- .gitignore: exclusion odysseus/
2026-06-14 20:27:37 -04:00
bruno
0cdebc5b40
feat: finalize Forge editor — Tab indent, Ctrl+K, auto-focus, AI status, French errors
...
CI / lint (push) Failing after 3s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in -1s
Tab/Shift+Tab: indent/dedent list items. Ctrl+K: link insertion prompt. Qi button: position:fixed (always visible). Auto-focus textarea on load. AI ready indicator in status bar. All error messages in French. Force-save shows 'Sauvegarde' toast.
2026-06-10 09:09:53 -04:00
bruno
8cf7b55747
fix: slash commands clean /command + cache-bust Forge iframe
...
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in -3s
Bug 1: selectSlashAction now strips /command text before executing. Bug 2: Forge URL includes _ts=Date.now() to prevent cache.
2026-06-10 08:59:58 -04:00
bruno
89b0a5a024
Consolidate roadmap files into docs/ROADMAP.md
2026-06-09 10:38:50 -04:00
bruno
75291eac42
feat: Mermaid + highlight.js rendering in preview pane
...
CI / lint (push) Successful in 16s
CI / security (push) Successful in 11s
CI / test (push) Successful in 40s
CI / build (push) Successful in 4s
Added CDN scripts: mermaid@11, highlight.js@11 with atom-one-dark theme. After server-rendered HTML is injected, processPreviewBlocks() renders Mermaid diagrams via mermaid.render() and highlights code blocks via hljs.highlightElement(). Preview now matches ObsiGate viewer fidelity.
2026-06-06 01:05:16 -04:00
bruno
88185c70e0
feat: preview uses ObsiGate server-side rendering (Mermaid, highlight, wikilinks)
...
CI / lint (push) Successful in 15s
CI / security (push) Successful in 7s
CI / test (push) Successful in 23s
CI / build (push) Successful in 3s
Preview now saves content via API then fetches rendered HTML from GET /api/file/{vault}?path=... instead of client-side marked.parse(). This enables Mermaid diagrams, syntax highlighting, wikilink resolution, and frontmatter cards. Demo mode still uses marked.js fallback. Debounce increased to 500ms. Loading spinner during render.
2026-06-06 00:53:40 -04:00
bruno
3090fe62fe
fix: Forge iframe height uses 82vh (bypasses flex parent issue)
...
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 24s
CI / build (push) Successful in 2s
height:100% doesn't work when parent uses flex height. position:absolute collapses the parent. 82vh = 90vh modal - header. Also set bodyEl overflow:hidden.
2026-06-06 00:40:35 -04:00