Xpra-org / xpra-html5

HTML5 client for Xpra
Mozilla Public License 2.0
192 stars 53 forks source link

Multiple XPRA sessions behind a reverse proxy and sessionStorage #278

Closed timeu closed 6 months ago

timeu commented 6 months ago

We are running xpra sessions from jupyterhub behind a reverse proxy. Different xpra sessions run behind the same domain but different path (i.e. https://example.com/xpra1 and https://example.com/xpra2, etc.) XPRA stores some settings in the sessionStorage (https://github.com/Xpra-org/xpra-html5/blob/master/html5/js/Utilities.js#L593) and reads them out when the xpra html5 interface is loaded. This can cause issues when navigating from one xpra sessions to another one within the same tab because the wrong path value is returned which is used as a basis for the websocket connection.

The solution would be to prefix the values by the URI path (i.e. /xpra2, /xpra1, etc) or introduce a config knob to disable sessionStorage.

totaam commented 6 months ago

I like the idea of using the URI path as a prefix for the sessionStorage. Can you submit a PR?

timeu commented 6 months ago

I like the idea of using the URI path as a prefix for the sessionStorage. Can you submit a PR?

Yeah will have a stab at it later today or tomorrow