Only offer joined rooms in the forward and share pickers (#6255)

* Initial plan

* Offer only joined rooms in destination pickers

Co-authored-by: Velin92 <34335419+Velin92@users.noreply.github.com>

* Clean whitespace in share picker test

Co-authored-by: Velin92 <34335419+Velin92@users.noreply.github.com>

* Restrict the shared picker room list to joined rooms

The alternate room summary provider, which backs the forward, share and
Add rooms pickers and global search, now always includes the SDK's
joined filter in its base filter. This replaces the per-call joinedOnly
flags, so Add rooms no longer offers invited rooms or spaces and no
screen can forget the flag.

A filter set before the provider has its room list is now applied once
the list is set, instead of being reset to the default. The share picker
hit this on a cold launch from the share extension.

The forward and share pickers also hide upgraded rooms, matching the
Suggestions section. The SDK has no filter for these.

Also registers the share picker's test file in the project, fixes the
blank-line indentation SwiftFormat flagged, and re-records the picker
snapshots without the upgraded room.

* Check room membership for forwarding suggestions and search breadcrumbs

RoomSummary now has isJoined, built from the room's membership. The
forwarding suggestions and the search breadcrumbs used a missing
joinRequestType to mean joined, which is also the case for rooms that
have been left or banned from. It only worked because the room list's
base filter already drops those.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Velin92 <34335419+Velin92@users.noreply.github.com>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
This commit is contained in:
Copilot
2026-10-02 12:44:33 +00:00
committed by GitHub
parent 4fe58c2d0a
commit c41a38159b
28 changed files with 141 additions and 56 deletions
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:175fc36dbb3f8b53610b87a06fb8f69d9a7c03416699a732678dc719ea7227e0
size 170430
oid sha256:3d518a38be7144846c00dcf2f1fa8c610c9d081d2ae4f1f3916268a34b4bd384
size 166840
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b1a433bd71d9eae827259513c29d4765202c38aac1a97c4e6e0527ca624779ac
size 174737
oid sha256:6353e5a7813a4eb3a58286d31c45923fdf3b53ebf2dae152c096735ad00bdf1c
size 171136
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:143c4962bc624c86d81996a122894b18b76acbd587942942ca736f3ac5213c5d
size 118839
oid sha256:4e255a55f696f81294ea7706f61f7fe6377ab3b46a8ae8b078e5b10e65f23eae
size 115043
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:78e40d11b882b09e271b345bbbe941216d15629a501191382ed5047e0f227c54
size 119142
oid sha256:cbc6fe61ccf86ee6e8c23d282e008f533ccd2aef40935bd0e2cc4105bb36aba4
size 115346
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4ace5cc2b095335d929c4209d96aa07bdd251ca8195eaf0e99949c978edca743
size 160670
oid sha256:b650e360efd5fcb17b5756b5eb582bb6b9a5e25b46d4247ed87f652b1befd972
size 156916
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6b7ee1aeecfabf71746ca20c3e1211659c6ec0acb2c1a434c5ce39e9bac62295
size 162114
oid sha256:bc1633ed6b191833ff4df4835e5298b4460efc38663e253517b82b0a64aac746
size 158360
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:065d06fb64af86ad92bdae8ed3f9df7adc0b00a9ac574668a318281c899d3f2c
size 111147
oid sha256:6589ac4a2211cf44fcb0c83c131299528d534aee9d5ccb291025621d962a4e48
size 107113
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:89f6c4e043bf495a143c26649bd485e638643dbe5750f662d7c7dbbff37fb640
size 110563
oid sha256:562a960d20d2071d90e3bf618ae624f9bc73fd06e2f0cdf26ca9bd1b32516483
size 106529