Unblock pending registration snapshots (issue #14) #25

Merged
PlasticDigits merged 4 commits from fix/14-registration-pending into main 2026-08-30 06:05:12 +00:00
PlasticDigits commented 2026-08-30 05:55:02 +00:00 (Migrated from gitlab.com)

Summary

  • After register sign, the dApp keeps polling (backoff, 120s window) and shows Retry snapshot instead of a dead Registering… pill. Reload while an intent is in flight resumes wait. POST /v1/register ok still does not mean Registered or a CL8Y amount.
  • Ledger intent processing runs on its own loop so Terra/BSC ingest cannot starve snapshots. Ingest is chunked (2000) and a stale non-zero cursor jumps to tip (L1, no archive). pending_intents SQL errors fail closed (/health.intents_ok, L12) instead of looking like an empty queue.
  • OV-B6: GET /v1/balances always emits registered / pending / as_of_height / initial_balance. Missing keys are unknown, never a live 0. Terra and BSC pending → registered paths stay distinct.

Related to #14. Do not close #14 until the live writer /health is not 503, intents_ok stays true, and a real Terra (then BSC) register leaves pending and shows the GET /v1/balances amount. Do not close #9 instead of this issue.

Test plan

  • cargo test --workspace --lib (ingest window: boot jump, chunk, stale cursor)
  • LEDGER_TEST_DATABASE_URL=… cargo test --workspace --tests (pending → snapshot Terra+BSC, LCD fail leaves intent, permission error is not an empty queue, privilege grants)
  • cd frontend && npm test (timeout+Retry CTA, missing registered is not a live 0, poll backoff/abort)
  • cd frontend && npx playwright test --workers=5 (pending→registered, timeout+Retry without a second seed, remount resumes poll)
  • Ops: Coolify voting-ledger /health 200, terra_height advancing, intents_ok: true (proxy 503 is not a poller)
  • Redeploy operator-voting so live GET /v1/balances includes registered / pending / as_of_height
  • Live Terra (hpax3) then BSC 56: sign register → pending at most one wait window → list + /new show formatted amount; propose stays gated until the ledger row exists
## Summary - After register sign, the dApp keeps polling (backoff, 120s window) and shows **Retry snapshot** instead of a dead Registering… pill. Reload while an intent is in flight resumes wait. POST `/v1/register` `ok` still does not mean Registered or a CL8Y amount. - Ledger intent processing runs on its own loop so Terra/BSC ingest cannot starve snapshots. Ingest is chunked (2000) and a stale non-zero cursor jumps to tip (L1, no archive). `pending_intents` SQL errors fail closed (`/health.intents_ok`, L12) instead of looking like an empty queue. - OV-B6: GET `/v1/balances` always emits `registered` / `pending` / `as_of_height` / `initial_balance`. Missing keys are unknown, never a live 0. Terra and BSC pending → registered paths stay distinct. Related to #14. Do not close #14 until the live writer `/health` is not 503, `intents_ok` stays true, and a real Terra (then BSC) register leaves pending and shows the GET `/v1/balances` amount. Do not close #9 instead of this issue. ## Test plan - [x] `cargo test --workspace --lib` (ingest window: boot jump, chunk, stale cursor) - [x] `LEDGER_TEST_DATABASE_URL=… cargo test --workspace --tests` (pending → snapshot Terra+BSC, LCD fail leaves intent, permission error is not an empty queue, privilege grants) - [x] `cd frontend && npm test` (timeout+Retry CTA, missing `registered` is not a live 0, poll backoff/abort) - [x] `cd frontend && npx playwright test --workers=5` (pending→registered, timeout+Retry without a second seed, remount resumes poll) - [ ] Ops: Coolify `voting-ledger` `/health` 200, `terra_height` advancing, `intents_ok: true` (proxy 503 is not a poller) - [ ] Redeploy `operator-voting` so live GET `/v1/balances` includes `registered` / `pending` / `as_of_height` - [ ] Live Terra (hpax3) then BSC 56: sign register → pending at most one wait window → list + `/new` show formatted amount; propose stays gated until the ledger row exists
PlasticDigits commented 2026-08-30 06:02:27 +00:00 (Migrated from gitlab.com)

added 2 commits

  • 5b86f64f - 1 commit from branch main
  • f412966a - Merge origin/main into fix/14-registration-pending.

Compare with previous version

added 2 commits <ul><li>5b86f64f - 1 commit from branch <code>main</code></li><li>f412966a - Merge origin/main into fix/14-registration-pending.</li></ul> [Compare with previous version](/PlasticDigits/voting/-/merge_requests/8/diffs?diff_id=1992510791&start_sha=f1da4af0a909824c54a240460e8d197845fed0e2)
PlasticDigits commented 2026-08-30 06:04:39 +00:00 (Migrated from gitlab.com)

added 4 commits

  • f412966a...138cdbe6 - 3 commits from branch main
  • 0a3e6347 - Merge origin/main into fix/14-registration-pending after WalletConnect !21.

Compare with previous version

added 4 commits <ul><li>f412966a...138cdbe6 - 3 commits from branch <code>main</code></li><li>0a3e6347 - Merge origin/main into fix/14-registration-pending after WalletConnect !21.</li></ul> [Compare with previous version](/PlasticDigits/voting/-/merge_requests/8/diffs?diff_id=1992511765&start_sha=f412966aedb89143ca67ad0daf82659cdb30a339)
PlasticDigits commented 2026-08-30 06:04:51 +00:00 (Migrated from gitlab.com)

added 1 commit

Compare with previous version

added 1 commit <ul><li>524a3ee7 - List open issues #10, #11, and #13 in the migration table.</li></ul> [Compare with previous version](/PlasticDigits/voting/-/merge_requests/8/diffs?diff_id=1992511837&start_sha=0a3e634763462571c452883ea468766834e8e791)
PlasticDigits commented 2026-08-30 06:05:12 +00:00 (Migrated from gitlab.com)

mentioned in commit d6b4e01acd

mentioned in commit d6b4e01acd2e47cd710926dfc2b746b26d13482f
PlasticDigits (Migrated from gitlab.com) merged commit d6b4e01acd into main 2026-08-30 06:05:12 +00:00
PlasticDigits commented 2026-08-30 06:07:40 +00:00 (Migrated from gitlab.com)

mentioned in commit 892330a7c4

mentioned in commit 892330a7c4a01d94c50545d750f428c5b1088773
PlasticDigits commented 2026-08-30 06:17:35 +00:00 (Migrated from gitlab.com)

mentioned in commit 83b8b26f92

mentioned in commit 83b8b26f92e4576466cd4f1d86c2324cc8bce43a
PlasticDigits commented 2026-08-30 06:21:55 +00:00 (Migrated from gitlab.com)

mentioned in issue #15

mentioned in issue #15
PlasticDigits commented 2026-08-30 06:21:55 +00:00 (Migrated from gitlab.com)

mentioned in issue #14

mentioned in issue #14
PlasticDigits commented 2026-08-30 06:22:07 +00:00 (Migrated from gitlab.com)

mentioned in issue #7

mentioned in issue #7
PlasticDigits commented 2026-08-30 06:22:51 +00:00 (Migrated from gitlab.com)

mentioned in issue #9

mentioned in issue #9
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
code/voting!25
No description provided.