Repository navigation
Re-verify the wire contract at Grappa v1.5.12 and refresh the baseline #239
Copy link
Copy link
Closed
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
Grappa v1.5.12 shipped on 2026-10-03 (tag v1.5.12, commit c26c77bc). It is the first release that carries wire protocol 37, which Cordiale already declares (CLIENT_PROTOCOL_VERSION = 37) but so far only against the unreleased Grappa main. Our docs still say contracts were last verified at 189aaf2c, which is stale. Let's check the code against the real tag and refresh the baseline.
What to do
- Re-read the contract at the tag. Diff upstream
docs/CLIENT_PROTOCOL.mdbetween189aaf2candv1.5.12(about 190 lines added, 8 removed) and check every section against the Cordiale code, reading the Grappa/Cicchetto source and not just the doc (we got burned by summaries getting field names wrong before). Sections touched: 2b, 4d-bis (away_nick_suffix_changed, v32), 5f (dm_conversation_idremoved, v37), 5g (mentionsid/dm_with, v35), 5h (dm_withon every scrollback row, v36), 8c (ignore pairs, v31), 8d (network delete takes scrollback,scrollback_presentgone,message_count, v33), event inventory (9). - Bump the baseline wherever it is written (
docs/protocol-notes.md,docs/feature-matrix.md, comments incrates/cordiale-core/src/protocol.rs) from189aaf2ctov1.5.12/c26c77bc, and say that protocol 37 is now a released contract. - Try it for real. The "not verified against a real v35/v36/v37 server" notes can finally be exercised on a v1.5.12 server: DM routing after a peer rename (new window, old one keeps history), after our own rename (
dm_withdecides,senderdecides "mine"),query_windows_listwithoutdm_conversation_id, mentions bundle, admin network delete withmessage_count. Record what was actually seen. - Known leftover:
parse_own_nick_window_countsstill compareschannelwith the current nick, so the self window's counts can be wrong after our own nick change on a v37 server. Fix it thedm_withway (decide "mine" bysenderfirst), or document why not. - Self-KICK (upstream #2321): a self-KICK no longer drops the channel from the rejoin snapshot, so after a reconnect the channel comes back greyed and is rejoined; a 474 puts it in
join_failedinstead of making it vanish. Check Cordiale handles the greyed/failed channel on reconnect and doesn't just remove it, and thatjoin_failedis shown. - Wide rows (upstream #2310): Cicchetto now clips (
overflow-x: clip) oversized rows such as mIRC block art instead of letting the pane pan sideways. Check what the Cordiale transcript does with a very wide, unbreakable line and make it behave the same (no horizontal scrolling of the pane). - Not applicable, nothing to do: narrow-pane breakpoint 384→383px (web CSS), NickServ password capture fix (#2322, server side), the shottino fix (#2340), CI/dependency bumps.
Done when
- Docs and code comments point to
v1.5.12, and each protocol-notes entry that was "not verified" says whether it now is. - Items 4-6 are fixed or have a short, written reason for staying as they are.
- Anything unexpected found along the way is filed as its own issue.
Part of the Grappa v1.5.12 realignment, see the umbrella issue.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Activity