feat: Add Chat UX improvements with notifications and @mention support

- Add ActionBar component with expandable toolbar for mobile
- Add @mention functionality with autocomplete dropdown
- Add browser notification system (push, sound, vibration)
- Add NotificationSettings modal for user preferences
- Add mention badges on room list cards
- Add ReportPreview with Markdown rendering and copy/download
- Add message copy functionality with hover actions
- Add backend mentions field to messages with Alembic migration
- Add lots field to rooms, remove templates
- Optimize WebSocket database session handling
- Various UX polish (animations, accessibility)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
egg
2025-12-08 08:20:37 +08:00
parent 92834dbe0e
commit 599802b818
72 changed files with 6810 additions and 702 deletions

View File

@@ -13,6 +13,25 @@
# Note: All tables use 'tr_' prefix to avoid conflicts in shared database
DATABASE_URL=mysql+pymysql://user:password@localhost:3306/task_reporter?charset=utf8mb4
# -----------------------------------------------------------------------------
# Database Connection Pool Settings
# -----------------------------------------------------------------------------
# These settings control the SQLAlchemy connection pool for production scalability.
# Adjust based on expected concurrent users and MySQL max_connections setting.
# Number of persistent connections in the pool (default: 20)
DB_POOL_SIZE=20
# Maximum additional connections beyond pool_size when pool is exhausted (default: 30)
# Total max connections = DB_POOL_SIZE + DB_MAX_OVERFLOW = 50
DB_MAX_OVERFLOW=30
# Seconds to wait for an available connection before timeout error (default: 10)
DB_POOL_TIMEOUT=10
# Recycle connections after this many seconds to prevent stale connections (default: 1800 = 30 min)
DB_POOL_RECYCLE=1800
# -----------------------------------------------------------------------------
# Security Configuration
# -----------------------------------------------------------------------------