Add a Messages tab to global search

Split global search into Rooms and Messages tabs. The Messages tab lists
matching events with the room's name and avatar, a sender-prefixed preview,
rich media (image/video/audio/file) previews, and a loading indicator, then
paginates as you scroll. Queries are debounced and the previous one is
superseded so late results can't clobber a newer search.
This commit is contained in:
Stefan Ceriu
2026-07-02 13:25:56 +03:00
parent 5851100f07
commit 4fbfc87551
13 changed files with 727 additions and 81 deletions
+4 -3
View File
@@ -87,6 +87,7 @@ enum UserAvatarSizeOnScreen {
case threadSummary
case map
case classicAppAccount
case globalSearch
var value: CGFloat {
switch self {
@@ -107,7 +108,7 @@ enum UserAvatarSizeOnScreen {
case .roomDetails:
44
case .inviteUsers, .knockingUserList, .sessionVerification,
.settings, .threadList, .mediaPreviewDetails:
.settings, .threadList, .mediaPreviewDetails, .globalSearch:
52
case .roomChangeRoles:
56
@@ -148,13 +149,13 @@ enum RoomAvatarSizeOnScreen {
switch self {
case .timeline, .leaveSpace, .notificationSettings, .roomDirectorySearch,
.completionSuggestions, .authorizedSpaces, .createRoomSelectSpace,
.spaceFilters, .globalSearch:
.spaceFilters:
32
case .messageForwarding, .roomSelection,
.spaceAddRooms:
36
case .chats, .spaces, .spaceSettings,
.spaceAddRoomsSelected:
.spaceAddRoomsSelected, .globalSearch:
52
case .joinRoom, .spaceHeader, .editSpaceDetails:
64