Spaces:
Paused
Paused
Commit History
-
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