Previously, when opening a deep link without being logged into PVE, the hash was getting lost, redirecting the user to / instead of /#<deeplink>.
Store `window.location.hash` in sessionStorage (per-tab storage) before redirecting to the login URL, and add it to `Ext.History` after successful login to direct the user to the deeplink they opened. Signed-off-by: Arthur Bied-Charreton <[email protected]> --- www/manager6/Workspace.js | 5 +++++ www/manager6/window/LoginWindow.js | 1 + 2 files changed, 6 insertions(+) diff --git a/www/manager6/Workspace.js b/www/manager6/Workspace.js index b8061c2a..0f0e6ffb 100644 --- a/www/manager6/Workspace.js +++ b/www/manager6/Workspace.js @@ -49,6 +49,11 @@ Ext.define('PVE.Workspace', { handler: function (data) { me.login = null; me.updateLoginData(data); + let deeplink = sessionStorage.getItem('openid-deeplink'); + if (deeplink) { + sessionStorage.removeItem('openid-deeplink'); + Ext.History.add(deeplink); + } Proxmox.Utils.checked_command(Ext.emptyFn); // display subscription status }, }); diff --git a/www/manager6/window/LoginWindow.js b/www/manager6/window/LoginWindow.js index 324861ec..aacb8f2f 100644 --- a/www/manager6/window/LoginWindow.js +++ b/www/manager6/window/LoginWindow.js @@ -50,6 +50,7 @@ Ext.define('PVE.window.LoginWindow', { if (this.getViewModel().data.openid === true) { const redirectURL = location.origin; + sessionStorage.setItem('openid-deeplink', window.location.hash); Proxmox.Utils.API2Request({ url: '/api2/extjs/access/openid/auth-url', params: { -- 2.47.3
