From 274ef0e532301f1af67e20176b41490b161d0424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Grenotton?= Date: Mon, 1 Apr 2019 16:07:56 +0200 Subject: [PATCH] Fix local chromecast play behind reverse proxy When using a HTTPS reverse proxy (for eg. traefik in fron of docker jellyfin), there's no valid advertised local address. Let's default to external one in such case, relying on the home router to properly route it internally. --- src/components/chromecast/chromecasthelpers.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/chromecast/chromecasthelpers.js b/src/components/chromecast/chromecasthelpers.js index c86233207d..0beba824c0 100644 --- a/src/components/chromecast/chromecasthelpers.js +++ b/src/components/chromecast/chromecasthelpers.js @@ -187,8 +187,13 @@ define(['events'], function (events) { return apiClient.getEndpointInfo().then(function (endpoint) { if (endpoint.IsInNetwork) { return apiClient.getPublicSystemInfo().then(function (info) { - addToCache(serverAddress, info.LocalAddress); - return info.LocalAddress; + var localAddress = info.LocalAddress + if (!localAddress) { + console.log("No valid local address returned, defaulting to external one") + localAddress = serverAddress; + } + addToCache(serverAddress, localAddress); + return localAddress; }); } else { addToCache(serverAddress, serverAddress);