Skip to content

Add wiki-style link resolution, backlinks UI, and notes relationship graph widget#801

Merged
multiplex55 merged 4 commits intomasterfrom
codex/implement-note-parsing-and-backlinks-features
Feb 7, 2026
Merged

Add wiki-style link resolution, backlinks UI, and notes relationship graph widget#801
multiplex55 merged 4 commits intomasterfrom
codex/implement-note-parsing-and-backlinks-features

Conversation

@multiplex55
Copy link
Copy Markdown
Owner

Motivation

  • Notes should support [[...]] wiki references that resolve to notes by alias, title or slug and provide sensible disambiguation when titles are duplicated.
  • Backlinks need to be indexed reliably in memory (and refreshed on note changes) so UI panels can show incoming links and widget snapshots can render relationships.
  • A simple dashboard visualization of note relationships helps discover and navigate linked notes and provides graceful handling for broken/ambiguous links.

Description

  • Implemented structured wiki reference resolution and indexing in src/plugins/note.rs by adding NoteTarget and WikiReference, parsers (parse_wiki_references, resolve_wiki_references, resolve_target) and helpers (resolve_note_query, note_backlinks, note_refs_for, note_relationship_edges) and changed NoteCache::from_notes to build backlinks from resolved targets; this preserves aliases and supports slug: and path: disambiguation.
  • Updated resolver semantics so duplicate titles produce Ambiguous instead of silently picking a target and added Broken handling for missing targets.
  • Enhanced the note UI in src/gui/note_panel.rs by rewriting preprocess_note_links to prefer resolved targets, adding a Backlinks row with click-to-open behavior, and updating show_wiki_link to render broken links (red) and ambiguous links (yellow) with user guidance to use slug:/path: disambiguation.
  • Added a new dashboard widget notes_graph (src/dashboard/widgets/notes_graph.rs) and registered it in the widget registry, rendering a simple node/edge diagram of note relationships and exposing clickable note links.
  • Added unit tests to src/plugins/note.rs exercising duplicate-title disambiguation and backlink index construction from resolved wiki links, and updated code paths that use the new resolution logic.

Testing

  • Ran cargo fmt successfully to ensure formatting changes were applied.
  • Attempted cargo check -q and targeted cargo test for the modified note tests, but the build/test run was blocked in this environment by a missing system dependency (alsa.pc) required by alsa-sys, so those checks could not complete here.
  • No other automated test failures were produced by the implemented unit tests locally before the environment build blockage.

Codex Task

@multiplex55 multiplex55 merged commit fbd5b71 into master Feb 7, 2026
1 check passed
@multiplex55 multiplex55 deleted the codex/implement-note-parsing-and-backlinks-features branch February 7, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant