<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tmuxrdr.git/src/api, branch v0.9.3</title>
<subtitle>herdr but with less disrespect for the tmux community
</subtitle>
<id>https://git.soarez.net/sz/tmuxrdr.git/atom?h=v0.9.3</id>
<link rel='self' href='https://git.soarez.net/sz/tmuxrdr.git/atom?h=v0.9.3'/>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/'/>
<updated>2026-09-27T17:57:00+00:00</updated>
<entry>
<title>feat: let agents report their own resume command (#4687)</title>
<updated>2026-09-27T17:57:00+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-27T17:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=2552d101afe46b8622a7695f38f6cd1766dd1afc'/>
<id>urn:sha1:2552d101afe46b8622a7695f38f6cd1766dd1afc</id>
<content type='text'>
* feat: let agents report their own resume command

* fix: keep reported resume commands tied to accepted sessions and current owners</content>
</entry>
<entry>
<title>fix: keep api listener alive after transient accept errors (#4659)</title>
<updated>2026-09-26T17:59:41+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-26T17:59:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=bde45262be66fc8a95d36e6058b0afd4865ffed5'/>
<id>urn:sha1:bde45262be66fc8a95d36e6058b0afd4865ffed5</id>
<content type='text'>
* fix: keep api listener alive after transient accept errors

refs #4601

* fix: drop repeated api accept failure logs

refs #4601</content>
</entry>
<entry>
<title>feat!: replace the custom graphics api with optimized native kitty rendering (#4561)</title>
<updated>2026-09-24T17:59:48+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-24T17:59:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=c411883ec639c9893ed9c33021c890485e91727b'/>
<id>urn:sha1:c411883ec639c9893ed9c33021c890485e91727b</id>
<content type='text'>
* feat!: replace the custom graphics api with optimized native kitty rendering

* fix: enable safe kitty optimizations automatically

---------

Co-authored-by: JJ Liebig &lt;jonathan.liebig@gmail.com&gt;</content>
</entry>
<entry>
<title>fix: distinguish agent completion from startup and session changes (#4457)</title>
<updated>2026-09-21T17:47:14+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-21T17:47:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=28360107c1bfab57fb0de99d74bfa48e74423ca8'/>
<id>urn:sha1:28360107c1bfab57fb0de99d74bfa48e74423ca8</id>
<content type='text'>
refs #3338
refs #3990
refs #3916</content>
</entry>
<entry>
<title>fix: refresh forwarded ssh agents after reconnect (#4443)</title>
<updated>2026-09-21T12:22:46+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-21T12:22:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=3602c757e07645383dc092f8540dcb72ba0ed49d'/>
<id>urn:sha1:3602c757e07645383dc092f8540dcb72ba0ed49d</id>
<content type='text'>
refs #1931</content>
</entry>
<entry>
<title>fix: preserve session layouts across shutdown and restore failures (#4400)</title>
<updated>2026-09-20T21:29:45+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-20T21:29:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=0ff0f27e222633c97ba4291f6b9be4137002ca84'/>
<id>urn:sha1:0ff0f27e222633c97ba4291f6b9be4137002ca84</id>
<content type='text'>
* fix: preserve session layouts across shutdown and restore failures

refs #4320

* test: update subscription fixture for pane restore errors

---------

Co-authored-by: JJ Liebig &lt;jonathan.liebig@gmail.com&gt;</content>
</entry>
<entry>
<title>fix: drain event subscriptions and report history loss (#4225)</title>
<updated>2026-09-20T14:56:47+00:00</updated>
<author>
<name>Eric Yue</name>
<email>jiacheng.yue@foxmail.com</email>
</author>
<published>2026-09-20T14:56:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=65927cef1c735169ba07677311ec9d6d7435c9f3'/>
<id>urn:sha1:65927cef1c735169ba07677311ec9d6d7435c9f3</id>
<content type='text'>
* fix: drain event subscriptions and report history loss

refs #4178

Root cause:
Each subscription emits at most one matching event per 100 ms poll, while
the shared event history retains only 512 entries. Bursts therefore build
a backlog, and an evicted cursor silently resumes at the oldest retained
event with no indication that earlier events were lost.

Fix:
Drain the bounded retained batch for lifecycle and agent-status streams.
Check for history loss while holding the same lock used to read events,
then return an events_lost error and close only the affected subscription.
Keep event envelopes, request shapes, endpoint codecs and wait behavior
unchanged. Preserve state filters, initial snapshots, event order and the
existing cadence for snapshot-only subscriptions.

Document resubscription and snapshot recovery in the unreleased API docs.
Add regressions for burst draining, startup-window loss, retention bounds,
status ordering and filtering, and unavailable history.

Validation:
Three socket regressions fail before the fix and pass afterward. Thirty-two
focused API tests and five repeated rounds of socket tests pass. The real
current-master comparison receives 516 of 600 events before the fix and
600 of 600 after it in about 0.97 seconds. A paused reader receives the
explicit error, and a new subscription plus snapshot recovers successfully.

Full native just ci on the dependency-inclusive branch passes 3631 Rust
tests with six default skips, formatting, all-target Clippy, 112 maintenance
tests, six architecture tests and 39 integration-asset tests. All seven
docs contract tests pass. No retries or additional exclusions were used.
Local Windows cross-lint was not run because its SDK is unavailable.

* test: cover subscription isolation across platforms

refs #4178

---------

Co-authored-by: JJ Liebig &lt;jonathan.liebig@gmail.com&gt;</content>
</entry>
<entry>
<title>feat: add configurable pane screen and scrollback clearing (#4383)</title>
<updated>2026-09-19T11:47:18+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-19T11:47:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=cc7c696cd0772e466da403eb4e3f00f4e8d8ae1e'/>
<id>urn:sha1:cc7c696cd0772e466da403eb4e3f00f4e8d8ae1e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: preserve request ids in socket error responses (#4353)</title>
<updated>2026-09-18T14:41:56+00:00</updated>
<author>
<name>akbash</name>
<email>akbash@herdr.dev</email>
</author>
<published>2026-09-18T14:41:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=241063f7ffb9583ba9b3438b32a82fcec3cf32a3'/>
<id>urn:sha1:241063f7ffb9583ba9b3438b32a82fcec3cf32a3</id>
<content type='text'>
* fix: preserve request ids in socket error responses

refs #4344

* docs: clarify socket error response limits

refs #4344

---------

Co-authored-by: akbash-bot &lt;300245827+akbash-bot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>fix: cache saved machine connection metadata (#4256)</title>
<updated>2026-09-16T20:55:12+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-16T20:55:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=5f3763dda88e0fefbce14afab7cc2c7232a5e2a8'/>
<id>urn:sha1:5f3763dda88e0fefbce14afab7cc2c7232a5e2a8</id>
<content type='text'>
refs #4252</content>
</entry>
</feed>
