All notable documentation and user-facing behavior changes are tracked in this file.
- Added Multi-Format Document Extraction Service & Extracted Content Viewer:
- Background extraction and parsing engine for Word (
.docx), Excel spreadsheets (.xlsx,.xls,.csv,.tsv), PowerPoint (.pptx), and PDF (.pdf) documents. - Tabbed
MediaPreviewPanesupporting instant switching between native file preview and structured Markdown Extracted View. - Typographic reading view with reading time calculation, page/word counts, SHA-256 content hashes, line-numbered raw Markdown editor, and in-document search.
- Persistent caching in
{workspace}/.notes-app/documents.dband{workspace}/.notes-app/extracted/.
- Background extraction and parsing engine for Word (
- Added Media Gallery Multi-View Layout Switcher:
- Toggle between Table / List View, Card View (with rich visual thumbnails and metadata pills), and compact Icon Grid View in Diagrams & Media Gallery (
Ctrl/Cmd + Alt + M).
- Toggle between Table / List View, Card View (with rich visual thumbnails and metadata pills), and compact Icon Grid View in Diagrams & Media Gallery (
- Added AI Native IDE Bridge & MCP Prompts Subsystem:
- Background AI Context Bridge (
AiContextBridgeService.cjs) generating real-time workspace dynamic context, sitemaps, open tasks, and knowledge hubs for VS Code, Cursor, Claude Code, GitHub Copilot, Antigravity, and Windsurf. - Added 9 standard MCP prompts in
McpPrompts.cjs(summarize_note,plan_tasks,explore_knowledge_graph,refactor_note,daily_review,synthesize_document,create_diagram,atomic_split,codebase_sync).
- Background AI Context Bridge (
- Added Single Source of Truth Workspace Ignore Policy (
workspaceIgnorePolicy.cjs):- Centralized exclusion rules supporting
.notelyignore,.gitignore, and built-in reserved directories across all scanners, graph tools, MCP tools, and external bridges.
- Centralized exclusion rules supporting
- Added Wireframe Studio Visual UI Prototyping:
- Integrated visual UI mockup builder powered by GrapesJS with 100+ UI stencils, 8-point interactive resize handles, responsive column presets, and inspector drawer.
- Added Centralized System & Application Logs Console (
AppLogsPage.jsx):- SQLite log storage (
LogCore.cjs,appLogIpc.cjs) accessible via Help → System & Application Logs.
- SQLite log storage (
- Added Diagrams & Media Asset Manager & Media Viewer Standardization:
- High-density table layout with fixed 260px sidebar replacing card grid for managing workspace media, diagrams, PDFs, and recordings.
- Category filters with real-time counters and high-contrast badges for Diagrams, UI Prototypes, Images, PDFs, Videos, Audio, Transcripts, and Documents.
- Safe asset deletion workflow with reference checking to prevent accidental broken links in notes.
- Co-located asset bundle folders (
media/audio/<id>/andmedia/video/<id>/) containing primary recording files alongside companiontranscript.json. - Unified full-screen
MediaPreviewPanemodal with de-duplicated header bar, 100% full-width stretch, and interactive Speech-to-Text transcript drawer. - Interactive transcript card rendering (
.markdown-transcript-card) in markdown note preview with View, Copy, and Download actions. - Connect external Git repositories to workspace metadata (
.notes-app/metadata.json) with branch and commit tracking. - Multi-language code AST extractor (
CodeKnowledgeSource.js) parsing JS/TS, Python, Go, Rust, Java, C/C++, Ruby, and PHP files into structured code entities (CodeModule, CodeClass, CodeInterface, CodeFunction, APIEndpoint, DBModel) and mappingIMPORTS/CONTAINS/DOCUMENTSgraph relationships. - Interactive Attached Repositories Explorer page (
AttachedReposPage.jsx,AttachedReposPage.css) accessible via dashboard card, TitleBar menu (Workspace → Attached Repositories), and Command Palette (open-attached-repos). - Search, filter, and inspect attached repos alongside notes that cross-reference them via
[[RepoName]]wikilinks. - Integrated with Knowledge Graph visualization (
KnowledgeGraph.jsx), displaying specialized color-coded code nodes and edge styles.
- Added Dual-Stream Audio Capture & Meeting Recording:
- Captures microphone and Windows desktop/system audio loopback simultaneously using Web Audio API AudioContext mixer (
src/utils/audioMixer.js). - Supports 3 capture modes: Meeting Mode (Mic + System Audio), Microphone Only, and System Audio Only.
- Live audio waveform visualizer canvas and recording timer with pause/resume support (
AudioRecorderBar.jsx). - Keyboard shortcut
Alt + Vto toggle audio/meeting recorder in the editor toolbar.
- Captures microphone and Windows desktop/system audio loopback simultaneously using Web Audio API AudioContext mixer (
- Added Speech-to-Text (STT) Transcription Service & Model Settings:
- Offline on-device transcription via Local ONNX Whisper (
whisper-tiny.en,whisper-base.en,whisper-small). - High-speed cloud transcription via Groq (
whisper-large-v3) and OpenAI (whisper-1). - Dedicated Speech-to-Text subtab in AI Settings (
AISettings.jsx) for selecting engines, local models, capture defaults, and languages. - Transcripts saved as structured companion
.jsonfiles alongside audio inmedia/audio/*.jsonwith timestamps, speaker attributions, key points, and action items.
- Offline on-device transcription via Local ONNX Whisper (
- Added Landing Page Quick Capture Bar:
- Integrated header toolbar on the landing dashboard (
LandingQuickCaptureBar.jsx) for one-click Screen Snip, Desktop Recording, and Audio/Meeting Recording. - Saves captured media directly to workspace media storage with zero note modifications.
- Notification toast provides direct 1-click
[Open Gallery]action.
- Integrated header toolbar on the landing dashboard (
- Added Workspace Media Gallery Unused Media Filter & Audio Player:
- Physical disk scanner (
media:list-disk-assetsIPC) discovers files inmedia/,assets/, andimages/. - New
⚠️ Unused / Orphansfilter tab and header stats indicator isolating unreferenced media files (referenceCount === 0). - Interactive audio player preview (
AudioPlayerPreviewItem) and orphan action buttons (Copy Markdown Embed).
- Physical disk scanner (
- Added Multiple Developer-Friendly Fonts Support (
View → Font).- Choose between 5 curated IDE/developer-friendly typefaces: Inter (Default), JetBrains Mono, Fira Code, Cascadia Code, and Source Code Pro.
- Changes cascade in real time across all app labels, navigation items, buttons, dialogs, and controls.
- Accessible from the top View menu, Command Palette (
Cmd + K), and General Settings modal. - Font selection is persisted globally in user configuration storage and broadcasted to sync multiple windows.
- Added Diagrams & Media Gallery (
Workspace → Diagrams & Media Gallery,Ctrl/Cmd + Alt + M).- Dedicated full-screen catalog for actively used diagrams (Mermaid, Draw.io, Excalidraw), images, videos, audio, and PDFs across workspace notes.
- Knowledge Graph-inspired visual layout with collapsible category filters, usage scope filtering, search, and summary badges.
- Slide-out Inspector drawer with live interactive Mermaid/media previews, file metadata, and exact referencing note cards with line numbers and snippets.
- One-click navigation to jump directly to the note and line where any diagram or media item is used.
- Added Copy and Move Note Between Workspaces and Folders (
File → Copy Note / Move Note).- Allows copying or moving notes across workspaces and subfolders directly from top File menu submenus (
To Workspace ▶,To Folder (Current Workspace) ▶) or transfer dialog. - Automatically copies/moves embedded local media assets (
media/images/,media/uploads/) and diagrams (.notes-app/excali-diagrams/,.notes-app/drawio-diagrams/). - Recalculates relative link paths in Markdown text to match target directory depth without breaking image/diagram references in the note or other notes.
- Added unit test suite
src/tests/utils/noteMover.test.jscovering workspace transfer, duplicate indexing, subfolder relocation, and relative link path rewriting.
- Allows copying or moving notes across workspaces and subfolders directly from top File menu submenus (
- Added modular, local-first AI Platform overhaul:
- Global AI Chat: Open AI Assistant panel from the left sidebar on the landing screen to search/chat across the entire workspace.
- Sourced References: Render referred notes chips under assistant message bubbles so users can inspect note relevance.
- Tool Traces Log: Interactive AI Health diagnostic panel displaying database connection states, requests/tokens counts, and collapsible tool execution logs (name, arguments, output) for all chat queries.
- Local Embedding Vectorizer: SQLite-backed local embeddings queue utilizing a local ONNX runtime for
BGE-small-en-v1.5vectors. - Knowledge Graph: SQLite-backed relation indexes supporting recursive CTE graph traversals.
- Rich Personas: Select preset emoji avatar icons (🤖, 💻, 🧠, etc.) inside the custom Persona Manager registry.
- Performance Caches: In-memory caching for hot vectors in
EmbeddingServiceand 60-second TTL-based cache on CTE graph queries inGraphRetriever.
- Added Vitest test suites covering chunking, database vectors, indexing queues, background worker loops, semantic search matches, provider registry loading, and tool execution.
- Added Export / Import Note Package feature (
File → Export / Import Note Package).- Exports a selection of notes — including all linked images, Excalidraw diagrams, Draw.io files, screenshots, and thumbnails — into a single encrypted
.notebundle. - Bundles are AES-256 encrypted and SHA-256 integrity-hashed; tampered files are detected on import.
- Import unpacks the bundle into the current workspace, restoring all assets and resolving filename collisions via embedded metadata.
- Default export path and filename (
{rootFolder}.note) are pre-filled from the last-used export location. - Dedicated Export/Import modal with a scrollable, compact note-selection list supporting Select All/Deselect All; fixed-height dialog that does not shift when switching between the Export and Import tabs.
- Exports a selection of notes — including all linked images, Excalidraw diagrams, Draw.io files, screenshots, and thumbnails — into a single encrypted
- Added
src/tests/utils/notePackage.test.js— unit tests covering dependency scanning, path sanitization (leading-slash screenshot paths), crypto, and regex parsing.
-
Fixed split-view scroll sync sluggishness and lock-fighting between the raw editor and the preview panel.
- Replaced the
activeScrollSourcestring-based lock with a generation counter (lockGen) and an 80 ms timeout, preventing programmaticscrollTopchanges from bouncing back into the opposite panel's sync handler.
- Replaced the
-
Fixed
.noteexport failing withEPERM: operation not permitted, copyfilewhen notes contained screenshots stored as/media/images/…paths; leading slashes are now stripped before OS path resolution. -
Fixed
.noteexportmkdircrash caused by absolute note file paths being passed topath.join(stagingDir, absPath); paths are now normalised to workspace-relative viapath.relative(notesRoot, absolutePath). -
Fixed destination directory not being created automatically when the user accepts the default export path without browsing.
-
Added a Copy Link Path context menu option to open tabs and landing items to easily copy workspace-relative paths.
-
Added support for custom action buttons (e.g. "Undo") inside notification toasts.
-
Added a Copy | Navigate hover popover for links in Markdown Previews, while preventing accidental direct click navigation.
-
Added a close (
X) button to notification toasts to dismiss them immediately. -
Added a comprehensive
UI_UX_BACKLOG.mdtracking visual, structural, and desktop accessibility improvement tasks. -
Added a built-in Trash Bin recovery modal allowing users to browse, restore, or permanently empty deleted notes and folders.
-
Added an inline markdown table editor overlay with grid-based cell/header editing.
-
Added contextual row/column action chips and column alignment controls for table editing.
-
Added regression tests for markdown table parsing/serialization behavior in
src/utils/tableUtils.test.js. -
Keep workspace dashboard sidebar always visible and accessible when navigating subfolders, preventing layout shifts.
-
Normalized spacing and grid gaps across dashboard panels to use design system space tokens.
-
Extracted inline custom contrast colors into semantic class
.custom-colored-item, fixing contrast readability issues on custom note/folder cards. -
Standardized custom modal corner radius to use
--radius-lgconsistently. -
Centralized common CSS animations (e.g.,
spin,modal-pop) tobase.cssto prevent redundant keyframe declarations. -
Updated Draw.io diagram saves to use a solid white background in exported PNG files to prevent poor contrast issues on dark backgrounds.
-
Updated table view mode row behavior in document list to support double-clicking to open immediately.
-
Hidden the markdown validation banner when there are no issues.
-
Refined note detail topbar visual consistency by normalizing control height and shared corner-radius usage.
-
Improved inline table edit behavior to preserve original table formatting when table shape and alignments are unchanged.
-
Updated table editor controls with compact labeled actions and improved interaction ergonomics.
- Fixed project website/web preview scope refresh after workspace (notes folder) changes so newly selected workspaces render correctly.
- Improved note task summary trigger semantics for better keyboard and screen-reader compatibility.
- Fixed inline table parsing to preserve escaped pipes and plain backslashes in cell content.
- Fixed inline table delete actions so row/column deletion keeps focus inside the table editor.
- Fixed table editor scroll handling to prevent background scrolling while preserving table panel scrolling.
- Added
docs/settings-reference.md - Added
docs/faq.md - Added
docs/release-notes.md - Added a repository-level documentation audit report
- Added a shared keyboard shortcut inventory used by the in-app shortcut guide
- Updated main user docs to use current UI labels such as Open Workspace and Help Center
- Expanded the in-app keyboard shortcuts modal to show a broader, implementation-backed shortcut table
- Updated AI and storage documentation to match the current implementation more closely
- Removed the documented shortcut conflicts between command palette, AI palette, focus mode, and outline/reference-link flows