mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-07-18 00:55:50 +00:00
Clients that build catch-up requests in QUERY layout (e.g. Open-TV / Fred TV: /streaming/timeshift.php?username=...&stream=...&start=...) had no matching urlpattern, so the request silently fell through to the frontend's <path:unused_path> catch-all and got served index.html (200 OK, wrong content) instead of reaching the proxy — no error, no log line, the client just fails to play. The PATH-style layout (timeshift/<user>/<pass>/<stream_id>/<ts>/<dur>) already worked; QUERY-style autodetection already existed for outgoing provider requests (helpers.build_timeshift_url_format_a/_b) but was never mirrored to the incoming route. Split timeshift_proxy into a shared _timeshift_proxy_impl plus two thin entry points (PATH-style timeshift_proxy, new QUERY-style timeshift_proxy_query) so both incoming layouts are recognized. Reported against the predecessor plugin as dispatcharr_timeshift#10; reproduced identically against dispatcharr:dev (confirmed via nginx access log: a QUERY-style request returned 200 with a response body exactly matching the size of frontend/dist/index.html). |
||
|---|---|---|
| .. | ||
| db | ||
| __init__.py | ||
| admin.py | ||
| app_initialization.py | ||
| asgi.py | ||
| celery.py | ||
| consumers.py | ||
| gevent_patch.py | ||
| jwt_ws_auth.py | ||
| persistent_lock.py | ||
| routing.py | ||
| settings.py | ||
| settings_test.py | ||
| test_discovery.py | ||
| test_runner.py | ||
| urls.py | ||
| utils.py | ||
| wsgi.py | ||