Skip to content

console.typesafe.ai: all auth server actions return HTTP 500 - sign-in/sign-up impossible for 2 days (survives redeploy) #10

Description

@dashan-qi

Summary

Every submit on https://console.typesafe.ai/login fails with HTTP 500 (Internal Server Error, 21-byte text/plain body). Sign-in and sign-up are both impossible, so no API key can be obtained and Jev cannot be evaluated at all.

Reproducible 100% of the time across ~10 attempts over two days (2026-09-21 ~13:00 UTC → 2026-09-22 ~23:10 UTC). The API itself is healthy; only the console's server actions are broken.

Repro

  1. GET https://console.typesafe.ai/login → 200, form renders normally
  2. Type any email → click Continue → POST /login → 500 Internal Server Error

Same result with all three auth paths:

Action Result
email + Continue 500
Email me a code instead 500
Continue with Google 500

Two different addresses both 500 identically (<redacted>@126.com and nobody@example.com), so it fails before any email validation / disposable-domain logic.

Evidence that this is server-side (not client, not headless, not network)

  • Captured the browser's exact action POST (652-byte multipart/form-data, fields $ACTION_REF_4 / $ACTION_4:0..2) and replayed it byte-for-byte with Python urllib from a different client → same 500. Timings/headers identical.
  • The 500 response is produced by your Next.js app, not by an edge proxy: content-security-policy: ... nonce-..., vary: rsc, next-router-state-tree, next-router-prefetch, x-envoy-upstream-service-time: **8**, etag, content-type: text/plain, content-length: 21, body Internal Server Error. (8 ms upstream time suggests it throws very early, before any provider/network call.)
  • GET /login returns no Set-Cookie header at all — unusual for an auth page. If the action expects a session/CSRF cookie that is never issued, it would throw immediately.
  • No captcha / turnstile / challenge in the markup.

Not the cause (ruled out)

  • Network / region / bot detection — plain GETs render fine, no Cloudflare interstitial; two different clients and two different source setups give the same 500.
  • Email domain — example.com fails identically to a real mailbox.
  • The API — POST https://api.typesafe.ai/v1/systemone without a key returns 403 {"error_type":"authentication_error","message":"Must supply an API key!"}, so the API is up and only the console is broken.
  • Too-large request — the replayed body is 652 bytes.

Survives redeploy

  • 2026-09-21: page referenced dpl=cc6f6dca06537cc04123caaaf50ca5a76d506a92 → 500
  • 2026-09-22 (after your SDK pushes around 21:00–23:00 UTC): dpl=65151472c487a903db771106175ac5d5dee8252d → still 500

Suggestion: monitor the console

status.typesafe.ai reports "All services are online", but it only monitors api.typesafe.ai. The console is not monitored, so an outage like this is invisible on the status page. Adding console + auth to the status page would help users tell "it's us, not you" quickly.

Impact

With no way to sign in, there is no way to reach the keys page the docs point to ("Get your API key from the dashboard"), and there is currently no alternative route to a key.

Happy to provide the captured request/response dumps (headers + body) if that helps — just say the word.

Activity

  1. dashan-qi commented on Sep 22, 2026

    @dashan-qi
    Author

    Still reproducible as of 2026-09-22 12:10 UTC — importantly, on a newer deployment than when this issue was filed.

    Evidence:

    • Page data-dpl-id is now 85d7dce42f0cf0384ed7d7308e69ddacb2e37e8f (was cc6f6dca... when reported). So a redeploy has shipped, and the failure survives it — this is not stale HTML or a stuck build.
    • POST https://console.typesafe.ai/login → 500, body exactly Internal Server Error (21 bytes, content-type: text/plain), no set-cookie, no x-action-redirect.
    • All three entry points fail identically: Continue (email), Email me a code instead, and Continue with Google. Same 500 for every email domain tried.
    • The failure happens before the magic-link email is sent: our inbox received zero mail from TypeSafe after triggering the flow. So users cannot recover via the emailed link either.
    • GET /login is 200 and the Next.js page renders fine; only the server actions are broken.
    • No auth backend is reachable independently: /api/auth/providers, /api/auth/session, /api/auth/csrf, /.well-known/openid-configuration all fall through to the same login HTML (43507 bytes) rather than returning JSON, so there is no alternative sign-in route.
    • api.typesafe.ai/v1/systemone without a key → 403 as expected, so the API itself is up. There is simply no way for a new user to obtain a key.

    Net effect: sign-up/sign-in has been impossible for 4+ days, and the console cannot be reached by any path we could find. A one-line error log from the server action would probably be enough to catch it.

  2. jaslrobinson commented on Sep 26, 2026

    @jaslrobinson

    Strange how there is no follow up to this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions