Spaces:
Sleeping
Sleeping
Commit History
-
feat: model list auto-sync + theme contrast fix
icebear0828- Backend: auto-write merged catalog back to models.yaml after dynamic fetch - Frontend: poll /v1/models/catalog every 60s to pick up new models - Theme: light mode bg #f6f8f6 → #ffffff for clearer dark/light contrast - Remove unused legacy web/src/hooks/use-status.ts94a5578
-
feat: display secondary rate limit window (weekly cap) in dashboard
icebear0828 +1: Claude Opus 4.6Add secondary_rate_limit to CodexQuota type and map secondary_window from Codex usage API. Dashboard now shows both primary (hourly) and secondary (weekly) quota bars with independent progress and reset times. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>2996fd8
-
fix: Electron OAuth login + i18n layout shift + update modal (#53)
icebear +2: icebear0828, Claude Opus 4.6Unverified signature* fix: Electron OAuth login + i18n toggle layout shift + update modal 1. OAuth login fix for Electron: - Add focus/visibilitychange listeners to detect new accounts immediately when user switches back from system browser (bypasses Chromium throttling) - Track completed sessions server-side so code-relay returns success instead of "Invalid or expired session" after callback server handled it 2. i18n layout stability: - Push Star/Updates buttons from md to lg breakpoint to reduce crowding - Add inline-grid overlay to Star, Check for Updates, Proxy Settings buttons 3. Update modal: extract from Header into standalone UpdateModal component with auto-restart support (git mode spawns new process, frontend auto-refreshes) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add polling guard + fix Star button inline-grid reference width - Add re-entrancy guard to checkForNewAccount (both shared/ and web/) to prevent concurrent fetches from rapid focu…1b6fb15
-
feat: add per-window usage counters with time-driven reset
icebear0828 +1: Claude Opus 4.6Dashboard previously showed cumulative token counts that never reset when the rate limit window rolled over. Now tracks per-window request/token counters that auto-reset via two layers: - Layer 1 (time-driven): refreshStatus() checks window_reset_at on every acquire/getAccounts call, zero API overhead - Layer 2 (backend sync): syncRateLimitWindow() corrects with actual backend values on Dashboard refresh Also syncs limit_window_seconds from backend and displays window duration badge (e.g. "3h") next to plan name in AccountCard. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>4f2220c
-
feat: add manual refresh button with timestamp to account list
icebear0828 +1: Claude Sonnet 4.6- Separate `refreshing` state from initial `loading` so the list stays visible while re-fetching (no blank flash on refresh) - Track `lastUpdated` timestamp, shown as "Updated at HH:MM:SS" next to the button (hidden on mobile, visible sm+) - Refresh button spins during fetch and is disabled to prevent double-tap - i18n: add `refresh` / `updatedAt` keys in both en and zh Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>e6a1587
-
feat: dynamic model list fetching from Codex backend (#9)
icebear +2: icebear0828, Claude Opus 4.6Unverified signature* feat: dynamic model list fetching from Codex backend Replace static-only model loading with a hybrid approach: - Static YAML models as fallback baseline - Background fetcher probes /codex/models and /models endpoints - Backend models merge into catalog (backend wins, YAML fills gaps) - Aliases always from YAML (user-customizable) - New /debug/models endpoint for diagnostics - All fetch errors non-fatal — gracefully falls back to static models Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: PR #9 review issues + complete Codex model catalog - Remove dead _backendModelCount variable from model-store - Fix hot-reload wiping backend models: add triggerImmediateRefresh() in model-fetcher, chain it in reloadAllConfigs() - Fix premature "hot-reloaded" log message ordering in config.ts - Gate raw model sample logging to first fetch only in codex-api - Remove dead re-exports from routes/models.ts - Expand getModels() to probe sentinel/chat-requirements + flatten nested …5f8456f
-
fix: useStatus not refreshing after first OAuth login
icebear0828 +1: Claude Opus 4.6Re-fetch /auth/status when account count changes so ApiConfig updates from "Loading..." to actual values after login. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>5db3721
-
feat: migrate dashboard to Preact + Vite
icebear0828 +1: Claude Opus 4.6- New web/ directory with Preact components, Tailwind CSS v3, Vite build - i18n via Context + useT() hook (zero DOM scanning on language switch) - Theme via ThemeProvider + useTheme() hook - Ghost text technique for stable header layout across EN/ZH - Backend: serve Vite build output from public/ - Docker: added frontend build step - Build: npm run build now builds frontend first, then backend Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>b7d4394