From 29c24f1f89e1a3b0e92d0c5a64b78de541a586d1 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Thu, 19 Mar 2026 13:54:06 +0000 Subject: [PATCH] Provide the Learn More link for verify_toast_description (#32857) * Provide the Learn More link for verify_toast_description * Screenshot test for verify this device toast --- apps/web/playwright/e2e/crypto/toasts.spec.ts | 34 +++++++++++++++++- .../verify-this-device-linux.png | Bin 0 -> 15758 bytes apps/web/src/toasts/SetupEncryptionToast.tsx | 14 ++++++-- 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 apps/web/playwright/snapshots/crypto/toasts.spec.ts/verify-this-device-linux.png diff --git a/apps/web/playwright/e2e/crypto/toasts.spec.ts b/apps/web/playwright/e2e/crypto/toasts.spec.ts index 8311c7ceef..fb7a298be9 100644 --- a/apps/web/playwright/e2e/crypto/toasts.spec.ts +++ b/apps/web/playwright/e2e/crypto/toasts.spec.ts @@ -8,7 +8,7 @@ import { type GeneratedSecretStorageKey } from "matrix-js-sdk/src/crypto-api"; import { test, expect } from "../../element-web-test"; -import { createBot, deleteCachedSecrets, disableKeyBackup, logIntoElementAndVerify } from "./utils"; +import { createBot, deleteCachedSecrets, disableKeyBackup, logIntoElement, logIntoElementAndVerify } from "./utils"; import { type Bot } from "../../pages/bot"; test.describe("Key storage out of sync toast", () => { @@ -181,3 +181,35 @@ test.describe("'Turn on key storage' toast", () => { await toasts.assertNoToasts(); }); }); + +test.describe("Verify this device toast", () => { + test( + "The toast is displayed if we are not verified", + { tag: "@screenshot" }, + async ({ page, credentials, homeserver }) => { + // Ensure the user already has a device, and an encrypted toom, so + // we need to verify when we log in + const { botClient } = await createBot(page, homeserver, credentials, true); + await botClient.createRoom({ + initial_state: [ + { + type: "m.room.encryption", + state_key: "", + content: { algorithm: "m.megolm.v1.aes-sha2" }, + }, + ], + }); + + // Log in without verifying + await logIntoElement(page, credentials); + const authPage = page.locator(".mx_AuthPage"); + await authPage.getByRole("button", { name: "Skip verification for now" }).click(); + await authPage.getByRole("button", { name: "I'll verify later" }).click(); + await page.waitForSelector(".mx_MatrixChat"); + + await expect(page.getByRole("heading", { name: "Verify this device" })).toBeVisible(); + + await expect(page.locator(".mx_ToastContainer")).toMatchScreenshot("verify-this-device.png"); + }, + ); +}); diff --git a/apps/web/playwright/snapshots/crypto/toasts.spec.ts/verify-this-device-linux.png b/apps/web/playwright/snapshots/crypto/toasts.spec.ts/verify-this-device-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..750b118686c3efd47ad55a4eb89dbf36bd45158d GIT binary patch literal 15758 zcmbWeb8u}<^!IsU+s=(`JGpUkW81cE+jeej+sTb>+qRR*^Ly)^shWDLrfU8<`_%5P z>ebr4KC8bgTuw#|4jLO8006*AhzlzK06=O#{~I8Ie|~?zCGG(LhyV#;K_$1Wi)&z#5=H?xaRF(>lsxe~HlE5ETB;4`W{n4xx(ekEw2sH>W(^H>=Ozn+vrCw& z7d`3|0(q;xuDm(ARw}u1DNw=~fE9njBd35K9JLWE7xtm$@^V_dV;UwmS6x6bX#08V`k$L zB8HLo)splc9P9j=aXmsB2NHBC=}PALg;>;w_!km#Fwqdv zR6lIfXU8<)YrZ$9<~>irdHia#qeSlXOCP-7Ux1JXg(zOnR0>}cPdT4A&B}20(cWWs@ZEI9wrJDIzK-`}dP%y*tTji$yT>0Q#7h6}dmOVq z4%h)FoDix!r3&hbps(&MC?_fbLPS~qY=u`=LG2wSdgO3Wa0`DKNLb}OoB_$2!a6rtajh91~k1>i%I7*+Q95f~EGV1n@yAqzWxrF49tM@6*bsp1*f=$?fYmKDm6$03y}i zWFcxl0m6SQDk>^=#`4drL6&y1`2{g8U_Wh0gLJ&|7C~dSfxp2~fc^{$z+WKByws(+ zwgCql2y~z(Uc^s;2WBO@(6}TP(I-0>M;RE!`f=(oR&YqQz<2Ir|nT2e;QDudvgQ50RiHHhnf*z z_? z;%rutFsW5O%s%U{ zDhv*PMb-yy+1$BpS=xAt#|ZyX6=oBgy`Smbi*bX?&Ntdiy|;+<75=IVI0l>3tD)yt z-I}@1RB0`N`$}bZWebH30So_UZwlP&WH{Hjz84uPqdc%ReK4u>+V{^`Yc0+(fi;V} z-SWF-+emdhBq`@;&?vzVZa(sLP&y{xP(E2u4cglg6vP!SyMw&PcC*Qrf>N{DThhtC zc=EfZFEL*IL#_Icd|l^>mWUx{u-tJh$u2EZc@uud$bzjIkzo8c{yTxJIy^hYX zt18F)OKq=zhqBu~GBvP?<_+Gh)E=r-c35_b)xKH<^#pg%j5X&WIV)c#Zhg>mBB(neyxKszdI{$mAVC= zKJn~H@@{GWO8RBVpzMl*X*VLL&&aVE*)i1|IhBUx@Vqv zF@D;P+Frs9p*5epRI`zVB@tg2lep)_@!LnzlH)bFg{>#mz0%UTpPM*l*rqr9E;Xf&d6CCHC}7(;~}|?t~ZmNudL_rW};~?ac@^3;s!Sb zAGw>GpcL3~1kSE+o8xP%E+OsrQMCKG%XdR*ex_*PlgDG*rzP?e8jey?mD%>c!G{QN zXV;!i>rx#pzSwyj3;&_V!&@&-pL-&;T1A27-?~{0HJC1LnY}COG+nQP1@87B99--H z2P22KpJ^VsLMqN~+8?3cG`1%yQo_eEBvl)B9(pb2ye-~`A(ce>IC@<5X`66|7%sFr zb(T8^0ZMi+*=U;cQa6RFEl>`8QX8rUY2wPRUYFETDDzT5$T-+#9fEQWZUgI@`g~U( zD|%Eu7ssFonL-N6elQd$Y-P8JhsYfAOssr*{Ip}@w z729?~@^;R_Z~>F_Cs^Hm3+V=f0V8Cg97&sdxAbu0-jn60D%PTj;jxq{s2*a+!XFZqb;$AH# zs41Tb_mc{`8(EY*e0uQp`Goht7l|9JC1a9O5mMs~%b>L!(oMo9e=+y^=@HO=e>z02 zJC?_l#;zAOEXub$VA+@>H&8_K>mw%l9O4fQA_r2oMqQldGA^rzj*p)9X ze+Pp}7EzE(kR3J=5q4;93Ok*;tF1`Jqe`^!4o0Ql*9QFoy;X16jUg>^7qOZ4l0ht| z`XTpW$3(CaMAAus(T}ypghgw2MT2e=a1x;i6G?C34A6l7oh4WsuGU6J7j$?qn4Np$ z0(ud77Qz*N$_E1H&*ZgG1V)xa_qBYxX)mgnYX>__i=y$ees1U{C4DGxsYPg}Qckrx7N0wFjN4 zuMGy+n$q%k2aV8kQoZMRB>!5b=#w>#@9)ocLXwt7hli=$g~vq7C`J#cxX+UipV$fZ zZ%haXK{l%v17kOXb3VbC=&xB_3Ze4i&1bxX)6w|OmAIJ_JDc>Eztp~&e_5R91t{mu2j z{%NFC*N-qxfhALyC3gl#!4Eif5?3$HpiuxWSD#kRjM_R#`f4r&0_s4+!1UPX2-l2v z^(Wbe`2ZMA+Vz@qV`CTf_3reM8|W0MqS)C{5i- zLDQplL>iDo8UAe7<#+HeD6kZCt>T<7Yna^Fl^*$|qg7;%^UV**IY7q_RZh?N- zgWC-VTm3;y1zyuldMubj+W(= zY_G;rSIJ7ZVDKPE%kdudX(xgO;_O5tO zxqn;v@AhG@iQSyOvP#=#{>Gd3Fmn@GY-M4X4qt{cBQ1ov?cp}N8OOu~*X{|!RdMV!jiH2Hn&Metlo*r#ZKmBZ-zEW3m?(E|%dy)odk~wn;(HYz zZ<1dd@-0K@_g~dLQ%o!~*+dC*Ok1&sYo$2C{UJ6S*BsA*#H*g@9;YRrZZP)e;NQ2E z6prk2iJarzeBG|*fbPLxi4_ttziPUCFFNRtEH|Uc=ldZeO*XnbpZ#3c0C$eYlLP|+ zAzy|f66T*3x4)$?UcK8d@BMoXkaBgfx^A;380ii#_zrN0|8ena(|P-}Pjk@fv7iIZ z$e^@dNn=Y&E^lhmXn^@?Xn6s-`v0kHCq^{PMXJU=@rMTX84c` zoJ>Wm@>jn1H@FWF%^4!q^T|AU1y}32S`&^fhic@9=s*AbKN|-}doO>16M67a z|EShDx4koEjF+#yFl&p=yVp&XZvZo%FJ@;JbMt{CVY=K-lD?`MZ9!=s{b99NrW7G< z>K$J%1_q+}-?4z^{Kn=@&wmVb+(etqCq7t;tWYB0BMkX6ZgPk2DepEFhqZ8uO zjxSPCu~qeC?`mt#q6>RL0FC+B5=VtOC>)i(Bi2;>t8coZAk1zG{gj3~3z?(z2j-Y_ z-Q3+9?#4p&z``q64Mxf|tRg4ZkFK-e-!2Fro97HvH1d$B(aC5I%cW*d$q#b{=wHAo z&Ca_gNty0<^`+`ixMY7~)p_WXL>NENmguM^CckgrtSN__Ep{eU3ro1!j;_`;OTBeh z!VzkcX*L^)Hqy=Fy2JzBa#_LRWBum~ibTThf2-RY<|>Up$Q$DKqsOeW$yrzzYWxI=+v} zxSG08{^9iOYd?G{at9NJ@Fi#tFE3p)QtDZa&(DD+(hCy3uerboJ4}nMe;Q^gnhszu z{KNuCYjyr$aQT6O_skw8_WY@TX{|I`?MpP+ms?YzYE|YMMTwlW&S~vtxAbY)hu)*p zhc{LI*g@B8V-eJC&fN!ntco<0VM`La3OkVJb?K1(>{G!(%^f5R^46RQ%o;U;4e}uA zt2$URYczIys;-iiQY-o5f&4sH!GSHDtYznWQ$T0T2*8(|OAdYl6!!3e@=9xRa{N_2 zDEEQEmK4xzLWjJbY5MfnwY$+ry;TJfEr7XW_o(B0vj)ECmGd>3U4tbi$ESgac%ZFT zKi^m*E7`lPKnHmJ7Yi2^8Dvj2D%=njRVj6vNkSx35Wy)epM30yvnwA1c;7I3_7r|!0;7pm)>Vk`!y7`aztRB`90 zp~jI9miuq7hwUfO!)t!G#plUq6WNR9{)lzXvh8KJse$=%3&*+Xzj{f}=vH`V0cnw_1BjaYf>OHUS+P@S;mT~jq#~f ztkwRUc4jydv7%LaviAe&sSV?uHnt*s9b8(#IP1rO|Gh)+?(cSKwhf@8(dp90Y(_UO@n@2x zS{+^QtQ6`>v;+<1G_&zxqE}j|>`yG0_Z^NpIg>_bYIW@WFY#(4f!1B#-uGE(?idx;86 zwa=o52ScpEAhhl=YW3HipLwf(DsEKDnV{<28;>#h!J`E~F(U zv@6*2C=ZCyeTY+6ZhFF0AUa0fDm}bqhL4 zS~O{cB=3bFrddwydL*SNV7+QhDIH^uDoF}n8lz}JX614ItN^6vjt;b>qN*`JTlO(L z-1G6fCDiNCWMP4jYLne#_TJQ?9)ZjR33sD&z*H>A<4JuDIvux=!3@D0tbjKW+(t_O znel#%K3IXy8qKS%t)dA!XHR|)|UBuzHIK@lN@ zKWCEPpb`HPqh!389QtZChi)MClOYXprL%@pVuG7ZnM*B^_khLc3&v{apmTucaX4WT zR`NVa(ygDHwlyydM;Lz4sKswS~c*joU*@jU` zx}*w0n#Zm9=pZ%B3t6PJwCeLY787Lt7(2BS8 z3v^aV+Q<*BT4`DlTgNy!EE_$Y(S8msW^L5lJ}{rxn&e1GDYsvFDW4vIH@m>yXjh!MbKQ6QOe&Zjxkyc$qjwY$D*--Vwh@L7gjbq;;ZA5OkzZXU zBcC%vy+1}pNlj+s4kfROU1|qW(;ThaY#U-_YJLJ7Ue4UzE)*xaHd~I+v2eHq>gSiz zi_3HgM|lzJH-}cohdtrb2@qP$23cflO8baal5}tv*JzV*-4+ zrXne6!WG;m!>;^5Ff6&TQT+|!V_S>fw}>90n>RerT=d2hD_gGWM3Euc{l1=)<*>0v zK4WG?6s)(R(`@sBcy^h!L6zO7lBNmO`QmeQ+;aPXDz9T>oCut&OCh~_|J+Db);5?U z2!t9>=jgRoCSdg8VTbLRLSH)8r9?b%BQXi{+JyRTM_<0WuM}3Jb?yX}bv36cSWu{n zh!Ym^1BjX#)i|%O?2RdoA~yMHT)Yd`Zh^H0y9$zLq=-PCO?}Fe_i4LjZ5hsFx--zc z_gPV1NJHGc;RbA7Al!peit(C$1W5&t7B)cA`~%SevST_Fm)oGi8RQ@fx?>$KV&!JE z^c3inta=P#blqQcm!zDjT$`^xZrg-RA33h7DF+x!19U-6P!2Aa9BJDOty!=Wi%w*} zxx95iFHZ;PL#SU&e^xqA7+kJzYq22VFN7$ywPap7K)xhj{1iTsTqd`)vQ*9og zLln$O92eKZek#?5M{Rd>cc?#Off*v`*Q7H#QgJrpmv!(xI(u2~d36bAYhTt0R?{+& zUJK$W+m9`~H%uQpNNvvdxp1OtlEstR*(N8U? zn$O{ZKv&0KaSzFduW_#LT)goa%6Uqv>{(~O0*BMzaHgU{&`0JUhI+I%cDbjxlQe}@ zguXiH5fe}>kM}|ujE-(rX6n~1#3Uv$VF1C-->RPUNKm0%WERe2v*1r^ps7KBXK}!* zI+mvln+s6Hd!>kdJk3f^U@AQXXB#>4JgKDKF&=t@TL#K(%B=zm`=`;}cUDllIXfqf zi96vwe;H`)_4yC@PuOw^MWJ8b<-gwrf#syMkwk~n<4T)Ht<-wSWs9is$UglM3#*GM zuL5g*krAe1`1eC`nCMD69~$@qQLJ%@YMAhX=gmadu(!G3|DoRhK;Him?|P95e&fTw zMn};jKVz`#r=2|H3?@lZ&iG<7s%7SJd}~zPdS6}^=~{gfRrsW}bYu=l+d%i-4&tS= z8~q*;w11ZrEHk5^B;Zeb>1PkuMQ`EF`RCTzmQGht_3*Oog4?t91v-vt$fGTk2M3Av z&!-Y7pJmcG)t4p__FeG(n^n(8V>bu+ z^W9=*wy^0_R9Gn{UlWzF?3gneV0f$NA6tZRh!}Ny`m=~dPn>?Q^aLeHQb9szB}{Tt z6_wt!cH_h12<3vH!#uNivzoW-SFV+Mf#~^4s)*dKzFcdVYxX6H%Bi(CX6m@sv5`;Lx(Z zHQTL}RmZN&P?{S_iN!yN*gb5gm*N<1f085^K5nP?78ZokZMEiNV)@i|HnTiwnuJkm zJ?1;6nel*Ay_=t_>w2zSLr6f z3{8GS!5}}Mu)AKV^_XPv&{Ow_>a(%)2AWDeM9F-Z<+OCYSKzcn zk(Q~lCaD|{yPh-&qtimBoWRhpufmp8P@uPbsrmMPE)Iee8hRu%jFeExOja()VxqSn zFaA4pakRl4+$9UQUpI)X`>c9YWTNAr8pMXZDT0`EGn+!sCepEROkygKiWtk}Qa?*US;awIJaIUPtqbkjwLZWngN%ERI!qG%epB)_l{tte~N| zeZ0?=10M*;H_fS>c_4W_7W(hlS>|6ifnDS}@0AMua4?dl{~Zg!k7-67ru+cYcPWrc z4s?IysazXUI)TW`D048OU=Y@Y^X5**L+3)P$@h^k?O?^Ac%-;CmBd z&gi8n%;x`6D82e<9fWfeH)s$^v!J%#NUBwB3g7%BF7Sfj!I!$%tTX>DRGG^S7CT}D z!!?9Qb%_CDmPl9<>2!_^n_TDV)V+BEy-0=5WrqAd7B7i9D|u6JN3YeB`ML+56-ax*u?q#ZGANmDKwjn$&x2;>ckZWTKFys$OPbsAwb zMWM<@dF5Fx%#AVp!0vz{&k6jWcfr8W$@noPVeEbV8*ZY>bbp9yEMdqnC5X^a{brBf zA!X9TSss{QFlPH(M_C_y-(;e$CLD4s&~RY%*?LUulLJS~JWQG(6Zm0#!r-%gzJiq$ zg*y{h$Z)f(yo5AFRAKtdPTVUiB znWL6`RB9U!e@8^}XC}xyH&xCrQBMp>3=}IVCylL_SrKf|V@@hz`O6R+𝔐v@zn! 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 QKW_jMA~M3&LV5xJ7j4%<4FCWD literal 0 HcmV?d00001 diff --git a/apps/web/src/toasts/SetupEncryptionToast.tsx b/apps/web/src/toasts/SetupEncryptionToast.tsx index 9b150b7d77..5f75bd538a 100644 --- a/apps/web/src/toasts/SetupEncryptionToast.tsx +++ b/apps/web/src/toasts/SetupEncryptionToast.tsx @@ -124,12 +124,22 @@ const getSecondaryButtonLabel = (state: DeviceStateForToast): string => { } }; -const getDescription = (state: DeviceStateForToast): string => { +const getDescription = (state: DeviceStateForToast): string | React.ReactNode => { switch (state) { case "set_up_recovery": return _t("encryption|set_up_recovery_toast_description"); case "verify_this_session": - return _t("encryption|verify_toast_description"); + return _t("encryption|verify_toast_description", undefined, { + a: (sub) => ( + + {sub} + + ), + }); case "key_storage_out_of_sync": return _t("encryption|key_storage_out_of_sync_description"); case "turn_on_key_storage":