Since Codex Desktop's remote connection uses a unix socket app-server while Litter's SSH uses a websocket one, they run separate app servers. This means that new messages and the "turn active" state desyncs between clients, if you're using both litter and Codex Desktop to connect to the same server.
My fork makes litter work just like Codex Desktop, using a shared codex app-server --listen unix:// and a codex app-server proxy instance per SSH connection. Now progress in a thread syncs correctly between the desktop app and litter. I find it useful to start a long running task on my laptop and steer it from my phone, or start one remotely and then work on it from the desktop app when I get home.
I looked into it, and it seems better to use the codex app-server --listen unix:// + codex app-server proxy method for SSH anyways, as it simplifies the codebase.
Since Codex Desktop's remote connection uses a unix socket app-server while Litter's SSH uses a websocket one, they run separate app servers. This means that new messages and the "turn active" state desyncs between clients, if you're using both litter and Codex Desktop to connect to the same server.
My fork makes litter work just like Codex Desktop, using a shared
codex app-server --listen unix://and acodex app-server proxyinstance per SSH connection. Now progress in a thread syncs correctly between the desktop app and litter. I find it useful to start a long running task on my laptop and steer it from my phone, or start one remotely and then work on it from the desktop app when I get home.I looked into it, and it seems better to use the
codex app-server --listen unix://+codex app-server proxymethod for SSH anyways, as it simplifies the codebase.