mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
feat(p2): keep serving older Sessions, Catalog and SessionTree versions
Pages and TUIs loaded before a deploy hold the contracts they were built with; without accepts they wait unbound (contract_mismatch) until they reload. The histories are now written with evolve from the released versions, and the providers accept them: - Sessions 3 (rows without main and branches) and 4 (a null branch label reads as the session title); v4's treeSelf arguments pass as they are - Catalog 2 and 3, the same row mappings - SessionTree 1: the tree without labels (no branches, no node conversation); rename is new and needs nothing test/p2/contract-versions.test.ts binds the released declarations against the current server.
This commit is contained in:
parent
7670c8be43
commit
0a180b049a
9 changed files with 848 additions and 337 deletions
|
|
@ -359,6 +359,12 @@ p2 runs on Chord v2 (`packages/chord`, `docs/design.md` there); the port's notes
|
|||
- **Plugins:** see **Plugin layout** and **Plugin reloads**; the server loads its facets with `createPlugins`, workers
|
||||
get theirs from the workers component, the TUI and web bundles load theirs with `host.load`.
|
||||
- **Protocol versions:** a page or TUI reloads when the server speaks a newer link protocol (`newerPeerProtocol`).
|
||||
- **Contract versions:** pages and TUIs keep the contracts they were built with until they reload, so a deploy that
|
||||
bumps a contract a client holds must keep serving the old version: write the history with `evolve` (the released
|
||||
version as the base, verbatim, so old bundles' fingerprints match) and give the provider an `accepts` table mapping
|
||||
current state and results back (`Sessions` v3/v4, `Catalog` v2/v3, `SessionTree` v1;
|
||||
`test/p2/contract-versions.test.ts` binds the released declarations). Without it, old clients wait unbound
|
||||
(`contract_mismatch`) until they reload.
|
||||
|
||||
## Radius and port forwards
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue