Skip to content

Sync upstream CodexBar through 261bad66#47

Merged
ColumbusLabs merged 11 commits into
mainfrom
codex/upstream-sync-20260703
Jul 3, 2026
Merged

Sync upstream CodexBar through 261bad66#47
ColumbusLabs merged 11 commits into
mainfrom
codex/upstream-sync-20260703

Conversation

@ColumbusLabs

Copy link
Copy Markdown
Owner

Upstream range

Syncs steipete/CodexBar main from 44f0949b69bb705c43c3685ef23d7a16f1539763 to 261bad662bc9157f8a5e4e48269cd3642ab4c612.

No open upstream-sync issue existed when the automation started; this PR handles the live upstream tail directly.

Risk review

Reviewed as medium/high risk because the range touches settings UI architecture, status/menu usage rows, reset-boundary usage refresh behavior, release preflight metadata, localization, and widget project metadata.

Focused review areas:

  • Settings split-view migration keeps QuotaKit's Mobile/iCloud sync pane visible, selectable, and persisted.
  • About/release surfaces preserve QuotaKit, Columbus Labs, setup URL, appcast, artifact names, signing config, and public repo ownership.
  • Widget package/project metadata keeps the QuotaKit package display reference.
  • Usage reset-boundary refresh now retries when a refresh completes but leaves stale pre-boundary usage snapshots in place.
  • Localized settings-sidebar strings remain present across supported locales.

QuotaKit adaptations

  • Preserved QuotaKit public identity and release configuration while adopting upstream's release preflight simplification.
  • Advanced only UPSTREAM_MONITOR_BASE/UPSTREAM_SYNC_DATE; left shipped QuotaKit marketing/mobile/build versions unchanged.
  • Ported upstream System Settings-style settings navigation and added QuotaKit's Mobile pane to the sidebar/detail routing.
  • Added reset-boundary retry coverage for stale post-refresh snapshots.
  • Kept QuotaKit changelog framing and upstream sync provenance in CHANGELOG.md.

Validation

  • git diff --cached --check
  • swift test --filter 'PreferencesSelectionTests|PreferencesPaneSmokeTests|UsageStoreResetBoundaryRefreshTests'
  • swift test --filter 'ProvidersPaneCoverageTests|TerminalAppTests|StatusMenuNativeSectionSpacingTests|MenuCardViewRecyclingTests|LocalizationLanguageCatalogTests|UserFacingLocalizationCoverageTests'
  • PARSER_LINT_BASE=origin/main ./Scripts/lint.sh lint
  • swift build
  • xcodebuild -project WidgetExtension/CodexBarWidgetExtension.xcodeproj -scheme CodexBarWidgetExtension -destination 'platform=macOS' -derivedDataPath /tmp/quotakit-widget-validation CODE_SIGNING_ALLOWED=NO build
  • make test

The macOS widget build succeeded. Xcode emitted a local CoreSimulator version warning while loading simulator devices, but the macOS build completed successfully.

steipete and others added 11 commits July 2, 2026 13:45
* feat: restructure settings

* feat: redesign settings as System Settings-style split view

Replace the toolbar-tab settings window with a NavigationSplitView:
the sidebar lists app panes (colored icon chips) plus every provider
as a first-class row with brand icon, status dot, search, drag
reorder, and context-menu enable/disable. Panes are rebuilt on native
grouped Forms; content regroups by intent (General: system/refresh/
notifications/shortcut, Display: menu bar/menu/cost/animations,
Advanced: CLI/privacy/diagnostics). The per-tab window resize
machinery and hand-rolled card components are deleted, the window is
one fixed size, and the selected pane persists across launches.
PR screenshots move to the artifact store instead of the repo.

* test: allow Italian 'Privacy' as intentionally unchanged

* test: retarget sidebar localization markers to PreferencesSidebar

* feat: align provider detail pane with grouped-form design

Rebuild ProviderDetailView as a native grouped Form: header row with
brand icon, refresh, and enable switch; info as LabeledContent rows;
full-width usage bars; native picker rows; Accounts and quota-warning
blocks become real form sections. Drop the label-width machinery and
the redundant State row. Give the sidebar provider count breathing
room and make the settings window resizable (min 780x520).

* test: use #require for defaults suite in selection tests

* feat: make provider credential and field blocks real form sections

Token accounts, settings fields, and organizations render as their own
grouped-form sections with proper headers/footers; text-field
placeholders move inside the fields (prompt + labelsHidden) instead of
leaking into a left label column. Primary add action joins the links
row; organization toggles become switches.
Co-authored-by: pavbar <pavlo@barzdun.com>
* Group menu usage rows

* docs: credit grouped usage rows

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
@ColumbusLabs ColumbusLabs merged commit e0bd9c6 into main Jul 3, 2026
10 checks passed
@ColumbusLabs ColumbusLabs deleted the codex/upstream-sync-20260703 branch July 3, 2026 11:58
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.

3 participants