Detect refund/suspension status changes and generate notifications
stored in Redis. Bell icon in navbar shows unread count badge,
click to expand dropdown with dismiss per-item or read-all.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Backend check-claude-payment accepts optional emails list
- Frontend sends filtered emails when filter is active
- Button label updates to show current filter scope
- Add project skill for development guidance
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Merge client_id and token columns into single "credential" button
- Click to view in modal with copy buttons for each
- Add refund toggle button in actions row with confirm dialog
- Remove separate refund_received column, cleaner layout
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add refund_received column to claude_payment_status table
- API endpoint POST /api/tools/refund-received/{email} to toggle
- Clickable badge in table to mark refund as received/not received
- Filter options: refund received / refund not received
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add Redis service (docker-compose) for caching accounts, messages, payment status
- Cache accounts list (5min), messages (3min), payment status (10min)
- Auto-invalidate cache on import/delete/payment-check/note-update
- Add refresh button to email list panel (force re-fetch from IMAP)
- Messages API supports refresh=true param to bypass cache
- New cache.py module with RedisCache class
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Move SQLite DB to data/ directory and track in git for portability
- Fix SQL injection in cleanup_old_emails (use parameterized query)
- Replace sync requests with async httpx in auth.py
- Enable WAL mode and foreign keys for SQLite
- Add UNIQUE constraint and foreign key to account_tags table
- Remove redundant indexes on primary key columns
- Mount data/ volume in docker-compose for persistence
- Remove unused requests dependency
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>