Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
423a72b
feat: create hint view for when apps are disabled - WPB-21441
caldrian Nov 24, 2025
b1bdce6
feat: create hint view for when apps are disabled - WPB-21441 (#3881)
caldrian Nov 24, 2025
074d9c0
Merge branch 'feat/hint-banner-for-disabled-apps-cherry-pick-WPB-2144…
caldrian Nov 24, 2025
bd91741
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Nov 24, 2025
49868c0
add areLegacyBotsAvailable
caldrian Nov 24, 2025
1e76922
AreBotsAvailableUseCaseProtocol
caldrian Nov 24, 2025
2eeb5cc
DefaultManagedObjectContextProvider
caldrian Nov 24, 2025
418119c
fix query
caldrian Nov 24, 2025
dbc6749
Merge branch 'develop' of github.com:wireapp/wire-ios into feat/hint-…
caldrian Nov 27, 2025
baf2fbf
temporary changes
caldrian Dec 1, 2025
a155141
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Dec 1, 2025
433231c
Merge branch 'develop' into feat/hint-banner-for-disabled-apps-WPB-21…
caldrian Dec 1, 2025
431834a
Merge branch 'feat/hint-banner-for-disabled-apps-WPB-21441-cherry-pic…
caldrian Dec 1, 2025
a0e4644
Merge branch 'fix/show-apps-tab-for-legacy-bots-WPB-21441' of github.…
caldrian Dec 2, 2025
beaff10
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Dec 2, 2025
afbe0af
Merge branch 'develop' of github.com:wireapp/wire-ios into feat/hint-…
caldrian Dec 2, 2025
fb8d985
Merge branch 'feat/hint-banner-for-disabled-apps-WPB-21441-cherry-pic…
caldrian Dec 2, 2025
2411b91
introduce considerAppsFeatureFlag developer flag
caldrian Dec 2, 2025
17a0504
Trigger CI
caldrian Dec 2, 2025
f3e7d1b
chore: add considerAppsFeatureFlag developer flag
caldrian Dec 2, 2025
16e0f47
Merge branch 'chore/add-considerapps-dev-flag-WPB-21441' into fix/sho…
caldrian Dec 2, 2025
7c6861f
fix critical flows
caldrian Dec 2, 2025
56a55e0
Merge branch 'develop' of github.com:wireapp/wire-ios into feat/hint-…
caldrian Dec 2, 2025
55a3ff2
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-396…
caldrian Dec 2, 2025
91cfd78
fix build errors
caldrian Dec 2, 2025
54828b9
fix looking for bots in the team
caldrian Dec 2, 2025
73c4c37
Merge branch 'feat/hint-banner-for-disabled-apps-WPB-21441-cherry-pic…
caldrian Dec 2, 2025
24789ee
Merge branch 'develop' of github.com:wireapp/wire-ios into chore/add-…
caldrian Dec 2, 2025
18f6015
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-396…
caldrian Dec 2, 2025
2923d1a
Merge branch 'chore/add-considerapps-dev-flag-WPB-21441' into fix/sho…
caldrian Dec 2, 2025
bfd6511
Merge branch 'develop' of github.com:wireapp/wire-ios into feat/hint-…
caldrian Dec 3, 2025
8c6fc5b
don't combine accessibility elements
caldrian Dec 3, 2025
479f000
Merge branch 'feat/hint-banner-for-disabled-apps-WPB-21441-cherry-pic…
caldrian Dec 3, 2025
4b94463
Merge remote-tracking branch 'github/gh-readonly-queue/develop/pr-392…
caldrian Dec 3, 2025
d69bbe0
Merge branch 'feat/hint-banner-for-disabled-apps-WPB-21441-cherry-pic…
caldrian Dec 3, 2025
126d824
revert some changes
caldrian Dec 3, 2025
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
666e215
address PR comments
caldrian Dec 19, 2025
b1fed0c
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Dec 19, 2025
f123376
Merge branch 'develop' of github.com:wireapp/wire-ios into fix/show-a…
caldrian Jan 5, 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
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,14 @@
//

// sourcery: AutoMockable
public protocol ConversationCreationRepositoryProtocol {}
public protocol ConversationCreationRepositoryProtocol {

/// Legacy services (bots) are deprecated and cannot be set up any more. However, teams who have bots already set up
/// may continue using them.
/// While the `apps` feature flag controls if the UI allows for starting a conversation with an app (new-style
/// MLS-only service) or adding an app to a conversation, there is no feature flag for bots (old-style Proteus-only
/// services). If there are bots already added to the team, bots are considered enabled.

func areBotsSetUpInTheTeam() async throws -> Bool

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
//
// 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/.
//

import Foundation

struct AppsFeatureConfigDecoder {

func decode(
from container: KeyedDecodingContainer<FeatureConfigEventCodingKeys>
) throws -> AppsFeatureConfig {
let payload = try container.decode(
FeatureWithoutConfig.self,
forKey: .payload
)

return AppsFeatureConfig(status: payload.status.toAPIModel())
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ extension UpdateEventDecodingProxy {
let event = FeatureConfigUpdateEvent(featureConfig: .appLock(config))
updateEvent = .featureConfig(.update(event))

case "apps":
let config = try AppsFeatureConfigDecoder().decode(from: container)
let event = FeatureConfigUpdateEvent(featureConfig: .apps(config))
updateEvent = .featureConfig(.update(event))

case "classifiedDomains":
let config = try ClassifiedDomainsFeatureConfigDecoder().decode(from: container)
let event = FeatureConfigUpdateEvent(featureConfig: .classifiedDomains(config))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public struct SearchOptions: OptionSet {
/// Services which are enabled in your team.

public static let services = SearchOptions(rawValue: 1 << 6)
// TODO: [WPB-20362] consider renaming to `bots` and adding `apps`

/// Users from federated servers.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public struct SearchResult {

/// Bots.

public var services: [ServiceUser]
public var services: [ServiceUser] // TODO: [WPB-20362] add `apps`

/// Cache for search users.

Expand Down
6 changes: 0 additions & 6 deletions wire-ios-utilities/Source/DeveloperFlag.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ public enum DeveloperFlag: String, CaseIterable {

case channelsHistory
case chatBubbles
case considerAppsFeatureFlag
case consumableNotifications
case createLegacyBackups
case debugDuplicateObjects
Expand All @@ -45,11 +44,6 @@ public enum DeveloperFlag: String, CaseIterable {

public var description: String {
switch self {
case .considerAppsFeatureFlag:
"Apps are not fully supported by the backend yet (e.g. no search endpoint available yet). However, some " +
"customers already have the apps feature flag enabled as a workaround for another issue." +
"If this toggle is off, the apps feature flag is ignored. Toggle it on for development."

case .createLegacyBackups:
"Don't use the cross-platform library when creating backups."

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ final class AddParticipantsViewControllerSnapshotTests: XCTestCase {
let newValues = ConversationCreationValues(
isChannel: false,
isAppsFeatureEnabled: true,
areLegacyBotsAvailable: false,
name: "",
participants: [],
allowGuests: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,10 @@ final class ConversationCreationControllerSnapshotTests: XCTestCase {

// MARK: - Helper Method

private func createSut(isTeamMember: Bool, messageProtocol: Feature.MLS.Config.MessageProtocol = .proteus) async {
private func createSut(
isTeamMember: Bool,
messageProtocol: Feature.MLS.Config.MessageProtocol = .proteus
) async {
let mockSelfUser = MockUserType.createSelfUser(name: "Alice", inTeam: isTeamMember ? UUID() : nil)
let mockUserSession = UserSessionMock(mockUser: mockSelfUser)
mockUserSession.isWireCellsEnabled = true
Expand All @@ -98,9 +101,11 @@ final class ConversationCreationControllerSnapshotTests: XCTestCase {
)
)

sut = await ConversationCreationController(
sut = ConversationCreationController(
preSelectedParticipants: nil,
userSession: mockUserSession
userSession: mockUserSession,
isAppsFeatureEnabled: false,
areLegacyBotsAvailable: false
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import Foundation
import WireTestingPackage
import XCTest

@testable import Wire

final class ConversationDetailsTests: XCTestCase {
Expand All @@ -45,13 +46,21 @@ final class ConversationDetailsTests: XCTestCase {
conversation.isChannel = false

XCTAssertFalse(
sut.accessible(in: conversation, by: user)
sut.accessible(
in: conversation,
by: user,
areLegacyBotsAvailable: false
)
)
}

func testAccessOptionNotAllowed_ForChannel_Member() {
XCTAssertFalse(
sut.accessible(in: conversation, by: user)
sut.accessible(
in: conversation,
by: user,
areLegacyBotsAvailable: false
)
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

// THEN
Expand All @@ -130,7 +132,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

// THEN
Expand Down Expand Up @@ -163,7 +167,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

// THEN
Expand All @@ -185,7 +191,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

// THEN
Expand All @@ -206,7 +214,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

// THEN
Expand All @@ -229,7 +239,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

snapshotHelper.verify(matching: sut)
Expand All @@ -250,7 +262,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

// THEN
Expand All @@ -272,7 +286,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

// THEN
Expand All @@ -294,7 +310,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

// THEN
Expand All @@ -316,7 +334,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

// THEN
Expand All @@ -340,7 +360,9 @@ final class GroupDetailsViewControllerSnapshotTests: XCTestCase {
mainCoordinator: mockMainCoordinator,
selfProfileUIBuilder: MockSelfProfileViewControllerBuilderProtocol(),
conversationCreationRepository: MockConversationCreationRepositoryProtocol(),
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase
isUserE2EICertifiedUseCase: userSession.isUserE2EICertifiedUseCase,
areLegacyBotsAvailable: false,
isAppsFeatureEnabled: false
)

snapshotHelper.verify(matching: sut)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ final class ConversationListViewControllerSnapshotTests: XCTestCase {

zClientViewController = ZClientViewController(
account: coreDataStack.account,
contextProvider: DefaultManagedObjectContextProvider(contextProvider: coreDataStack),
selfProfileViewsMonitor: SelfProfileViewsMonitorImplementation(),
userSession: userSession,
trackingManager: nil,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
// along with this program. If not, see http://www.gnu.org/licenses/.
//

import WireDataModel
import WireTestingPackage
import XCTest

Expand All @@ -25,6 +26,10 @@ final class MockServicesOptionsViewModelConfiguration: ConversationServicesOptio
// MARK: Properties

typealias SetHandler = (Bool, (Result<Void, Error>) -> Void) -> Void

var messageProtocol: MessageProtocol = .proteus
var areLegacyBotsAvailable = false
var isAppsFeatureEnabled = true
var allowApps: Bool
var allowAppsChangedHandler: ((Bool) -> Void)?
var areAppsPresent = true
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ final class StartUIViewControllerSnapshotTests: CoreDataSnapshotTestCase {

func setupSut() {
sut = StartUIViewController(
areLegacyBotsAvailable: true,
isAppsFeatureEnabled: true,
userSession: userSession,
mainCoordinator: mockMainCoordinator,
Expand Down
1 change: 1 addition & 0 deletions wire-ios/Wire-iOS Tests/ZClientViewControllerTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ final class ZClientViewControllerTests: XCTestCase {
userSession.coreDataStack = coreDataFixture.coreDataStack
sut = ZClientViewController(
account: Account.mockAccount(imageData: mockImageData),
contextProvider: DefaultManagedObjectContextProvider(contextProvider: coreDataFixture.coreDataStack),
selfProfileViewsMonitor: MockSelfProfileViewsMonitorImplementation(didViewSelfProfile: false),
userSession: userSession,
trackingManager: nil,
Expand Down
2 changes: 1 addition & 1 deletion wire-ios/Wire-iOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -646,10 +646,10 @@
ConversationMessageCell/MockCell.swift,
ConversationMessageCell/ReadReceiptSystemMessage/ReadReceiptViewModelTests.swift,
ConversationMessageCell/SimpleChatBubblesSnapshotTests.swift,
ConversationOptionsServicesViewControllerTests.swift,
ConversationOptionsViewControllerTests.swift,
ConversationReplyCellDescriptionTests.swift,
ConversationReplyCellTests.swift,
ConversationServicesOptionsViewControllerTests.swift,
ConversationStatusTests.swift,
"ConversationStatusTests+Icon.swift",
ConversationTitleViewTests.swift,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,7 @@ final class AddParticipantsViewController: UIViewController {
let updated = ConversationCreationValues(
isChannel: values.isChannel,
isAppsFeatureEnabled: values.isAppsFeatureEnabled,
areLegacyBotsAvailable: values.areLegacyBotsAvailable,
name: values.name,
participants: userSelection.users,
allowGuests: values.allowGuests,
Expand Down
Loading
Loading