Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
6579e76
chore(cryptobox): retire `ProteusProvider` - WPB-21821
David-Henner Nov 13, 2025
b974900
remove dead code
David-Henner Nov 24, 2025
f8b7b62
fix legal hold tests
David-Henner Nov 24, 2025
ecd6b28
format
David-Henner Nov 24, 2025
0a40018
Merge branch 'develop' into chore/retire-proteus-provider-WPB-21821
David-Henner Nov 24, 2025
c93bc57
fix tests
David-Henner Nov 25, 2025
3464629
Merge branch 'chore/retire-proteus-provider-WPB-21821' of github.com:…
David-Henner Nov 25, 2025
6b41d50
Merge branch 'develop' into chore/retire-proteus-provider-WPB-21821
David-Henner Nov 28, 2025
37d02a7
chore(cryptobox): remove proteusViaCoreCrypto flag - WPB-14604
David-Henner Nov 25, 2025
4fe5399
avoid force unwrapping note
David-Henner Nov 25, 2025
c81fd15
fix `CallingRequestStrategyTests`
David-Henner Nov 25, 2025
f404214
remove `try`s for non-throwing methods
David-Henner Nov 28, 2025
ae55be2
fix typo
David-Henner Nov 28, 2025
8ce6241
formatting
David-Henner Nov 28, 2025
cf13810
async proteusService getter
David-Henner Dec 4, 2025
d64cb07
Merge branch 'develop' into chore/retire-proteus-provider-WPB-21821
David-Henner Dec 4, 2025
42e4349
remove empty `defer`s
David-Henner Dec 4, 2025
f34ba9a
Merge branch 'develop' into chore/retire-proteus-provider-WPB-21821
David-Henner Dec 4, 2025
a046348
Merge branch 'chore/retire-proteus-provider-WPB-21821' into chore/rem…
David-Henner Dec 4, 2025
846e482
Merge branch 'develop' into chore/remove-proteusViaCoreCrypto-flag-WP…
David-Henner Dec 5, 2025
c3fc77d
update submodule
David-Henner Dec 5, 2025
8382488
fix bad conflict resolution
David-Henner Dec 5, 2025
e7710b8
Merge branch 'develop' into chore/remove-proteusViaCoreCrypto-flag-WP…
David-Henner Dec 5, 2025
8f7315f
Merge branch 'develop' into chore/remove-proteusViaCoreCrypto-flag-WP…
David-Henner Dec 5, 2025
fe84f7c
record snapshots
David-Henner Dec 5, 2025
3e410a7
Merge branch 'develop' into chore/remove-proteusViaCoreCrypto-flag-WP…
David-Henner Dec 8, 2025
a33edf9
reset snapshots
David-Henner Dec 8, 2025
507b78d
disable cryptobox migration
David-Henner Dec 8, 2025
2c5c733
format
David-Henner Dec 8, 2025
100c36f
remove tests for cryptobox migration manager
David-Henner Dec 8, 2025
3cb665d
add timeout
David-Henner Dec 9, 2025
76b6180
Merge branch 'develop' into chore/remove-proteusViaCoreCrypto-flag-WP…
David-Henner Dec 11, 2025
5658cb2
Merge branch 'develop' into chore/remove-proteusViaCoreCrypto-flag-WP…
David-Henner Dec 11, 2025
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
2 changes: 1 addition & 1 deletion wire-ios-build-assets
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@

func configureViewContext(_ context: NSManagedObjectContext) async {
context.markAsUIContext()
await context.perform {

Check warning on line 372 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure

Check warning on line 372 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure
context.localDomain = self.localDomain
context.isFederationEnabled = self.isFederationEnabled
context.createDispatchGroups()
Expand All @@ -381,17 +381,17 @@
}

func configureContextReferences() async {
await viewContext.perform {

Check warning on line 384 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure

Check warning on line 384 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure
self.viewContext.zm_sync = self.syncContext
}
await syncContext.perform {

Check warning on line 387 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure

Check warning on line 387 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure
self.syncContext.zm_userInterface = self.viewContext
}
}

func configureSyncContext(_ context: NSManagedObjectContext) async {
context.markAsSyncContext()
await context.perform {

Check warning on line 394 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure

Check warning on line 394 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure
context.localDomain = self.localDomain
context.isFederationEnabled = self.isFederationEnabled
context.createDispatchGroups()
Expand All @@ -401,13 +401,6 @@
context.accountDirectoryURL = self.accountContainer
context.applicationContainerURL = self.applicationContainer

if !DeveloperFlag.proteusViaCoreCrypto.isOn {
context.setupUserKeyStore(
accountDirectory: self.accountContainer,
applicationContainer: self.applicationContainer
)
}

context.undoManager = nil
context.mergePolicy = NSMergePolicy(merge: .mergeByPropertyObjectTrumpMergePolicyType)

Expand All @@ -417,7 +410,7 @@

func configureSearchContext(_ context: NSManagedObjectContext) async {
context.markAsSearch()
await context.perform {

Check warning on line 413 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure

Check warning on line 413 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure
context.localDomain = self.localDomain
context.isFederationEnabled = self.isFederationEnabled
context.createDispatchGroups()
Expand All @@ -430,7 +423,7 @@

func configureEventContext(_ context: NSManagedObjectContext) async {
await context.perform {
context.createDispatchGroups()

Check warning on line 426 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure

Check warning on line 426 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@Sendable' closure

Capture of 'self' with non-Sendable type 'CoreDataStack' in a '@sendable' closure
self.dispatchGroup.map(context.addGroup(_:))
}
}
Expand Down Expand Up @@ -559,7 +552,7 @@
}

// MARK: -

Check warning on line 555 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Class 'PersistentContainer' must restate inherited '@unchecked Sendable' conformance

Class 'PersistentContainer' must restate inherited '@unchecked Sendable' conformance

Check warning on line 555 in wire-ios-data-model/Source/ManagedObjectContext/CoreDataStack.swift

View workflow job for this annotation

GitHub Actions / Test Results

Class 'PersistentContainer' must restate inherited '@unchecked Sendable' conformance

Class 'PersistentContainer' must restate inherited '@unchecked Sendable' conformance
public class PersistentContainer: NSPersistentContainer {

var storeURL: URL? {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,8 @@ public class CryptoboxMigrationManager: CryptoboxMigrationManagerInterface {
// MARK: - Methods

public func isMigrationNeeded(accountDirectory: URL) -> Bool {
guard DeveloperFlag.proteusViaCoreCrypto.isOn else { return false }
let cryptoboxDirectory = fileManager.cryptoboxDirectory(in: accountDirectory)
return fileManager.fileExists(atPath: cryptoboxDirectory.path)
// disabling migration. This will be removed completely in https://wearezeta.atlassian.net/browse/WPB-22227
false
}

public func performMigration(
Expand Down
145 changes: 0 additions & 145 deletions wire-ios-data-model/Tests/Proteus/CryptoboxMigrationManagerTests.swift

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,6 @@ import XCTest

class ZMConversationLastMessagesTest: ZMBaseManagedObjectTest {

override class func setUp() {
DeveloperFlag.storage = UserDefaults(suiteName: UUID().uuidString)!
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = false

super.setUp()
}

override class func tearDown() {
super.tearDown()
DeveloperFlag.storage = UserDefaults.standard
}

func createConversation(on moc: NSManagedObjectContext? = nil) -> ZMConversation {
let conversation = ZMConversation.insertNewObject(in: moc ?? uiMOC)
conversation.remoteIdentifier = UUID()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,6 @@ import XCTest

class CacheAssetTests: BaseZMAssetClientMessageTests {

override class func setUp() {
super.setUp()
DeveloperFlag.storage = UserDefaults(suiteName: UUID().uuidString)!
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = false
}

override class func tearDown() {
super.tearDown()
DeveloperFlag.storage = UserDefaults.standard
}

// MARK: - Fixtures

func fileAsset() -> WireDataModel.CacheAsset {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,6 @@ import GenericMessageProtocol

final class ZMClientMessageTests_MLSEncryptedPayloadGenerator: BaseZMClientMessageTests {

override func setUp() {
DeveloperFlag.storage = UserDefaults(suiteName: UUID().uuidString)!
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = true

super.setUp()
}

override func tearDown() {
super.tearDown()
DeveloperFlag.storage = UserDefaults.standard
}

let encryptionFunction: (Data) throws -> Data = {
$0.zmSHA256Digest()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,6 @@ import XCTest

final class ClientMessageTests: BaseZMClientMessageTests {

override static func setUp() {
super.setUp()
DeveloperFlag.storage = UserDefaults(suiteName: UUID().uuidString)!
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = false
}

override static func tearDown() {
super.tearDown()
DeveloperFlag.storage = UserDefaults.standard
}

func testThatItDoesNotCreateTextMessagesFromUpdateEventIfThereIsAlreadyAClientMessageWithTheSameNonce() {
// given
let nonce = UUID.create()
Expand Down
12 changes: 0 additions & 12 deletions wire-ios-data-model/Tests/Source/Model/PermissionsTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,6 @@ import WireTesting

class PermissionsTests: BaseZMClientMessageTests {

override class func setUp() {
super.setUp()
DeveloperFlag.storage = UserDefaults(suiteName: UUID().uuidString)!
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = false
}

override class func tearDown() {
super.tearDown()
DeveloperFlag.storage = UserDefaults.standard
}

private let allPermissions: Permissions = [
.createConversation,
.deleteConversation,
Expand Down
12 changes: 0 additions & 12 deletions wire-ios-data-model/Tests/Source/Model/TeamDeletionRuleTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,6 @@ import WireTesting

class TeamDeletionRuleTests: BaseZMClientMessageTests {

override class func setUp() {
super.setUp()
DeveloperFlag.storage = UserDefaults(suiteName: UUID().uuidString)!
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = false
}

override class func tearDown() {
super.tearDown()
DeveloperFlag.storage = UserDefaults.standard
}

func testThatItDoesntDeleteConversationsWhichArePartOfATeamWhenTeamGetsDeleted() {
// given
let team = Team.insertNewObject(in: uiMOC)
Expand Down
12 changes: 0 additions & 12 deletions wire-ios-data-model/Tests/Source/Model/TextSearchQueryTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,6 @@ private class MockTextSearchQueryDelegate: TextSearchQueryDelegate {

class TextSearchQueryTests: BaseZMClientMessageTests {

override class func setUp() {
super.setUp()
DeveloperFlag.storage = UserDefaults(suiteName: UUID().uuidString)!
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = false
}

override class func tearDown() {
super.tearDown()
DeveloperFlag.storage = UserDefaults.standard
}

func testThatItOnlyReturnsResultFromTheCorrectConversationNotYetIndexed() {
// Given
let conversation = ZMConversation.insertNewObject(in: uiMOC)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,6 @@ import XCTest
@preconcurrency
class ZMUserLegalHoldTests: ModelObjectsTests {

override func setUp() {
DeveloperFlag.storage = .temporary()
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = false
super.setUp()
}

override func tearDown() {
DeveloperFlag.storage = .standard
super.tearDown()
}

func testThatLegalHoldStatusIsDisabled_ByDefault() {
// GIVEN
let selfUser = ZMUser.selfUser(in: uiMOC)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
// along with this program. If not, see http://www.gnu.org/licenses/.
//

import WireCryptobox
import WireUtilities
import XCTest

Expand All @@ -25,18 +24,6 @@ import XCTest

final class UserClientTests: ZMBaseManagedObjectTest {

override static func setUp() {
super.setUp()
DeveloperFlag.storage = UserDefaults(suiteName: UUID().uuidString)!
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = false
}

override static func tearDown() {
super.tearDown()
DeveloperFlag.storage = UserDefaults.standard
}

func clientWithTrustedClientCount(
_ trustedCount: UInt,
ignoredClientCount: UInt,
Expand Down Expand Up @@ -169,8 +156,6 @@ final class UserClientTests: ZMBaseManagedObjectTest {

func testThatItDeletesASession() async throws {
// Given
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = true
var otherClient: UserClient!
let mockProteusService = MockProteusServiceInterface()
mockProteusService.deleteSessionId_MockMethod = { _ in
Expand All @@ -195,13 +180,10 @@ final class UserClientTests: ZMBaseManagedObjectTest {
}

XCTAssert(waitForAllGroupsToBeEmpty(withTimeout: 0.5))
flag.isOn = false
}

func testThatItDeletesASessionWhenDeletingAClient() async {
// Given
var flag = DeveloperFlag.proteusViaCoreCrypto
flag.isOn = true
var otherClient: UserClient!
var otherClientSessionID: ProteusSessionID!
let mockProteusService = MockProteusServiceInterface()
Expand Down Expand Up @@ -230,7 +212,6 @@ final class UserClientTests: ZMBaseManagedObjectTest {
}

XCTAssert(waitForAllGroupsToBeEmpty(withTimeout: 0.5))
flag.isOn = false
}

func testThatItUpdatesConversationSecurityLevelWhenDeletingClient() async {
Expand Down
Loading
Loading