ci: E2E web WebSocket tests fail since relic 2.0.0-rc.1 rejects cross-origin WebSocket upgrades
I maintainer di solito rispondono entro 1 giorno
@nielsenko ci sta già lavorando.
Dal 3/9/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
Since 2026-08-25 ~12:30 UTC every WebSocket-based test in the Serverpod E2E web tests CI job fails, on main and on all open PRs, with:
Method stream WebSocket failed to connect with error: WebSocketChannelException: WebSocketException: Failed to connect WebSocket
Cause: relic 2.0.0-rc.1 (published 2026-08-25 12:23 UTC). packages/serverpod/pubspec.yaml depends on relic: ^2.0.0-beta.1, no lockfile is tracked, so every CI run since then resolves rc.1. Its changelog:
BREAKING: Cross-origin WebSocket upgrades are rejected with 403 by default; pass
WebSocketUpgrade(..., allowAnyOrigin: true)to accept them. Only the host is compared, since a TLS-terminating proxy changes scheme and port
The browser test page is served by dart test from http://localhost:<port> while the client opens ws://serverpod_test_server:8080/v1/websocket, so relic's new same-host check returns a bare 403 Forbidden before Serverpod's handler runs. The vm shards pass because dart:io clients send no Origin header.
Impact beyond CI
This is not only a test problem: any Serverpod 4 deployment that serves its web client from a different host than the API server (e.g. app.example.com → api.example.com) loses method streaming / WebSockets as soon as it picks up relic rc.1, even though Serverpod's own allowedOrigins gate (Server._isOriginDisallowed, #5555) would have allowed it.
Fix
Serverpod already enforces its own origin policy immediately before the upgrade (packages/serverpod/lib/src/server/server.dart, _dispatchWebSocket), so it should opt out of relic's coarser default:
return WebSocketUpgrade(allowAnyOrigin: true, (webSocket) async { ... });
Follow-ups worth considering:
- Decide whether an unset
allowedOriginsshould mean "allow any origin" (pre-rc.1 behaviour, restored by the fix) or "same host only" (relic's new default).
- Lingua principale
- Dart
- Stelle
- 3.3k
- Fork
- 382
- Merge medio
- 1g 4h
- PR unite (30g)
- 65
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di serverpod/serverpod
-
area: web server enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
area: configuration area: runtime
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
serverpod/serverpod#3749 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
area: cli enhancement stake: onboarding
Difficoltà 2/5 1-3 ore Idoneità per principianti 60/100
I maintainer di solito rispondono entro 1 giorno
-
area: database enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
serverpod/serverpod#3442 · 4 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di serverpod/serverpod
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
genkit-ai/genkit-dart#637 ·
I maintainer di solito rispondono entro 1 giorno
-
[FR] 新增更新弹窗中的“复制链接”按钮Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
bggRGjQaUbCoE/PiliPlus#3235 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
lichess-org/mobile#3830 ·
I maintainer di solito rispondono entro 2 giorni
-
Cupertino UI PackageApertaa.fwe a.tut.tutorial fix.bug from.page-issue p2-medium
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
intel/rohd-wave-viewer#11 ·