- 02 Feb, 2026 10 commits
-
-
Stefy Lanza (nextime / spora ) authored
- Add Migration_014 to migrations.py for automatic application at launch - Migration adds accumulated_shortfall and cap_percentage columns to match_reports and extraction_stats tables - Migration will be automatically applied when the application starts - Includes both Python migration class and SQL script for manual execution if needed
-
Stefy Lanza (nextime / spora ) authored
- Add accumulated_shortfall field to ExtractionStats and MatchReport models - Add cap_percentage field to ExtractionStats and MatchReport models - Update API sync endpoint to accept and store accumulated_shortfall and cap_percentage for each match - Update reports page to show totals at the last match of selected period instead of sync timestamp - Update client report detail to display accumulated_shortfall and cap_percentage - Add comprehensive test script for accumulated_shortfall and cap_percentage implementation - Update templates to display cap_percentage in match lists This allows tracking the progression of the cap redistribution balance for every client over time, showing the actual values at the moment of each match extraction.
-
Stefy Lanza (nextime / spora ) authored
- Add Bootstrap 5.3.0 CSS from CDN - Add Font Awesome 6.4.0 for icons - Add Bootstrap 5.3.0 JS bundle for interactive components - This enables the responsive grid system (col-12, col-md-6, col-lg-3) to work properly - Cards and filter form will now display in horizontal layout as intended
-
Stefy Lanza (nextime / spora ) authored
- Change summary cards to display in single horizontal row using responsive grid (col-12 col-md-6 col-lg-3) - Add h-100 class to ensure equal card heights - Reorganize filter form into 3-column layout (Client, Date Range, Sort By) - Move time filters to always-visible section (works with all date range options) - Show custom date range inputs only when 'Custom' date range is selected - Add JavaScript to toggle custom date range visibility based on selection - Move action buttons to bottom-right of form with Reset and Apply buttons - Add resetFilters() function to clear all filters - Add me-2 and text-end CSS utility classes
-
Stefy Lanza (nextime / spora ) authored
- Add gradient backgrounds to summary cards (Total Payin, Total Payout, Total Balance, CAP Redistribution) - Include circular icon boxes with relevant icons for each metric - Implement dynamic color for Total Balance (green for positive, red for negative) - Reorganize filters into compact, collapsible layout with logical grouping - Add collapsible header with animated chevron icon - Enhance filter sections with icons and improved spacing - Add comprehensive CSS styles for gradients, flexbox utilities, and visual effects - Include JavaScript for smooth collapsible animation with icon rotation
-
Stefy Lanza (nextime / spora ) authored
- Fix deletion order: child tables before parent tables - Add bet_details deletion before bets deletion - All 4 options updated with correct deletion order - Prevents foreign key constraint errors Deletion order: 1. report_sync_logs (no dependencies) 2. match_reports (child of report_syncs) 3. extraction_stats (child of report_syncs) 4. bet_details (child of bets) 5. bets (parent of bet_details, child of report_syncs) 6. report_syncs (parent of bets, extraction_stats, match_reports)
-
Stefy Lanza (nextime / spora ) authored
- Add RESET_REPORTS_SYNC.sql with multiple reset options - Option 1: Reset for specific client - Option 2: Reset for ALL clients (full reset) - Option 3: Reset for multiple specific clients - Option 4: Reset syncs after specific date - Include verification queries to confirm deletion - Include auto-increment reset option This allows administrators to: - Force clients to perform full resync - Reset corrupted sync data - Clean up old sync records - Verify deletion was successful
-
Stefy Lanza (nextime / spora ) authored
- Add GET /api/reports/last-sync endpoint to query server for last sync information - Update reports page with sorting by client name and cap balance - Create comprehensive client-side implementation guide (CLIENT_SYNC_IMPLEMENTATION_GUIDE.md) - Create minimal client prompt (CLIENT_SYNC_MINIMAL_PROMPT.md) - Update final implementation documentation (REPORTS_FINAL_IMPLEMENTATION.md) This allows clients to: - Query server for last sync information before syncing - Verify local tracking against server state - Recover from tracking corruption - Prevent data loss from missed syncs
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
- 01 Feb, 2026 8 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
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Implement /api/reports/sync endpoint for client report data synchronization - Add database models: ReportSync, Bet, BetDetail, ExtractionStats, ReportSyncLog - Create web interface at /reports with filtering, pagination, and export (PDF/XLSX/CSV) - Add sync logs interface at /sync-logs with comprehensive search and filtering - Implement comprehensive logging for all sync operations - Add migration 010 for existing systems to create all reports tables - Update navigation menu with Reports and Sync Logs links - Add weasyprint dependency for PDF generation - Include test suite for reports sync API - Add complete documentation in REPORTS_FEATURE_README.md
-
- 21 Jan, 2026 1 commit
-
-
Stefy Lanza (nextime / spora ) authored
- Clients list page now removes ClientActivity records associated with inactive or revoked API tokens - Only clients with active tokens are displayed in the web interface - Added logging for cleanup operations - Maintains existing filtering for active tokens in display
-
- 20 Jan, 2026 4 commits
-
-
Stefy Lanza (nextime / spora ) authored
- Log request method, User-Agent header, and all headers on request arrival - Helps debug what user agent the client is actually sending
-
Stefy Lanza (nextime / spora ) authored
- Log API token, rustdesk_id, IP, and user agent received - Log client creation and updates with user agent changes - Log database commit success - Add rollback on exception for better error handling
-
Stefy Lanza (nextime / spora ) authored
- When rustdesk_id is not provided, update the most recent client for the API token - This ensures user agents are updated even for clients not sending rustdesk_id - Improves client reconnection handling
-
Stefy Lanza (nextime / spora ) authored
- Fix rustdesk_id retrieval for GET requests in /updates endpoint - Ensure user agent is properly updated when clients reconnect - Previously, GET requests defaulted to 'unknown' rustdesk_id, preventing proper client identification
-
- 12 Jan, 2026 4 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
- 09 Jan, 2026 3 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
- 27 Sep, 2025 1 commit
-
-
Stefy Lanza (nextime / spora ) authored
-
- 26 Sep, 2025 9 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Added CSRF exemption to all JWT-authenticated API endpoints - API routes use JWT tokens, not session cookies, so CSRF protection is not needed
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Change import to from flask_wtf.csrf import csrf_exempt - Replace @csrf.exempt with @csrf_exempt decorators
-
Stefy Lanza (nextime / spora ) authored
- Initialize CSRFProtect in app/__init__.py - Update import in app/upload/routes.py from flask_wtf.csrf to flask_wtf - Maintain existing @csrf.exempt decorators
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Improved FileLike class with proper file handling and close() method - Added better error handling and validation for JSON input - Added try/finally block to ensure file handles are closed - Added detailed error logging with traceback for debugging - Ensures server always returns JSON instead of HTML error pages
-