From c6a734076dc59b950a0aadf00facfc85141770ce Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:30:23 +0000 Subject: [PATCH 01/20] Initial value of variable is always true --- frontend/iframe/viewmodels/RootViewModel.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index 13701de..7e564bc 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -153,7 +153,7 @@ export class RootViewModel extends ViewModel { } } else { try { - await this._showInitialScreen(shouldRestoreLastUrl); + await this._showInitialScreen(); } catch (err) { console.error(err); this._setSection(() => this._error = err); @@ -161,11 +161,12 @@ export class RootViewModel extends ViewModel { } } - private async _showInitialScreen(shouldRestoreLastUrl: boolean) { + private async _showInitialScreen() { const sessionInfos = await this.platform.sessionInfoStorage.getAll(); const singleRoomId = await this.getSingleRoomId(); - if (shouldRestoreLastUrl && singleRoomId) { + let shouldRestoreLastUrl = true; + if (singleRoomId) { // Do not restore last URL to Login if we're in single-room mode. // We do this so that we can try guest login when appropriate. const willShowLogin = this.platform.history.getLastSessionUrl() === "#/login"; From 08688dd7d202baa39cd337b2a79f3b46a519bf43 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:35:31 +0000 Subject: [PATCH 02/20] Don't try to register guest account when there are no sessions --- frontend/iframe/viewmodels/RootViewModel.ts | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index 7e564bc..c334b95 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -193,27 +193,12 @@ export class RootViewModel extends ViewModel { // We were not able to restore the last URL. // So we send the user to the screen that makes the most sense, according to how many sessions they have. - // Go to Login or, when in single-room mode, try registering guest user. + // Go to Login or, when in single-room mode. if (sessionInfos.length === 0) { if (!singleRoomId) { this.navigation.push(Section.Login); return; } - - // Attempt to log in as guest. If it fails, go to Login. - const homeserver = await lookupHomeserver(singleRoomId.split(':')[1], this.platform.request); - const client = new Client(this.platform); - - await client.doGuestLogin(homeserver); - if (client.loadError) { - console.warn("Failed to login as guest. Guest registration is probably disabled on the homeserver", client.loadError); - this.navigation.push(Section.Login); - return; - } - - this._pendingClient = client; - this.navigation.push(Section.Session, client.sessionId); - return; } // Open session. From 7e451f154ea32e2fe9f24b573c84d2a332aad6fa Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:36:43 +0000 Subject: [PATCH 03/20] Use a single conditional --- frontend/iframe/viewmodels/RootViewModel.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index c334b95..b026554 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -194,11 +194,9 @@ export class RootViewModel extends ViewModel { // So we send the user to the screen that makes the most sense, according to how many sessions they have. // Go to Login or, when in single-room mode. - if (sessionInfos.length === 0) { - if (!singleRoomId) { - this.navigation.push(Section.Login); - return; - } + if (sessionInfos.length === 0 && !singleRoomId) { + this.navigation.push(Section.Login); + return; } // Open session. From 9c57fd8dec1280e44b55419314aea84ac4e5b275 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:44:58 +0000 Subject: [PATCH 04/20] Log out all sessions except one --- frontend/iframe/viewmodels/RootViewModel.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index b026554..b3514c9 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -165,6 +165,14 @@ export class RootViewModel extends ViewModel { const sessionInfos = await this.platform.sessionInfoStorage.getAll(); const singleRoomId = await this.getSingleRoomId(); + // In previous versions, it was possible to have multiple sessions open. + // When we have multiple sessions, we want to log out all of them except one. + if (sessionInfos.length > 1) { + for (let i = 0; i < sessionInfos.length - 1; i++) { + await this.platform.sessionInfoStorage.delete(sessionInfos[i].id); + } + } + let shouldRestoreLastUrl = true; if (singleRoomId) { // Do not restore last URL to Login if we're in single-room mode. From 59517eced087f0696ed5a450b49bc3f49919d187 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:46:42 +0000 Subject: [PATCH 05/20] Remove logic related to guest access in single-room mode --- frontend/iframe/viewmodels/RootViewModel.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index b3514c9..2445c86 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -175,13 +175,6 @@ export class RootViewModel extends ViewModel { let shouldRestoreLastUrl = true; if (singleRoomId) { - // Do not restore last URL to Login if we're in single-room mode. - // We do this so that we can try guest login when appropriate. - const willShowLogin = this.platform.history.getLastSessionUrl() === "#/login"; - if (willShowLogin) { - shouldRestoreLastUrl = false; - } - // Do not restore last URL to session picker if we're in single-room mode and there are zero or one sessions. // We do this so that we can try guest login when there are no sessions, or in the case where there is one // session, use that session. From 9c8f6246c5a351ed1163730727e6f36947bb51ed Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:48:42 +0000 Subject: [PATCH 06/20] Don't restore last url if it's to the session picker --- frontend/iframe/viewmodels/RootViewModel.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index 2445c86..ffac0d0 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -174,6 +174,13 @@ export class RootViewModel extends ViewModel { } let shouldRestoreLastUrl = true; + + // We never want to show the session picker, even if it was the last url. + const willShowSessionPicker = this.platform.history.getLastSessionUrl() === "#/session"; + if (willShowSessionPicker) { + shouldRestoreLastUrl = false; + } + if (singleRoomId) { // Do not restore last URL to session picker if we're in single-room mode and there are zero or one sessions. // We do this so that we can try guest login when there are no sessions, or in the case where there is one From dc86e36956cf8c8ba36fece198e552925adbaf63 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:49:05 +0000 Subject: [PATCH 07/20] Remove logic related to guest access in single-room mode --- frontend/iframe/viewmodels/RootViewModel.ts | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index ffac0d0..dfd59f0 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -181,16 +181,6 @@ export class RootViewModel extends ViewModel { shouldRestoreLastUrl = false; } - if (singleRoomId) { - // Do not restore last URL to session picker if we're in single-room mode and there are zero or one sessions. - // We do this so that we can try guest login when there are no sessions, or in the case where there is one - // session, use that session. - const willShowSessionPicker = this.platform.history.getLastSessionUrl() === "#/session"; - if (shouldRestoreLastUrl && willShowSessionPicker && sessionInfos.length <= 1) { - shouldRestoreLastUrl = false; - } - } - if (shouldRestoreLastUrl && this.urlRouter.tryRestoreLastUrl()) { // Restored last URL. // By the time we get here, _applyNavigation() has run for the restored URL, so we have nothing else From 76174321933003d38f164f27ec217b2173a32a07 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:50:46 +0000 Subject: [PATCH 08/20] Always go to login when there are no sessions --- frontend/iframe/viewmodels/RootViewModel.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index dfd59f0..a8f614d 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -183,16 +183,15 @@ export class RootViewModel extends ViewModel { if (shouldRestoreLastUrl && this.urlRouter.tryRestoreLastUrl()) { // Restored last URL. - // By the time we get here, _applyNavigation() has run for the restored URL, so we have nothing else - // to do. + // By the time we get here, _applyNavigation() has run for the restored URL, so we have nothing else to do. return; } // We were not able to restore the last URL. // So we send the user to the screen that makes the most sense, according to how many sessions they have. - // Go to Login or, when in single-room mode. - if (sessionInfos.length === 0 && !singleRoomId) { + // Go to Login when there are no sessions. + if (sessionInfos.length === 0) { this.navigation.push(Section.Login); return; } From 2032f82806a921f3169ee622bbf91a2ecfcdec51 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:53:48 +0000 Subject: [PATCH 09/20] Refetch session list after deleting sessions --- frontend/iframe/viewmodels/RootViewModel.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index a8f614d..5f7559a 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -162,7 +162,7 @@ export class RootViewModel extends ViewModel { } private async _showInitialScreen() { - const sessionInfos = await this.platform.sessionInfoStorage.getAll(); + let sessionInfos = await this.platform.sessionInfoStorage.getAll(); const singleRoomId = await this.getSingleRoomId(); // In previous versions, it was possible to have multiple sessions open. @@ -171,6 +171,11 @@ export class RootViewModel extends ViewModel { for (let i = 0; i < sessionInfos.length - 1; i++) { await this.platform.sessionInfoStorage.delete(sessionInfos[i].id); } + + sessionInfos = await this.platform.sessionInfoStorage.getAll(); + if (sessionInfos.length > 1) { + console.error("Expected to have a single session, but multiple sessions were found."); + } } let shouldRestoreLastUrl = true; From 923b91e4a136a1baa25869f8b40039649380ee81 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 12:54:20 +0000 Subject: [PATCH 10/20] Make login the default screen --- frontend/iframe/viewmodels/RootViewModel.ts | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index 5f7559a..e83e92c 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -195,20 +195,12 @@ export class RootViewModel extends ViewModel { // We were not able to restore the last URL. // So we send the user to the screen that makes the most sense, according to how many sessions they have. - // Go to Login when there are no sessions. - if (sessionInfos.length === 0) { - this.navigation.push(Section.Login); - return; - } - - // Open session. if (sessionInfos.length === 1) { this.navigation.push(Section.Session, sessionInfos[0].id); return; } - // Open session picker. - this.navigation.push(Section.Session); + this.navigation.push(Section.Login); } private async resolveRoomAlias(roomIdOrAlias: string): Promise { From 75f9a5093a3c4d5b0ec4f10044cece3bd348e267 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 13:00:57 +0000 Subject: [PATCH 11/20] Change 'Redirecting' to 'Loading' --- frontend/iframe/views/RootView.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/iframe/views/RootView.ts b/frontend/iframe/views/RootView.ts index 571cb61..3a671c9 100644 --- a/frontend/iframe/views/RootView.ts +++ b/frontend/iframe/views/RootView.ts @@ -4,8 +4,8 @@ import { TemplateView } from "hydrogen-web/src/platform/web/ui/general/TemplateV import { LoginView } from "hydrogen-web/src/platform/web/ui/login/LoginView"; import { SessionLoadView } from "hydrogen-web/src/platform/web/ui/login/SessionLoadView"; import { SessionPickerView } from "hydrogen-web/src/platform/web/ui/login/SessionPickerView"; -import { UnknownRoomView } from "hydrogen-web/src/platform/web/ui/session/room/UnknownRoomView"; import { LogoutView } from "hydrogen-web/src/platform/web/ui/LogoutView"; +import { UnknownRoomView } from "hydrogen-web/src/platform/web/ui/session/room/UnknownRoomView"; import { Section } from "../platform/Navigation"; import { RootViewModel } from "../viewmodels/RootViewModel"; import { SessionView } from "./SessionView"; @@ -34,7 +34,7 @@ export class RootView extends TemplateView { case Section.SessionPicker: return new SessionPickerView(vm.sessionPickerViewModel); case Section.Redirecting: - return new StaticView(t => t.p("Redirecting...")); + return new StaticView(t => t.p("Loading...")); case Section.SessionLoading: return new SessionLoadView(vm.sessionLoadViewModel); case Section.UnknownRoom: From 161d570629f9088a44bd5bc81aadf2932d44eb2e Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 13:01:56 +0000 Subject: [PATCH 12/20] Remove unused variable --- frontend/iframe/viewmodels/RootViewModel.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index e83e92c..09ed474 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -163,7 +163,6 @@ export class RootViewModel extends ViewModel { private async _showInitialScreen() { let sessionInfos = await this.platform.sessionInfoStorage.getAll(); - const singleRoomId = await this.getSingleRoomId(); // In previous versions, it was possible to have multiple sessions open. // When we have multiple sessions, we want to log out all of them except one. From 07b34bfe09988e69e80558be9ad4f3da9d800335 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 13:06:50 +0000 Subject: [PATCH 13/20] Don't show the back button in single-room mode --- frontend/iframe/styles/theme/theme.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/iframe/styles/theme/theme.css b/frontend/iframe/styles/theme/theme.css index f480ae0..8b2e393 100644 --- a/frontend/iframe/styles/theme/theme.css +++ b/frontend/iframe/styles/theme/theme.css @@ -34,9 +34,9 @@ body { 320px 1fr; } -/* Always show the back button in single-room mode. */ +/* Don't show the back button in single-room mode. */ .RootView.single-room-mode .close-middle { - display: block; + display: none !important; } /* Remove horizontal scrollbars in pre-session screen. */ From 98263a65e70d372259c4fb53bd4138712b2a293b Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 13:10:30 +0000 Subject: [PATCH 14/20] Don't show the back button in room list --- frontend/iframe/styles/theme/theme.css | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/iframe/styles/theme/theme.css b/frontend/iframe/styles/theme/theme.css index 8b2e393..d8d8c6b 100644 --- a/frontend/iframe/styles/theme/theme.css +++ b/frontend/iframe/styles/theme/theme.css @@ -34,11 +34,16 @@ body { 320px 1fr; } -/* Don't show the back button in single-room mode. */ +/* Don't show the back button when in a Room, when in single-room mode. */ .RootView.single-room-mode .close-middle { display: none !important; } +/* Don't show the back button in room list. */ +.LeftPanel .close-session { + display: none !important; +} + /* Remove horizontal scrollbars in pre-session screen. */ @media screen and (min-width: 600px) { .PreSessionScreen { From e9549c587e45ce11ec61f596e07763594bbaafc7 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 13:22:58 +0000 Subject: [PATCH 15/20] No longer need to override closeUrl --- frontend/iframe/viewmodels/RoomViewModel.ts | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/frontend/iframe/viewmodels/RoomViewModel.ts b/frontend/iframe/viewmodels/RoomViewModel.ts index 436f1f2..503c29e 100644 --- a/frontend/iframe/viewmodels/RoomViewModel.ts +++ b/frontend/iframe/viewmodels/RoomViewModel.ts @@ -1,5 +1,3 @@ -import { SegmentType } from "hydrogen-web/src/domain/navigation"; -import { Segment } from "hydrogen-web/src/domain/navigation/Navigation"; import { RoomViewModel as BaseRoomViewModel } from "hydrogen-web/src/domain/session/room/RoomViewModel"; import { URLRouter } from "../platform/URLRouter"; @@ -18,16 +16,6 @@ export class RoomViewModel extends BaseRoomViewModel { return super.urlRouter; } - get closeUrl() { - if (this.singleRoomMode) { - const path = this.navigation.path.with(new Segment("session")); - - return this.urlRouter.urlForPath(path); - } - - return super.closeUrl; - } - get singleRoomMode(): boolean { return this._singleRoomMode; } From 411ae8de8e5726f0b4b8e954e8449ab20f48a8cb Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 13:30:52 +0000 Subject: [PATCH 16/20] Remove yarn config --- .gitignore | 2 +- .yarnrc | 5 ----- .yarnrc.yml | 1 - 3 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 .yarnrc delete mode 100644 .yarnrc.yml diff --git a/.gitignore b/.gitignore index c952823..a804428 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ /release/ .env.*.local /svn/ -/.yarn/ +.yarn* diff --git a/.yarnrc b/.yarnrc deleted file mode 100644 index d9df855..0000000 --- a/.yarnrc +++ /dev/null @@ -1,5 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -yarn-path ".yarn/releases/yarn-1.22.21.cjs" diff --git a/.yarnrc.yml b/.yarnrc.yml deleted file mode 100644 index 82069dd..0000000 --- a/.yarnrc.yml +++ /dev/null @@ -1 +0,0 @@ -yarnPath: .yarn/releases/yarn-1.22.19.cjs From 3ef3ce9d30a8d7a98e4fff61cdf413d9793ad979 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 15:36:31 +0000 Subject: [PATCH 17/20] Only restore last url if there is already a session --- frontend/iframe/viewmodels/RootViewModel.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index 09ed474..6f50408 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -177,7 +177,9 @@ export class RootViewModel extends ViewModel { } } - let shouldRestoreLastUrl = true; + // Only restore last url if there is already a session. + // This will result in the user being sent to login screen. + let shouldRestoreLastUrl = sessionInfos.length > 1; // We never want to show the session picker, even if it was the last url. const willShowSessionPicker = this.platform.history.getLastSessionUrl() === "#/session"; From 5fbb32dfbcf2873e53000531f195811cfb56bd7d Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 15:45:40 +0000 Subject: [PATCH 18/20] After logout, show login screen instead of session picker --- frontend/iframe/viewmodels/RootViewModel.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/frontend/iframe/viewmodels/RootViewModel.ts b/frontend/iframe/viewmodels/RootViewModel.ts index 6f50408..1fe93d1 100644 --- a/frontend/iframe/viewmodels/RootViewModel.ts +++ b/frontend/iframe/viewmodels/RootViewModel.ts @@ -106,9 +106,16 @@ export class RootViewModel extends ViewModel { const isLogin = this.navigation.path.get("login"); const logoutSessionId = this.navigation.path.get("logout")?.value; const isForcedLogout = this.navigation.path.get("forced")?.value; - const sessionId = this.navigation.path.get("session")?.value; const loginToken = this.navigation.path.get("sso")?.value; + let sessionId = this.navigation.path.get("session")?.value; + if (sessionId === true) { + // When logging out, we end up here (sessionId = true). + // Since user is now logged out and as there can only be a single session, + // we want to show the login screen directly. + sessionId = null; + } + if (isLogin) { if (this.activeSection !== Section.Login) { this._showLogin(undefined); @@ -121,10 +128,6 @@ export class RootViewModel extends ViewModel { if (this.activeSection !== Section.Logout) { this._showLogout(logoutSessionId); } - } else if (sessionId === true) { - if (this.activeSection !== Section.SessionPicker) { - void this._showPicker(); - } } else if (sessionId) { const singleRoomId = await this.getSingleRoomId(); if (singleRoomId) { From da7e68c723c3921cf3dc4c8663e7997fb723319a Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 15:47:22 +0000 Subject: [PATCH 19/20] Don't show the back button in the login screen --- frontend/iframe/styles/theme/theme.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/iframe/styles/theme/theme.css b/frontend/iframe/styles/theme/theme.css index d8d8c6b..3620482 100644 --- a/frontend/iframe/styles/theme/theme.css +++ b/frontend/iframe/styles/theme/theme.css @@ -44,6 +44,11 @@ body { display: none !important; } +/* Don't show the back button in the login screen. */ +.LoginView_back { + display: none !important; +} + /* Remove horizontal scrollbars in pre-session screen. */ @media screen and (min-width: 600px) { .PreSessionScreen { From 0954d745610b52ca0ffdec8ac5f263bcc7771ec9 Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Thu, 30 Nov 2023 16:31:56 +0000 Subject: [PATCH 20/20] Only hide back button in room screen --- frontend/iframe/styles/theme/theme.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/iframe/styles/theme/theme.css b/frontend/iframe/styles/theme/theme.css index 3620482..d037de1 100644 --- a/frontend/iframe/styles/theme/theme.css +++ b/frontend/iframe/styles/theme/theme.css @@ -35,7 +35,7 @@ body { } /* Don't show the back button when in a Room, when in single-room mode. */ -.RootView.single-room-mode .close-middle { +.RootView.single-room-mode .RoomHeader .close-middle { display: none !important; }