Skip to content

Commit 326a384

Browse files
committed
Update demo app to use Task instead of ensureIsolated
1 parent 46d55a6 commit 326a384

File tree

10 files changed

+64
-83
lines changed

10 files changed

+64
-83
lines changed

DemoApp/Extensions/MainActor+Extensions.swift

Lines changed: 0 additions & 21 deletions
This file was deleted.

DemoApp/Screens/Create Chat/CreateChatViewController.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class CreateChatViewController: UIViewController {
2525

2626
// Create the Channel on backend
2727
controller.synchronize { [weak self] error in
28-
MainActor.ensureIsolated { [weak self] in
28+
Task { @MainActor in
2929
if let error = error {
3030
self?.presentAlert(title: "Error when creating the channel", message: error.localizedDescription)
3131
return
@@ -147,7 +147,7 @@ class CreateChatViewController: UIViewController {
147147
// Empty initial search to get all users
148148
searchController.search(term: nil) { [weak self] error in
149149
if error != nil {
150-
MainActor.ensureIsolated { [weak self] in
150+
Task { @MainActor in
151151
self?.update(for: .error)
152152
}
153153
}
@@ -241,7 +241,7 @@ class CreateChatViewController: UIViewController {
241241
operation = DispatchWorkItem { [weak self] in
242242
self?.searchController.search(term: sender.text) { [weak self] error in
243243
if error != nil {
244-
MainActor.ensureIsolated { [weak self] in
244+
Task { @MainActor in
245245
self?.update(for: .error)
246246
}
247247
}

DemoApp/Screens/Create Chat/NameGroupViewController.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ class NameGroupViewController: UIViewController {
131131
name: name,
132132
members: Set(selectedUsers.map(\.id))
133133
)
134-
channelController?.synchronize { error in
135-
MainActor.ensureIsolated { [weak self] in
134+
channelController?.synchronize { [weak self] error in
135+
Task { @MainActor in
136136
if let error = error {
137137
self?.presentAlert(title: "Error when creating the channel", message: error.localizedDescription)
138138
} else {

DemoApp/Screens/DemoDraftMessageListVC.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ class DemoDraftMessageListVC: UIViewController, ThemeProvider {
9494
currentUserController.delegate = self
9595
loadingIndicator.startAnimating()
9696
currentUserController.loadDraftMessages { [weak self] _ in
97-
MainActor.ensureIsolated { [weak self] in
97+
Task { @MainActor in
9898
self?.loadingIndicator.stopAnimating()
9999
}
100100
}
@@ -107,7 +107,7 @@ class DemoDraftMessageListVC: UIViewController, ThemeProvider {
107107

108108
isPaginatingDrafts = true
109109
currentUserController.loadMoreDraftMessages { [weak self] _ in
110-
MainActor.ensureIsolated { [weak self] in
110+
Task { @MainActor in
111111
self?.isPaginatingDrafts = false
112112
}
113113
}

DemoApp/Screens/MembersViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class MembersViewController: UITableViewController, ChatChannelMemberListControl
3737

3838
private func synchronizeAndUpdateData() {
3939
membersController.synchronize { [weak self] _ in
40-
MainActor.ensureIsolated { [weak self] in
40+
Task { @MainActor in
4141
self?.updateData()
4242
}
4343
}

DemoApp/StreamChat/Components/DemoChatChannelListRouter.swift

Lines changed: 37 additions & 35 deletions
Large diffs are not rendered by default.

DemoApp/StreamChat/Components/DemoChatMessageActionsVC.swift

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,20 @@ final class DemoChatMessageActionsVC: ChatMessageActionsVC {
3737
guard confirmed else { return }
3838

3939
self.messageController.deleteMessage { _ in
40-
let pollId = self.messageController.message?.poll?.id
41-
if let pollId, AppConfig.shared.demoAppConfig.shouldDeletePollOnMessageDeletion {
42-
let channelController = self.messageController.client.channelController(
43-
for: self.messageController.cid
44-
)
45-
channelController.deletePoll(pollId: pollId) { _ in
40+
Task { @MainActor in
41+
let pollId = self.messageController.message?.poll?.id
42+
if let pollId, AppConfig.shared.demoAppConfig.shouldDeletePollOnMessageDeletion {
43+
let channelController = self.messageController.client.channelController(
44+
for: self.messageController.cid
45+
)
46+
channelController.deletePoll(pollId: pollId) { _ in
47+
Task { @MainActor in
48+
self.delegate?.chatMessageActionsVCDidFinish(self)
49+
}
50+
}
51+
} else {
4652
self.delegate?.chatMessageActionsVCDidFinish(self)
4753
}
48-
} else {
49-
self.delegate?.chatMessageActionsVCDidFinish(self)
5054
}
5155
}
5256
}
@@ -65,7 +69,7 @@ final class DemoChatMessageActionsVC: ChatMessageActionsVC {
6569
if let error = error {
6670
log.error("Error when pinning message: \(error)")
6771
}
68-
MainActor.ensureIsolated {
72+
Task { @MainActor in
6973
self.delegate?.chatMessageActionsVCDidFinish(self)
7074
}
7175
}
@@ -74,7 +78,7 @@ final class DemoChatMessageActionsVC: ChatMessageActionsVC {
7478
if let error = error {
7579
log.error("Error when unpinning message: \(error)")
7680
}
77-
MainActor.ensureIsolated {
81+
Task { @MainActor in
7882
self.delegate?.chatMessageActionsVCDidFinish(self)
7983
}
8084
}
@@ -92,7 +96,7 @@ final class DemoChatMessageActionsVC: ChatMessageActionsVC {
9296
guard confirmed else { return }
9397

9498
self.messageController.deleteMessage(hard: true) { _ in
95-
MainActor.ensureIsolated {
99+
Task { @MainActor in
96100
self.delegate?.chatMessageActionsVCDidFinish(self)
97101
}
98102
}
@@ -107,7 +111,7 @@ final class DemoChatMessageActionsVC: ChatMessageActionsVC {
107111
action: { [weak self] _ in
108112
guard let self = self else { return }
109113
self.messageController.translate(to: .turkish) { _ in
110-
MainActor.ensureIsolated {
114+
Task { @MainActor in
111115
self.delegate?.chatMessageActionsVCDidFinish(self)
112116
}
113117
}

DemoApp/StreamChat/Components/DemoChatThreadVC.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class DemoChatThreadVC: ChatThreadVC, CurrentChatUserControllerDelegate {
5454
return
5555
}
5656
self.messageController.updateThread(title: title) { [weak self] result in
57-
MainActor.ensureIsolated { [weak self] in
57+
Task { @MainActor in
5858
self?.thread = try? result.get()
5959
}
6060
}
@@ -65,7 +65,7 @@ class DemoChatThreadVC: ChatThreadVC, CurrentChatUserControllerDelegate {
6565
}),
6666
.init(title: "Load newest thread info", style: .default, handler: { [unowned self] _ in
6767
self.messageController.loadThread { [weak self] result in
68-
MainActor.ensureIsolated { [weak self] in
68+
Task { @MainActor in
6969
self?.thread = try? result.get()
7070
self?.present(DebugObjectViewController(object: self?.thread), animated: true)
7171
}

DemoApp/StreamChat/DemoAppCoordinator+DemoApp.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ private extension DemoAppCoordinator {
218218

219219
func disconnect() {
220220
chat.client?.disconnect { [weak self] in
221-
MainActor.ensureIsolated { [weak self] in
221+
Task { @MainActor in
222222
self?.showLogin(animated: true)
223223
}
224224
}

StreamChat.xcodeproj/project.pbxproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,6 @@
255255
4F1BEE7F2BE38B5500B6685C /* ReactionList_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F1BEE7E2BE38B5500B6685C /* ReactionList_Tests.swift */; };
256256
4F1FB7D62C7DE22D00C47C2A /* ChatMessageAudioAttachment_Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F1FB7D52C7DE22D00C47C2A /* ChatMessageAudioAttachment_Mock.swift */; };
257257
4F1FB7D82C7DEC6600C47C2A /* ChatMessageVideoAttachment_Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F1FB7D72C7DEC6600C47C2A /* ChatMessageVideoAttachment_Mock.swift */; };
258-
4F2D5A922D92B9570098B5EB /* MainActor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F2D5A912D92B9500098B5EB /* MainActor+Extensions.swift */; };
259258
4F312D0E2C905A2E0073A1BC /* FlagRequestBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F312D0D2C905A2E0073A1BC /* FlagRequestBody.swift */; };
260259
4F312D0F2C905A2E0073A1BC /* FlagRequestBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F312D0D2C905A2E0073A1BC /* FlagRequestBody.swift */; };
261260
4F3554982C9C0F7200479229 /* StreamJSONDecoder_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F3554972C9C0F6500479229 /* StreamJSONDecoder_Tests.swift */; };
@@ -3209,7 +3208,6 @@
32093208
4F1BEE7E2BE38B5500B6685C /* ReactionList_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactionList_Tests.swift; sourceTree = "<group>"; };
32103209
4F1FB7D52C7DE22D00C47C2A /* ChatMessageAudioAttachment_Mock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageAudioAttachment_Mock.swift; sourceTree = "<group>"; };
32113210
4F1FB7D72C7DEC6600C47C2A /* ChatMessageVideoAttachment_Mock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageVideoAttachment_Mock.swift; sourceTree = "<group>"; };
3212-
4F2D5A912D92B9500098B5EB /* MainActor+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MainActor+Extensions.swift"; sourceTree = "<group>"; };
32133211
4F312D0D2C905A2E0073A1BC /* FlagRequestBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlagRequestBody.swift; sourceTree = "<group>"; };
32143212
4F3554972C9C0F6500479229 /* StreamJSONDecoder_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamJSONDecoder_Tests.swift; sourceTree = "<group>"; };
32153213
4F427F652BA2F43200D92238 /* ConnectedUser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectedUser.swift; sourceTree = "<group>"; };
@@ -6703,7 +6701,6 @@
67036701
A3227E54284A479700EBE6CC /* Extensions */ = {
67046702
isa = PBXGroup;
67056703
children = (
6706-
4F2D5A912D92B9500098B5EB /* MainActor+Extensions.swift */,
67076704
A3227E75284A4C6400EBE6CC /* MessageReactionType+Position.swift */,
67086705
A3227E58284A484300EBE6CC /* UIImage+Resized.swift */,
67096706
A3227E5A284A489000EBE6CC /* UIViewController+Alert.swift */,
@@ -11069,7 +11066,6 @@
1106911066
AD7BE1682C1CB183000A5756 /* DebugObjectViewController.swift in Sources */,
1107011067
ADD328612C06463600BAD0E9 /* DemoChatThreadListVC.swift in Sources */,
1107111068
ADD3285A2C04DD8300BAD0E9 /* DemoAppTabBarController.swift in Sources */,
11072-
4F2D5A922D92B9570098B5EB /* MainActor+Extensions.swift in Sources */,
1107311069
8440860D28FBFE520027849C /* DemoAppCoordinator+DemoApp.swift in Sources */,
1107411070
647F66D5261E22C200111B19 /* DemoConnectionBannerView.swift in Sources */,
1107511071
A31783DD285B79EB005009B9 /* Bundle+PushProvider.swift in Sources */,

0 commit comments

Comments
 (0)