feat(gui): providers workspace redesign polish + freeTier + rate limits#139
Open
Wibias wants to merge 53 commits into
Open
feat(gui): providers workspace redesign polish + freeTier + rate limits#139Wibias wants to merge 53 commits into
Wibias wants to merge 53 commits into
Conversation
Resolve provider-icons signature (keep optional hints for workspace call sites) and drop unused ProviderWorkspace symbols exposed by the merge typecheck.
Take gui-i18n ESLint allowlist/plugin + AGENTS docs, keep redesign lint scope for provider-workspace-data, and fix AddProviderModal initialCustom to use fallbackPresets after the merge.
Wire ProviderWorkspace and remaining Providers hardcodes through useT, add en/de/ko/zh keys, and fix a conditional useT hooks violation.
Keep catalog/custom create in a single left-rail Add menu when providers exist; strip duplicate tiles from the overview; empty state is one centered hero with two paths.
Drop the separate Custom rail/empty-state path — Custom provider is already a row in AddProviderModal.
Custom is a dedicated button that opens the custom form; catalog Add no longer lists a Custom row at the bottom.
Free/Paid tabs, top slots sorted by 30d usage, overflow via Browse free/paid, Connect rows with icons, and a footer Connect API key path for unlisted endpoints.
Drop Custom from the rail; rename CTA to Add provider; make Browse free/paid a primary card; add Accounts tab for login/logout from the classic live account panel, restyled to match the catalog.
Compact Edit JSON on the left; Recently used fills the remaining width under the summary cards.
Drop Quick actions header so both overview panels share the same section chrome; replace the odd list glyph with curly braces for JSON.
Drop the odd Edit JSON glyph card for a simple equal-width panel next to Recently used; show 30d requests/tokens/active providers; force equal-width segment tabs.
…eight Edit JSON uses the same summary-card language as Ready/Disabled; Browse free/paid matches list borders; Free/Paid/Accounts share equal tab height and a fixed content shell height.
Use soft surface panels with dividers instead of stacked cards on the detail overview: one connection section, combined stats+notes side panel, auth panel without chrome, and lighter tab sections for models/usage/settings.
Remove panel/card surfaces from connection, usage, auth, and tab sections. Use title + key/value rows separated by horizontal dividers so content sits on the page background instead of nested bordered boxes.
Match detail flatten on the overview: status counts as a strip with dividers, Edit JSON as a link row, recently used and attention as section lists without bordered card chrome.
Add rate-limit bars on overview, in-pane JSON editor with unsaved leave prompts, freeTier vs keyOptional for NVIDIA NIM, registry DTO backfill for free flags, and screenshot helper for workspace UI.
Wire DE language consistency, stacked rate limits, overwrite CTA, account IA, models/usage/settings upgrades, and JSON editor guardrails onto the existing workspace redesign.
Remove classic card UI leftovers, flatten chrome into link-style actions, add in-app remove confirm, and tighten quota reset/usage empty states.
Keep workspace Providers.tsx; combine styles (workspace icon masks + link-btn svg + usage-segmented); keep QuotaBars stacked helpers aligned to weekly-only quotas.
Preserve five-hour quota UI pending lidge-jun#138; match Edit JSON actions to workspace link-style chrome.
Use a far-future createdAt on the replacement lock so load-induced retries cannot re-stale and unlink it.
Clarify filter reset, App login, overwrite warnings, auto-switch help, keyless free auth, and checked-at quota meta; embed Codex accounts in the workspace.
Restore Anthropic API-key label parity and point reset-credit UI tests at CodexAccountPool.
Keep screenshot artifacts out of the branch and ignore output/ going forward.
Avoid setState-in-effect and ref-during-render patterns, move pickChatGptForwardProvider out of the component module, and derive JSON parse errors.
Wibias
marked this pull request as ready for review
July 17, 2026 03:12
Dummy-data captures of overview, filters, ChatGPT detail, NVIDIA free tier, and Add provider.
This reverts commit 0e81cfa.
Owner
|
could you leave comment when you finished? below? |
Contributor
Author
|
@lidge-jun Should be finished! |
Enable overflow on the overview column and reveal the scrollbar only while scrolling.
Owner
|
Thanks again for the substantial Providers workspace work. For future contributions, please keep each PR small and scoped to one semantic change; this one spans provider contracts, quota behavior, key management, UI architecture, styles, translations, and tests, which makes review and rollback difficult. We are preserving your authorship and rebuilding the retained work as a small stacked-PR series based on
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Providers workspace redesign polish: a single place to manage providers, accounts, rate limits, models, and JSON config — without the classic card UI.
freeTier) separate from keyless auth (keyOptional) — e.g. NVIDIA NIM is Free but still needs a key; MiMo Free is keylessScreenshots
Captured with mocked
/apiresponses (dummy providers, quotas, usage — no real account data).Test plan
:5173: overview, rate limits, filters, provider detail tabs, Edit JSON unsaved leavewindow.confirm)bun test --isolate ./tests/provider-workspace-data.test.ts ./tests/server-auth.test.tsbun test --isolate ./tests/