From 94313173f0f7cce7001ee8b5661b1884d2324527 Mon Sep 17 00:00:00 2001 From: Doug <6060466+pixlwave@users.noreply.github.com> Date: Wed, 22 Jul 2026 14:56:49 +0100 Subject: [PATCH] Add a warning to the Link New Device instructions. (#5916) --- .../Localizations/en-US.lproj/Localizable.strings | 1 + .../Resources/Localizations/en.lproj/Localizable.strings | 1 + ElementX/Sources/Generated/Strings.swift | 2 ++ .../QRCodeLoginScreen/View/QRCodeLoginScreen.swift | 9 ++++++++- .../qRCodeLoginScreen.Link-instructions-iPad-en-GB.png | 4 ++-- .../qRCodeLoginScreen.Link-instructions-iPad-pseudo.png | 4 ++-- .../qRCodeLoginScreen.Link-instructions-iPhone-en-GB.png | 4 ++-- ...qRCodeLoginScreen.Link-instructions-iPhone-pseudo.png | 4 ++-- 8 files changed, 20 insertions(+), 9 deletions(-) diff --git a/ElementX/Resources/Localizations/en-US.lproj/Localizable.strings b/ElementX/Resources/Localizations/en-US.lproj/Localizable.strings index 264026df1..bac246568 100644 --- a/ElementX/Resources/Localizations/en-US.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/en-US.lproj/Localizable.strings @@ -950,6 +950,7 @@ "screen_link_new_device_desktop_step3" = "Scan the QR code with this device"; "screen_link_new_device_desktop_submit" = "Ready to scan"; "screen_link_new_device_desktop_title" = "Open %1$@ on a desktop computer to get the QR code"; +"screen_link_new_device_desktop_warning" = "Only scan a QR code after following the steps above on your own device. Never scan a code sent by another person."; "screen_link_new_device_enter_number_error_numbers_do_not_match" = "The numbers don’t match"; "screen_link_new_device_enter_number_notice" = "Enter 2-digit code"; "screen_link_new_device_enter_number_subtitle" = "This will verify that the connection to your other device is secure."; diff --git a/ElementX/Resources/Localizations/en.lproj/Localizable.strings b/ElementX/Resources/Localizations/en.lproj/Localizable.strings index d0e084527..f73bce034 100644 --- a/ElementX/Resources/Localizations/en.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/en.lproj/Localizable.strings @@ -950,6 +950,7 @@ "screen_link_new_device_desktop_step3" = "Scan the QR code with this device"; "screen_link_new_device_desktop_submit" = "Ready to scan"; "screen_link_new_device_desktop_title" = "Open %1$@ on a desktop computer to get the QR code"; +"screen_link_new_device_desktop_warning" = "Only scan a QR code after following the steps above on your own device. Never scan a code sent by another person."; "screen_link_new_device_enter_number_error_numbers_do_not_match" = "The numbers don’t match"; "screen_link_new_device_enter_number_notice" = "Enter 2-digit code"; "screen_link_new_device_enter_number_subtitle" = "This will verify that the connection to your other device is secure."; diff --git a/ElementX/Sources/Generated/Strings.swift b/ElementX/Sources/Generated/Strings.swift index a70c7f513..533b756a1 100644 --- a/ElementX/Sources/Generated/Strings.swift +++ b/ElementX/Sources/Generated/Strings.swift @@ -2218,6 +2218,8 @@ internal nonisolated enum L10n { internal static func screenLinkNewDeviceDesktopTitle(_ p1: Any) -> String { return L10n.tr("Localizable", "screen_link_new_device_desktop_title", String(describing: p1)) } + /// Only scan a QR code after following the steps above on your own device. Never scan a code sent by another person. + internal static var screenLinkNewDeviceDesktopWarning: String { return L10n.tr("Localizable", "screen_link_new_device_desktop_warning") } /// The numbers don’t match internal static var screenLinkNewDeviceEnterNumberErrorNumbersDoNotMatch: String { return L10n.tr("Localizable", "screen_link_new_device_enter_number_error_numbers_do_not_match") } /// Enter 2-digit code diff --git a/ElementX/Sources/Screens/QRCodeLoginScreen/View/QRCodeLoginScreen.swift b/ElementX/Sources/Screens/QRCodeLoginScreen/View/QRCodeLoginScreen.swift index 368587991..2ebab4c64 100644 --- a/ElementX/Sources/Screens/QRCodeLoginScreen/View/QRCodeLoginScreen.swift +++ b/ElementX/Sources/Screens/QRCodeLoginScreen/View/QRCodeLoginScreen.swift @@ -75,12 +75,19 @@ struct QRCodeLoginScreen: View { private var linkDesktopInstructionsContent: some View { FullscreenDialog(topPadding: 24, horizontalPadding: 24) { - VStack(alignment: .leading, spacing: 40) { + VStack(alignment: .leading, spacing: 32) { TitleAndIcon(title: L10n.screenLinkNewDeviceDesktopTitle(InfoPlistReader.main.productionAppName), icon: \.computer, iconStyle: .default) + .padding(.bottom, 8) SFNumberedListView(items: context.viewState.instructions.linkDesktopItems) + + Text(L10n.screenLinkNewDeviceDesktopWarning) + .font(.compound.bodyMDSemibold) + .foregroundStyle(.compound.textCriticalPrimary) + .padding(16) + .background(.compound.bgCriticalSubtle, in: .rect(cornerRadius: 14)) } } bottomContent: { Button(L10n.screenLinkNewDeviceDesktopSubmit) { diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPad-en-GB.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPad-en-GB.png index b3117d12e..dfb1666e8 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPad-en-GB.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPad-en-GB.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d46912b1b9cb88d36f8daab25770ae998df5568d35cb8f8f5b05f270e7491e4 -size 128409 +oid sha256:5e600e1340aa4d03ae0dff6ce33c2d4823a30494df85fe990aba805f42c63b33 +size 152338 diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPad-pseudo.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPad-pseudo.png index ed3db37b8..8bee0e4bd 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPad-pseudo.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPad-pseudo.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b3d805fe6fe2de8c73439236a9daad1e995ca9d015d12aa4de4c7b1907980181 -size 159445 +oid sha256:ccef7cc823dd11b19a668db8da19e4ff2dd6a2cc469832f907a72d20444cfe0f +size 201447 diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPhone-en-GB.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPhone-en-GB.png index 46c03631b..e771eb769 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPhone-en-GB.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPhone-en-GB.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1723a176625277e615190abaa9d38356d01395634c4a315011d80ceb3ee4e59f -size 78955 +oid sha256:f5289a3d353afcb86a0f311d59bf843371a8445387dc7e94c85ce92a856e6d33 +size 102129 diff --git a/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPhone-pseudo.png b/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPhone-pseudo.png index c37bb95a9..461e912aa 100644 --- a/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPhone-pseudo.png +++ b/PreviewTests/Sources/__Snapshots__/PreviewTests/qRCodeLoginScreen.Link-instructions-iPhone-pseudo.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13d9955ecd0a6a5f48db95d507118168af1c62f3449fdd10ec50718b9bd7c83c -size 114827 +oid sha256:a4ebd22aa591526ff9b17d081f23fc6e618ba4bfec757f0b946588aa32bebf68 +size 154496