Skip to content

fix: fall back to HTTP registration when Playwright loses workspace_id#63

Merged
cnlimiter merged 5 commits intocnlimiter:disable-playwright-registration-modefrom
tianheil3:disable-playwright-registration-mode
Mar 22, 2026
Merged

fix: fall back to HTTP registration when Playwright loses workspace_id#63
cnlimiter merged 5 commits intocnlimiter:disable-playwright-registration-modefrom
tianheil3:disable-playwright-registration-mode

Conversation

@tianheil3
Copy link

Summary

  • add the selectable registration execution mode and browser-based registration flow carried on this branch
  • default registration back to the HTTP/curl_cffi flow because the Playwright path can stall before a workspace_id is resolved
  • normalize any incoming playwright execution mode to curl_cffi and remove the Playwright option from the UI
  • add regression tests covering the fallback behavior and the workspace_id recovery path
  • include the 5SIM client changes already present on this branch

Problem

During browser/Playwright registration, the flow can pass email verification and about-you, then land on https://auth.openai.com/add-phone. Once it hits that phone-verification checkpoint, the pipeline no longer reaches the callback/access-token path that is used to recover workspace_id, so registration fails.

Fix

Keep the browser-related branch work in place, but force new registrations back onto the HTTP/curl_cffi flow by default. The backend now downgrades stale playwright execution mode requests to curl_cffi, and the frontend no longer offers Playwright as a selectable mode.

Testing

  • D:\projects\codex-register\.venv\Scripts\python.exe -m pytest -q tests\test_browser_registration_flow.py (7 passed)
  • D:\projects\codex-register\.venv\Scripts\python.exe -m pytest -q tests\test_workspace_cookie_parsing.py (2 passed)
  • D:\projects\codex-register\.venv\Scripts\python.exe -m pytest -q tests\test_registration_post_create_login_flow.py (1 passed)

The Playwright registration flow can reach the add-phone checkpoint and fail to produce a workspace_id. Default registration back to the HTTP/curl_cffi path, normalize any playwright execution mode to curl_cffi, and cover the fallback with regression tests.
Replace raw list pops in the post-create login flow test double with explicit assertion failures so unexpected extra OTP reads fail with actionable messages instead of IndexError.
@cnlimiter cnlimiter changed the base branch from master to disable-playwright-registration-mode March 22, 2026 12:10
@cnlimiter cnlimiter merged commit 6a62331 into cnlimiter:disable-playwright-registration-mode Mar 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants