v0.59.0
Minor Changes
-
OpenKnowledge Desktop now supports the docked terminal on Linux deb and rpm installs. Linux packages include the upstream N-API
node-ptyprebuild for x64 and arm64, use Linux-native shell selection, expose the existing terminal controls, and preserve terminal copy and paste through Linux keyboard conventions. -
Retrying a bug report from your report history no longer opens an email draft on its own. Sends now run in the background behind a toast (below), and when a retry resolves to the email fallback that toast offers Open email draft rather than launching your mail client unprompted. Retry used to open the draft for you the moment the send resolved that way; now that there is somewhere to put the choice, it is yours to make.
The rest of the change is why that toast exists: filing a bug no longer costs you the app for the length of the upload.
- The dialog closes the moment you press Send report. The upload used to run inside the dialog, which deliberately swallowed Escape and outside-clicks so the result could not land in a void. That meant an un-dismissable modal for an interval whose length depended on your bundle size and your network, and which was never shown to you. The send now runs in the background, so everything behind the dialog stays usable while it does.
- A toast follows the send. It carries a spinner, the bundle size, a moving progress bar, and a Dismiss action. Dismiss clears the progress toast; it does not stop the send, which continues and still records its outcome in your report history. When that send finishes, its outcome is shown to you — dismissing the progress toast declines the wait, not the result. There is no cancel, because there was never anything behind the old Cancel button either: it returned you to the review step and left the upload running.
- The outcome resolves in the same toast. A successful send shows its reference with a copy button and clears itself; the reference stays on the history row afterwards. The email fallback (what you get with no report service configured) and a genuine failure both hold until you dismiss them, and both offer to open the draft and reveal the saved bundle. A failure also offers Try again, which updates that same toast rather than stacking a second one.
- File a second report while the first is still going and each gets its own background send and its own toast. Neither replaces the other.
- Retrying a report that is already being sent now says so instead of reporting a failure. The app refuses a duplicate upload of the same bundle, and that refusal was previously indistinguishable from a real upload failure, so a retry from a second window (or from a stale row) could tell you a report had failed seconds before it succeeded. It now reads as "Already sending this report", and no second upload is issued.
- An open report history updates itself when a background send finishes, instead of holding at "Sending" until you close and reopen it.
- A sent report carries a follow-up button. The success step used to end with "Have more to add? Write to support@inkeep.com and mention your reference". A toast that clears itself cannot carry that, so it moved onto the sent row in your report history, next to Reveal and Delete, and opens a draft to support with the reference already in the subject. Rows that were sent without a reference do not show it.
Note for anyone consuming
@inkeep/open-knowledge-coredirectly:OkBugReportSendFallbackReasongained a third member,'send-in-flight', alongside'email-draft'and'send-failed'. It is the reason above: nothing failed and nothing was refused, the same bundle is simply already on its way. This is technically breaking for an exhaustiveswitchover a received value, though the type describes a desktop IPC result that is unlikely to be switched on outside the app.The reference on the success toast is labelled. On its own the identifier read as a ticket you were meant to go and open, when it is the handle you quote back to support. The dialog this toast replaced carried that label; the toast had dropped it.
A failed send now records what actually went wrong. Until now a failure reached the log as the single word
network-error, which cannot tell your machine failing to resolve the intake apart from the intake being down apart from a certificate problem. The log line now carries which step failed, the host it was talking to, the HTTP status where there was one, and the underlying network error code. Signed upload URLs contribute only their host, never the signature. This is diagnostic detail inside a report you send us; nothing about it is shown to you.
Patch Changes
-
The
Plan (n/m)header in the ACP transcript now starts collapsed instead of expanded. Plans routinely run to twenty items, and an always-open default buried the running transcript below the fold and gave users no obvious way to reclaim the space (the click zone is one narrow row — easy to miss, easy to think dead). Click the header once to open the list; click again to close it. Extracted the block to its ownPlanChecklist.tsxfile withdata-testidhooks and DOM coverage for the toggle, the prop-update path (plan stream ticks must not close the drawer someone just opened), and completed-item styling. -
The ACP chat transcript no longer applies the global
scale(0.97)press-feedback shrink to its buttons — the shrink combined with a tight-tap disclosure header (Thinking, Plan, tool-call card, raw-input) pulled the row out from under the cursor on a follow-up click. Non-chat buttons across the rest of the app keep the global press affordance. -
Absorbed upstream Electron security fixes.
-
The first-launch setup screen is reworked into a proper welcome: an OpenKnowledge header, a theme picker for light, dark, or following the OS, and a Skip for now action alongside Finish setup. Connecting your AI tools is now two separate choices instead of one, since wiring the MCP into the editors you already use and installing the open-knowledge-discovery skill land in different places and can be wanted independently. Each row lists the exact files it writes in its own info tooltip, and the skill is only offered when there is somewhere on your machine to install it, so a setup with no AI tools no longer shows a section that can't do anything.
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 |