Skip to content

0.3.4

Choose a tag to compare

@github-actions github-actions released this 15 Sep 00:16
· 2 commits to main since this release
292c25d

Install or update via BRAT: powoct/claudian-session-sync. See the README for setup.

Upgrading from 0.3.3 needs nothing from you.

If you use Codex on two machines, some conversations may have been stuck in a loop

Two machines can end up holding the same Codex conversation written two different ways. Not different content — the same turns, the same records, in the same order, with the fields inside a line written in a different sequence. Codex does that on its own: the order is randomised each time it runs, so two machines converting the same old conversation produce files that differ in bytes and in nothing else.

This plugin compared bytes, so it called that a disagreement and set both copies aside for you to choose between. Then choosing made it worse: whichever version you kept became the new one the other machine disagreed with. Answer it there and the first machine disagrees again.

It does not end on its own, and answering it does not end it. Measured over five days: ten conversations going back and forth, with a fresh prompt to choose each time.

This version recognises that the two versions say the same thing and takes the one in your sync folder, on every machine. Nothing is asked of you and nothing is lost — the copy it replaces goes to your backups like any other. If you have been choosing "keep this machine's version" on Codex conversations that will not stay resolved, this is why, and it should stop after a sync or two on each machine.

Only field order is forgiven. Two versions that differ in anything else — a different reply, an edit, one machine further along — are still a disagreement and still come to you.

Notes

  • A dry run was writing one file. Setting up a sync folder you are not sure about and running a dry run would still write this machine's identity file into the plugin's own state folder. It no longer does, and the report says what it skipped.
  • Your machine's identity no longer changes when its name does. On a Mac without a fixed hostname, the name moves on its own as you change networks, and this plugin used to treat that as a different machine and forget everything it had observed — including the record that stops a deliberately shortened conversation from being silently restored. One machine changed identity nine times in a day. The name is now just a label.
  • Not verified on real machines. This release is carried by 1,083 automated tests including two-machine simulations, CI on Linux, macOS and Windows, and deliberate sabotage of each fix to confirm the tests catch it. What has not been done is a round on two real machines with real Codex conversations — every earlier release had one. If you hit something odd, that is worth knowing when you report it.

For the record

gh attestation verify main.js --owner powoct

The main.js here was built by the release workflow from this commit, not uploaded by hand. Full technical record in docs/zh-CN/ (Chinese).