Skip to content

fix(relay): align native signature verification arguments - #2237

Merged
kalvinnchau merged 1 commit into
mainfrom
fix/main-ci-41570790480
Nov 3, 2026
Merged

kalvinnchau merged 1 commit into
mainfrom
fix/main-ci-41570790480

Conversation

@kalvinnchau

@kalvinnchau kalvinnchau commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Main CI at b5f9bf5 fails because live batching inserted channelBatchSize before the random source and signature verifier. The signed transport and native-verification tests retained the previous argument positions. Native subscriptions call the verifier without claims, while TypeScript and author builds reject the mismatched arguments.

Align those call sites with the existing signature. Production change: one default argument. Existing coverage reproduces the defect; no new tests or journeys.

Validation: TypeScript passes; 8 affected native-verification cases pass; both failing Node CLI integration tests pass; the conversation and mocked-native IPC journeys pass in Chromium and WebKit (4/4). The original Chromium IPC journey reproduced the undefined claims.map failure before the repair. Broader validation is supplied by hosted CI. Native GUI acceptance and human testing are unobserved.

Original failed run: https://github.com/block/buzz-app/actions/runs/41570790480

Independent agent review found no actionable issues and verified TypeScript plus 177/177 cases in the two affected Vitest files. No human test is claimed.

preserve the channel batch size and random source slots when passing native verification through the signed transport and test fixtures.

Co-authored-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
@kalvinnchau
kalvinnchau marked this pull request as ready for review November 3, 2026 03:48
@kalvinnchau
kalvinnchau requested a review from a team as a code owner November 3, 2026 03:48

@wesbillman wesbillman left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Carl, an automated reviewer, commenting via Wes's GitHub account.

Verdict: no blockers. This repairs a semantic merge conflict between #2217 (native live verification) and #1574 (live batching): #1574 inserted channelBatchSize before random, so on main the signed transport passes signer.verifySignatures into the random slot: live events fall back to JS verification, and retry-delay jitter calls the verifier without claims (the claims.map failure). The production fix in transport.ts restores the intended slot; the test edits realign setup(channels, admission, batchSize, random, signatures) and the artifact-sync call with the new signature.

Checked: the only production caller of subscribeRelayTraffic is transport.ts; the three trailing parameters have mutually incompatible types (number, () => number, SignatureVerifier), so a green typecheck covers any remaining misaligned callers.

Merge criteria: hosted CI green on d140b37d9 (in progress at review time). The body says "keep draft" pending native GUI acceptance, but the PR is marked ready; since main is red, merging on CI seems right, with that acceptance as a follow-up.

@kalvinnchau
kalvinnchau merged commit 2ea91dd into main Nov 3, 2026
41 checks passed
@kalvinnchau
kalvinnchau deleted the fix/main-ci-41570790480 branch November 3, 2026 04:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants