Skip to content

fix(ui): polish subscription allowance and tab interactions - #3583

Merged
GCWing merged 3 commits into
mainfrom
gcwing/subscription-quota-tab-polish-20261028
Oct 28, 2026
Merged

GCWing merged 3 commits into
mainfrom
gcwing/subscription-quota-tab-polish-20261028

Conversation

@GCWing

@GCWing GCWing commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

Show subscription allowance and authorization expiry together within each account row, with plan badges, segmented meters, accessible loading states, and an account refresh action. Refresh inline allowance observations whenever the manager opens while preserving host/account isolation and unsupported-peer states.

Grow TabGroup capsules before revealing end actions, keeping labels in place and preserving keyboard, touch, reduced-motion, and forced-color behavior. Avoid duplicate bootstrap locale imports and snapshot API barrel imports, and clean up Rust compilation warnings without changing runtime ownership.

Type and Areas

Type: UI/UX, bug fix, test, maintenance.

Areas: Web UI, shared design system, i18n, Rust core, AI adapters, desktop provider worker.

Motivation / Impact

Subscription accounts display allowance, plan, and a live authorization countdown in one row. Tab end actions expand their capsules before appearing. Existing credential, account-slot, persisted configuration, and remote capability contracts remain intact.

Verification

  • Passed: pnpm run fmt:rs; pnpm run check:web (includes type checking and Appearance/theme/color governance).
  • Passed: pnpm run i18n:contract:test (37 tests), pnpm run i18n:audit (0 warnings), pnpm run motion:audit (inventory reviewed).
  • Passed: node --test design-system/packages/ui/tests/tab-group.test.mjs (12 tests).
  • Passed: focused model settings, quota, authorization expiry, i18n, snapshot badge, and simulated Peer capability fixtures (10 files, 97 tests), using pnpm --dir src/web-ui run test:run.
  • Passed: pnpm --dir src/web-ui exec vitest run src/flow_chat/components/usage/SessionUsageComponents.test.tsx src/flow_chat/components/modern/SessionFilesBadge.test.tsx (42 tests). Snapshot fixtures mock the same direct API module as their consumers.
  • Passed: ESLint for changed frontend sources (0 errors; repository configuration excludes test files).
  • Passed: standalone rustc --edition=2021 --test harness importing production provider_worker.rs (9 tests; no native UI operations).
  • Passed: cargo test --locked -p openbitfun-ai-adapters --lib client::healthcheck::tests (8 tests).
  • Passed: cargo test --locked -p openbitfun-core --no-default-features --features agent-runtime,git,subscription-auth --lib -- round_model_routing::admission exec_command:: tool_pipeline::tests (96 tests, 1 intentionally ignored fixture).
  • Passed: full CI run on head 20454f4030a9ec6cbedcc3016e71f0993e14a118, including Frontend Build, Linux/macOS/Windows CLI and Rust checks, and Rust / CLI Validation. Impact-unselected packaging jobs skipped by workflow policy.

Reviewer Notes

Remote evidence is limited to local DOM/API fixtures for simulated Peer activation, account scoping, old-host capability gating, and stale completion rejection. Live SSH/remote workspace, relay remote control, Peer hosts, and detached dispatch were not exercised. Native UI/visual acceptance remains manual; no computer-use or browser-control verification was performed.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@GCWing
GCWing merged commit 24c996d into main Oct 28, 2026
13 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.

1 participant