- 21 Apr, 2026 40 commits
-
-
Stefy Lanza (nextime / spora ) authored
- Add create_setup_token() for PayPal Vault setup token generation - Add create_payment_token() to exchange setup token for permanent payment token - Add charge_payment_token() for off-session merchant-initiated transactions - Update payment_methods table schema with gateway, last4, brand, paypal_email columns - Update dashboard routes to use new vault flow instead of billing agreements - No longer requires Reference Transactions to be enabled on PayPal account - Supports merchant-initiated billing for auto top-ups without user presence
-
Stefy Lanza (nextime / spora ) authored
- Fix model type reporting for user providers in analytics table - Fix undefined placeholder variable in duplicate cache settings migration
-
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
-
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
-