fix(menubar): restore adaptive account card colors#32
Conversation
## Summary - Normalize current ChatGPT/Codex plan aliases, including `prolite`, `pro_lite`, `pro100`, `pro200`, Go, and education labels. - Update fixed Codex capacity calculations so Pro Lite uses the current promo/standard multipliers and Pro uses the current 20x Plus baseline. - Keep Go recognized as a plan without assigning an unsupported fixed Codex capacity, and document the behavior in OpenSpec. ## Validation - `python -m pytest tests/unit/test_usage.py -q` (`27 passed`) - `python -m ruff check app/core/plan_types.py app/core/usage/__init__.py tests/unit/test_usage.py` - `git diff --check` ## Notes - `openspec validate --specs` could not run locally because the `openspec` executable is not available on PATH in this environment. - This supersedes the original narrow Pro Lite zero-capacity fix by refreshing the broader ChatGPT/Codex plan mapping used by dashboard Remaining donuts.
* feat(macos): 메뉴바 런타임 제어 복원 macOS 메뉴바 런타임 제어와 앱 런처를 revert 브랜치 위에 다시 추가합니다. Windows tray 변경은 포함하지 않아 별도 PR로 분리할 수 있게 정리했습니다. * fix(cli): menubar refresh env 검증 지연 menubar refresh interval 기본값을 argparse 변환 시점까지 늦춥니다. 메뉴바와 무관한 명령이 잘못된 menubar 환경변수 때문에 실패하지 않도록 회귀 테스트를 추가합니다.
upstream/main 기준 리베이스와 선택적 force-with-lease push를 자동화합니다. 안전 기본값을 검증하는 단위 테스트도 함께 추가합니다.
## Summary - force-kill tracked background runtime when graceful shutdown times out - remove PID metadata after the force-stop path succeeds - document the wedged shutdown scenario in the OpenSpec delta ## Verification - uv run pytest tests/unit/test_cli_runtime.py tests/unit/test_cli.py -q - uv run ruff check app/cli_runtime.py tests/unit/test_cli_runtime.py - git diff --check - manual health check after restart: GET /health/live returned 200 OK Note: openspec validation was not run because the openspec executable is not installed in this environment.
## Summary - open the dashboard SPA route from the macOS menu bar instead of the server root - prefer the tracked runtime URL when managed-server mode is active - document and test the dashboard-open route behavior ## Verification - .venv/bin/python -m pytest tests/unit/test_menubar_runtime.py tests/unit/test_cli.py tests/unit/test_menubar_summary.py - .venv/bin/python -m ruff check app/menubar_runtime.py app/menubar_app.py app/cli.py tests/unit/test_menubar_runtime.py tests/unit/test_cli.py - .venv/bin/python -m ty check app/menubar_runtime.py app/menubar_app.py app/cli.py tests/unit/test_menubar_runtime.py tests/unit/test_cli.py - npm run build - curl -i http://127.0.0.1:2455/dashboard -> 200 OK ## Notes - openspec validate --specs could not run because the openspec executable is unavailable in this environment.
- add a menu bar Sync Providers action that runs `codex-provider sync` in the background - resolve `codex-provider` through `CODEX_PROVIDER_BIN` or an augmented absolute-path search for Dock/LaunchAgent launches - keep provider sync UI responsive and recover from unexpected subprocess exceptions - document the behavior with an OpenSpec change and add runtime unit coverage - `uv run python -m pytest tests/unit/test_menubar_runtime.py` - `uv run python -m ruff check app/menubar_runtime.py app/menubar_app.py tests/unit/test_menubar_runtime.py` - `uv run python -m ty check app/menubar_runtime.py app/menubar_app.py tests/unit/test_menubar_runtime.py` - `openspec validate add-menubar-provider-sync-action --strict` could not be run because the `openspec` executable is not installed in this environment. - Frontend donut/typecheck verification could not be run here because `frontend/package.json` requires `bun@1.3.10`, local `bun` is unavailable, and `pnpm install` rejects the package manager specification.
* feat(menubar): add quota view toggle * fix(menubar): match dashboard donut constraint * fix(menubar): separate quota header buttons
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 08a28ce4f2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| startup_timeout_seconds=args.startup_timeout, | ||
| start_on_launch=args.start_on_launch, | ||
| ) | ||
| base_url = dashboard_url(options.host, options.port) |
There was a problem hiding this comment.
Respect HTTPS when deriving managed menubar base URL
When menubar --manage-server is used with --ssl-certfile/--ssl-keyfile, _run_menubar still sets base_url via dashboard_url(...), which always returns an http:// URL. In this configuration the managed server is TLS-enabled, so menu refresh calls and "Open Dashboard" target the wrong scheme and fail or misroute. This breaks the advertised TLS support for managed menubar mode.
Useful? React with 👍 / 👎.
| if "=" in value: | ||
| return value |
There was a problem hiding this comment.
Treat cookie strings with '=' as full headers only by name
build_cookie_header treats any session value containing = as an already-formed Cookie header and returns it unchanged. A raw session ID can legitimately include = (for example padded/base64-like tokens), and in that case this function emits a header without the cookie name, causing authenticated dashboard requests to fail for those users.
Useful? React with 👍 / 👎.
|
This pull request has been automatically marked as stale because it has had no activity for 7 days. It will be closed in 23 more days unless there is new activity. If this is still relevant, please:
Thanks for the contribution 🙏 |
Summary
Validation