Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
286 commits
Select commit Hold shift + click to select a range
8f3ac4f
minor improvement
caldrian Dec 3, 2025
c55c10f
resolve TODO
caldrian Dec 3, 2025
d358f85
fix build errors in data model
caldrian Dec 3, 2025
8a58ae1
fix: potential race condition - WPB-21441
caldrian Dec 3, 2025
7c658d7
create isApp, isBot, isAppOrBot
caldrian Dec 3, 2025
2226aac
Merge branch 'chore/separate-isapp-isbot-WPB-21441' into fix/show-app…
caldrian Dec 3, 2025
a32c61c
fix build errors in Wire-iOS
caldrian Dec 3, 2025
33ab6b6
fix error
caldrian Dec 3, 2025
86e95a5
revert renaming
caldrian Dec 3, 2025
291ff43
fix property names
caldrian Dec 4, 2025
6234722
add missing argument
caldrian Dec 4, 2025
2942918
Merge branch 'chore/separate-isapp-isbot-WPB-21441' into fix/show-app…
caldrian Dec 4, 2025
9b55828
rename protocol
caldrian Dec 4, 2025
deabb1e
revert changes
caldrian Dec 4, 2025
b2d6409
Merge branch 'develop' into fix/potential-race-condition-WPB-21441
caldrian Dec 4, 2025
5a90951
Merge branch 'fix/potential-race-condition-WPB-21441' into chore/sepa…
caldrian Dec 4, 2025
1ec1985
Merge branch 'chore/separate-isapp-isbot-WPB-21441' into fix/show-app…
caldrian Dec 4, 2025
4f2fd2d
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-396…
caldrian Dec 4, 2025
b2230d5
Merge branch 'fix/potential-race-condition-WPB-21441' into chore/sepa…
caldrian Dec 4, 2025
30801ea
fixes
caldrian Dec 4, 2025
59edd7c
fixes
caldrian Dec 4, 2025
bdb435e
minor change
caldrian Dec 4, 2025
bab57b6
rename protocol
caldrian Dec 4, 2025
a67301a
fix condition
caldrian Dec 4, 2025
50c64f8
TODO
caldrian Dec 4, 2025
6040813
Merge branch 'chore/separate-isapp-isbot-WPB-21441' into fix/show-app…
caldrian Dec 4, 2025
cb42e50
apply copilot suggestion
caldrian Dec 4, 2025
6ff82fe
undo Sendable conformance
caldrian Dec 4, 2025
ffab695
fix condition for showing the people/apps switch control
caldrian Dec 5, 2025
0dd199f
fix leaking continuation
caldrian Dec 5, 2025
9340106
Merge branch 'release/cycle-4.12' into chore/separate-isapp-isbot-WPB…
caldrian Dec 5, 2025
2491766
Merge branch 'chore/separate-isapp-isbot-WPB-21441' into fix/show-app…
caldrian Dec 5, 2025
201ffdd
fix leaking continuation
caldrian Dec 5, 2025
55ba5b6
format
caldrian Dec 5, 2025
2b665aa
format
caldrian Dec 5, 2025
edb5c09
Trigger CI
caldrian Dec 8, 2025
968469b
Trigger CI
caldrian Dec 8, 2025
009fdc6
Trigger CI
caldrian Dec 8, 2025
f92bcd5
fix: add missing developer flag check - WPB-22238 (#3987)
samwyndham Dec 8, 2025
912fb67
Merge branch 'release/cycle-4.12' into fix/leaking-continuation-WPB-2…
caldrian Dec 8, 2025
82076c5
fix typo
caldrian Dec 8, 2025
2e34974
delete developer flag
caldrian Dec 8, 2025
a89cbf6
Trigger CI
caldrian Dec 8, 2025
57aa618
fix: leaking continuation in search task - WPB-21441
caldrian Dec 10, 2025
f7778a7
Merge branch 'fix/leaking-continuation-WPB-21441' of github.com:wirea…
caldrian Dec 10, 2025
1fd96ee
fix: leaking continuation in search task - WPB-21441
caldrian Dec 10, 2025
a914b15
Merge branch 'fix/leaking-continuation-WPB-21441' of github.com:wirea…
caldrian Dec 10, 2025
5f4aba5
Merge branch 'release/cycle-4.12' of github.com:wireapp/wire-ios into…
caldrian Dec 10, 2025
cf7e241
chore: separate user properties isApp and isBot - WPB-21441
caldrian Dec 10, 2025
104ec35
Merge branch 'chore/separate-isapp-isbot-WPB-21441' of github.com:wir…
caldrian Dec 10, 2025
375a366
chore: separate user properties isApp and isBot - WPB-21441
caldrian Dec 10, 2025
4b0b73d
Merge branch 'chore/separate-isapp-isbot-WPB-21441' of github.com:wir…
caldrian Dec 10, 2025
4c441db
Merge branch 'chore/separate-isapp-isbot-WPB-21441' into fix/show-app…
caldrian Dec 10, 2025
e2c85d2
inject conversationCreationRepository
caldrian Dec 10, 2025
3ab469f
format code
caldrian Dec 10, 2025
a272116
fix showing apps toggle
caldrian Dec 10, 2025
e8d207a
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/leakin…
caldrian Dec 11, 2025
86c99e7
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-398…
caldrian Dec 11, 2025
5d638e9
Merge branch 'fix/leaking-continuation-WPB-21441' into chore/separate…
caldrian Dec 11, 2025
60ed3c9
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-398…
caldrian Dec 11, 2025
2e8d3a9
inject areLegacyBotsAvailable
caldrian Dec 11, 2025
ce8b323
Merge branch 'chore/separate-isapp-isbot-WPB-21441' into fix/show-app…
caldrian Dec 11, 2025
bdf9058
always show apps in group details
caldrian Dec 11, 2025
50e1b87
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/sepa…
caldrian Dec 11, 2025
45201d8
attempt to show title and body text
caldrian Dec 11, 2025
e2ca009
Merge branch 'chore/separate-isapp-isbot-WPB-21441' into fix/show-app…
caldrian Dec 11, 2025
ec11081
Revert "attempt to show title and body text"
caldrian Dec 11, 2025
ea74223
create TitleBodyCell
caldrian Dec 11, 2025
5d7a98b
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Dec 11, 2025
0178c68
support title and body in TitleBodyCell
caldrian Dec 11, 2025
abb0b20
format code
caldrian Dec 11, 2025
17a6ddd
resolve todo
caldrian Dec 12, 2025
4cceea4
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Dec 12, 2025
af537e3
fix: concurrency issue - WPB-21441
caldrian Dec 12, 2025
70cabee
Merge branch 'fix/crash-WPB-21441' into fix/show-apps-tab-for-legacy-…
caldrian Dec 12, 2025
b401773
add lazy
caldrian Dec 12, 2025
42b56db
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/crash-…
caldrian Dec 12, 2025
250c75e
Merge branch 'fix/crash-WPB-21441' into fix/show-apps-tab-for-legacy-…
caldrian Dec 12, 2025
317b087
chore: create and inject ConversationCreationRepository
caldrian Dec 12, 2025
922f389
Merge branch 'chore/ConversationCreationRepository-WPB-21441' into fi…
caldrian Dec 12, 2025
7b94fa2
revert changes
caldrian Dec 12, 2025
0939c16
Merge branch 'fix/crash-WPB-21441' into chore/ConversationCreationRep…
caldrian Dec 12, 2025
a01b0d6
Merge branch 'chore/ConversationCreationRepository-WPB-21441' into fi…
caldrian Dec 12, 2025
ada8729
update reference images
caldrian Dec 12, 2025
06522be
Revert "update reference images"
caldrian Dec 12, 2025
90b0df5
attempt to fix test
caldrian Dec 12, 2025
770bcef
refactoring
caldrian Dec 12, 2025
d950903
include moc in SearchResult
caldrian Dec 12, 2025
1b760b4
revert some changes
caldrian Dec 12, 2025
8c3fab6
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/crash-…
caldrian Dec 12, 2025
b3467b2
Merge branch 'fix/crash-WPB-21441' into chore/ConversationCreationRep…
caldrian Dec 12, 2025
1254c04
Merge branch 'chore/ConversationCreationRepository-WPB-21441' into fi…
caldrian Dec 12, 2025
59350d3
Merge branch 'develop' into fix/crash-WPB-21441
caldrian Dec 15, 2025
31ca5e6
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-400…
caldrian Dec 15, 2025
479cb19
Merge branch 'fix/crash-WPB-21441' into chore/ConversationCreationRep…
caldrian Dec 15, 2025
714decb
Merge remote-tracking branch 'github/chore/ConversationCreationReposi…
caldrian Dec 15, 2025
f97295d
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/Conv…
caldrian Dec 16, 2025
831c9f5
Merge branch 'chore/ConversationCreationRepository-WPB-21441' into fi…
caldrian Dec 16, 2025
11b6fdc
add todo
caldrian Dec 16, 2025
1b193ef
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Dec 16, 2025
d1eec20
consider apps feature flag and whitelisted legacy bots
caldrian Dec 16, 2025
994a2ef
resolve TODOs
caldrian Dec 16, 2025
dcfb104
format code
caldrian Dec 16, 2025
577290d
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Dec 18, 2025
0d3ac74
minor fix
caldrian Dec 18, 2025
9e0a2ff
another fix
caldrian Dec 18, 2025
d615575
add todo
caldrian Dec 18, 2025
162b0fd
another fix
caldrian Dec 18, 2025
0bc9160
another fix
caldrian Dec 18, 2025
403717d
fix updating apps feature
caldrian Dec 18, 2025
233986c
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Dec 18, 2025
a2c94ac
empty
caldrian Dec 19, 2025
df87918
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Dec 19, 2025
dba8448
minor fix
caldrian Dec 19, 2025
02e5ada
fix snapshot tests
caldrian Dec 19, 2025
e9aa726
format code
caldrian Dec 19, 2025
e139430
prepare fixing bug
caldrian Dec 19, 2025
7055e93
separate apps from bots search results
caldrian Dec 19, 2025
9c2b890
add notes
caldrian Jan 5, 2026
f9bcb00
add marker
caldrian Jan 5, 2026
5422f05
implement updating conversation access
caldrian Jan 5, 2026
eb10734
add todo
caldrian Jan 5, 2026
6f6f0a9
improve signature
caldrian Jan 5, 2026
80264a3
tests placeholder
caldrian Jan 5, 2026
c594254
add tests
caldrian Jan 5, 2026
2228e2d
fix tests
caldrian Jan 5, 2026
ece75df
fix tests
caldrian Jan 5, 2026
ba1ac22
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 5, 2026
0c01e57
attempt to use the new implementation
caldrian Jan 5, 2026
3a010ba
fix build error
caldrian Jan 6, 2026
27be859
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 6, 2026
3a7e608
fix build errors
caldrian Jan 6, 2026
a9de04c
fix concurrency issues
caldrian Jan 6, 2026
26604b9
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 7, 2026
e07ab08
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 7, 2026
6fc488a
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 7, 2026
2ebc800
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 15, 2026
89a76bc
minor adjustments to match web
caldrian Jan 15, 2026
e491f55
fix typo
caldrian Jan 15, 2026
e016ebd
minor fix
caldrian Jan 15, 2026
27e3978
backporting
caldrian Jan 15, 2026
dc6b292
format code
caldrian Jan 15, 2026
4118863
convert func with completion to async
caldrian Jan 15, 2026
7880e25
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 15, 2026
d16f88e
chore: convert code
caldrian Jan 15, 2026
71a6af2
Merge branch 'chore/convert-to-async-WPB-22502' into fix/apps-togglin…
caldrian Jan 15, 2026
03d8320
fix concurrency issues
caldrian Jan 15, 2026
bbf3dda
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/conv…
caldrian Jan 16, 2026
974e824
add note
caldrian Jan 16, 2026
88673fd
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/conv…
caldrian Jan 16, 2026
41f2aec
format code
caldrian Jan 16, 2026
946f620
Merge branch 'chore/convert-to-async-WPB-22502' into fix/apps-togglin…
caldrian Jan 16, 2026
0c7a3f8
delete files
caldrian Jan 16, 2026
633e5dc
fix build error
caldrian Jan 16, 2026
91be8f8
add test resource
caldrian Jan 16, 2026
4d1143e
fix tests
caldrian Jan 16, 2026
a0d343f
Merge branch 'chore/convert-to-async-WPB-22502' into fix/apps-togglin…
caldrian Jan 16, 2026
7964587
fix tests
caldrian Jan 16, 2026
9e3ff8b
Merge branch 'chore/convert-to-async-WPB-22502' into fix/apps-togglin…
caldrian Jan 16, 2026
c9c8770
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-412…
caldrian Jan 16, 2026
74ac640
Merge branch 'chore/convert-to-async-WPB-22502' into fix/apps-togglin…
caldrian Jan 16, 2026
a6543e3
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 19, 2026
533755f
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 19, 2026
0e33c87
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 19, 2026
cc1d1c5
renamings
caldrian Jan 19, 2026
c674979
format code
caldrian Jan 19, 2026
e800386
add enum case
caldrian Jan 19, 2026
2938a71
fix build errors in WireNetwork
caldrian Jan 19, 2026
63b002f
fix remaining build errors
caldrian Jan 19, 2026
f9e19bd
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 19, 2026
499a8e1
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/prep…
caldrian Jan 19, 2026
ad11f5e
add missing files
caldrian Jan 19, 2026
e4529c1
Trigger CI
caldrian Jan 19, 2026
264a345
Merge branch 'develop' into fix/apps-toggling-WPB-22502
caldrian Jan 20, 2026
4c1d0d5
Merge branch 'develop' of github.com:wireapp/wire-ios into feat/searc…
caldrian Jan 20, 2026
a1b1928
Merge branch 'chore/prepare-v15-adoption-WPB-20362' into feat/search-…
caldrian Jan 20, 2026
8ca5189
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/prep…
caldrian Jan 20, 2026
7e3b097
Merge branch 'chore/prepare-v15-adoption-WPB-20362' into feat/search-…
caldrian Jan 20, 2026
a00b762
add empty line
caldrian Jan 20, 2026
6d16832
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/apps-t…
caldrian Jan 20, 2026
61e527a
Merge branch 'fix/apps-toggling-WPB-22502' into feat/search-for-apps-…
caldrian Jan 20, 2026
d4c32eb
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/prep…
caldrian Jan 20, 2026
6d1e2d9
add test resource
caldrian Jan 20, 2026
04df224
prepare for fixing the conditions for showing bot participant adding
caldrian Jan 20, 2026
51e70f1
pass through booleans
caldrian Jan 20, 2026
999b41c
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/hide-a…
caldrian Jan 20, 2026
53fadec
minor fix
caldrian Jan 20, 2026
f286af1
fix linter error
caldrian Jan 20, 2026
0a092d8
fix build errors
caldrian Jan 20, 2026
e70d58c
Merge branch 'fix/hide-apps-in-adding-participants-WPB-21441' into fe…
caldrian Jan 20, 2026
7315fec
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/hide-a…
caldrian Jan 21, 2026
3a41ac0
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-416…
caldrian Jan 21, 2026
dd53779
Merge branch 'fix/hide-apps-in-adding-participants-WPB-21441' into fe…
caldrian Jan 21, 2026
e89079f
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/prep…
caldrian Jan 21, 2026
c1241fe
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-414…
caldrian Jan 21, 2026
994fdc8
Merge branch 'chore/prepare-v15-adoption-WPB-20362' into feat/search-…
caldrian Jan 21, 2026
503a28d
Merge branch 'develop' of github.com:wireapp/wire-ios into feat/searc…
caldrian Jan 21, 2026
90941f4
create SearchAPI
caldrian Jan 21, 2026
e3d2219
generate code
caldrian Jan 21, 2026
28601aa
minor changes
caldrian Jan 21, 2026
a8cb19d
add notes
caldrian Jan 22, 2026
15b7c66
import from other branch
caldrian Jan 22, 2026
2550b71
add user type argument
caldrian Jan 22, 2026
5c455f9
minor changes
caldrian Jan 22, 2026
e270f02
prepare to parse ZMSearchUser
caldrian Jan 23, 2026
f525621
finish creating search result
caldrian Jan 26, 2026
085ae98
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/rewr…
caldrian Jan 26, 2026
19321d5
replace old code
caldrian Jan 26, 2026
df0b8bf
add notes, fix build errors
caldrian Jan 26, 2026
5d1ab45
add notes
caldrian Jan 27, 2026
8ad4ea1
Merge branch 'chore/rewrite-search-contacts-WPB-20362' into feat/sear…
caldrian Jan 27, 2026
351f3fc
minor corrections
caldrian Jan 27, 2026
a06800f
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/rewr…
caldrian Jan 27, 2026
3a00abb
Merge branch 'chore/rewrite-search-contacts-WPB-20362' into feat/sear…
caldrian Jan 27, 2026
b6632f2
undo certain changes
caldrian Jan 27, 2026
0ee076b
Merge branch 'chore/rewrite-search-contacts-WPB-20362' into feat/sear…
caldrian Jan 27, 2026
033ec40
format code
caldrian Jan 27, 2026
c0ee3c3
prepare rewriting whitelisted
caldrian Jan 27, 2026
22d3b13
finish implementation
caldrian Jan 27, 2026
703a531
support pagination
caldrian Jan 27, 2026
d10cbf9
fixes and cleanup
caldrian Jan 27, 2026
79ce712
prepare tests
caldrian Jan 27, 2026
0eb748c
disable pagination
caldrian Jan 27, 2026
c48ae85
fix tests
caldrian Jan 27, 2026
f63b0a0
improve comments
caldrian Jan 27, 2026
6649fa3
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/rewr…
caldrian Jan 27, 2026
236c3db
Merge branch 'chore/rewrite-search-contacts-WPB-20362' into feat/sear…
caldrian Jan 27, 2026
7668956
some cleanup
caldrian Jan 27, 2026
7ed8999
add tests
caldrian Jan 27, 2026
690e0a6
Merge branch 'feat/search-for-apps-WPB-20362' of github.com:wireapp/w…
caldrian Jan 27, 2026
37c04c6
Merge branch 'chore/rewrite-search-contacts-WPB-20362' into feat/sear…
caldrian Jan 27, 2026
f6b5734
various fixes
caldrian Jan 27, 2026
524f491
add tests
caldrian Jan 27, 2026
2eda333
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/rewr…
caldrian Jan 27, 2026
5dba226
address some PR comments
caldrian Jan 27, 2026
1bb757c
address more PR comments
caldrian Jan 27, 2026
18712e3
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/rewr…
caldrian Jan 27, 2026
dc2014f
fix linter error
caldrian Jan 27, 2026
5283125
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/rewr…
caldrian Jan 28, 2026
78624d0
Merge branch 'chore/rewrite-search-contacts-WPB-20362' into feat/sear…
caldrian Jan 28, 2026
d53dc72
Merge branch 'chore/replace-old-search-requests-WPB-20362' into feat/…
caldrian Feb 2, 2026
37ef817
attempt to fix merge conflicts
caldrian Feb 2, 2026
6791628
Merge branch 'chore/replace-old-search-requests-WPB-20362' into feat/…
caldrian Feb 4, 2026
51da50b
Merge branch 'chore/replace-old-search-requests-WPB-20362' into feat/…
caldrian Feb 4, 2026
fda82d5
Merge branch 'chore/replace-old-search-requests-WPB-20362' into feat/…
caldrian Feb 4, 2026
4352ddc
Merge branch 'chore/refactor-searchtask-WPB-20362' into feat/search-f…
caldrian Feb 6, 2026
424edce
Merge branch 'chore/replace-old-search-requests-WPB-20362' into feat/…
caldrian Feb 6, 2026
576252c
Merge branch 'chore/replace-old-search-requests-WPB-20362' into feat/…
caldrian Feb 6, 2026
612e343
Merge branch 'feat/search-for-apps-WPB-20362' of github.com:wireapp/w…
caldrian Feb 6, 2026
3337c18
Merge branch 'chore/replace-old-search-requests-WPB-20362' into feat/…
caldrian Feb 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ final class AddParticipantsViewController: UIViewController {

self.searchHeaderViewController = SearchHeaderViewController(userSelection: userSelection)

self.searchGroupSelector = SearchGroupSelector()
self.searchGroupSelector = SearchGroupSelector(for: viewModel.filterConversation?.messageProtocol ?? userSession.defaultProtocol) // TODO: what is filterConversation?

self.searchResultsViewController = SearchResultsViewController(
userSelection: userSelection,
Expand Down Expand Up @@ -469,9 +469,13 @@ final class AddParticipantsViewController: UIViewController {
emptyResultView.updateStatus(searchingForServices: searchingForServices, hasFilter: hasFilter)

switch (searchResultsViewController.searchGroup, hasFilter) {
case (.services, _):
case (.apps, _):
searchResultsViewController.mode = .search // TODO: searching apps is more similar to searching people
fatalError() // TODO: searchForApps?
// searchResultsViewController.searchForServices(withQuery: searchHeaderViewController.tokenField.filterText)
case (.bots, _):
searchResultsViewController.mode = .search
searchResultsViewController.searchForServices(withQuery: searchHeaderViewController.tokenField.filterText)
searchResultsViewController.searchForServices(withQuery: searchHeaderViewController.tokenField.filterText) // TODO: rename searchForBots?
case (.people, false):
searchResultsViewController.mode = .list
searchResultsViewController.searchContactList()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//
// Wire
// Copyright (C) 2026 Wire Swiss GmbH
// Copyright (C) 2025 Wire Swiss GmbH
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
//
// Wire
// Copyright (C) 2025 Wire Swiss GmbH
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//

final class SearchAppsSectionController: SearchSectionController {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
//
// Wire
// Copyright (C) 2025 Wire Swiss GmbH
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//

// TODO: needed?
//protocol SearchAppsSectionDelegate: SearchSectionControllerDelegate {
// func addAppsSectionDidRequestOpenServicesAdmin()
//}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
//

import UIKit
import WireDataModel
import WireDesign

final class SearchGroupSelector: UIView {
Expand All @@ -36,8 +37,8 @@ final class SearchGroupSelector: UIView {

// MARK: - Init

init() {
self.groups = SearchGroup.all
init(for messageProtocol: MessageProtocol) {
self.groups = SearchGroup.all(for: messageProtocol)

let groupItems: [String] = groups.map(\.name)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@ import WireSyncEngine

enum SearchGroup: Int {
case people
case services // TODO: [WPB-20362] consider having apps and bots instead
case apps
case bots

@available(*, deprecated, renamed: "bots")
static var services: Self { .bots }
}

extension SearchGroup {
Expand All @@ -31,7 +35,7 @@ extension SearchGroup {
switch self {
case .people:
return true
case .services:
case .apps, .bots: // TODO: searching apps is more similar to searching people
guard let user = SelfUser.provider?.providedSelfUser else {
assertionFailure("expected available 'user'!")
return false
Expand All @@ -42,18 +46,27 @@ extension SearchGroup {

#if ADD_SERVICE_DISABLED
// remove service from the tab
static let all: [SearchGroup] = [.people]
static func all(for messageProtocol: MessageProtocol) -> [SearchGroup] { [.people] }
#else
static var all: [SearchGroup] {
[.people, .services].filter(\.accessible)
static func all(for messageProtocol: MessageProtocol) -> [SearchGroup] {
switch messageProtocol {
case .mls:
[.people, .apps]
.filter(\.accessible)
case .proteus:
[.people, .bots]
.filter(\.accessible)
case .mixed:
[.people] // TODO: correct?
}
}
#endif

var name: String {
switch self {
case .people:
L10n.Localizable.Peoplepicker.Header.people
case .services:
case .apps, .bots:
L10n.Localizable.Peoplepicker.Header.apps
}
}
Expand Down Expand Up @@ -165,6 +178,7 @@ final class SearchResultsViewController: UIViewController {
return TopPeopleSectionController(topConversationsDirectory: directory)
}()

let appsSection: SearchAppsSectionController
let servicesSection: SearchServicesSectionController
// TODO: [WPB-20362] add apps section?
let inviteTeamMemberSection: InviteTeamMemberSection
Expand Down Expand Up @@ -212,6 +226,7 @@ final class SearchResultsViewController: UIViewController {
teamMemberAndContactsSection.allowsSelection = isAddingParticipants
teamMemberAndContactsSection.selection = userSelection
teamMemberAndContactsSection.title = L10n.Localizable.Peoplepicker.Header.contacts
self.appsSection = SearchAppsSectionController()
self.servicesSection = SearchServicesSectionController(
canSelfUserManageTeam: userSession.selfUser.canManageTeam
)
Expand Down Expand Up @@ -324,7 +339,9 @@ final class SearchResultsViewController: UIViewController {
let team = userSession.selfUser.membership?.team

switch (searchGroup, isAddingParticipants) {
case (.services, _):
case (.apps, _):
sections = [appsSection]
case (.bots, _):
sections = [servicesSection]
case (.people, true):
switch (mode, team != nil) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ final class StartUIViewController: UIViewController {

let searchController = UISearchController(searchResultsController: nil)

let groupSelector = SearchGroupSelector()
let groupSelector: SearchGroupSelector

lazy var conversationTypePicker: UIViewController = {
let canCreateChannels = userSession.channelsFeature.canCreateChannels(
Expand Down Expand Up @@ -119,7 +119,10 @@ final class StartUIViewController: UIViewController {
/// - the team's default protocol is Proteus the team has been using bots
/// - the team's default protocol is MLS and the `apps` feature flag is enabled.
var showsGroupSelector: Bool {
guard SearchGroup.all.count > 1, userSession.selfUser.canSeeServices else { return false }
guard
SearchGroup.all(for: userSession.defaultProtocol).count > 1,
userSession.selfUser.canSeeServices
else { return false }

switch userSession.defaultProtocol {
case .mls:
Expand Down Expand Up @@ -167,6 +170,7 @@ final class StartUIViewController: UIViewController {
selfProfileUIBuilder: selfProfileUIBuilder,
conversationCreationRepository: conversationCreationRepository
)
groupSelector = SearchGroupSelector(for: userSession.defaultProtocol)
super.init(nibName: nil, bundle: nil)

configGroupSelector()
Expand Down