Skip to content

v0.58.6

Latest

Choose a tag to compare

@inkeep-internal-ci inkeep-internal-ci released this 19 Aug 06:15

Patch Changes

  • The right-side rail no longer paints an empty phantom column between the editor and the agents chat panel. Both the terminal-right column and the agents column are permanent members of the resizable group (a workaround for a react-resizable-panels layout-cache bug), so a proportional-layout tick could hand a hidden column non-zero flexGrow in the paint window between its defaultSize={0} and the next reclaimHiddenRailColumn clamp — visible as a large empty gap that made the chat panel look like it had drifted off to the side. Two changes close it. The hidden panel now sets maxSize="0px" alongside its defaultSize={0} — RRP's own layout validator applies Math.min(maxSize, size) last (after the collapsible halfway snap), so the outer data-panel flex item is hard-clamped to zero share every redistribution pass and never wins the transient share the reclaim microtask was chasing. The preceding drag handle gets display: none so its 1px separator bar and tab-stop drop out of the flow while hidden. The panel stays registered with the group (its width state stays coherent for the next toggle-visible) and re-inflates from persisted width when it comes back.

  • An ACP agent whose credentials expire mid-conversation now returns the transcript to the sign-in surface with the reauthentication buttons the initial connection advertised, instead of parking the failed turn behind the opaque "Your message didn't reach X" card that had no path back. The prompt-catch on the server treated every non-cancel rejection as a generic prompt failure, so an auth-required rejection coming back from session/prompt never reached the same sign-in machinery session/new's auth-required branch already had — mirroring that branch closes the gap, and the auth-error classifier now recognizes both the ACP standard -32000 shape and the Claude Agent SDK's -32603 + data.errorKind === "authentication_failed" shape it emits for mid-turn OAuth expiry. The still-live agent process stays alive across the sign-in, so authenticate runs on the same connection the initial handshake set up.

  • ACP binary agents now install correctly when the temporary directory and OpenKnowledge home are on different filesystems. Binary archives are staged beside their destination for an atomic same-filesystem rename, and concurrent launches adopt an already completed install. Installs also retry the final rename when a Windows antivirus or indexer briefly holds the extracted files open, remember a broken manifest for a day instead of re-downloading the archive on every launch attempt, and sweep lock files left behind by crashed installers.

  • Make ok open and ok <file> use platform-native launchers on macOS, Windows, and Linux, and report launcher failures instead of exiting successfully.

  • The markdown lint hover callout in the WYSIWYG editor no longer covers the line you are typing on. It used to land on that line itself, clipping a few pixels of an ordinary paragraph and most of the line on a tall block such as a Callout, where it also swallowed the click you would use to move the cursor. It now clears the whole line under the pointer and sits above the text instead of on it. On a block that carries no text of its own, such as a divider or an image, it used to lose its anchor completely and park in the top-left corner of the window, and it now sits just above the block it describes.

    The callout also had no way to close other than moving the mouse off the block or clicking Fix. Resting the pointer on a lint-decorated block and typing left it standing over your text indefinitely, through typing, arrow keys, and Escape alike. Any keypress in the editor now retires it, and moving the mouse brings it back. The Problems panel remains the keyboard route to the same diagnostics and fixes.

  • ok repair-skills no longer creates project skill folders in directories that aren't projects. Run from your home directory, it used to read the user-global MCP configs at ~/.cursor/mcp.json and ~/.codex/config.toml as though they were project configs, and create two new project skill folders in your home while cleaning others out of it. Each editor is now skipped when its project config path resolves to that editor's own global config, which also covers the cases a home-directory-only check would miss: OpenCode's global config lives at ~/.config/opencode/, and CODEX_HOME or COPILOT_HOME can move those globals anywhere. Colliding hosts are reported in the summary and still exit 0.

  • A failed ACP prompt now offers an "Edit and resend" action that pulls the message text back into the composer, so the reader doesn't have to retype it to try again after changing a setting (a smaller context window, a different model, an added attachment). The card previously offered no action at all — the reasoning was that "sending it again IS the retry," but the composer had already cleared and the message text was only visible in the transcript row above the notice. Only the most-recent prompt failure carries the button (mirroring the Retry button's one-card discipline), and the transcript keeps the failed attempt as history. Text-only for now — attachments still need to be re-picked.

  • Reading and prompting in the editor now work on a phone. On touch devices under 640px wide, the side rails that frame the document shrink from 4rem to 1rem, so text gets the width it needs instead of wrapping every few words. The floating Ask AI composer benefits most: it sits in the same content column, and on a 393px-wide screen its input had been squeezed to 9px — too narrow to show a placeholder, let alone type into. It now gets a real text field.

    This is scoped to touch devices on purpose; a narrow desktop window keeps the wider rails, where the hover-revealed block drag handle still needs the room. Other surfaces remain desktop-shaped at that size: the Outline, Links, Graph, Timeline, Problems and Comments panel cannot be opened on a phone, and the file tree takes most of the screen when shown rather than overlaying the document.

  • Publish an accurate npm README and searchable package metadata, with release-time checks for the README and licensing files.

  • Clean up OpenKnowledge Desktop state and updater caches during uninstall on macOS, Windows, and Linux.

  • OpenKnowledge now presents accurate platform guidance throughout the app and docs. Download links route through the platform picker, terminal copy only appears where the built-in terminal is available, keyboard hints work across operating systems, and new projects ignore common macOS, Windows, and Linux metadata files.

  • Your home directory is no longer treated as a project by any entry point. Setting one up there ran git init in your home, wrote config.yml into ~/.ok/ (OpenKnowledge's own user-global directory), and landed project MCP config and skills on your editors' user-global paths, since at home every editor's project config path IS its global config. The refusal now lives in the two scaffold writers every path goes through, ensureProjectGit and initContent, so it covers ok init, ok share publish --project-dir, the desktop's Open Folder confirm, the desktop ok-init IPC, and POST /api/local-op/ok-init. Picking your home folder in the desktop is refused before the setup dialog opens, which also covers reopening a home "project" left behind by the old bug. And ok deinit refuses to run in your home directory, where it used to queue your entire user-global store for removal: global.yml, skills/, auth.yml, secrets.yml.

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