OpenKnowledge
Changelog

v0.58.8

Patch Changes

  • An .md or .mdx path in a transcript message ("Written to public/open-knowledge/reports/foo/REPORT.md (458 lines)") is now a link that opens the doc in the editor. Works on both agent and user messages, whether the path is bare, backticked, or @-mentioned, and covers .changeset/* and other dot-segment content that lives in the tracked page set. A three-try resolver classifies each candidate — absolute path with a contentDir prefix, repo-root-relative composed onto contentDir (the case where the agent quotes public/open-knowledge/… and contentDir sits inside a repo), longest-suffix match against the tracked page set — and only links a path the workspace actually has (ambiguous suffix matches deliberately stay plain text). The resolver lives in module scope so Streamdown's per-block parser can read it at fire time; ThreadView derives it once above the transcript and provides its ready-shape through a small context so every mounted AgentMarkdown remounts exactly once when the workspace + page list arrive, without every message bubble firing its own /api/workspace fetch. The components.a override keeps Streamdown's own link classes on external links so they still read as links, and drops the redundant aria-label on doc links so voice control matches on the visible path (WCAG 2.5.3).

  • Confirmation dialogs no longer make their confirm button look like the least important control in the footer. Two of them, the "Maintain generated indexes in every folder?" prompt in Settings and the skill plugin bundle install prompt, drew Cancel as a bordered button and the confirm as flat text with no fill or border, so the escape action read as the primary one. Both confirms now use the standard primary button, the same shape the app's other non-destructive confirmation dialogs already use.

    The light theme's primary blue is also slightly deeper. At its previous lightness it fell below the WCAG 2 AA contrast floor both as a button fill under white label text and as the text of a link-styled button. The new value clears 4.5:1 on both while keeping the same hue and saturation.

    Document links in the light theme are a deeper blue now too. That is a separate token from the primary, and it was reading at 3.56:1 on the page background, so ordinary links inside a document sat below the same floor. It now clears 5.2:1. The palette entry it used to point at is unchanged, because that entry also drives icon fills and text selection, where no text contrast requirement applies.

    Catppuccin Latte and Solarized get the same treatment. Both took their blue straight from the upstream palette, and in both cases that blue missed the same 4.5:1 floor, at 4.35:1 for Latte and 4.08:1 for Solarized. Latte's is now a little darker and Solarized's a little lighter, each clearing 4.63:1. Because these themes derive their whole blue from one palette entry, the change also lifts link text, note callouts, and the sidebar accent in those two themes above the floor.

View v0.58.8 on GitHub