Dispatcharr/dispatcharr
SergeantPanda 955a16da62 feat(setup): Implement IP-based restrictions for superuser initialization
This commit introduces a mechanism to restrict the first-time web setup of superusers to local/private networks by default. A new environment variable, DISPATCHARR_SETUP_ALLOWED_IP, allows specific public IPs to bypass this restriction. The changes include updates to the API views for handling setup requests, utility functions for IP validation, and enhancements to the frontend to inform users about setup restrictions. Additionally, tests have been added to ensure correct behavior under various scenarios, including IP validation and environment variable overrides.
2026-07-24 20:50:51 +00:00
..
db fix(db): pin session timezone to UTC via libpq startup packet 2026-07-15 10:20:38 +12:00
__init__.py refactor: Eagerly import celery_app to ensure proper configuration in production 2026-07-08 13:11:17 +00:00
admin.py Alpha v3 2025-02-21 15:31:59 -06:00
app_initialization.py Enhancement: Refactored app initialization to prevent redundant execution across multiple worker processes. Created dispatcharr.app_initialization utility module with should_skip_initialization() function that prevents custom initialization tasks (backup scheduler sync, developer notifications sync) from running during management commands, in worker processes, or in development servers. This significantly reduces startup overhead in multi-worker deployments (e.g., uWSGI with 10 workers now syncs the scheduler once instead of 10 times). Applied to both CoreConfig and BackupsConfig apps. 2026-02-05 13:48:01 -06:00
asgi.py websockets behind auth, cleaned up errors and bad state handling in websocket.jsx 2025-05-10 08:40:53 -04:00
celery.py refactor(celery): Replace worker_ready signal with worker_process_init for plugin discovery and close inherited DB connections. Use djangos PostgrSQL backend for celery tasks. 2026-07-02 13:33:04 -05:00
consumers.py feat(websocket): enhance connection handling with cached IP lookup 2026-05-31 19:28:19 -05:00
gevent_patch.py Enhancement: Update psycopg2 to 3. 2026-05-28 19:27:52 -05:00
jwt_ws_auth.py Enhance JWT authentication error handling and user redirection on token issues. 2025-05-15 14:12:31 -05:00
persistent_lock.py merged in dev 2026-03-26 12:17:43 -04:00
routing.py Websockets, fixed channel name collision, added back in multi-stream per channel support 2025-03-05 17:04:43 -05:00
settings.py refactor(celery): Replace worker_ready signal with worker_process_init for plugin discovery and close inherited DB connections. Use djangos PostgrSQL backend for celery tasks. 2026-07-02 13:33:04 -05:00
settings_test.py test: Add custom test runner for improved test execution in settings_test.py 2026-07-07 18:58:18 +00:00
test_discovery.py refactor: Replace custom test label iteration with centralized test discovery functions for improved maintainability and consistency in test suite management. 2026-07-07 21:30:20 +00:00
test_runner.py refactor: Replace custom test label iteration with centralized test discovery functions for improved maintainability and consistency in test suite management. 2026-07-07 21:30:20 +00:00
urls.py feat(timeshift): enhance catch-up session handling with optional duration support 2026-07-16 21:26:06 +00:00
utils.py feat(setup): Implement IP-based restrictions for superuser initialization 2026-07-24 20:50:51 +00:00
wsgi.py Revert "fix(wsgi): ensure gevent monkey-patching before Django import chain" 2026-03-03 15:33:55 -06:00