From 2a32e9a26f649cbc7cce8ae6704e4de8431683eb Mon Sep 17 00:00:00 2001 From: Ryan Miller Date: Tue, 24 Feb 2026 10:12:27 +1100 Subject: [PATCH 1/3] fix: click events for debug menu toggle in the settings page --- .../pages/DefaultSettingsPage.tsx | 47 +++++++++---------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx b/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx index ab42c3148..2dd536db6 100644 --- a/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx +++ b/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx @@ -46,6 +46,7 @@ import { } from '../../../../state/selectors/proBackendData'; import { focusVisibleBoxShadowOutsetStr } from '../../../../styles/focusVisible'; import { createButtonOnKeyDownForClickEventHandler } from '../../../../util/keyboardShortcuts'; +import { useDebugMode } from '../../../../state/selectors/debug'; function SessionIconForSettings(props: Omit) { return ( @@ -272,33 +273,37 @@ const StyledButtonSessionInfo = styled.span<{ opacity?: number }>` `; const SessionInfo = () => { - const [clickCount, setClickCount] = useState(0); - + const [, setClickCount] = useState(0); const dispatch = getAppDispatch(); + const inDebugMode = useDebugMode(); + + const onClickLogo = () => showLinkVisitWarningDialog('https://token.getsession.org/', dispatch); - const openVersion = createButtonOnKeyDownForClickEventHandler(() => + const onClickVersion = () => showLinkVisitWarningDialog( `https://github.com/session-foundation/session-desktop/releases/tag/v${window.versionInfo.version}`, dispatch - ) - ); + ); - const openCommit = createButtonOnKeyDownForClickEventHandler(() => { - setClickCount(clickCount + 1); - if (clickCount === 10) { - dispatch(setDebugMode(true)); - setClickCount(0); - } - }); + const onClickCommit = () => + setClickCount(n => { + if (n === 9) { + dispatch(setDebugMode(!inDebugMode)); + ToastUtils.pushToastSuccess('toggle-debug-mode', `Debug mode ${inDebugMode ? 'disabled' : 'enabled'}!`); + return 0; + } + return n + 1; + }); + + const onKeyDownVersion = createButtonOnKeyDownForClickEventHandler(onClickVersion); + const onKeyDownCommit = createButtonOnKeyDownForClickEventHandler(onClickCommit); return ( { - showLinkVisitWarningDialog('https://token.getsession.org/', dispatch); - }} + onClick={onClickLogo} // disable transition here as the transition does the opposite that usual (hovering makes it more opaque/bright) style={{ transition: 'none' }} /> @@ -308,18 +313,10 @@ const SessionInfo = () => { $alignItems="center" $flexGap="var(--margins-sm)" > - void openVersion(null as any)} - tabIndex={0} - > + v{window.versionInfo.version} - void openCommit(null as any)} - tabIndex={0} - > + {window.versionInfo.commitHash?.slice(0, 8)} From 1874ee4a7cfb94ae8c86fb0252cf90d7ebc1a65b Mon Sep 17 00:00:00 2001 From: Ryan Miller Date: Tue, 24 Feb 2026 10:16:25 +1100 Subject: [PATCH 2/3] chore: lint --- .../dialog/user-settings/pages/DefaultSettingsPage.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx b/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx index 2dd536db6..793eecf13 100644 --- a/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx +++ b/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx @@ -289,7 +289,10 @@ const SessionInfo = () => { setClickCount(n => { if (n === 9) { dispatch(setDebugMode(!inDebugMode)); - ToastUtils.pushToastSuccess('toggle-debug-mode', `Debug mode ${inDebugMode ? 'disabled' : 'enabled'}!`); + ToastUtils.pushToastSuccess( + 'toggle-debug-mode', + `Debug mode ${inDebugMode ? 'disabled' : 'enabled'}!` + ); return 0; } return n + 1; From 5d504b8af6f8347c9e67ce79108e254267bc5f11 Mon Sep 17 00:00:00 2001 From: Ryan Miller Date: Tue, 24 Feb 2026 10:51:39 +1100 Subject: [PATCH 3/3] chore: use dev string for debug toasts --- .../dialog/user-settings/pages/DefaultSettingsPage.tsx | 2 +- ts/localization | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx b/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx index 793eecf13..553e53cef 100644 --- a/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx +++ b/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx @@ -291,7 +291,7 @@ const SessionInfo = () => { dispatch(setDebugMode(!inDebugMode)); ToastUtils.pushToastSuccess( 'toggle-debug-mode', - `Debug mode ${inDebugMode ? 'disabled' : 'enabled'}!` + tr(inDebugMode ? 'debugModeDisabledToastDev' : 'debugModeEnabledToastDev') ); return 0; } diff --git a/ts/localization b/ts/localization index 6e7c9d682..7e6603e97 160000 --- a/ts/localization +++ b/ts/localization @@ -1 +1 @@ -Subproject commit 6e7c9d6825b6570c7ddf76d2d920a7ce00d793d8 +Subproject commit 7e6603e97326cd267eade5667bf43d3a8dcecd22