Skip to content

kimaki@0.14.0

Choose a tag to compare

@remorses remorses released this 06 Jun 09:54
· 94 commits to main since this release
  1. Configurable permission timeout with model continuation on deny — new --permission-timeout-minutes <minutes> flag controls how long permission buttons stay active before auto-rejecting (defaults to 10 minutes). When a permission times out or the user clicks Deny, the model now sees it as a tool error and continues working instead of the session going dead silent. The timeout message also tells the model to mention the thread owner if the tool call is essential.

    kimaki --permission-timeout-minutes 30

    Closes #140

  2. Single global SSE connection replaces per-thread listeners — previously every Discord thread opened its own SSE connection to the opencode server. With 20+ idle threads, all connections disconnected and reconnected simultaneously, flooding logs with reconnect messages. Now a single /global/event connection broadcasts events to all thread runtimes, matching how the opencode TUI works. Fixes #126

  3. Queue edit and removal notifications — when a user edits a queued message in Discord, the thread now shows the edit or removal. The queue confirmation also tells users they can edit the message to update it.

  4. User input indicators for buttons, dropdowns, and file uploads — action button clicks, question dropdown answers, and file uploads now show the user prefix in Discord threads, matching the existing pattern for queued messages and agent commands.

  5. Fix /model and /model-variant not updating current session for global/channel scope — selecting "global" or "channel" scope previously persisted the preference but the running session kept the old model until the next message. All three scopes now update the current session and restart the request with the new model.

  6. Fix bot becoming permanently unresponsive after gateway proxy outages — discord.js calls setToken(null) on any 401 response. When the gateway proxy returned transient 401s, this killed the REST token permanently. The fix blocks null token values so the bot recovers automatically.

  7. Fix stale interrupt timers aborting unrelated generations — the interrupt plugin now clears pending timers on errored assistant messages and on session idle events.

  8. Worktree base branch discovery in system message — the agent now gets instructions for finding its worktree starting point via git merge-base and git symbolic-ref.

  9. Fix OpenCode server auth passthrough — when OPENCODE_SERVER_PASSWORD is set, the SDK client now sends Basic auth headers correctly. Thanks @Dxee-e for #139!

  10. Prevent @username pings in scheduled task prompts — the system message now instructs the model to use Discord user ID mentions instead of raw @username in task prompts.