Skip to content

v0.50.1

Latest

Choose a tag to compare

@inkeep-internal-ci inkeep-internal-ci released this 10 Aug 13:48

Patch Changes

  • When the server refuses a document's realtime connection, it now writes a timestamped line to the diagnostic log saying why. Previously those refusals went only to an untimestamped stderr file, so a bug report from a workspace where every document had gone unreachable carried no record of the refusal that caused it and the cause could only be guessed at. The new line names the reason plus the claimed and current value that disagreed, which is what turns that guess into an answer. Nothing about which connections are accepted or refused changed.

  • Fix documents that never load on a workspace whose git branch is not main.

    The server accepted WebSocket connections before it had read HEAD, so during the
    boot window it compared every client's branch claim against a main placeholder
    and rejected the connection as a branch mismatch. The rejection recycled the
    client's providers, which re-armed the same load budget against a server still in
    the same window, and every document in the workspace timed out. The branch check
    now waits for the server to resolve its real branch before it decides anything,
    and only for that — it does not wait for the rest of startup, so opening a large
    workspace is no slower than before. If the branch cannot be established quickly
    the connection is admitted rather than judged against a guess.

  • A crash you were never told about no longer stays that way. Previously a single unanswered crash prompt muted every later crash for the rest of the session — one report arrived from a window that had blinked and reloaded twice in 52 minutes with no explanation, because the second crash was silenced by a prompt from the first that nobody had answered. An unanswered invitation now only mutes crashes that belong to the same incident; a later, independent crash supersedes it and asks you about the crash that just happened. The handover is logged, so a silence is legible after the fact instead of looking like nothing occurred.

    Reporting a bug yourself now offers the crash dump the app is already holding. The opt-in used to appear only when a crash prompt opened the dialog for you, so the report filed moments after an unprompted crash — the one most likely to carry the answer — shipped without the dump sitting on disk the whole time. The row now appears whenever there is a dump to attach, left unchecked so the unredactable memory rides along only if you choose it.

  • OpenKnowledge no longer asks you to report crashes that never happened. Chromium writes a minidump whenever its GPU watchdog thinks a thread has stalled, even when the process recovers and keeps running, and the app had no way to tell that snapshot apart from a real crash. The result was a prompt at the next launch saying the previous session ended uncleanly, for a session that quit normally, recurring at every launch until you filed a report to make it stop. The app now reads the dump's own exception record and recognizes a captured-but-never-faulted snapshot for what it is.

    The same fix closes a sharper problem. When a report dialog offers to attach a crash dump, it was resolving the newest dump on disk without checking which crash was being reported, so a watchdog snapshot written after a genuine crash could be attached to a report about that earlier crash, shipping the wrong process's memory under a notice describing a different failure. Dump resolution now steps over snapshots and reaches the dump that actually belongs to the crash being reported.

    Real crashes are unaffected, deliberately so. The check keys on a value a real crash cannot carry and compares it exactly, never as a range, because the neighbouring code for an Objective-C exception differs by a single digit and marks a genuine fatal crash. Anything the app cannot read with confidence, including a dump truncated by the very fault that produced it, still prompts and still offers its dump. The behavior currently ships on macOS; Windows and Linux keep exactly today's behavior until their equivalent marker is measured against a real dump on those platforms.

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