- 21 Apr, 2026 40 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
Refactor: Move cache settings API from /api/user/cache-settings to /dashboard/api/cache-settings and use session-based auth
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
Fix: Restore missing model_performance, cost_overview, recommendations, and optimization_savings variables
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
Fix: Call _run_config_migrations from _initialize_database to ensure user_cache_settings table is created
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Clarify cache setting is user-level (not global) - Rename 'Global Cache Setting' to 'User Default Cache Setting' - Add detailed cache hierarchy explanation - Add help text for notify_errors explaining behavior
-
Stefy Lanza (nextime / spora ) authored
- Add Enable Prompt Caching toggle at both provider and model levels - Add detailed help text explaining cache override hierarchy - Add setCacheSetting function to save cache settings directly from provider page - Add loadCacheSettings to populate current cache states - Add isCacheEnabled helper to check cache state with proper priority - Add toasts for success/error feedback - Cache hierarchy: Model > Provider > Global (default enabled)
-
Your Name authored
- Added link to /dashboard/cache-settings in account menu - Users can now access prompt cache settings from the dashboard - Located between API Tokens and Subscription
-
Your Name authored
- Check if timestamp is string before calling fromisoformat() - MySQL returns datetime objects directly, SQLite returns strings - Fixes login error: 'fromisoformat: argument must be str'
-
Your Name authored
- Check user cache settings before enabling prompt caching - Same pattern as implemented for Claude provider - Users can disable cache per provider/model - Fixes issue where other providers didn't respect user cache settings
-
Your Name authored
- Rename from /dashboard/user/cache-settings to /dashboard/cache-settings - Rename template from user_cache_settings.html to cache_settings.html - Follows same pattern as other dashboard pages (tokens, rotations, autoselects) - Still uses logged in user session to determine which user to serve
-
Your Name authored
- Use self.user_id and self.provider_id instead of request object - Fixes the 'name 'request' is not defined' error in Claude provider - Cache settings are now properly checked for each user request
-
Your Name authored
- Add user_cache_settings database table - Add database methods to get/set cache settings - Add API endpoints for cache management - Add /dashboard/user/cache-settings page - Integrate with Claude provider to respect user cache settings - Allow disabling cache per provider, per model, or globally
-
Your Name authored
- Previous fix had wrong indentation, code was still outside with block - Now all cursor.execute() and conn.commit() are properly inside context manager - This will actually fix the 'Cursor is not connected' error
-
Your Name authored
- Move all cursor operations inside the 'with' context manager block - Connection was being closed before cursor.execute() was called - Fixes 'Cursor is not connected' error in token usage recording
-
Your Name authored
- Convert datetime objects to ISO format strings before JSON serialization - Handles both created_at and updated_at datetime fields - Fixes TypeError when loading /dashboard/providers for database users
-
Your Name authored
- Convert datetime objects to ISO format strings before passing to template - Fixes TypeError: Object of type datetime is not JSON serializable - Handles both created_at and last_used datetime fields
-
Your Name authored
- Move analytics initialization to AFTER database config is loaded - Prevents DatabaseRegistry from creating SQLite singleton before MySQL config is available - Fixes issue where db was initialized twice (first with defaults, then with config)
-
Your Name authored
- Log database config from aisbf.json at startup - Convert Pydantic models to dict before passing to DatabaseRegistry - Fix MySQL password validation (allow empty passwords) - Add traceback on database init errors
-
Your Name authored
- Log database type and query being executed - Log settings being saved (first 200 chars) - Verify save by reading back from database - Add traceback on errors - Will help diagnose why settings aren't persisting
-
Your Name authored
- Fix sandbox checkbox loading logic (use === true instead of !== false) - Add console logging to debug save operations - Add auto-reload after save to verify changes - Fixes issue where sandbox mode always saved as true
-
Your Name authored
- PayPalPaymentHandler now reads from admin_settings via get_payment_gateway_settings() - StripePaymentHandler now reads from admin_settings via get_payment_gateway_settings() - Remove references to non-existent payment_gateway_config table - Fixes 'base_url' attribute error in PayPal handler - All payment gateway configs now stored in database only
-
Your Name authored
-
Your Name authored
- Replace OpenID OAuth2 flow with Billing Agreement API - Add missing wrapper methods in payment service - Remove dead old OAuth code - Fixes 'invalid client_id or redirect_uri' error
-