gitlab ArkHost/HelixNotes v1.3.6

26 days ago
  • Themes: sort built-in themes alphabetically, with System, Light, and Dark kept at the top. (community contribution by Locodarwin, commit 1bc0026)
  • Linux: fix the window name showing "Tauri App" instead of "HelixNotes". Restore window sizing and decoration settings without bringing back the startup flash. (commit 41c0e4c)
  • Mobile: keep navigation visible when a synced desktop vault has its sidebar collapsed, without changing the desktop preference. Keep desktop window-close code out of mobile builds while preserving desktop save-before-close and tray behavior. (commit 34a0f9e)
  • Editor: keep "Hide title in note body" working when switching between source and rich text, without losing or duplicating the stored title. Handle empty and title-only notes.
  • Image paste: save browser-copied images as local attachments on Linux/WebKitGTK instead of keeping remote URLs. Let right-click Paste use the native image clipboard when no text is present. (community MRs !5 and !6)
  • macOS: let Escape close Search, Command Palette, Settings, Info, and nested dialogs without leaving native fullscreen. Keep normal Escape behavior when no overlay is open. (community MR !4)
  • Note lists: render only visible rows and a small buffer in normal, compact, and mobile layouts. Keep row heights and end-of-list scrolling stable, avoid resize loops, and reuse date-formatting and sorting data. Correct the arrows for hiding and reopening the note pane.
  • Rich editor: reuse unchanged code highlighting and skip cursor-only highlighting and unnecessary placeholder/task scans. Create code-copy buttons only when needed and copy the current block after edits or moves. Remove duplicate link and underline extensions.
  • Desktop toolbar: add Customize toolbar under More. Drag buttons to reorder them or move them into More, with keyboard controls and Done, Cancel and Reset. Keep all current buttons visible by default and save the layout on this device. Mobile stays unchanged.
  • Markdown source: replace the textarea with CodeMirror 6, render only visible text and line numbers, and keep typing incremental. Keep Markdown highlighting, per-note undo/redo, selection wrapping, indentation, and Find. Keep line numbers aligned when scrolling, wrapping, resizing, or changing font size.
  • Note Info: calculate word and character counts only while the panel is open. Wait for pauses in typing and cancel old count work when changing notes or modes.
  • Background work: move note, notebook, sidebar, and trash reads, search queries, attachment cleanup, graph data, and vault statistics off the UI thread. Graph and statistics scans no longer hold the configuration lock while reading files.
  • Search index: reuse the saved index and search reader instead of rebuilding unchanged content. Check changed, added, and deleted notes in the background and keep indexing tied to the right vault. Rebuild old-format caches once.
  • WebDAV: skip full index rebuilds and vault refreshes for unchanged or upload-only syncs. Update notes changed locally by sync, including changes made before a later error, and preserve external edits received during sync. Hash files with a reusable 64 KiB buffer instead of loading whole attachments.
  • Startup and navigation: restore the last note without waiting for sidebar and note-list scans. Keep early edits and newer selections when background reads finish; delayed note creation must not steal selection or title focus. Group metadata refreshes and recognize Windows paths and trailing separators as vault paths, not external read-only files.
  • Editor state: opening notes or switching between Edit and View no longer marks unchanged content as dirty or saves it unnecessarily. Keep the latest saved text when returning from the vault picker and clear the previous vault's editable content when switching vaults.
  • Global search: rank exact and title matches higher while keeping prefix, typo, and CJK matching. Show matching context with Unicode-safe highlights, accurate totals, and pages beyond the first 20 results. Separate loading, errors, and empty results; clear old results while typing and ignore closed or outdated requests.
  • Search navigation: show results in the right notebook or All Notes list, reveal the selected row, and highlight matching text in the editor. Restore a collapsed note pane without leaving focus mode. Show source for Markdown-only matches and identify title/tag hits. Keep unsaved edits safe and ignore stale or cancelled jumps.
  • Find in note: match across inline formatting, add Match case and Whole word, and update results after edits, undo, or mode changes. Support Enter, Shift+Enter, F3, IME input, and Windows line endings. Limit background highlights, reveal folded matches without saving fold changes, and preserve find-field focus, source alignment, and the viewed position when closing Find.
  • Icons and images: keep notebook and tag icons centered without stretching custom artwork. Fix custom icons, embedded images, and the image viewer on Linux/WebKitGTK using anonymous CORS, while keeping saved paths portable.
  • Vault and note changes: keep queued note, notebook, attachment, history, appearance, and window-state work tied to its original vault, including detached note windows. Ignore late paste, file insertion, history, and AI results after switching notes. Keep AI streams separate by request.
  • Attachments: use unique filenames and no-overwrite writes for attachments and uploaded icons. Run writes, image decoding, and image clipboard work in the background. Keep writes and icon registration ordered even if the caller closes.
  • Icon settings: save metadata atomically, coordinate changes with notebook moves and cleanup, and ignore stale refreshes or older choices. Keep color and icon changes from overwriting each other.
  • Attachment cleanup: remove automatic startup deletion and keep cleanup manual and recoverable. Scan one file at a time, recheck references before moving files to Trash, and abort on unreadable files, corrupt metadata, or active import/sync. Preserve Unicode and encoded paths and references in history, trash, and icon metadata.
  • AI: update the model list with GPT-6 Astra, Sol, and Luna, plus Claude Fable 5.1, Opus 5.5, Sonnet 5, and Haiku 4.5. Preserve saved choices, use supported GPT-6 token and sampling parameters, and default new provider selections to GPT-6 Sol or Claude Sonnet 5.
  • Graph View: skip distant-node comparisons, calculate the initial layout in short, cancellable chunks, and redraw only during interaction. Keep the existing layout forces.
  • Tags: group tag-only changes into one tag refresh instead of reloading notebook counts, icons, styles, and quick access. Keep global tag suggestions on mobile and leave the tag menu open while editing.
  • Saving: show the actual save error with a Retry button on desktop and mobile. Keep unsaved drafts safe and prevent old failures from replacing the current save status.
  • Vault statistics: exclude internal metadata and trash using proper path checks, including on Windows. Still count attachments and ordinary folders with similar names.
  • Desktop toolbar polish: replace the More arrow with three dots and expand overflow and customization inside the toolbar. Open on click rather than hover, respect reduced-motion preferences, and keep controls reachable in short windows.
  • File operations: refuse same-name collisions when renaming, moving, or restoring notes instead of replacing another note. Keep original files and metadata when a move fails, and migrate Quick Access and notebook icon paths with successful moves.
  • Trash: use unique, no-overwrite destinations so rapid deletion of same-name notes from different notebooks preserves every file. Continue restoring older trash filenames and notebook sidecars.
  • Save conflicts: compare each save against the exact disk version the editor accepted. Keep newer external changes and unsaved drafts separate, offer Save a copy or confirmed Reload from disk, and advance queued saves to the last successful disk baseline.
  • External changes: refresh clean main and detached editors when either note content or metadata changes. Preserve dirty drafts, including edits made while another save is pending.
  • Renaming and navigation: migrate open-note paths, navigation history, collapsed notebooks, and manual ordering after note or notebook moves. Keep detached drafts editable at the new path and preserve newer title edits.
  • File-open requests: keep requests queued until the editor accepts them, including while the vault picker is open or a save fails. Opening the current note no longer reloads an older disk version over its draft.
  • Tasks: briefly lock the editing surfaces and controls during native task updates so typing, formatting, and metadata edits cannot be discarded or undo a completed task change.
  • Backups: publish unique archives only after ZIP creation succeeds, remove incomplete temporary output, exclude nested backup output, and keep backup timestamps and automatic retention tied to the originating vault. Keep older and other-vault archives available for explicit recovery.
  • Backup restore: validate checksums, paths, metadata, and available staging space before changing live files. Install from staging, roll back ordinary installation failures, and retain recovery data if rollback cannot complete. Preserve existing attachments when the archive omits them, and allow explicit recovery into a relocated vault.
  • Backup, import, and sync coordination: serialize vault maintenance and note writes so restore cannot race saves or sync. Refresh affected notes and search results after a successful restore without requiring a restart.
  • WebDAV safety: abort on unreadable files, incomplete scans, and unsupported symlinks instead of interpreting them as deletions. Store manifests atomically, report corrupt manifests, and rebaseline when the remote endpoint or account changes.
  • WebDAV concurrency: use conditional remote writes and deletions, validate downloads and uploaded content, and detect incoming changes even when ETags are absent. Refuse unsafe replacement or deletion of existing remote files when the server supplies no usable strong ETag.
  • Obsidian import: exclude app metadata, history, trash, and existing attachments using cross-platform path components. Preserve colliding attachments under unique names, rewrite links to their actual destinations, write notes atomically, and keep original sources until copies and references are safe.
  • History and state: preserve rapid version snapshots without filename collisions, retain older snapshot formats, and save vault window state atomically. Reject daily-note and notebook-restore destinations that escape the vault through symlinks.
  • Vault lifecycle: retain file watching for opened, configured vaults so detached windows receive external changes. Refuse to forget a vault while its detached note windows remain open. Show startup vault errors instead of allowing Back into an unopened vault, and reset quit intent when saving vetoes a close.
  • Settings and mobile saves: merge vault-scoped backup and sync timestamps without replacing newer settings. Trigger a best-effort save when the mobile page backgrounds or receives Android's pause signal.
  • HTML images: normalize image sources inside inert template content before rendering or pasting, including raw HTML with reordered attributes. Remove alternate image-loading attributes so parsing cannot bypass the validated image proxy.
  • Regression coverage: expand automated tests for data preservation, save conflicts, synchronization,

Don't miss a new HelixNotes release

NewReleases is sending notifications on new releases.