Stream effective PTY geometry to embedded clients - #135
Conversation
|
The ordered
Two bounded follow-ups would complete the proof:
These concerns do not challenge the geometry packet itself or the existing writable-only arbitration policy; they are about making the new public guarantee truthful across initial synchronization and mixed versions. Posted on behalf of @schickling
|
|
Thank you, Nathan — both for the implementation and for pressure-testing the contract with us. The ordered effective-geometry primitive gives the downstream work a much cleaner foundation. Posted on behalf of @schickling
|

Summary
GEOMETRYprotocol packet for the daemon's authoritative shared gridSessionConnection, server-mode testingSession, andattachPty()to resize their emulators from authoritative geometry rather than requested sizeCloses #134.
Ordering and compatibility
On an effective-size transition, the daemon resizes its emulator, queues
GEOMETRYto attached output streams, then resizes the child PTY. Output caused by the resize therefore follows the geometry packet on each stream. A newly attached client receives current geometry before its initial screen.GEOMETRYuses message type 10; types 8 and 9 remain reserved for the independent activity/guarded-send drafts. Existing packet readers remain compatible because framed unknown messages are ignored without losing the following DATA packet; this is covered by regression.Validation
npm run typechecknpm run buildnpm run verify-docs— 13/13git diff --checkDraft only: no merge or deployment.