Bluesky app fork with some witchin' additions 💫

Fix e2e (#8794)

* Only enable policy update overlay once the actual Overlay mounts (after onboarding and all that)

* Disable policy overlay in e2e

* Add comments

* Add extra insurance

* Rm log

* Fix shared prefs test

* Fix login flows by optionally closing 'Remember password' system dialog

* Return missing testID

* Bump dev-env

authored by

Eric Bailey and committed by
GitHub
08a83242 11c9931f

+104 -58
+3
__e2e__/flows/create-account.yml
··· 28 28 - hideKeyboard 29 29 - tapOn: 30 30 id: "nextBtn" 31 + - tapOn: 32 + text: "Not Now" 33 + optional: true 31 34 - inputText: "e2e-test" 32 35 - tapOn: 33 36 id: "nextBtn"
+3
__e2e__/flows/login.yml
··· 23 23 id: "loginPasswordInput" 24 24 - inputText: "hunter2" 25 25 - pressKey: Enter 26 + - tapOn: 27 + text: "Not Now" 28 + optional: true 26 29 - assertVisible: "Following"
+1 -1
package.json
··· 220 220 "zod": "^3.20.2" 221 221 }, 222 222 "devDependencies": { 223 - "@atproto/dev-env": "^0.3.155", 223 + "@atproto/dev-env": "^0.3.160", 224 224 "@babel/core": "^7.26.0", 225 225 "@babel/preset-env": "^7.26.0", 226 226 "@babel/runtime": "^7.26.0",
+11 -9
src/view/com/notifications/NotificationFeedItem.tsx
··· 195 195 } 196 196 const isHighlighted = highlightUnread && !item.notification.isRead 197 197 return ( 198 - <Post 199 - post={item.subject} 200 - style={ 201 - isHighlighted && { 202 - backgroundColor: pal.colors.unreadNotifBg, 203 - borderColor: pal.colors.unreadNotifBorder, 198 + <View testID={`feedItem-by-${item.notification.author.handle}`}> 199 + <Post 200 + post={item.subject} 201 + style={ 202 + isHighlighted && { 203 + backgroundColor: pal.colors.unreadNotifBg, 204 + borderColor: pal.colors.unreadNotifBorder, 205 + } 204 206 } 205 - } 206 - hideTopBorder={hideTopBorder} 207 - /> 207 + hideTopBorder={hideTopBorder} 208 + /> 209 + </View> 208 210 ) 209 211 } 210 212
+6
src/view/com/testing/TestCtrls.e2e.tsx
··· 96 96 style={BTN} 97 97 /> 98 98 <Pressable 99 + testID="storybookBtn" 100 + onPress={() => navigate('Debug')} 101 + accessibilityRole="button" 102 + style={BTN} 103 + /> 104 + <Pressable 99 105 testID="e2eRefreshHome" 100 106 onPress={() => queryClient.invalidateQueries({queryKey: ['post-feed']})} 101 107 accessibilityRole="button"
+2 -3
src/view/screens/Storybook/index.tsx
··· 87 87 </Button> 88 88 </View> 89 89 90 - <Buttons /> 91 - <Toasts /> 92 - 93 90 <Button 94 91 color="primary" 95 92 size="small" ··· 109 106 <Theming /> 110 107 </ThemeProvider> 111 108 109 + <Toasts /> 110 + <Buttons /> 112 111 <Forms /> 113 112 <Typography /> 114 113 <Spacing />
+78 -45
yarn.lock
··· 55 55 resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store/-/simple-store-0.2.0.tgz#f39098747dabf8a245d0ed6edc50f362aa4d95f8" 56 56 integrity sha512-0bRbAlI8Ayh03wRwncAMEAyUKtZ+AuTS1jgPrfym1WVOAOiottI/ZmgccqLl6w5MbxVcClNQF7WYGKvGwGoIhA== 57 57 58 - "@atproto-labs/xrpc-utils@0.0.17": 59 - version "0.0.17" 60 - resolved "https://registry.yarnpkg.com/@atproto-labs/xrpc-utils/-/xrpc-utils-0.0.17.tgz#c9ff68943a20957ec6e41ed347c73072c53d8755" 61 - integrity sha512-2kEfhe3F4GxW5grpfXxMo4fxHuEdDhj5D10YDJ0aC2BvYab9Y/67DDor7a63IptTgJooKNSweXochCUqOw4I8w== 58 + "@atproto-labs/xrpc-utils@0.0.18": 59 + version "0.0.18" 60 + resolved "https://registry.yarnpkg.com/@atproto-labs/xrpc-utils/-/xrpc-utils-0.0.18.tgz#b4d31867cccff0e846798048b00648bb37e090f0" 61 + integrity sha512-Cwrlx2JcLe0jxCK8b3GCT3HRGaH3yPhyyt+3n4JykJapCaGBKqa6FHGs9hK2Fx6lOyPF7TnV5qUPUsJ1qGEUVA== 62 62 dependencies: 63 63 "@atproto/xrpc" "^0.7.1" 64 - "@atproto/xrpc-server" "^0.9.0" 64 + "@atproto/xrpc-server" "^0.9.1" 65 65 66 66 "@atproto/api@^0.15.26": 67 67 version "0.15.26" ··· 77 77 tlds "^1.234.0" 78 78 zod "^3.23.8" 79 79 80 + "@atproto/api@^0.16.2": 81 + version "0.16.2" 82 + resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.16.2.tgz#1b2870e9a03d88f00a27602281755fa82ec824dd" 83 + integrity sha512-sSTg31J8ws8DNaoiizp+/uJideRxRaJsq+Nyl8rnSxGw0w3oCvoeRU19iRWh2t0jZEmiRJAGkveGu23NKmPYEQ== 84 + dependencies: 85 + "@atproto/common-web" "^0.4.2" 86 + "@atproto/lexicon" "^0.4.12" 87 + "@atproto/syntax" "^0.4.0" 88 + "@atproto/xrpc" "^0.7.1" 89 + await-lock "^2.2.2" 90 + multiformats "^9.9.0" 91 + tlds "^1.234.0" 92 + zod "^3.23.8" 93 + 80 94 "@atproto/aws@^0.2.25": 81 95 version "0.2.25" 82 96 resolved "https://registry.yarnpkg.com/@atproto/aws/-/aws-0.2.25.tgz#d07265a656db990ffd54b254cae54388468d1dca" ··· 94 108 multiformats "^9.9.0" 95 109 uint8arrays "3.0.0" 96 110 97 - "@atproto/bsky@^0.0.172": 98 - version "0.0.172" 99 - resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.172.tgz#963e3e2bc661e05c03fcb58788b2621d1afa6a3e" 100 - integrity sha512-P/oDJ4i4TuRBV8pQg8hht147jl+OruDYAXdVmUaHRMWPnry+godnfp6vzph9W9Y03DN+G320Z63dCfvFZquSUQ== 111 + "@atproto/bsky@^0.0.177": 112 + version "0.0.177" 113 + resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.177.tgz#efc78272aabf005657680d6e230888fff1f951c8" 114 + integrity sha512-vg+jG2RknyaVoqzI3D8Djeabg9KzEnC6b3SB+8HDtaJxYmKJ9GH2crMNjcphdygigpls1vn2tJIvG8noKLu6tw== 101 115 dependencies: 102 116 "@atproto-labs/fetch-node" "0.1.9" 103 - "@atproto-labs/xrpc-utils" "0.0.17" 104 - "@atproto/api" "^0.15.26" 117 + "@atproto-labs/xrpc-utils" "0.0.18" 118 + "@atproto/api" "^0.16.2" 105 119 "@atproto/common" "^0.4.11" 106 120 "@atproto/crypto" "^0.4.4" 107 121 "@atproto/did" "^0.1.5" 108 122 "@atproto/identity" "^0.4.8" 109 123 "@atproto/lexicon" "^0.4.12" 110 124 "@atproto/repo" "^0.8.5" 111 - "@atproto/sync" "^0.1.29" 125 + "@atproto/sync" "^0.1.30" 112 126 "@atproto/syntax" "^0.4.0" 113 - "@atproto/xrpc-server" "^0.9.0" 127 + "@atproto/xrpc-server" "^0.9.1" 114 128 "@bufbuild/protobuf" "^1.5.0" 115 129 "@connectrpc/connect" "^1.1.4" 116 130 "@connectrpc/connect-express" "^1.1.4" ··· 129 143 jose "^5.0.1" 130 144 key-encoder "^2.0.3" 131 145 kysely "^0.22.0" 146 + leo-profanity "^1.8.0" 132 147 multiformats "^9.9.0" 133 148 murmurhash "^2.0.1" 134 149 p-queue "^6.6.2" ··· 221 236 "@noble/hashes" "^1.6.1" 222 237 uint8arrays "3.0.0" 223 238 224 - "@atproto/dev-env@^0.3.155": 225 - version "0.3.155" 226 - resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.3.155.tgz#26f865b92e9241d3e39c1c81e38c8422f2df26e2" 227 - integrity sha512-KNrArdTAfrZQsRsFnwLC1Vgqh27brD5G2ZI0E3qF9BXQw2iiCH1r46IAhhggugL6xo3VXYucmM6/HGX+bKyavw== 239 + "@atproto/dev-env@^0.3.160": 240 + version "0.3.160" 241 + resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.3.160.tgz#eb777e4f32525d276b4dec20a23001765286a478" 242 + integrity sha512-pEGLoWQ2q4muMlmJ7IiSWI1iWbhOc1PlGqxn6Ru1kd3xR+opuF36OXMeUU1aIqnIrhefjW6Mk+9RYHJAfK9ltg== 228 243 dependencies: 229 - "@atproto/api" "^0.15.26" 230 - "@atproto/bsky" "^0.0.172" 244 + "@atproto/api" "^0.16.2" 245 + "@atproto/bsky" "^0.0.177" 231 246 "@atproto/bsync" "^0.0.20" 232 247 "@atproto/common-web" "^0.4.2" 233 248 "@atproto/crypto" "^0.4.4" 234 249 "@atproto/identity" "^0.4.8" 235 250 "@atproto/lexicon" "^0.4.12" 236 - "@atproto/ozone" "^0.1.131" 237 - "@atproto/pds" "^0.4.161" 238 - "@atproto/sync" "^0.1.29" 251 + "@atproto/ozone" "^0.1.135" 252 + "@atproto/pds" "^0.4.165" 253 + "@atproto/sync" "^0.1.30" 239 254 "@atproto/syntax" "^0.4.0" 240 - "@atproto/xrpc-server" "^0.9.0" 255 + "@atproto/xrpc-server" "^0.9.1" 241 256 "@did-plc/lib" "^0.0.1" 242 257 "@did-plc/server" "^0.0.1" 243 258 dotenv "^16.0.3" ··· 350 365 "@atproto/jwk" "0.4.0" 351 366 zod "^3.23.8" 352 367 353 - "@atproto/ozone@^0.1.131": 354 - version "0.1.131" 355 - resolved "https://registry.yarnpkg.com/@atproto/ozone/-/ozone-0.1.131.tgz#b097c0274f424afd6af4e891cf78c563395b65b3" 356 - integrity sha512-xGp0KPK89SXwtXHYza5kYNkwizCdXvn1sq0+5gwR6U8qNrvw0ibxBVMgtHTmqo9633tGD0c0woza1j+r5adm1w== 368 + "@atproto/ozone@^0.1.135": 369 + version "0.1.135" 370 + resolved "https://registry.yarnpkg.com/@atproto/ozone/-/ozone-0.1.135.tgz#f317d6541e60a5a659b55c5afd13d19be832796c" 371 + integrity sha512-q5z5Kw596OG7XuhfMtUpICW8u0kZZ+x+wxoEtG5rpBHlFMod13oJOCk+Lo82WFt3dztYIuhg3oSu3JI0NKpW0g== 357 372 dependencies: 358 - "@atproto/api" "^0.15.26" 373 + "@atproto/api" "^0.16.2" 359 374 "@atproto/common" "^0.4.11" 360 375 "@atproto/crypto" "^0.4.4" 361 376 "@atproto/identity" "^0.4.8" 362 377 "@atproto/lexicon" "^0.4.12" 363 378 "@atproto/syntax" "^0.4.0" 364 379 "@atproto/xrpc" "^0.7.1" 365 - "@atproto/xrpc-server" "^0.9.0" 380 + "@atproto/xrpc-server" "^0.9.1" 366 381 "@did-plc/lib" "^0.0.1" 367 382 compression "^1.7.4" 368 383 cors "^2.8.5" ··· 380 395 undici "^6.14.1" 381 396 ws "^8.12.0" 382 397 383 - "@atproto/pds@^0.4.161": 384 - version "0.4.161" 385 - resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.4.161.tgz#1f74675d5d5e4ca56361c89926571646b4c641ee" 386 - integrity sha512-az1PGUCwIEx/b1neWBh9lgv27nbtczinGazI/ccG5A0AOMps1MXpTIJgEz5yJ1c6mSrhZlP0sL1EO6uC89irNA== 398 + "@atproto/pds@^0.4.165": 399 + version "0.4.165" 400 + resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.4.165.tgz#2728a8e738a498ef0f471e6f7a3e535601138966" 401 + integrity sha512-rK0sF8hfvOCCXjtm+b0Ic3A2fnq4b7Q8c/vEOaMK3ZqwS8VwFeq9CtopotAMr0swDSupjxiH5aW3NqmNYMvbUg== 387 402 dependencies: 388 403 "@atproto-labs/fetch-node" "0.1.9" 389 - "@atproto-labs/xrpc-utils" "0.0.17" 390 - "@atproto/api" "^0.15.26" 404 + "@atproto-labs/xrpc-utils" "0.0.18" 405 + "@atproto/api" "^0.16.2" 391 406 "@atproto/aws" "^0.2.25" 392 407 "@atproto/common" "^0.4.11" 393 408 "@atproto/crypto" "^0.4.4" ··· 397 412 "@atproto/repo" "^0.8.5" 398 413 "@atproto/syntax" "^0.4.0" 399 414 "@atproto/xrpc" "^0.7.1" 400 - "@atproto/xrpc-server" "^0.9.0" 415 + "@atproto/xrpc-server" "^0.9.1" 401 416 "@did-plc/lib" "^0.0.4" 402 417 "@hapi/address" "^5.1.1" 403 418 better-sqlite3 "^10.0.0" ··· 442 457 varint "^6.0.0" 443 458 zod "^3.23.8" 444 459 445 - "@atproto/sync@^0.1.29": 446 - version "0.1.29" 447 - resolved "https://registry.yarnpkg.com/@atproto/sync/-/sync-0.1.29.tgz#fb628e9f8a3562caa72fab6d3888790fc08ab29e" 448 - integrity sha512-tKIhbY4rfCCfinBapnGf7X276dron9A7NT7VFB1Wa9NqODjoJPGDBaRG8s9WmeeIknMgJquhRJOrYu0hQUupTQ== 460 + "@atproto/sync@^0.1.30": 461 + version "0.1.30" 462 + resolved "https://registry.yarnpkg.com/@atproto/sync/-/sync-0.1.30.tgz#38faadc82b7cd62a2835eb3664d386df1bd5de91" 463 + integrity sha512-IbMT/4dklCKy0pVMlrJff4CTdaX/sWwcUrMIxv/kurCzpSQXaC0JtiA0DRfZCIc9n7FMSX+/96vfUNgZttEbOA== 449 464 dependencies: 450 465 "@atproto/common" "^0.4.11" 451 466 "@atproto/identity" "^0.4.8" 452 467 "@atproto/lexicon" "^0.4.12" 453 468 "@atproto/repo" "^0.8.5" 454 469 "@atproto/syntax" "^0.4.0" 455 - "@atproto/xrpc-server" "^0.9.0" 470 + "@atproto/xrpc-server" "^0.9.1" 456 471 multiformats "^9.9.0" 457 472 p-queue "^6.6.2" 458 473 ws "^8.12.0" ··· 462 477 resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.4.0.tgz#bec71552087bb24c208a06ef418c0040b65542f2" 463 478 integrity sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA== 464 479 465 - "@atproto/xrpc-server@^0.9.0": 466 - version "0.9.0" 467 - resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.9.0.tgz#d4b2f4194327eac456381b313280ac5c1c27ddd3" 468 - integrity sha512-vREyUFx4EiOtPYfPHVF8x6vQThi/72ZkGSwxfFkFpUZp5PXCjagk3vFw0NH8GbbtQeSAPfdgrcZunfJJgLt4SQ== 480 + "@atproto/xrpc-server@^0.9.1": 481 + version "0.9.1" 482 + resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.9.1.tgz#cf7b35d520ce2841f54aa25eecaaffa218c0d44a" 483 + integrity sha512-AJfxsKrZgKL/5362Rc0oUEjlgpDCmY/soeyLHHjid8J6clbErAdJVCuFwW4T40aHGFY1J13a29ucwbSfOROx6w== 469 484 dependencies: 470 485 "@atproto/common" "^0.4.11" 471 486 "@atproto/crypto" "^0.4.4" ··· 11877 11892 resolved "https://registry.yarnpkg.com/freeport-async/-/freeport-async-2.0.0.tgz#6adf2ec0c629d11abff92836acd04b399135bab4" 11878 11893 integrity sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ== 11879 11894 11895 + french-badwords-list@^1.0.7: 11896 + version "1.0.7" 11897 + resolved "https://registry.yarnpkg.com/french-badwords-list/-/french-badwords-list-1.0.7.tgz#8ed2442cb20fa2781c38b5a75c944f8e91a73c08" 11898 + integrity sha512-H1ziKs2PJh2+UXZ9oCGJ/rRQpsI9NBykGf2Sc7WaKaj1OnWFuBXfsvANTdRcfVmOghGQaUmRyZ1hJOPbDpy04Q== 11899 + 11880 11900 fresh@0.5.2: 11881 11901 version "0.5.2" 11882 11902 resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" ··· 14087 14107 dependencies: 14088 14108 picocolors "^1.0.0" 14089 14109 shell-quote "^1.7.3" 14110 + 14111 + leo-profanity@^1.8.0: 14112 + version "1.8.0" 14113 + resolved "https://registry.yarnpkg.com/leo-profanity/-/leo-profanity-1.8.0.tgz#2ce6522e27c093d02253cdb9755b74cc7ffccf90" 14114 + integrity sha512-TATupbZhT3oFCtsiEXzgXcLvW6cDPhDtN+0yQAibjwBdSw3WJFLKM0DZ18eEW8KeFTT10x8gCP+DDZz0cI4Bfg== 14115 + optionalDependencies: 14116 + french-badwords-list "^1.0.7" 14117 + russian-bad-words "^0.5.0" 14090 14118 14091 14119 leven@^3.1.0: 14092 14120 version "3.1.0" ··· 17579 17607 integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 17580 17608 dependencies: 17581 17609 queue-microtask "^1.2.2" 17610 + 17611 + russian-bad-words@^0.5.0: 17612 + version "0.5.0" 17613 + resolved "https://registry.yarnpkg.com/russian-bad-words/-/russian-bad-words-0.5.0.tgz#d4abcdc55f7af37606cdbac44bcb9e0bde6c3855" 17614 + integrity sha512-euNvEYki6iYYpkNbeudW+lEMMYGEmN7EBwVF8ezlbv0bZoQpVYB7W10cCeUIGV7Ed50sJynLQ0c559q5iI0ejQ== 17582 17615 17583 17616 rxjs@^6.6.0: 17584 17617 version "6.6.7"