29 Commits

Author SHA1 Message Date
c0851d9860 fix: el dans ui.js + performAdvancedSearch dans viewer.js — documents et recherches sauvegardées
All checks were successful
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 17s
CI / build (push) Successful in 5s
2026-05-29 15:49:25 -04:00
3c93cebdf1 fix: appendHighlightedText non importé dans sidebar.js → erreur filtre sidebar
All checks were successful
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 15s
CI / build (push) Successful in 2s
2026-05-29 14:52:14 -04:00
7c288460c3 fix: buildFrontmatterCard non exporté de ui.js → cassait le rendu des documents (et donc les tabs)
All checks were successful
CI / lint (push) Successful in 13s
CI / security (push) Successful in 7s
CI / test (push) Successful in 15s
CI / build (push) Successful in 2s
2026-05-29 14:40:26 -04:00
5d006ddc35 fix: TagFilterService non importé dans config/search/viewer — bloquait rendu résultats et affichage docs
All checks were successful
CI / lint (push) Successful in 12s
CI / security (push) Successful in 7s
CI / test (push) Successful in 15s
CI / build (push) Successful in 5s
2026-05-29 13:54:02 -04:00
10fbeccb5f fix: buildSearchResultsHeader, highlightSearchText, shouldDisplayPath — imports manquants bloquant l'affichage des résultats
All checks were successful
CI / lint (push) Successful in 13s
CI / security (push) Successful in 12s
CI / test (push) Successful in 20s
CI / build (push) Successful in 2s
2026-05-29 13:28:14 -04:00
c22259b362 fix: renderFile, searchByTag, addTagFilter, DashboardWidgets — 8 imports manquants
All checks were successful
CI / lint (push) Successful in 14s
CI / security (push) Successful in 9s
CI / test (push) Successful in 17s
CI / build (push) Successful in 2s
2026-05-29 13:20:07 -04:00
4748a75687 fix: initDashboardTabs non exporté de sync.js → importé dans viewer.js
All checks were successful
CI / lint (push) Successful in 12s
CI / security (push) Successful in 7s
CI / test (push) Successful in 15s
CI / build (push) Successful in 2s
2026-05-29 11:39:31 -04:00
eb32dce219 fix: AutocompleteDropdown non importé dans viewer.js
All checks were successful
CI / lint (push) Successful in 12s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 2s
2026-05-29 11:29:14 -04:00
889d6d6f68 fix: syncActiveFileTreeItem non exporté de sidebar.js → importé dans ui.js et viewer.js
All checks were successful
CI / lint (push) Successful in 23s
CI / security (push) Successful in 8s
CI / test (push) Successful in 15s
CI / build (push) Successful in 2s
2026-05-29 09:30:48 -04:00
0db52c3c0e fix: imports manquants — getFileIcon, showWelcome, showProgressBar, hideProgressBar
All checks were successful
CI / lint (push) Successful in 13s
CI / security (push) Successful in 7s
CI / test (push) Successful in 14s
CI / build (push) Successful in 2s
2026-05-29 09:13:41 -04:00
7edbd7a31a fix: imports manquants — TabManager, showToast, closeHeaderMenu, closeMobileSidebar, ContextMenuManager, RightSidebarManager
All checks were successful
CI / lint (push) Successful in 14s
CI / security (push) Successful in 9s
CI / test (push) Successful in 18s
CI / build (push) Successful in 5s
2026-05-29 09:01:33 -04:00
8662d4ce17 fix: export closeMobileSidebar, showLoading; add imports
All checks were successful
CI / lint (push) Successful in 12s
CI / security (push) Successful in 15s
CI / test (push) Successful in 15s
CI / build (push) Successful in 1s
2026-05-29 08:42:22 -04:00
7d13585b11 fix: export attachTreeItemActionButton/LongPress from viewer.js, import in sidebar.js
All checks were successful
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 15s
CI / build (push) Successful in 2s
2026-05-28 20:50:56 -04:00
a91dfa65fc fix: export smallBadge from viewer.js, import in sidebar.js
All checks were successful
CI / lint (push) Successful in 13s
CI / security (push) Successful in 9s
CI / test (push) Successful in 17s
CI / build (push) Successful in 2s
2026-05-28 20:43:50 -04:00
f5cf2ca0da fix: add state. prefix to allVaults in viewer.js getVaultIcon
All checks were successful
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 15s
CI / build (push) Successful in 6s
2026-05-28 20:40:46 -04:00
de5cc97015 fix: export getVaultIcon from viewer.js, import in sidebar.js
All checks were successful
CI / lint (push) Successful in 16s
CI / security (push) Successful in 13s
CI / test (push) Successful in 18s
CI / build (push) Successful in 8s
2026-05-28 20:31:15 -04:00
c7378e4f12 fix: export icon from viewer.js, import syncVaultSelectors in config.js, cleanup dupes
All checks were successful
CI / lint (push) Successful in 16s
CI / security (push) Successful in 10s
CI / test (push) Successful in 22s
CI / build (push) Successful in 3s
2026-05-28 20:26:04 -04:00
6e59dfdd06 fix: export populateCustomDropdown from ui.js + missing imports
All checks were successful
CI / lint (push) Successful in 12s
CI / security (push) Successful in 7s
CI / test (push) Successful in 15s
CI / build (push) Successful in 2s
2026-05-28 19:35:22 -04:00
015bec7774 fix: add missing imports (api, escapeHtml, safeCreateIcons, getFileIcon) to sidebar, legacy, viewer, dashboard, config
All checks were successful
CI / lint (push) Successful in 12s
CI / security (push) Successful in 8s
CI / test (push) Successful in 22s
CI / build (push) Successful in 2s
2026-05-28 19:28:50 -04:00
148b3851ae fix: add missing state. prefix to all bare state variable references across all modules
All checks were successful
CI / lint (push) Successful in 15s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 2s
2026-05-28 18:33:39 -04:00
eab6c11dc4 fix: add export to openFile in viewer.js
All checks were successful
CI / lint (push) Successful in 18s
CI / security (push) Successful in 7s
CI / test (push) Successful in 15s
CI / build (push) Successful in 6s
2026-05-28 17:05:43 -04:00
33cfefcb20 fix: remove duplicate escapeHtml in viewer.js (already imported)
All checks were successful
CI / lint (push) Successful in 11s
CI / security (push) Successful in 8s
CI / test (push) Successful in 19s
CI / build (push) Successful in 2s
2026-05-28 16:58:25 -04:00
7c927ca54e fix: rebuild ui.js, search.js, viewer.js from app.js with shell script (no truncation)
All checks were successful
CI / lint (push) Successful in 12s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 3s
2026-05-28 16:54:15 -04:00
97d14d867a fix: apply state.xxx pattern and exports to regenerated modules
All checks were successful
CI / lint (push) Successful in 11s
CI / security (push) Successful in 17s
CI / test (push) Successful in 15s
CI / build (push) Successful in 3s
2026-05-28 16:50:06 -04:00
6d36b53b3a fix: regenerate corrupted ui.js, search.js, viewer.js from app.js
Some checks failed
CI / lint (push) Successful in 12s
CI / security (push) Successful in 8s
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled
2026-05-28 16:49:29 -04:00
a2ff9297ce fix: strip line number prefixes from all JS files
All checks were successful
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 18s
CI / build (push) Successful in 2s
2026-05-28 16:46:17 -04:00
643a73e0f5 fix: strip read_file line numbers accidentally injected into JS files
All checks were successful
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 3s
2026-05-28 16:40:14 -04:00
7866f93778 refactor: state.js → mutable object to fix 'assignment to constant' errors
All checks were successful
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 6s
ES module imports are read-only live bindings — can't reassign
imported let/const variables. Replace individual 'export let' with
single 'export const state = {...}' mutable object.

All modules updated: import { state } from './state.js'
All state access changed to state.xxx pattern.

Fixes cascade of 'Assignment to constant variable' errors.
2026-05-28 16:34:39 -04:00
4836d6f1d0 refactor: split app.js (8875 lines) into 12 ES modules
Some checks failed
CI / lint (push) Successful in 10s
CI / security (push) Successful in 8s
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled
frontend/js/ structure:
  state.js      (55 lines)  — Shared mutable state, constants
  utils.js      (510 lines) — EXT_ICONS, getFileIcon, escapeHtml, safeCreateIcons
  auth.js       (547 lines) — api(), AuthManager, initLoginForm, AdminPanel
  search.js     (1106 lines)— SearchHistory, QueryParser, Autocomplete, performSearch
  sidebar.js    (1091 lines)— Vault tree, sidebar filter, TagFilterService, loadTags
  viewer.js     (1554 lines)— openFile, Outline, ScrollSpy, Frontmatter, Editor
  ui.js         (2250 lines)— Theme, Toast, Sidebar, Dropdowns, Tabs, ContextMenu
  dashboard.js  (461 lines) — Dashboard widgets (Recent, Stats, Bookmarks)
  config.js     (999 lines) — Config panel, Hidden files, About, Sidebar tabs
  sync.js       (436 lines) — SSE/IndexUpdateManager, PWA registration
  graph.js      (401 lines) — GraphViewManager (force-directed canvas graph)
  legacy.js     (550 lines) — Remaining bridge functions (goHome, showWelcome, initSearch)
  app.js        (80 lines)  — Thin orchestrator: imports all modules, calls init()

index.html: switched from <script src="app.js"> to <script type="module" src="js/app.js">
Original app.js preserved for backward compatibility.
All 14 modules pass node --check syntax validation.
2026-05-28 14:04:50 -04:00