Finish WalletConnect pairing (issue #12) #21

Merged
PlasticDigits merged 2 commits from 12-fix-frontend-walletconnect-stays-on-connecting-galaxy-station-iphone-desktop-chrome- into main 2026-08-30 06:02:36 +00:00
PlasticDigits commented 2026-08-30 05:43:23 +00:00 (Migrated from gitlab.com)

Summary

  • Port the DEX @goblinhunt/cosmes QRCodeModal patch (patch-package + postinstall) so mobile WalletConnect opens the Open / Copy sheet instead of auto-location.href.
  • Install __CL8Y_WC_PAIRING_MODAL__ in main.tsx before createRoot so the first tap cannot race a useEffect.
  • Fail production vite / Coolify image builds without VITE_WC_PROJECT_ID; hide Galaxy / Keplr / Cosmostation WC rows when the id is missing in local/dev.
  • CSP: add frame-src for the Reown/wagmi QR iframe, WC img-src, and the LuncDash v1 bridge. Still no blanket https: or frame-src *.
  • EVM: close Connect so the WC QR is visible; Cancel aborts in-flight wagmi WalletConnect and ignores a late session (WC-M9).

Related to #12. Do not close the issue from this MR: live Galaxy/iPhone/desktop Chrome + BSC WC on vote.cl8y.com and Coolify Cloud project allowlisting remain ops.

Test plan

  • cd frontend && npm test (74 tests, run twice)
  • cd frontend && npm run test:e2e (9 tests, 5 workers, run twice; Simulated Wallet / hatch only)
  • sh deploy/docker/test-frontend-spa-fallback.sh
  • gitleaks detect
  • Coolify image built with VITE_WC_PROJECT_ID; WalletConnect Cloud lists https://vote.cl8y.com
  • iPhone Galaxy Station: tap → Open / Copy sheet → terra1… in header
  • Desktop Chrome Galaxy Station: visible QR, scan from phone
  • Android Galaxy Open is intent://…scheme=galaxystation
  • BSC WalletConnect QR on chain 56; Cancel clears EVM connecting
  • Live CSP: no blocked wss://relay.walletconnect.com on a Galaxy connect
## Summary - Port the DEX `@goblinhunt/cosmes` `QRCodeModal` patch (`patch-package` + `postinstall`) so mobile WalletConnect opens the Open / Copy sheet instead of auto-`location.href`. - Install `__CL8Y_WC_PAIRING_MODAL__` in `main.tsx` **before** `createRoot` so the first tap cannot race a `useEffect`. - Fail production `vite` / Coolify image builds without `VITE_WC_PROJECT_ID`; hide Galaxy / Keplr / Cosmostation WC rows when the id is missing in local/dev. - CSP: add `frame-src` for the Reown/wagmi QR iframe, WC `img-src`, and the LuncDash v1 bridge. Still no blanket `https:` or `frame-src *`. - EVM: close Connect so the WC QR is visible; **Cancel** aborts in-flight wagmi WalletConnect and ignores a late session (WC-M9). Related to [#12](https://gitlab.com/PlasticDigits/voting/-/issues/12). Do **not** close the issue from this MR: live Galaxy/iPhone/desktop Chrome + BSC WC on `vote.cl8y.com` and Coolify Cloud project allowlisting remain ops. ## Test plan - [x] `cd frontend && npm test` (74 tests, run twice) - [x] `cd frontend && npm run test:e2e` (9 tests, 5 workers, run twice; Simulated Wallet / hatch only) - [x] `sh deploy/docker/test-frontend-spa-fallback.sh` - [x] `gitleaks detect` - [ ] Coolify image built with `VITE_WC_PROJECT_ID`; WalletConnect Cloud lists `https://vote.cl8y.com` - [ ] iPhone Galaxy Station: tap → Open / Copy sheet → `terra1…` in header - [ ] Desktop Chrome Galaxy Station: visible QR, scan from phone - [ ] Android Galaxy Open is `intent://…scheme=galaxystation` - [ ] BSC WalletConnect QR on chain 56; Cancel clears EVM connecting - [ ] Live CSP: no blocked `wss://relay.walletconnect.com` on a Galaxy connect
PlasticDigits commented 2026-08-30 05:43:30 +00:00 (Migrated from gitlab.com)

marked this merge request as ready

marked this merge request as **ready**
PlasticDigits commented 2026-08-30 05:43:50 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-08-30 06:02:28 +00:00 (Migrated from gitlab.com)

added 2 commits

  • c7916b6a - Finish WalletConnect pairing so Galaxy, iPhone, and desktop Chrome are not stuck on Connecting...
  • 799f6331 - Merge origin/main into fix/12-walletconnect-pairing.

Compare with previous version

added 2 commits <ul><li>c7916b6a - Finish WalletConnect pairing so Galaxy, iPhone, and desktop Chrome are not stuck on Connecting...</li><li>799f6331 - Merge origin/main into fix/12-walletconnect-pairing.</li></ul> [Compare with previous version](/PlasticDigits/voting/-/merge_requests/4/diffs?diff_id=1992510804&start_sha=5b86f64fadac83eacf3d2d3cbe9410eb702be81e)
PlasticDigits commented 2026-08-30 06:02:36 +00:00 (Migrated from gitlab.com)

mentioned in commit 138cdbe637

mentioned in commit 138cdbe637f911bfdebad252b45b93b62b3d7c80
PlasticDigits (Migrated from gitlab.com) merged commit 138cdbe637 into main 2026-08-30 06:02:37 +00:00
PlasticDigits commented 2026-08-30 06:04:38 +00:00 (Migrated from gitlab.com)

mentioned in commit 0a3e634763

mentioned in commit 0a3e634763462571c452883ea468766834e8e791
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:54 +00:00 (Migrated from gitlab.com)

mentioned in issue #12

mentioned in issue #12
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:22:07 +00:00 (Migrated from gitlab.com)

mentioned in issue #7

mentioned in issue #7
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!21
No description provided.