Repository navigation
fix: CSP connect-src, E2E prod-build CI, search cancellation test, backup verification - #1505
Merged
joelpeace48-cell merged 5 commits intoOct 21, 2026
Conversation
Expand connect-src in frontend/nginx.conf to allow only the Stellar testnet/mainnet RPC and Horizon endpoints alongside same-origin, preventing data exfiltration by compromised third-party code. Document the policy in SECURITY_XSS_PREVENTION.md. Closes FinesseStudioLab#1488
Include frontend/e2e/ specs in Playwright testMatch so they run alongside tests/e2e/. Add e2e-prod-build CI job that builds and tests against vite preview, blocking merges to main. Document the setup in E2E_TESTING.md. Closes FinesseStudioLab#1487
… query Add unit test confirming stale campaign fetch results are discarded when a new search starts, complementing the existing debounce test coverage. Closes FinesseStudioLab#1489
…dbox Create scripts/verify-backup.sh that discovers the latest backup, restores it to an isolated sandbox database, runs integrity checks, and reports pass/fail — enabling automated daily backup verification. Closes FinesseStudioLab#1348
|
@PrimeFactor-Dev Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
joelpeace48-cell
merged commit Oct 21, 2026
13b9ca1
into
FinesseStudioLab:main
5 of 21 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1348, Closes #1487, Closes #1488, Closes #1489
Type of Change
Summary
Four targeted fixes across security hardening, CI testing, frontend reliability, and infrastructure:
connect-srcinfrontend/nginx.confnow restricts to known Stellar RPC/Horizon origins instead of only'self', preventing data exfiltration while allowing legitimate blockchain calls.frontend/e2e/specs and run againstvite preview(production build) via a dedicatede2e-prod-buildCI job that blocks merges to main.scripts/verify-backup.shbackup verification worker that restores backups to an isolated sandbox database and runs integrity checks.Motivation / Context
Closes #1348, Closes #1487, Closes #1488, Closes #1489
Changes
#1488 — CSP
connect-srcrestrictionfrontend/nginx.conf: Expandedconnect-srcto allowhttps://soroban-testnet.stellar.org,https://horizon-testnet.stellar.org,https://soroban-mainnet.stellar.org,https://horizon.stellar.orgdocs/SECURITY_XSS_PREVENTION.md: Documented theconnect-srcpolicy and allowed origins#1487 — E2E against production build
frontend/playwright.config.js: UpdatedtestMatchto includee2e/**/*.spec.{js,ts}alongsidetests/e2e/.github/workflows/frontend-ci.yml: Addede2e-prod-buildjob that builds and runs Playwright againstvite previewdocs/E2E_TESTING.md: Documented the production-build E2E setup#1489 — Search in-flight cancellation test
frontend/src/Landing.test.jsx: Added test verifying stale fetch results are discarded when a new search starts#1348 — Backup verification worker
scripts/verify-backup.sh: New script that discovers the latest backup, restores to an isolated sandbox DB, runs integrity checks, and reports pass/failTesting
npx vitest run src/Landing.test.jsx src/components/CampaignFilters.test.jsx— 13/13 passedfrontend/src/config.jsverify-backup.shfollows the same patterns asrestore-db.sh(checksum, decrypt, decompress, pg_restore, smoke queries)Tradeoffs
connect-srcincludes both testnet and mainnet Stellar endpoints to support both networks without CSP changes per environmentverify-backup.shcreates/drops a sandbox DB on the same PostgreSQL instance — sufficient for verification; full isolation would require a separate DB serverAbortControlleras a discard flag (results dropped on abort) rather than network-level fetch abort, matching the existingapiClientpatternOut of scope
connect-src)verify-backup.shschedulingfetchabort (current pattern discards stale results without aborting the TCP connection)