Skip to content

v0.68.18

Choose a tag to compare

@inkeep-internal-ci inkeep-internal-ci released this 05 Sep 18:58

Patch Changes

  • A document that moved on disk while you had it open no longer strands the tab.

    When a git-sync pull (or an external mv) reorganized folders underneath you, the open tab stayed bound to the document's old path. The editor kept rendering the content it already had, but the Outline panel queried a path that no longer existed and showed a red "Page not found." next to a heading count left over from before the move. That error never cleared, because once the old path dropped out of the page list the panel could no longer refetch it.

    Two things changed:

    • The tab follows the document. A move seen by the file watcher now closes the agent sessions and client connections holding that document, as a move made from the sidebar already did. The existing rename-redirect handshake then points each tab at the new path. Moving the document back works too: the tab follows it home and keeps saving, where before the returning path was served a stale copy that silently refused every write. Edits that had not yet reached disk when the move landed are written to the rescue buffer rather than discarded, though reaching them still needs support: they do not yet appear in the Timeline of the document you are rebound to.
    • Panel headers stop disagreeing with their bodies. The Outline, Backlinks, Outgoing, and Local files counts are hidden whenever that section is showing an error, and each of those panels now says plainly that the page is no longer at this path instead of reporting a confident zero. A document that leaves the page list also stops leaving a stale Outline result cached behind it. This covers any failed fetch, not just a move.
  • Terminal content no longer disappears when the terminal changes shape around it.

    Switching to another terminal tab, reordering tabs, or moving the terminal between the bottom dock and the right column could wipe what was on screen. On Windows the symptom was stark: a command you had just run, and its output, would be replaced by a repeated shell prompt, or older scrollback would vanish while the newest lines survived.

    The terminal sizes its grid to fit the box it is drawn in. Hiding a tab, or reparenting the panel mid-move, leaves that box with no size for a moment, and the sizing pass had no way to tell "this box is zero because nothing is drawn right now" from "this box is genuinely tiny". It read a missing size as a real one and fitted the terminal to a grid roughly eleven columns by five rows, then handed that grid to the shell. On Windows the shell owns its screen buffer and repaints it on every resize, so collapsing to a sliver and back destroyed the content in between.

    The terminal now sizes itself only from a box that is actually being drawn, and only the sizing pass that measured that box tells the shell about it. A resize that arrives while the terminal is hidden or mid-move is ignored, and the real size is picked up as soon as it is on screen again, so tab switches, reorders, and moves leave the buffer and the running shell untouched.

    The same rule covers the terminals that come back when you reload the window. They are restored all at once, but only the tab you are looking at has a size yet, so the ones still waiting their turn are no longer told a size that was never measured. Each is told its real size when it is shown.

Downloads

Platform Architecture Download
macOS Apple Silicon OpenKnowledge-arm64.dmg
Windows x64 OpenKnowledge-Setup-x64.exe
Windows arm64 OpenKnowledge-Setup-arm64.exe
Debian / Ubuntu x64 OpenKnowledge-amd64.deb
Debian / Ubuntu arm64 OpenKnowledge-arm64.deb
Fedora / RHEL x64 OpenKnowledge-x86_64.rpm
Fedora / RHEL arm64 OpenKnowledge-aarch64.rpm