Skip to content

codr v0.9.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 01:34
· 7 commits to master since this release

codr 0.9.0

History controls, safer OpenCode observation, paginated folder search and
contributor fixes for Linux and macOS. This is a bridge-worker update; the
connector pin, wire protocol and storage cohort stay unchanged.

Read history without resuming sync

  • /last replays the newest conversation message in the current agent chat.
    /last4 and /last 4 replay the newest four in source order. Counts from
    1 to 100 are supported. Explicit replay includes already delivered text,
    without changing sync, prompting an agent, or consuming automatic delivery keys.
  • /recent retains its three-message excerpt per eligible chat. /recent2 and
    /recent 2 select a two-hour activity window; the default stays one hour.
  • Catch-up and replay label You/Agent text with the original UTC source date.
    Missing or invalid dates are marked unknown. Date labels do not alter delivery keys.

Safer OpenCode observation

  • Optional opencode_service_file selects an authenticated, loopback-only V2
    reader. Failed reads do not start, replace, or signal the shared server and
    cannot fall back to the managed CLI.
  • A small durable-log watermark avoids repeated exports of unchanged histories.
    Changed history still uses a bounded full export. Forms and permissions remain
    separately refreshed; failed reads do not clear pending prompts.
  • The initial cause of the observed stall remains unproven. A separate OpenCode
    client recovery fix is tested locally but is not part of the Codr binary and
    was not installed by the Codr mitigation rollout.

Current-chat reset and clearer invitations

  • /cancel clears cached questions, permission cards and pending menus in the
    current chat. It interrupts only the verified active native agent, without
    discarding history, accepted deliveries or uncertain-operation records.
  • Invitations and first welcomes identify the project and explain /help.
    Existing chats do not receive repeated welcome messages.

Filter existing folders without losing pagination

  • ls <part> searches selectable folder names by a case-insensitive substring.
    Matching results retain the existing 200-folder pages and persisted numbered
    selection; results are not cut off at the first 200 entries.
  • A new search starts at page one. Bare ls clears the filter and refreshes the
    full list. ls next searches for the word next, while bare next changes pages.
  • This adapts Juraj Bednar's filtering contribution from
    PR #17, without merging that PR's
    branch or version-preparation changes. Existing root, symlink,
    menu-code, page-selection and launch-confirmation checks remain active.

Fresh Claude sessions and quieter warnings

  • A fresh Claude session has empty history until its first transcript is written.
    Chat setup can proceed before the first prompt. Ambiguous transcripts, scan
    errors and invalid session IDs remain errors. Adapted from Juraj Bednar's
    PR #18.
  • Repeated bridge log lines print once per ten minutes, with repeat counts on
    the next print. The cache remembers at most 256 lines and evicts its oldest
    entry when necessary so new errors remain visible. Evicted lines can print
    again before ten minutes. Adapted from Juraj Bednar's
    PR #19.
  • The optional CLI export fallback retries EOF/incomplete JSON at most three
    times per API shape. Other parse errors and command refusals are not retried
    on that shape. Incomplete-read evidence survives an unsupported fallback.
    This corrects the shared afe4f38 contribution; the non-owning HTTP reader
    remains separate and cannot start or fall back to the managed CLI.
  • Updater test fixtures derive a newer release version from the running package.
    Mute/wake tests wait for background reads to complete, including a slow-read
    fixture, without changing delivery semantics or runtime forwarding logic.

macOS service startup

GitHub PR #16, already merged on master,
retries a refused macOS launchd bootstrap once and allows a slow first spawn.
The release retains the original contributor commits and four regression tests.
A known limitation remains: a mixed-service activation check shares the extended
timeout while a job is in its first-spawn state.

Contributors

Contributors to this release are Tom Dwyer
(@tidley)
and Juraj Bednar
(@jooray)
, the original author of the launchd fix
in commit 9cc41f0902b55186c1c37f0897eccecd6240196b through GitHub PR #16.
Juraj also authored the folder-filtering contribution adapted from PR #17,
commit bac75ff2af0eb0ebd68f9e5e52c172adccfdc0bc; its source and tests informed
the local adaptation while preserving the existing pagination.
Juraj's fresh-Claude-session and warning-throttling contributions are adapted
from PR #18 (d0f19b80f1a476076f092893daac213f10be9f59) and PR #19
(0ae3df4173dc915dc5881832665a9c923d3809eb). The bounded CLI export-retry
contribution comes from their shared commit
afe4f38ad99a0431c4bd72b183c35d200092f428, with local corrections and tests.
Credits are based on original authors and the co-author record in the source
range since v0.8.0, including the original PR #16 commits and the adapted
contributions above. The same credits are retained in the ngit mirror.

Update and verification

  • Linux x86_64/aarch64 and macOS x86_64/aarch64 packages come from the required
    tag workflow for the exact v0.9.0 source, not relabelled build-only artifacts.
  • /update requires the signed stable ngit release and verified independent
    Blossom downloads. It replaces only the managed bridge worker after phone
    confirmation. A GitHub-only release is not yet discoverable by that command.
  • Accounts, chats, native sessions, accepted deliveries, history and sync settings
    must remain intact. The connector/storage cohort does not change. Installations
    still using MDK 0.13 must follow the existing stopped-backup migration procedure;
    this release does not authorize or perform a storage migration.
  • Foreman orchestration, worker-sharing filters, combined runtime and vendored MDK
    dependency changes are not included. The separate OpenCode client recovery patch
    is not part of this binary.

See the release verification and phone update-test guide.