Skip to content

rebrand OAuth pages + route connect org by provider - #1

Merged
steebchen merged 2 commits into
mainfrom
fix/oauth-page-devpass-branding
Jul 2, 2026
Merged

steebchen merged 2 commits into
mainfrom
fix/oauth-page-devpass-branding

Conversation

@smakosh

@smakosh smakosh commented Jul 1, 2026 •

Copy link
Copy Markdown
Member

Summary

Two fixes to the LLM Gateway connect experience:

1. DevPass Code branding on OAuth callback pages

The loopback OAuth callback pages (LLM Gateway connect, xAI, Snowflake, DigitalOcean, MCP, ...) still showed the OpenCode wordmark and "OpenCode is now connected to ..." copy after authorizing.

  • Replace all user-facing OpenCode strings in packages/core/src/oauth/page.ts with DevPass Code (success/error/bootstrap messages, page title)
  • Replace the OpenCode pixel-wordmark SVG with a DevPass Code text wordmark
  • Also includes the bin/opencode → bin/devpass-code rename that package.json already references

2. Connect org routing per provider

The connect URL now carries an org param so the dashboard mints the key in the right organization:

  • llmgateway-devpass (DevPass subscription) → org=devpass → key lives in the personal DevPass org and bills the plan
  • llmgateway (pay-as-you-go) → org=default → key lives in the default dashboard org

Companion dashboard change: theopenco/llmgateway#2879.

Test plan

  • bun test test/oauth-page.test.ts passes
  • Rendered the success page and verified the new wordmark + copy

🤖 Generated with Claude Code

https://claude.ai/code/session_018tQZmLkxbu5uH8sZx1ZU5W

The loopback callback pages (LLM Gateway connect, xAI, MCP, ...) still
showed the OpenCode wordmark and 'OpenCode is now connected' copy.
Replace with DevPass Code branding and a text wordmark.
@smakosh smakosh changed the title rebrand: DevPass Code on OAuth callback pages rebrand OAuth pages + route connect org by provider Jul 1, 2026
pull Bot pushed a commit to soitun/llmgateway that referenced this pull request Jul 2, 2026
## Summary

The `/connect/cli` flow created every API key in the user's **default
dashboard organization**, so DevPass subscription connects billed
pay-as-you-go credits instead of the DevPass plan.

The key's org now follows which provider the CLI is connecting, via a
new `org` query param:

- `org=devpass` (sent by the CLI for the `llmgateway-devpass`
subscription provider) → key is minted in the personal DevPass org,
resolved via `GET /dev-plans/personal-org` (get-or-create) through the
new `useDevPassProject` hook, so gateway billing routes by `org.kind ===
"devpass"`. The authorize card shows `· organization DevPass`.
- `org=default` / absent (pay-as-you-go `llmgateway` provider and other
coding agents) → unchanged: key lands in the default org's project, card
shows `· project <name>`.

The DevPass org lookup is gated behind the param so a pay-as-you-go
connect never creates a personal org as a side effect.

Companion CLI change: theopenco/devpass-code#1 (passes `org` per
provider).

## Test plan

- `turbo run build --filter=ui` passes
- Verified both param variants render the correct org/project context on
the authorize card

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_018tQZmLkxbu5uH8sZx1ZU5W

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Enhanced the CLI authorization flow to select the appropriate DevPass
context (via URL parameter) and use DevPass project details for API key
creation.
* “Signed in as” now displays the DevPass organization name when
available.

* **Bug Fixes**
* The “Authorize” action now remains disabled until the selected project
information is fully loaded and valid.
* Authorization error messages are now tailored to DevPass vs the
default context to guide recovery more accurately.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@steebchen
steebchen merged commit d9ec65a into main Jul 2, 2026
0 of 8 checks 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