Repository navigation
codr v0.9.0
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
/lastreplays the newest conversation message in the current agent chat.
/last4and/last 4replay 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./recentretains its three-message excerpt per eligible chat./recent2and
/recent 2select 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_fileselects 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
/cancelclears 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
lsclears the filter and refreshes the
full list.ls nextsearches for the wordnext, while barenextchanges 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 sharedafe4f38contribution; 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 exactv0.9.0source, not relabelled build-only artifacts. /updaterequires 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.