Combine the Server Selection screen into the Server Confirmation screen and add autocompletion when entering an account provider. (#5949)

* Adjust login flow to exclusively use the ServerSelectionScreen

* Move async code to server selection vm

* ServerSelection supports pro picker options

* Use homeserver address for both confirmation and picker modes

* rename ServerSelectionScreenMode

* remove ServerConfirmationScreen

It's been superseded by the ServerSelectionScreen

* rename userInput

* Update strings with latest design strings

* Add server input autocompletion

* Store previous servers in AppSettings and autofill on server signin

* Audit changes for logging

* Enforce lowercase server history storage

* Update tests

* Update Xcode project

* PR review fixups

* Add HomeserverHistoryManager

* Review fixups 2

* Review fixups 3
This commit is contained in:
Michael
2026-08-10 12:38:37 -05:00
committed by GitHub
parent 42a7b6e8ee
commit 6efa8743ff
71 changed files with 977 additions and 1357 deletions
@@ -1152,13 +1152,6 @@ extension PreviewTests {
}
}
@Test
func serverConfirmationScreen() async throws {
for (index, preview) in ServerConfirmationScreen_Previews._allPreviews.enumerated() {
try await assertSnapshots(matching: preview, step: index)
}
}
@Test
func serverSelection() async throws {
for (index, preview) in ServerSelection_Previews._allPreviews.enumerated() {
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f27d379cfab2f1a6051bafb477659476a7cc6b49741aa6324b9a398899743fe
size 102448
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6b81a350c87e4507538d1164e4abee2b20744cd4d39a1fbe2e11670b964c45c5
size 119863
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d13b5587f99e70f5af6ffa67dfed0ac1e86463a3ef5945bffe054882741b81ac
size 62912
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe55253bdbb21c766fd15417e3f8ab7eeac82f3e6454fec96256eca4c936f611
size 86722
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1a8f9b19e48979489ecd1f85b0d4e269a6c71d1b0914b6bef4edcc5b80e7196b
size 112550
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:13215b8b562300a91e14cb299a90632f0755a041e7876a0d332ffc1c32459306
size 114426
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f42c0c369f36a86708c5b95cf26aa99c8400cb1810bfe6077395dd8f2d17f0ef
size 60925
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d42afd834e3832731c803923520cc33b869946f38990c57dbf70064ed0b4d691
size 70052
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:728f62529a6525f905d3c595b2dc9b5c7d9298decb75c627c404d7acf421718b
size 108154
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:00d7ab6cdc91aa264756e850f9ed2eecd54bf21b0bbf91faea6a701b86b020c4
size 133098
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4a59fd2dafc033210c6e8e723ab37099b8f7e7f12382d1a0fb2d7c70a4947207
size 67977
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7911437071e4ec2b83d685a4e89050bc9853bc82944bfaac6da9df662d05d527
size 97511
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:96101e1599fe18d76c4a01fc80134541b81e0c566d064ba8833199aafb4b91b7
size 110835
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:573dbe543207bceaa0664098968231b0d47d5a975f0f0de08af52616ffc4dffb
size 132562
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:56be3f7c9c69e523899f47cbab30d2b3a30d666e3caa191c51ac9ddf113a4492
size 66474
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:75b1ca6e6043aad97320515df2e94b1798a0fc8be008115468e01f1ca279988e
size 93280
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6150071c11fd4a59df9f29cf69b7fc19128821ee21818bf41dc5ed01f6eeaa95
size 118572
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f719fd2b7950d0f3c8449e4ad9a3628313665dae2655da5094fbf336132a6711
size 150213
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:81bda74f93462654453886ce150c6e8b16c0becd95f1aabd1e10d46b207ec7c1
size 73302
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8d7f67046e3d6726fae663582ab78c735bd3fa66aad976659a0dac44c6cbb33b
size 105978
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:da8278c98a491826073bc53650cc627eace25252ba589f05feed4d87dcd9c380
size 111223
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:72a13132ee2a46dafaab55ee15e85478874be00528ebe2810797437f9e07f8cb
size 132790
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e90e609769486d289c995b3e957f67b23debc49ca6ebe0becdbd7b4dce736d56
size 66735
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:57fe8ab5d77b2299024aa4dd32dd85f0d40222ada59832435ca663675109989c
size 92903
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc14af1c2cf7495862ce1d7ecba2ec065c193c61af02b8364a1680441541f13e
size 108637
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3fbcf065f46808bf8baf1d3e1eda5c20cc40d4382c58538b5f139568ab32ffa3
size 118958
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09f9b83ac8a74893bb1a7791dbb47e013c2f0e61e8d467d1dfa76f7ffc162998
size 56838
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:adad286a213181b1f8e8f1a4de6a33a28f6941806d26ae60026c18d09b7d45a0
size 64974
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0c58d5a2289a4c62ae7910940f5fd10a131ba0673e9b396ee698999342d6e619
size 105461
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe4e4c9f5cb203297a7a31d83febb449894eca6b2f3001ce934967c5369e42cc
size 102905
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:575c54730b1b9fbe790c27a17ea6e99e44f122c3caef35e499adbf3ee0363ccc
size 120730
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6f20771a2bc3b8bf82cad88f7e7f77c300923df6e8fed450cec3036916d5f296
size 116158
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:213e1d081a6faf3964dbcf1808a7f0b07b5b3a410fe6cee7be27216bfba2db31
size 113696
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4fc30b95317161fa9126d0e593f7def4e15733bede5bbe652b5fee710d463354
size 147912
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7fcbd78804fac70bfd60f105628b3b76ec39a4e393626122ea710217ed7a358
size 58588
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c64d5df3d81e8f53a9041b3880979d703ab4b002fbb723e9046cc93492deb8b1
size 56263
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:463ea675e4e84186d654a660ee8c39a3ac96fff0ce260e4ef3ce29f5433d244c
size 79592
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03b55270586b00290e10584cb7c02f475e84885f3d66c2b76931b5e2a05fc53f
size 72927
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d8eb226e3906ffa0bde9486dcb72ca0967775e0ed018b0eac6d6bf81b503e862
size 70674
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:76f660ea1b55fdacae2a6e3858837af29ebdd681d48d6307932a83e163948503
size 113311