Skip to content

Sync upstream main - #8

Merged
kmatsunami merged 744 commits into
mainfrom
codex/sync-upstream-main-20260529
Jun 22, 2026
Merged

Sync upstream main#8
kmatsunami merged 744 commits into
mainfrom
codex/sync-upstream-main-20260529

Conversation

@kmatsunami

Copy link
Copy Markdown
Owner

Summary

  • Fast-forward fork from origin/main (a90dde77) to upstream steipete/CodexBar@6fe01054
  • Includes upstream changes through 0.31.1 development start
  • No manual conflict resolution was needed

Validation

  • swift package resolve passed
  • swift build -c release --product CodexBarCLI passed
  • SOURCEKIT_TOOLCHAIN_PATH=/Library/Developer/CommandLineTools DYLD_FRAMEWORK_PATH=/Library/Developer/CommandLineTools/usr/lib .build/lint-tools/bin/swiftlint --strict passed
  • make check partially passed: SwiftFormat passed, but SwiftLint inside the script cannot load sourcekitdInProc in this CLT-only environment unless run directly with SourceKit env vars
  • pnpm check is not applicable after upstream removed package.json

Not Verified

  • ./Scripts/compile_and_run.sh / app bundle restart: blocked locally because this machine is using CommandLineTools only (xcode-select -p = /Library/Developer/CommandLineTools) and has no /Applications/Xcode*.app; KeyboardShortcuts 2.4.0 fails on SwiftUI #Preview macro due missing PreviewsMacros plugin.

ThiagoCAltoe and others added 30 commits May 15, 2026 11:19
Add codexbar serve, a localhost-only JSON server for CLI usage and cost endpoints.

Includes router/cache tests, docs, changelog entry, numeric option validation, concurrent client handling, and cache safeguards for provider error payloads.

Co-authored-by: Thiago Costa <thiago12_fera@hotmail.com>
Co-authored-by: ThiagoCAltoe <71539514+ThiagoCAltoe@users.noreply.github.com>
* fix: prefer Codex last token usage

* docs: add Codex cost spike changelog

* fix: avoid stale divergent Codex token gaps

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
* Clarify unofficial Kimi K2 provider

* docs: add Kimi K2 changelog

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Adds xAI Grok provider support via the Grok CLI integration, including local identity detection, billing response decoding, provider registration, docs, tests, and changelog credit.\n\nCo-authored-by: taibaran <taibaran@users.noreply.github.com>
* fix(grok): treat expired credentials as missing in fetch

Follow-up to the Codex P1 review on steipete#965 (`cbd30a4e`).

Grok session tokens expire after ~7 days. The auth-error suppression in
`GrokStatusProbe.fetch` previously only checked `credentials == nil`, so
an `auth.json` whose `expires_at` was already in the past still counted
as "renderable" and masked the RPC auth failure. The probe would return
a successful snapshot carrying stale identity and no `grok login` hint
while billing silently 401s — users had to inspect logs to figure out
they were logged out.

Treat expired records the same as missing credentials when deciding
whether to swallow the RPC error, and drop them from the rendered
snapshot so the UI doesn't surface a stale email/team for an inactive
session. Adds a unit test covering past/future/missing `expires_at`.

* test(grok): include grok in SettingsStoreTests provider-order fixture

CI on steipete#976 surfaced a hardcoded provider-order list in
SettingsStoreTests.swift:1161 that wasn't updated when grok was added
in steipete#965. The Grok-only test filter I ran locally before steipete#965 skipped
this file, so the breakage only became visible on the next post-merge
CI run.

Append .grok to the expected ordering so the suite passes. All 2565
tests pass under Xcode 26.5 (51 in CodexBarTests + plenty more).

* fix: preserve Grok identity after refreshed billing

* style: format Grok auth regression

---------

Co-authored-by: taibaran <taibaran@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Yuxin-Qiao and others added 29 commits May 28, 2026 01:46
Fix provider sidebar trailing control spacing

Local proof:
- swift test --filter ProvidersPaneCoverageTests
- make check
- ./Scripts/package_app.sh
- autoreview --mode branch --base origin/main

Thanks @Yuxin-Qiao!
Improve Claude OAuth 429 rate limit handling

Preserve cached Claude OAuth credentials on HTTP 429 responses, persist a bounded background retry cooldown, keep user-initiated refresh available, and cover numeric plus HTTP-date Retry-After parsing.

Local proof:
- swift test --filter ClaudeOAuthTests
- make check
- autoreview --mode branch --base origin/main

Co-authored-by: Zhongyue Lin <101193087+LeoLin990405@users.noreply.github.com>
Thanks @LeoLin990405!
Show Codex Spark usage as a named extra quota lane for Codex OAuth and OpenAI dashboard usage paths.\n\nThanks @LeoLin990405.\n\nProof:\n- swift test --filter CodexAdditionalRateLimitsTests\n- swift test --filter OpenAIDashboardSparkTests\n- swift test --filter MenuCardModelCodexProjectionTests\n- swift test --filter MenuCardAntigravityTests\n- swift test --filter OpenAIDashboardModelsTests\n- swift test --filter CLIOpenAIDashboardCacheTests\n- make check\n- autoreview clean\n- CI green for 4f9c902\n\nFixes steipete#1177\n\nCo-authored-by: Zhongyue Lin <101193087+LeoLin990405@users.noreply.github.com>
Add named AWS profile authentication for Bedrock usage and cost history.

Maintainer follow-up preserves credential precedence: explicit profile mode uses the selected profile without projecting saved static keys, AWS CLI source profiles can still read inherited environment credentials, and merged static keys continue to win when no profile mode is explicitly selected.

Co-authored-by: Oleksandr Soldatov <oleks.soldatov@gmail.com>
Localize popup panels, menu labels, and provider settings across supported languages.

Maintainer follow-up preserves provider-supplied organization names and localizes dynamic cookie-source subtitles through shared templates.

Co-authored-by: Shun Min Chang <ji394m6y7@gmail.com>
…bar-cask

Update Homebrew cask install command
pt-BR was missing 178 of en.lproj's 785 keys, so those strings fell back
to English (a mixed-language UI for Brazilian users). Translate all
missing keys to reach full parity with the English base, keeping the
same key order as en.lproj.

Validated with `plutil -lint`; pt-BR and en key sets and format
specifiers (%@, %1$@, %d%%) match exactly (785 keys each, no missing or
extra keys).
…localization

Complete Brazilian Portuguese (pt-BR) localization
@kmatsunami
kmatsunami merged commit 6fe0105 into main Jun 22, 2026
3 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.