From: Marcel van der Veldt Date: Sun, 30 Nov 2025 10:29:49 +0000 (+0100) Subject: Fix setup page redirect behind reverse proxy or ingress X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=26384135257fec5f3bb6dffdb43fe826b7bc5f59;p=music-assistant-server.git Fix setup page redirect behind reverse proxy or ingress --- diff --git a/music_assistant/controllers/webserver/controller.py b/music_assistant/controllers/webserver/controller.py index bd1fef66..302ddfa9 100644 --- a/music_assistant/controllers/webserver/controller.py +++ b/music_assistant/controllers/webserver/controller.py @@ -614,13 +614,13 @@ class WebserverController(CoreController): # If not yet onboarded, redirect to setup if not self.mass.config.onboard_done or not await self.auth.has_users(): # Preserve return_url parameter if present (will be passed back after setup) - # The setup page will add onboard=true when redirecting back return_url = request.query.get("return_url") if return_url: - setup_url = f"/setup?return_url={urllib.parse.quote(return_url, safe='')}" + quoted_return = urllib.parse.quote(return_url, safe="") + setup_url = f"setup?return_url={quoted_return}" else: - # Default: redirect back to root (index) after setup with onboard=true - setup_url = f"/setup?return_url={urllib.parse.quote('/', safe='')}" + # Default: redirect back to current directory (relative path) + setup_url = "setup?return_url=." return web.Response(status=302, headers={"Location": setup_url}) # Serve the Vue frontend index.html diff --git a/music_assistant/helpers/resources/setup.html b/music_assistant/helpers/resources/setup.html index 936808e7..034c7a51 100644 --- a/music_assistant/helpers/resources/setup.html +++ b/music_assistant/helpers/resources/setup.html @@ -599,9 +599,8 @@ window.location.href = finalUrl; } else { - // No return URL - redirect to root with onboard flag - // Frontend will handle navigation to onboarding flow - window.location.href = '/?code=' + encodeURIComponent(authToken) + '&onboard=true'; + // No return URL - use relative path to current directory + window.location.href = `./?code=${encodeURIComponent(authToken)}&onboard=true`; } }