Removed unnecessary wrapper methods in the Twitch client and the unused
ReloadRequest exception to simplify the codebase.
Client cleanup (src/core/client.py):
- Removed unnecessary wrapper methods that just delegated to services:
- _watch_sleep() - direct call to service
- _watch_loop() - task created directly from service method
- _maintenance_task() - unused wrapper removed
- process_drops() - websocket callback uses service method directly
- process_notifications() - websocket callback uses service method directly
- process_stream_state() - websocket callback uses service method directly
- process_stream_update() - websocket callback uses service method directly
- get_priority() - direct call to service
- _viewers_key() - direct call to static method
- Changed websocket topic callbacks to use service methods directly
- Removed ReloadRequest handling from run() method
- Net reduction: ~50 lines of unnecessary delegation code
Exception removal (src/exceptions.py):
- Removed unused ReloadRequest exception class
- This exception was never actually raised in the codebase
Task wrapper update (src/utils/async_helpers.py):
- Removed ReloadRequest from exception handling
- Updated docstrings to reflect this change
Benefits:
- Simpler code: Less indirection through unnecessary wrappers
- More direct: Websocket callbacks use service methods directly
- Cleaner: Removed unused exception class
- Easier to follow: Less jumping between wrapper and actual implementation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace the legacy desktop/Tkinter client and packaging artifacts with a Docker-first, web-hosted approach.
- Add Docker quickstart and run-from-source instructions to the README to simplify deployment.
- Simplify launcher to invoke the new web backend module instead of the old desktop entrypoint.
- Update dependencies for a web UI stack (FastAPI, Uvicorn, python-socketio, Jinja2, etc.) and remove desktop/tray-specific packages.
- Remove legacy GUI, packaging and platform-specific helper code, along with obsolete build/pack scripts and AppImage assets to declutter the repo.
- Tidy project ignore rules to add runtime logs and editor metadata.
Rationale: streamline deployment, favor a browser-accessible interface, and reduce maintenance overhead from multiple platform-specific GUI/packaging implementations.