From 7b024f956da16fa371d4f8c5972e87ac7196bb6a Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 11 Dec 2025 16:37:49 +0000 Subject: [PATCH] Fix e2e icons in CompleteSecurity & SetupEncryptionBody (#31521) * Fix e2e icons in CompleteSecurity & SetupEncryptionBody Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Prevent screenshot clash between tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../e2e/crypto/device-verification.spec.ts | 104 +++++++++++------- .../confirm-green-shield-linux.png | Bin 0 -> 24860 bytes .../got-it-linux.png | Bin 0 -> 17629 bytes .../qr-code-linux.png | Bin 0 -> 24758 bytes .../recovery-key-linux.png | Bin 0 -> 21705 bytes .../structures/auth/_CompleteSecurity.pcss | 4 +- .../structures/auth/CompleteSecurity.tsx | 10 +- .../structures/auth/SetupEncryptionBody.tsx | 4 +- 8 files changed, 75 insertions(+), 47 deletions(-) create mode 100644 playwright/snapshots/crypto/device-verification.spec.ts/confirm-green-shield-linux.png create mode 100644 playwright/snapshots/crypto/device-verification.spec.ts/got-it-linux.png create mode 100644 playwright/snapshots/crypto/device-verification.spec.ts/qr-code-linux.png create mode 100644 playwright/snapshots/crypto/device-verification.spec.ts/recovery-key-linux.png diff --git a/playwright/e2e/crypto/device-verification.spec.ts b/playwright/e2e/crypto/device-verification.spec.ts index 2300b382b8..eb43d4dc78 100644 --- a/playwright/e2e/crypto/device-verification.spec.ts +++ b/playwright/e2e/crypto/device-verification.spec.ts @@ -130,53 +130,68 @@ test.describe("Device verification", { tag: "@no-webkit" }, () => { await page.unrouteAll({ behavior: "ignoreErrors" }); }); - test("Verify device with QR code during login", async ({ page, app, credentials, homeserver }) => { - // A mode 0x02 verification: "self-verifying in which the current device does not yet trust the master key" - await logIntoElement(page, credentials); + test( + "Verify device with QR code during login", + { tag: "@screenshot" }, + async ({ page, app, credentials, homeserver }) => { + // A mode 0x02 verification: "self-verifying in which the current device does not yet trust the master key" + await logIntoElement(page, credentials); - // Launch the verification request between alice and the bot - const verificationRequest = await initiateAliceVerificationRequest(page); + // Launch the verification request between alice and the bot + const verificationRequest = await initiateAliceVerificationRequest(page); - const infoDialog = page.locator(".mx_InfoDialog"); - // feed the QR code into the verification request. - const qrData = await readQrCode(infoDialog); - const verifier = await verificationRequest.evaluateHandle( - (request, qrData) => request.scanQRCode(new Uint8ClampedArray(qrData)), - [...qrData], - ); + const infoDialog = page.locator(".mx_InfoDialog"); + // feed the QR code into the verification request. + const qrData = await readQrCode(infoDialog); + await expect(page.locator(".mx_Dialog")).toMatchScreenshot("qr-code.png", { + mask: [infoDialog.locator("img")], + }); + const verifier = await verificationRequest.evaluateHandle( + (request, qrData) => request.scanQRCode(new Uint8ClampedArray(qrData)), + [...qrData], + ); - // Confirm that the bot user scanned successfully - await expect(infoDialog.getByText("Confirm that you see a green shield on your other device")).toBeVisible(); - await infoDialog.getByRole("button", { name: "Yes, I see a green shield" }).click(); - await infoDialog.getByRole("button", { name: "Got it" }).click(); + // Confirm that the bot user scanned successfully + await expect( + infoDialog.getByText("Confirm that you see a green shield on your other device"), + ).toBeVisible(); + await expect(page.locator(".mx_Dialog")).toMatchScreenshot("confirm-green-shield.png"); + await infoDialog.getByRole("button", { name: "Yes, I see a green shield" }).click(); + await expect(page.locator(".mx_Dialog")).toMatchScreenshot("got-it.png"); + await infoDialog.getByRole("button", { name: "Got it" }).click(); - // wait for the bot to see we have finished - await verifier.evaluate((verifier) => verifier.verify()); + // wait for the bot to see we have finished + await verifier.evaluate((verifier) => verifier.verify()); - // the bot uploads the signatures asynchronously, so wait for that to happen - await page.waitForTimeout(1000); + // the bot uploads the signatures asynchronously, so wait for that to happen + await page.waitForTimeout(1000); - // our device should trust the bot device - await app.client.evaluate(async (cli, aliceBotCredentials) => { - const deviceStatus = await cli - .getCrypto()! - .getDeviceVerificationStatus(aliceBotCredentials.userId, aliceBotCredentials.deviceId); - if (!deviceStatus.isVerified()) { - throw new Error("Bot device was not verified after QR code verification"); - } - }, aliceBotClient.credentials); + // our device should trust the bot device + await app.client.evaluate(async (cli, aliceBotCredentials) => { + const deviceStatus = await cli + .getCrypto()! + .getDeviceVerificationStatus(aliceBotCredentials.userId, aliceBotCredentials.deviceId); + if (!deviceStatus.isVerified()) { + throw new Error("Bot device was not verified after QR code verification"); + } + }, aliceBotClient.credentials); - // Check that our device is now cross-signed - await checkDeviceIsCrossSigned(app); + // Check that our device is now cross-signed + await checkDeviceIsCrossSigned(app); - // Check that the current device is connected to key backup - await checkDeviceIsConnectedKeyBackup(app, expectedBackupVersion, true); - }); + // Check that the current device is connected to key backup + await checkDeviceIsConnectedKeyBackup(app, expectedBackupVersion, true); + }, + ); - test("Verify device with Security Phrase during login", async ({ page, app, credentials, homeserver }) => { - await logIntoElement(page, credentials); - await enterRecoveryKeyAndCheckVerified(page, app, "new passphrase"); - }); + test( + "Verify device with Security Phrase during login", + { tag: "@screenshot" }, + async ({ page, app, credentials, homeserver }) => { + await logIntoElement(page, credentials); + await enterRecoveryKeyAndCheckVerified(page, app, "new passphrase", true); + }, + ); test("Verify device with Recovery Key during login", async ({ page, app, credentials, homeserver }) => { const recoveryKey = (await aliceBotClient.getRecoveryKey()).encodedPrivateKey; @@ -226,7 +241,12 @@ test.describe("Device verification", { tag: "@no-webkit" }, () => { }); /** Helper for the three tests above which verify by recovery key */ - async function enterRecoveryKeyAndCheckVerified(page: Page, app: ElementAppPage, recoveryKey: string) { + async function enterRecoveryKeyAndCheckVerified( + page: Page, + app: ElementAppPage, + recoveryKey: string, + screenshot = false, + ) { await page.getByRole("button", { name: "Use recovery key" }).click(); // Enter the recovery key @@ -234,8 +254,12 @@ test.describe("Device verification", { tag: "@no-webkit" }, () => { // We use `pressSequentially` here to make sure that the FocusLock isn't causing us any problems // (cf https://github.com/element-hq/element-web/issues/30089) await dialog.getByTitle("Recovery key").pressSequentially(recoveryKey); + if (screenshot) { + await expect(page.locator(".mx_Dialog").filter({ hasText: "Enter your recovery key" })).toMatchScreenshot( + "recovery-key.png", + ); + } await dialog.getByRole("button", { name: "Continue", disabled: false }).click(); - await page.getByRole("button", { name: "Done" }).click(); // Check that our device is now cross-signed diff --git a/playwright/snapshots/crypto/device-verification.spec.ts/confirm-green-shield-linux.png b/playwright/snapshots/crypto/device-verification.spec.ts/confirm-green-shield-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..23c295c2f6c8592d556c4a98b2b306bd3ff73482 GIT binary patch literal 24860 zcmd4(WmjCm)&`0aNN@sy0Kt=B!3i4N-QC^Y-ICz$jk{YDplP&mcXtWy5F8pi&EEU{ z19yx&&iU4(s;19bz1CATSGc0Q1O_T0DjXafhLohJG8`NN7989gWn_5R$Vn1#8x9T& zPD)fr)id*W6;oGbena4~06SrX>Z7zW(g#lCNcbwj8mcN(R}9UH8iNmd?~cg!BbI>E z{5RD6C!jim^NMwAz1b;T>#BUrua)8z@6_Maqp3^(A^%3S!TF_@qlOuq2RZMWixUMa zF7BU#BL7)RHJ+sNS<~M0!-~ro#L49{Qx+O_a?0GVJ+5~*G_xcPwTwFY6^>XSHqM80IdiO~ zAiL+d@D@h)*M54+nEQ4|!^>ja?B)Kdy=}JXjwS^@F(qY>h-j`2{h@{-Mqe(_U#4jRpT2txDH6a=jHCHACmjoXl|AVq_wJ{ zkeV2MPg>#f$6=>JO4w}U-aACu;+nm1 zf>%otmT;#)kSiu_X37|Cded;>rz(ccU7=9sFXF(y@KS zx}iLY@~Z(KW&_-(sw+;yVhP4Z{TI7_1MY{_(-w!v@PYtgZCFP9REp`#Q;7BLF!JCp zZgD}Me$i_19_+F}ff06;a&8C-EyoIEKV0NrYv`n8D&7h1Xxx+f^1t$h6MkNup~%KF zWBw#1k+Sk~ug5Zl4I35=ec#2F@N9A7BJOTY{QS`sdW4Icv(3sozb0*a99pNc-jXoZI)68k%Y) z{~HdS72^=RG)r~o=P{jzbRBKED)aXl#l=pA29~lB5pgjXp8ty~A_yVIy}2m?!2NhN zUG>72u>`${w>J+8jd=>rVfv3-&qn|o(xBC_t5r-OyYzKf2qj^v=xY)hnm!zq2 zvI6uR%kk~2W}hbgoqcU|x~ffjpA%=2H3axGuM6Hi3HcS#Iu3PTQA*?-_CuUMb-$WO zp1xu3!sOIzYtNIJtm0KY@{&D>6Z!ufSNw< z1-^v0vQ2r`$NZ4**R?L<>lVoTJKBZ!b2ym6${P6YoxD~Xn|)?4n#`7^XL&2sBR!2+ z-cdK_67zpyp;sT@O0-{XcH0sc87L59T8O?VP74nyksw2Pl=tYKe7m{|Ne+GQ<#3N(>T(4G(9OvvRU)ou6@3#Qaq#U5q(t zK@1Ggt|vNjQnYaWjN+LOaE%3j5V|0JswoZZUuZ>Z|2Fi`Aj11~Iumi)AAb(QTWS@h z7K7RszAY|3+!WDC*pnDV_La09q?4I1JpNHU1CHY zogM*YBkDdK<9rtS!rimH>D#x(cqe;0yHYvY$rnn$q+Pl@h^sC2n@R^B4WAOi{&2PP zsTNa<$XAa@sw{2tGqHIaZ5}2^BHR-TNk#?rKgwaz;$A+iY;Y+q;YfWMaawV(?lKyU z>#GOUl1%y|8!^|S-@Zpi2u6_cAa+viQRTl(^iWIK6mHH`YGVQU=Gf#qrBy|4b~=T%XIL zz5P=F;oUzlbJ|S*`pQ%`Ky;F+C`ZYPjuG#rUib1gp%v30;-lue8>NYl_F|lVRw_ET z&Siq&4Bu59AJwKI2D9#K2857{Y7=5LIBj{}Iz3!{F8XfL_pi?dF##~Zj8xqG+pmR5 zJ21j?@*(1Ce(!C4C~nN>Z@briWNjaIcW(RosZsFnqF7`>7N&2RU74o(bq~A?N%0*qABYCypczd;#p7yc&O?`HM@Q zEQ0gDAsjdNK!!)tpQE2)+T_s zp7I}iGRb12CLZC)RjnAkX4ChAM&MpHhsYvc+5nTWUEAb^jm>27{-EoSg6+5CwFA2; z8q7+al^RQ;DF?E<*?bz_R=3ewuMdFx5b;qN%^Y>jRetpXM(Qt`y!TC*v{miaF@1bp z^kTZ=xAGlhW)>mdpPKQ1xMdgR)8npf9$Gg;LU;f&S+sTXiV4aqGTL)x3MVpB@|w&% zNdN{<@vGYHQG)x~2EW{*7y=4>PKyw;?VgzlYEvf=_Mtu5AK@cbi)CohqyqDi{FP!D z1+BZ>VVO1lMKdsp1|{oV-ISFS9<@U;+R>wncfD~xVY3=lHxLBW1`T!V%v1J?>zw8wM@Pu%w$Gk>isI<8Kg^9KzGdw_)wg=jiCH4Efm~He zep1gF$n`PlK=16>zKo6w0M#+4t9@TznB2M}Xylf10&cG_dGUQhk1v>Hbt}OptDEaS zjuwOZe=L3wWYl|jOBPXYFAO1BglZ5ml4(jt3S~Ws|JGyh)A!S1V7KBQ_avWe&d_;J zH95>dd|0b=AYfoq)e$EeT+AK2Sdwa%Qzvp_`EJ_kbUn^+(MV*EUavu*J!Q3Z9s#*( zFZoxDH>nQoG`>PTaPj_uPKSGVv5HoR8FOD)ZpI}STP&(Tb=cSj{Mw6N+g7tSHdp-~w3leg{IWIyL`EUCCjsnE z54~ecECluG&L5(mKt&g&J`Ss5;h%f=5WE0 zq|0fLG*dlK9f&!gW+a%T_D8z9Osq%W_m+R@CpV!i1>oAu=V2bNh%~WJ?FMR2XC^Im z`|V(|0O)ytj%?L#%${^i5slUHrzI@0jHH!54DId-W-v3sjI>Tg{Abr}(B4+{XWE^P zL7Wo#>>ssyjJ3zVpj{_fB}V>#(eLvu$VDJkWOFILf6P_n-5ONncFOe9G~VXb?VO|S zV6WdS>I$?z!JX{lgtVo{C#OAa5Pb(5$*f(Bo>@${`(A`3vK7%7#?aV0mV zxyS$#^XreL(93#R^aI4c%rWTsJVy7Vc+kqV#aFB?)Spm#<=Q2+-P~ng)h>H{@i*Me zKCa}m5w>$ci&}RI16Vsar#_WwxX>mSQ?^yRKG*5t*)>!lC32`%1}vrnR(dDL9lR_Q zplh6Sq7OQ2UVJ_e%c$PL6seG%#1WBYQ!r|7yZ@b%``kIhrPwN_7qL^JuCZRGw3txQ zYOt!xP8shJm-6TENUUoM_G>+v>#~_uut?NrRj~PTj9!Mu00M(a&^5ja=ShwJVf{?j zQthDo9~`OddI-bJ1&4^&;jlxtW&8d-?#Y5>BuVSUJsr5Uj@<3KPFV($sw$DF&$F33 z0v%tM1{YBZNv<4LJ@Bv8*=z~hptC0V{_zS34@A>Q_b^a6kd%Rcku>LnUdpjAF2|M= z6Q9=i0zee0gmwG(J!-XszTn|rj--=-RRHVV^Y;plmwbpFV2I{CQ4QhW2A zI4==C$<%je#p}s2+fa{+YcCpZw&at=1t+)8<0e2_ZS>Gc>?NqsgW-^zhUC5jx_JM^ z_-M?qIU7Rbl~VhlzcRmci5wk`0(vZD8Vr_$y*>UH3m8;c#0>*4&`4LRU?z_jl=S?s zirkV0lHnWO4JT8M^Q^+dgtsG2v+4_(7V29T=0@g}y*#Ih=E6Gg#w8aT-PU=CunV3T zTw3BAXt?T2b%-=8SQ4dVuKwUOSofwk#*t1jyX0MXOK8^;=kBj~xh~#%=xTek&L<-b z^bk0GSOYW|Fb&lSu%)wI5q4Z?wNZfkhfLwqHb=)mqOk}gz^BR+?ijA5lRtba1>xdQTelEB=R+2!%4YIwfo_BBj##e@?}!*(Qrbg zdJDsS?Uxho^A*EEd}E3F)k=2>7@;RPQLFl2V_qcV2|I(HerRC{aGa8RE3;W+sLcC1 z8z!0wXcF@UwwulxnNQD`(_S+et)9Vc%AzO9Zy&t{X}VUs<0A%37J(xGlxk)dx=^(&zm0>3=)Rcr9;PZ zxh#%8q5B;;&K(Jj@EYUyGes9N;8DFWAJ`604(1LmBwBDqy#+r4mGJoHl{n#dL zht*@}%Qpn(8;Sf#U_!5>Z8ped7g-pp^aG?v+dW55k={=JkhKsFxMfQ&qJ;dJKBpPy zb5+ys>qE}7vngHK)2^{}!eXe$HubPhiYa zDr?lF#+L)B9de2J;Pn2sY^FO9IFm4f=0C(&1=ODpO7|n-wIEbk{<$Z~AxV@E0hm>|Mp9K|*kxvL{p@d#JSMnx}x3CW6pgAt>4 zG@Nlsy6GA=q&r2Q&R@H zXBYm+9|-cAyH?h6jR*Toh}YuK%A`@!C4LokkEGWEU>Vybs^D39TN7cu?WNaiG246A zBe5F%Jzf{=7^pu#9Wtk?l?x)xxM!WK&X{*fy+qbY$39aa{?Ko)J)aE-JL=`IvTBGi z6G77jeKmL9O9o2(oih6XNY007sxDrmvb&OInLkv%oeC<-1B-X1bBl~WykF)pGSPC6 zsf8TKf0J8-IPB@z0LD-b@#0s>=OHzX5a!Im+PBMQ-W9;TtU3c3BQ*`6qLxa$hpe$} zs>B}k)*J%{1!PK3HA!>4dhNok+8t;X+YuB^SCzwFCXZ{?jMp??-;XEJFU@c^Ss|Z1 z>qdV;bM$qZD&mv(hl%#CMqmSZM(o^2*S;*ntgb)O)#0ysk{xjLLp@HdIvV2m?)B(BsmJ>`%dKrIf0uU+d&A6 z#sbU ztU4>kHh~-bi{P(<_x}9t!*nO@%u+>{vBb|mNvVt&0vFoQZJ$Nk>ZK3z7a4RC)vG2C zK^jTY$>KhGC9|b$bEPndSr-A``wQimDPxxxs&!cV7=gQ(X z9BK8wV1IB<-@ESQsFXdjHGVb1eJ1R8A!1`ONpH2u#UjDtCJd3!D^O~L`CB%UM12v3 zG22mG8>X4|s@9Fv*O`A_OtsI!9S1}Rl+G}B z7N>J{dI0ue&{qU zOU*J^tMS(r_$gbA5j3g7x>kY_#F=zu&CHUn&uzWLMAG}ACI*p(5HxS+m$4d)a2!6h zFxGo0qK1Aq0{c%^Z)%(EBO$sRRbq#sBUIeHQ`>t% z*=-1PU426D%<;Z>xkuJ}nb@kx^{CAFQtT?T$c@xOj!GkP^?QRph=a>7HjyEQPpNI| zkJS-iwMn{|BMQWm(A2^2@A{$xYH{y=h720%HRm_mk;-%KKQoD0xLta!GN~;*t}*F* zzf?}RJA;7{`qbN3shuBWw!XgYWpg4-_QF5fjeMI9zZ|!5Llq%JCmSHMm;#UP`AikK zc5l>`dz3BcV-TeOUJ+ce6f@Z53-?9VKWQB8X&+Ti5~TD;7N0M)nr5hO4Rwo%2Gfms zB+muE?diuv)eNJ?JNRiuf<8Pd|2WkV0srm}SB;#*CY2m_tCBW*h>X2+*WApHqgkZH z+6?;T;MF;?hGwFZ3=+~DYcpkwwzf5nkjX6Y4R!Az)#W|N`_P?9j@v)*3KJ3+fi~zF zsUI}^Es{2)CxqALfj1yzhZL)eZ4;x<+Ih!uIPFsn2cNNBq`IE7l9sA&VRNafR>UMOzJ!Z}t zEkcNtV;2xaWY9qtgflBT*d?hX1O|MvRLIoFo8dQYEC@HAK%GA0bwRQTB&D+5VqZ{E z;UCo^ni*!(JBzG6W#c2wP0gD0Pg`Il6AZiN-<;qpPf%ZC%G4-JL0x*-vXwjI!!I_$ zcX#ERQ?gE}fDajBjxjP;NTRQghR$X#xwT&0Jf{`cBDC;xmniEgm9dEmW;EP`s%D$h zETtLUo7RiPs>kY9U8u1iws<~%Vjwho@D#aU``vogkkTtES(GP)b6@<%O}zG?W|?~_ z15B2b{84iW`}pk5!L+rp#|lyP8H;tVVu{;5^1z38VtrJ0_gfn{__G!s3)$25hTQCy zFTV$xqphm1_)VjkZW{b!nlc)g6r{|&DHzy0-s|T5$f)y?vrSU{ih+X`mN#!*+%Mp; z>?f9<0F13?Ij|xKlhI{#@0Yf!Vw^@dy>1CP`L4x6y>Wf=5c5$Z$+SA#dYLprp$zHj z?b0*TyHF-<_m%t!x41-kv*i#Hf3OK%^GTgty2}Z|q^QvE&L5#Dlo!au%tC?XrJ_Y6 zb-R==sXugZ#0*foPc3bkCn3Yn-`$pm{9`j)3+gw%AY*GG;--Pj(mM&WyYaxW>9GI0 zBCBdgqL^VMtl<{1c&E9CFo&d_GTP;Cd&`wpef!(9gFp$#Sz1RYVQMKk_O~ zv-LPB)ZX~9R$>A(zv;BthnQVjtF__M8D!je^?LOXdHxNFw3NC|W5fF-}8 zf%t}480uL~(heg$3YW6a_lXEx#(5+2$z?$t*W{b2vL`0dY5gf4rUQV(-^bYfw{O$X z8OAWt>b5G^|EYN~>Nrh018drm3YjVfIZh*3@XYXCR~ps}`IAq!`zUvfJi;T*68g<4 zh)-pgi6>`be)ZaNWRRmr#cTF`$QYVtjX23pvnp4ikl^JY_dXvQT^#x8gjpkNP1Nm0 z!MFbW%Ng4BQR~~~%qRw*e^uV#jP+42);m=0240A=lA@G%H)a%a-744PV%t{v*k>h; zR)>J5$fM;QV-MiRlR?bd69nx<>*e2A%UiN;2$9Oon|?PO%J!dTcQ5ZufaMcegBEne;2)h78(tA2G+ffgTyJ&O$0&<3(UKr{dSR_4iE z-K)#)O;bSLbRUb@Sh#etKnw}(k!}9Ij1jj;6YZX&)Wh6zKGP7tniRAmpnjw4R}ppo zpH#)+ub(1W-hVqe#j#Q%ll1)U)l7c*bFM8qWINKtya7{QL1y%rSFkMhY-RR&g`Ow{ z^D`a@_w(EmYA($npV6p3=zuT3p+wp3v@0aC#XaZHH>n0l;dk2~D&XyNlCY4JxRh6h zx}UM}#K`47kzb_~0RUQLmrrSXIa^E(W{r3ZhTl=i$yv!=o5QB-#nR2AMjJ1VuE8X$tebV9tyAwu*%DS7FiZ=8J7E zj2a9>kDnZ->)+^%`s8dl8Itiwb%@D7q^f!?mVBf=;-zqw8HkaUjTs4O84zSks~}ga zZT#WwX>4=({&<+)qFl&;Ajxu&i!@K_$Q0GQqgLsBiMQT(&A5p^E}&rFQ5*ITAn3Of zZT3h?8^mPHh((un(H`HZ-p;`&Dp}1`cYDmOCF0$i_Dv@JEXSfLT)WsKBx&z2ymi+WrB#}S#0I;0uO{#~3=G2H1s zN4A3|La#2~rTtR1Y;O0*%#)hPNr24B8#b2f0Gc29sXYrFo3Uw$sZ<_|F7sRYB~$7h zLz^pKqo)^9xxrtRVX%h_J79bY&`CTji^6JdKiWDNIP>S^!>5+dS6kA!Cp{ou%Am&3 z!M(*S=Lf}4v4Ux;Ny97Y^42W+sd^uUIQ`r5YCl)^2-20c7eqmoiTKDgp>g!o;_XRT z+O-C=*2;dwx3W#XldYf1n96vQ+g@0Q19OM&u^oiSY}Uvf&6HioymvQ8HASmulWXFQ z!BRfoAGS}r`Q8CZ1#Nq?zQq1hCvNZL9UH3EH}WR<*Q~1}i>Z6%ST^)B zGWU-rJH@c+jr+H9c&KS(yKf4)ek*5aJD=By#7Qg~>&k?x`}^vRQ2zF#EY3aGH39mt zrBs0RAO4S%rQBYsW}M%DZ5KU3`1Wpr-I&oj1YRr7hEpjP0jlzM?7xx2S7u`)jprbw zW!{NiscARHeZ`Rka{_4QJz_Ssmn~67o3fc%Kh_(}m7HOWNyLEPp=4 zNLX(2@RTzsd^MLBSY}#UA12Rkce^DV{HYW0(EgEhO2fkeD79cJv}@#Ll*&&-krYiiKEbSx=29cxf|m*@r(Fgf97q{s796NQ^}z_c?mY25L~ zkm88Z_78uHay68```J;-W5e!boQ@!({Ab&zHKz6YzhS$!Tx#w&Pcv$DBE4&X_}{1b z9dW5*bjku;WxVG%nf4Ymu^na)@;iQwU%qgQ(i?iaEWoc%gjuMpab@2Q=K5~*A$Or@ zH=QL`p?r7-znKbY|e5la%41GT17$Is7I2<9m`LTNi0iU)d5A(~wAELj$4BTq>8DXoUMUM&>7RZJB5i{ z7@AQiUyUD~F$c$ykud#O?=C`eb*7Lm+-gc9e&Cz@2j8 ziIyX8O%O0L^UCcD!mtMrKQ|T$knKn{zMP$`z)9QG<4*B0tVEoJI_$Ak?+GG|C*Gc% zoY)pm(_U}*bui*e!F|A|@tgA#oN=0CKSG+ML#)AJ#Az4O1^;S%t);t!SdEy9iMrkB zX)_w8l-keXK3CscR6&E(83LJ|5r}gT!(#3o1sC$e;a@A7=$Z0)UZWnvuX3@s>(W=ZK{ZN&f1q_toQk*l> zjLlPan_Lp2*oSHge4sZG zTy-Ev>kvltpfj`N%Dji>mw9fnR=oFE>)x@sz0RNTXio5}hNNq+Y>9}bofke}!z(ou zgp@)54W-KA^N7>9-zONteX_SS`ps|HrZvc7oXC()n>+&OXGoTb2OtW5)AHHR)J=2w z)*`5;rKN7=hu-Y5|F}@dKKP#O2=10jr2eEcn72k0n}F5fJl{*`)jUM)*E=_GnSyAq zmy&+sAphrzoBZe3n?!Iwes%okirw4)T#fmEXL1W{yC@tIzvx(Xe5nviGCahW?9nEw zcj<5%m`L?cYlLoo{B+&xDu;igbB&%waW_N;32f%Og-gitOYRi;^7=Bs`_}MaVem`h z-PXW2v(g`r0%v|)96wB_?()hI>g4ZBPLRrj@?udR+VnASwS1=JZOA++G(AH(B2Gsz zG!*S>_xYGUgbR;ykGLwOG|e8t9V*AB`)y&e)CDFe8Jx34csUG?xikK1&=hVChJX3 zyQP&hetT&8Ma0wyXbFld<|t{LmY?6B{*8kx$u3OFnHMWFAf>$UnaayL`aG?dbD-Jx^QqI)6AryBlBYxH07R3Ow{99rhFjzlp)ihz!uzy zuH5Y={_WGgoZ8P;sK4SPcj)9K6B0J2ZEbCxGCs1)5FYnF9(EyiU!aD|p?)EU*La*k zb$VbL1DIUaiKtXN=tHCntIKQ-M(M#j47%{eReqF&e(P8VyNUad|7=vz1ufLY0MvaLrJ{i*T-<`ote1r*C#!2CIl1eY{wXN+{cF4HI-?k9wQ=68~A*s}&uJ z>#JVSu|{)^^woI-xopnTyv@HtA?@vdcO`7*6w-EEjeVA!9+#wB9E3-?vNB2oNrGsW z*WeqzrLET|V7u8BWLW%k-PmkWxqAy|_z!*g6IGp(%X91QvzAL&OH7~PIrZa3O51JS zfI{DkjZ`tB^gY6Xmd4HMI%I4GImxLRJgGe?Y#}I&Jym

mo$#fFKt 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 x8fG^BNi3{RM2%tZfPb%Qiuv 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 literal 0 HcmV?d00001 diff --git a/playwright/snapshots/crypto/device-verification.spec.ts/qr-code-linux.png b/playwright/snapshots/crypto/device-verification.spec.ts/qr-code-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..23094f7b8b4034ba8a5fdba14e806c1f4dea2e3f GIT binary patch literal 24758 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 B56l1n literal 0 HcmV?d00001 diff --git a/playwright/snapshots/crypto/device-verification.spec.ts/recovery-key-linux.png b/playwright/snapshots/crypto/device-verification.spec.ts/recovery-key-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..7683872ec8c481ddb013387dd3e4c3fd99221388 GIT binary patch literal 21705 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 void; @@ -67,13 +69,13 @@ export default class CompleteSecurity extends React.Component { } else if (phase === Phase.Intro) { // We don't specify an icon nor title since `SetupEncryptionBody` provides its own } else if (phase === Phase.Done) { - icon = ; + icon = ; title = _t("encryption|verification|after_new_login|device_verified"); } else if (phase === Phase.ConfirmSkip) { - icon = ; + icon = ; title = _t("common|are_you_sure"); } else if (phase === Phase.Busy) { - icon = ; + icon = ; title = _t("encryption|verification|after_new_login|verify_this_device"); } else if (phase === Phase.Finished) { // SetupEncryptionBody will take care of calling onFinished, we don't need to do anything diff --git a/src/components/structures/auth/SetupEncryptionBody.tsx b/src/components/structures/auth/SetupEncryptionBody.tsx index 5098265e67..22b7a1adb5 100644 --- a/src/components/structures/auth/SetupEncryptionBody.tsx +++ b/src/components/structures/auth/SetupEncryptionBody.tsx @@ -27,6 +27,8 @@ import { EncryptionCardButtons } from "../../views/settings/encryption/Encryptio import { EncryptionCardEmphasisedContent } from "../../views/settings/encryption/EncryptionCardEmphasisedContent"; import ExternalLink from "../../views/elements/ExternalLink"; import dispatcher from "../../../dispatcher/dispatcher"; +import E2EIcon from "../../views/rooms/E2EIcon.tsx"; +import { E2EStatus } from "../../../utils/ShieldUtils.ts"; interface IProps { onFinished: () => void; @@ -228,7 +230,7 @@ export default class SetupEncryptionBody extends React.Component } return (