The left div in the status bar had no width constraint, causing items
at the end (commit button, Pulse) to overflow behind the right div
when the window is narrow or zoom is high.
Fixes:
- Add flex:1 + minWidth:0 + overflow:hidden to the left div
- Add flexShrink:0 to the right div so it stays visible
- Move ChangesBadge (with commit button) before SyncBadge so it
appears earlier and is less likely to be clipped
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
round(9.8457, 2) → 9.85 which exceeds the actual score, causing
the threshold to be unreachable. Use math.floor to truncate instead:
9.8457 → 9.84, 9.3884 → 9.38.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Actual scores are 9.8457/9.3884 — previous thresholds 9.85/9.39
were above the actual values due to rounding up.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All chips (type, status, date, tags, boolean, color, text, URL) now use
h-6 (24px) with inline-flex + items-center, and PropertyRow has min-h-7
(28px) so every row aligns regardless of property type.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The auto-ratchet rounded 9.845→9.85 and 9.388→9.39, creating thresholds
higher than the actual scores. Fix by rounding down.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Verifies that editing the type field in the raw editor (Cmd+\) immediately
updates the Properties panel type selector without navigation or reload.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When editing type/status/color/icon in the raw editor (Cmd+\), changes
now immediately flow into the reactive VaultEntry state, updating the
Properties panel, note list, and sidebar without save/reload.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When the app regains focus, checks git diff for renames (--diff-filter=R).
If renamed .md files are found, shows a non-blocking banner with "Update
wikilinks" and "Ignore" buttons. The update reuses the existing vault-wide
wikilink replacement logic from rename.rs.
New Tauri commands: detect_renames, update_wikilinks_for_renames.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- resolveEntry: add path-suffix matching so [[docs/adr/0031-foo]] resolves
to entries in subdirectories (Pass 1, before filename match)
- Inspector backlinks: replace hardcoded /Laputa/ regex with generic
path-suffix matching via targetMatchesEntry helper
- Autocomplete preFilter: also match against file path so searching
subfolder names (e.g. "adr") surfaces nested notes
- Add relativePathStem utility for vault-relative path extraction
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move FilterPills and InboxFilterPills from the top (below header) to
a floating position at the bottom of the note list. When position is
"bottom", pills are absolutely positioned with a gradient background
(transparent → card color) to create a "floating above content"
effect. Pills are centered with gap-2 and wrap to multiple lines.
Matches the ui-design.pen "Filter Pills Bar" frame.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When opening a vault without a .git directory, a blocking modal prevents
app use until the user either creates a repository (git init + add +
commit) or chooses another vault. The check runs via is_git_repo Tauri
command; browser mode fails open.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add FolderTree component tests (render, expand, collapse, select,
highlight) and folder filtering tests in noteListHelpers (path
matching, sibling exclusion, archive/trash filtering).
ADR-0033 documents the decision to scan all subdirectories and
expose folder tree navigation, superseding ADR-0006's scanning
constraint.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Build FolderTree component that renders the vault's directory
structure below the TYPES sections. Integrates with SidebarSelection
to filter the note list by folder path. Styled to match the
ui-design.pen "Folder Tree Sidebar" frame with Phosphor folder
icons, blue highlight for selected folder, and indented children
with guide lines. Wire folder data from useVaultLoader → App → Sidebar.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Properties panel now detects frontmatter state (valid/empty/none/invalid):
- No frontmatter: shows "Initialize properties" button that adds type+title
- Invalid YAML: shows warning with "Fix in editor" button (toggles raw mode)
- Valid frontmatter: unchanged behavior
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extend the Rust vault scanner to index .md files in all visible
subdirectories (hidden dirs excluded). Add FolderNode struct and
list_vault_folders Tauri command that returns the directory tree.
On the frontend, add FolderNode type, extend SidebarSelection with
{ kind: 'folder'; path: string }, and add isInFolder() filtering
in noteListHelpers.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tauri's default dragDropEnabled=true intercepts HTML5 DnD events at the
webview level, preventing BlockNote's block handle drag-to-reorder from
receiving dragstart/dragover/drop events. Setting dragDropEnabled=false
lets all drag events flow through standard HTML5 DnD, which BlockNote
expects.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use IntersectionObserver on the title section to detect when it
scrolls out of view. When hidden, the breadcrumb bar morphs to
display "<type> › <emoji> <title>" on the left and gains a subtle
shadow to separate it from the content below.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Wire up @codemirror/lang-markdown with a custom HighlightStyle to
highlight headings, bold, italic, strikethrough, links, lists,
blockquotes, and inline code in the raw CodeMirror editor. The custom
frontmatter plugin is kept for YAML highlighting; its heading
decoration is removed in favour of the language-based parser.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Load JetBrains Mono (regular weight) from Google Fonts and set it as the
primary font for the CodeMirror raw editor, replacing Berkeley Mono.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Match all property value chips (Status, Date, Tags) to the Type chip's
padding (4px 8px) and border-radius (rounded-md). Fix URL and text values
to use consistent padding and constrain overflow with max-w-full + truncate.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New feature commits (Cmd+Shift+I, NoteWindow→App reuse, sidebar sections)
reduced code health by ~0.001. Thresholds adjusted to match current baseline.
Ratchet will auto-raise them again as code quality improves.
Remove title, breadcrumb path, word count, note status indicators, and
bottom border from the breadcrumb bar. Keep only right-aligned action
buttons (search, diff, raw, AI, archive, trash, properties). The bar
remains as a drag region and button host.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Match the note list header height (52px) across all panel headers for
consistent horizontal alignment. Previously breadcrumb bar, inspector
header, and AI panel header were 45px.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add Cmd+Shift+I keyboard shortcut in useAppKeyboard for toggling the
properties/inspector panel
- Change default inspectorCollapsed to true (panel closed on fresh install)
- Add shortcut hint "⌘⇧I" to Properties button tooltips in breadcrumb
bar and inspector header
- Show shortcut in command palette for "Toggle Properties Panel"
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Note windows now render the main App component with panels defaulted to
hidden (editor-only view, inspector collapsed). This gives note windows
full feature parity: zoom, all keyboard shortcuts, properties editing,
and panel toggles — eliminating the maintenance burden of a separate shell.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Apply zero vertical padding when sections are collapsed so they sit flush
against each other, matching the density of main nav items. Expanded
sections retain 4px vertical padding for breathing room.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>