Call the dev Cosmo router with a real token, check subscriptions, and point a local responder at it
apps/auth on port 5200.
apps/auth/.env, uncomment the KEYCLOAK_ISSUER, KEYCLOAK_CLIENT_ID
and KEYCLOAK_SCOPE lines from .env.example. Without them the local
sign-in offers only Okta, and the router accepts only Keycloak tokens.
apps/auth, open
http://localhost:5200/login?client=axon-proto, and sign in with Keycloak.
http://localhost:5200/api/auth/session?client=axon-proto and export
the accessToken:
iss is https://iam-service-dev-eu-west-1.carbyneapi-dev.com/auth/realms/carbyne.azp is c-operator-client.scope includes prepared-claims.prepared_user_id is present.-4 flag is there because the VPN has no
IPv6:
{ currentUser { id } } and no token. Expect HTTP 401 with
{"errors":[{"message":"unauthorized"}]}.
-H "authorization: Bearer $TOKEN" to the
currentUser call. Expect HTTP 200 with your user. If you get data: null
with Failed to fetch from Subgraph 'prepared911', Rails refused the token.
scripts/smoke-subscription.mjs:
userNotification event within a few seconds and exit code 0.
apps/responder/public/config/appConfig.json, set:
AUTH_HOST_URL is the local apps/auth host from step 1.
apps/responder/src/config/mundi.ts, drop
|| auth.clientId !== AuthClientId.Responder.
apps/auth, then pnpm dev:responder, and sign in with Keycloak.
pnpm --filter core dev (port 5109). The production core remote
lags trunk, and the navbar crashes without the local one.
currentUser and subscribes to userNotification.
Expect:
graphql-transport-ws) goes connection_init,
connection_ack, then subscribe for OnUserNotification;mf-manifest.json are expected for remotes you do not serve
locally: the responder falls back to the production remotes. If a screen
fails, serve that remote with pnpm --filter <remote> dev.
Cannot return null for non-nullable field 'Subscription.userNotification'.
It likely comes from the Rails side. Real events still arrive after it.