Skip to content

Align Citizen Claim live-RPC test budgets; document product blocker - #269

Open
L03TJ3 with Copilot wants to merge 4 commits into
mainfrom
copilot/patch-stabilize-citizen-claim-test
Open

L03TJ3 with Copilot wants to merge 4 commits into
mainfrom
copilot/patch-stabilize-citizen-claim-test

Conversation

Copilot AI commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

The fresh-wallet test’s 40-second wait exceeded its 30-second test timeout. Local traces also exposed a response-order race that prevents timeout alignment alone from stabilizing the test.

  • Test-only changes

    • Set a 60-second test budget; retain the 40-second state assertion.
    • Replace text polling with diagnostic retrying assertions requiring “Whitelisting Required” and a visible Verify button.
    • Document RPC dependencies and refresh screenshot evidence.
  • Product blocker

    • An obsolete address-less refresh can overwrite not_whitelisted with not_connected despite successful Celo identity reads.
    • Product behavior remains unchanged; separate authorization is needed to address the race.
  • Acceptance

    • Repeated live Chromium passes: 0/3, blocked by the race.
    • Citizen Claim regressions: 5 passed without retries.
    • Dependencies documented: Celo Forno, Fuse RPC, and Ankr XDC. Historical CI logs were inaccessible; findings use local traces.

Live-RPC blocker screenshot

Copilot AI balanced review requested due to automatic review settings October 23, 2026 13:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review any files in this pull request. Check if the Files changed in this pull request are included in default exclusions.

Copilot AI linked an issue Oct 23, 2026 that may be closed by this pull request
3 tasks
Copilot AI and others added 2 commits October 23, 2026 13:26
Co-authored-by: L03TJ3 <6606028+L03TJ3@users.noreply.github.com>
Co-authored-by: L03TJ3 <6606028+L03TJ3@users.noreply.github.com>
Copilot AI changed the title [WIP] Stabilize citizen claim live-RPC Playwright test Align Citizen Claim live-RPC test budgets; document product blocker Oct 23, 2026
Copilot AI requested a review from L03TJ3 October 23, 2026 13:33
@L03TJ3
L03TJ3 marked this pull request as ready for review October 27, 2026 12:58
@L03TJ3
L03TJ3 requested a review from a team October 27, 2026 12:58

L03TJ3 commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

@copilot Please follow up with the minimal widget fix here.

Locally reproduced on bb05d89: the fixture auto-connects correctly and the identity read returns not_whitelisted. About 0.7 seconds later, an older addressless refresh finishes its auxiliary RPC reads and overwrites that state with not_connected. The test is valid; adding a Connect click or more timeout is not the fix.

In packages/citizen-claim-widget/src/adapter.ts, remove await auxiliaryReads from the if (!address) branch so the disconnected state is applied immediately, not after a stale async wait. This one-line proof fix passed the target test 5/5 with one worker and no retries, the full Citizen Claim states.spec.ts 5/5, scoped build and lint. A temporary 15-second observation also confirmed Verify remained visible.

Please apply this small fix and add one focused regression proving a late addressless refresh cannot overwrite the connected result. Keep this scoped; no broad refactor or unrelated edge-case work. Rerun the focused tests and report the results.

…268)

Co-authored-by: L03TJ3 <6606028+L03TJ3@users.noreply.github.com>

Copilot AI commented Oct 27, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please follow up with the minimal widget fix here.

Locally reproduced on bb05d89: the fixture auto-connects correctly and the identity read returns not_whitelisted. About 0.7 seconds lat...

Addressed in 99c6572: removed the addressless branch’s await auxiliaryReads and added a deterministic regression that releases held auxiliary responses after Verify appears. It fails before the fix and passes 5/5 afterward.

With one worker and no retries: live Chromium 5/5; full Citizen Claim suite 7/7 (six state tests plus version). Scoped build/lint and spec lint pass. Verify remained visible during a 15-second live observation. Screenshots refreshed; secret scan clean; CodeQL: zero alerts. No Connect click, added timeout, or broader refactor.

This branch was successfully deployed

2 active and 1 inactive deployments
preview-storybook — 99c65724 Deployed Oct 27, 2026 by Copilot via preview #488
preview-superfluid-campaign — 99c65724 Deployed Oct 27, 2026 by Copilot via preview #248
internal — 99c65724 Deployed Oct 27, 2026 by Copilot via authorize-preview #488
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.

[Patch] Stabilize Citizen Claim live-RPC Playwright test

3 participants