Skip to content

Commit e7d998d

Browse files
authored
Merge branch 'develop' into enhancement/increase-spm-swift-version
2 parents 1e44a1d + 579ac6e commit e7d998d

File tree

123 files changed

+6824
-725
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+6824
-725
lines changed

.github/workflows/cron-checks.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
setup_runtime: false
4949
- ios: 17.5
5050
xcode: 15.4
51-
os: macos-15
51+
os: macos-14
5252
device: "iPhone 15 Pro"
5353
setup_runtime: false
5454
- ios: 16.4
@@ -131,7 +131,7 @@ jobs:
131131
setup_runtime: false
132132
- ios: 17.5
133133
xcode: 15.4
134-
os: macos-15
134+
os: macos-14
135135
device: "iPhone 15 Pro"
136136
setup_runtime: false
137137
- ios: 16.4
@@ -197,7 +197,7 @@ jobs:
197197

198198
build-old-xcode:
199199
name: Build SDKs (Xcode 15)
200-
runs-on: macos-15
200+
runs-on: macos-14
201201
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
202202
env:
203203
XCODE_VERSION: "15.4"
@@ -227,7 +227,7 @@ jobs:
227227

228228
automated-code-review:
229229
name: Automated Code Review
230-
runs-on: macos-15
230+
runs-on: macos-14
231231
env:
232232
XCODE_VERSION: "15.4"
233233
steps:
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: "Merge main to develop"
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: write
8+
9+
jobs:
10+
merge:
11+
name: Merge
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4.1.1
15+
with:
16+
token: ${{ secrets.ADMIN_API_TOKEN }}
17+
fetch-depth: 0
18+
19+
- uses: ./.github/actions/ruby-cache
20+
21+
- run: bundle exec fastlane merge_main
22+
env:
23+
GITHUB_TOKEN: ${{ secrets.ADMIN_API_TOKEN }}
24+
25+
- uses: 8398a7/action-slack@v3
26+
if: failure()
27+
with:
28+
status: ${{ job.status }}
29+
text: "⚠️ <!subteam^S05RBQ69U1H>, the merge of `main` to `develop` failed on CI. Consider using this command locally: `bundle exec fastlane merge_main`"
30+
fields: repo,commit,author,workflow
31+
env:
32+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

.github/workflows/release-publish.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,3 @@ jobs:
2626
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
2727
APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }}
2828
run: bundle exec fastlane publish_release --verbose
29-
30-
- uses: 8398a7/action-slack@v3
31-
with:
32-
status: ${{ job.status }}
33-
text: "🎉 The new release has been shipped! 🚢\n\n⚠️ <!subteam^S05RBQ69U1H>, don't forget to merge `main` back to `develop` from `localhost` using the command: `bundle exec fastlane merge_main`"
34-
fields: repo
35-
env:
36-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

.github/workflows/smoke-checks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ jobs:
131131

132132
automated-code-review:
133133
name: Automated Code Review
134-
runs-on: macos-15
134+
runs-on: macos-14
135135
env:
136136
XCODE_VERSION: "15.4"
137137
if: ${{ github.event.inputs.record_snapshots_swiftui != 'true' && github.event.inputs.record_snapshots_uikit != 'true' }}
@@ -154,7 +154,7 @@ jobs:
154154

155155
build-xcode15:
156156
name: Build SDKs (Xcode 15)
157-
runs-on: macos-15
157+
runs-on: macos-14
158158
needs: test-llc-debug
159159
if: ${{ github.event.inputs.record_snapshots_swiftui != 'true' && github.event.inputs.record_snapshots_uikit != 'true' }}
160160
env:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,5 @@ Credentials.xcconfig
118118

119119
# Cursor/VS Code Settings
120120
.vscode/settings.json
121+
.vscode/launch.json
122+
buildServer.json

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
44

55
# Upcoming
66

7+
### 🐞 Fixed
8+
- The CallViewModel will now respect the dashboard's `CallSettings` when starting a `Call` with `ring:true` and without provided `CallSettings`. [#841](https://github.com/GetStream/stream-video-swift/pull/841)
9+
10+
# [1.24.0](https://github.com/GetStream/stream-video-swift/releases/tag/1.24.0)
11+
_June 02, 2025_
12+
713
### ✅ Added
14+
- Stats V2 reporting. [#806](https://github.com/GetStream/stream-video-swift/pull/806)
815
- `CallViewController` was updated to accept the `video` flag when starting a call. [#811](https://github.com/GetStream/stream-video-swift/pull/811)
16+
- `team` property when creating calls through `CallViewModel` and/or `CallViewController` [#817](https://github.com/GetStream/stream-video-swift/pull/817)
17+
18+
### 🔄 Changed
19+
- When joining a Call, if the user has an external audio device connected, we will ignore the remote `CallSettings.speakerOn = true`. [#819](https://github.com/GetStream/stream-video-swift/pull/819)
20+
- CallKit will report correctly the rejection reason when ringing timeout is reached. [#820](https://github.com/GetStream/stream-video-swift/pull/820)
921

1022
### 🐞 Fixed
1123
- Fix a retain cycle that was causing StreamVideo to leak in projects using NoiseCancellation. [#814](https://github.com/GetStream/stream-video-swift/pull/814)
24+
- Fix occasional crash caused inside `MicrophoneChecker`. [#813](https://github.com/GetStream/stream-video-swift/pull/813)
25+
- Fix `video` parameter wasn't respected when creating Calls, causing CallKit notifications to always show a call as `audio`. [#818](https://github.com/GetStream/stream-video-swift/pull/818)
1226

1327
# [1.22.2](https://github.com/GetStream/stream-video-swift/releases/tag/1.22.2)
1428
_May 13, 2025_

DemoApp/Sources/Components/DemoAppViewFactory.swift

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -90,24 +90,23 @@ final class DemoAppViewFactory: ViewFactory {
9090
availableFrame: CGRect,
9191
onChangeTrackVisibility: @escaping @MainActor(CallParticipant, Bool) -> Void
9292
) -> some View {
93-
DefaultViewFactory
94-
.shared
95-
.makeVideoParticipantsView(
96-
viewModel: viewModel,
97-
availableFrame: availableFrame,
98-
onChangeTrackVisibility: onChangeTrackVisibility
99-
)
100-
.snapshot(trigger: snapshotTrigger) { [weak viewModel] snapshot in
101-
Task { @MainActor [weak viewModel] in
102-
viewModel?.sendSnapshot(snapshot)
103-
}
93+
VideoParticipantsView(
94+
viewFactory: self,
95+
viewModel: viewModel,
96+
availableFrame: availableFrame,
97+
onChangeTrackVisibility: onChangeTrackVisibility
98+
)
99+
.snapshot(trigger: snapshotTrigger) { [weak viewModel] snapshot in
100+
Task { @MainActor [weak viewModel] in
101+
viewModel?.sendSnapshot(snapshot)
104102
}
105-
.overlay(
106-
VStack {
107-
Spacer()
108-
DemoClosedCaptionsView(viewModel)
109-
.padding(.bottom, 30)
110-
}
111-
)
103+
}
104+
.overlay(
105+
VStack {
106+
Spacer()
107+
DemoClosedCaptionsView(viewModel)
108+
.padding(.bottom, 30)
109+
}
110+
)
112111
}
113112
}

Gemfile.lock

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,32 +25,32 @@ GEM
2525
artifactory (3.0.17)
2626
ast (2.4.3)
2727
atomos (0.1.3)
28-
aws-eventstream (1.3.2)
29-
aws-partitions (1.1091.0)
30-
aws-sdk-core (3.222.2)
28+
aws-eventstream (1.4.0)
29+
aws-partitions (1.1114.0)
30+
aws-sdk-core (3.225.1)
3131
aws-eventstream (~> 1, >= 1.3.0)
3232
aws-partitions (~> 1, >= 1.992.0)
3333
aws-sigv4 (~> 1.9)
3434
base64
3535
jmespath (~> 1, >= 1.6.1)
3636
logger
37-
aws-sdk-kms (1.99.0)
38-
aws-sdk-core (~> 3, >= 3.216.0)
37+
aws-sdk-kms (1.104.0)
38+
aws-sdk-core (~> 3, >= 3.225.0)
3939
aws-sigv4 (~> 1.5)
40-
aws-sdk-s3 (1.183.0)
41-
aws-sdk-core (~> 3, >= 3.216.0)
40+
aws-sdk-s3 (1.189.0)
41+
aws-sdk-core (~> 3, >= 3.225.0)
4242
aws-sdk-kms (~> 1)
4343
aws-sigv4 (~> 1.5)
44-
aws-sigv4 (1.11.0)
44+
aws-sigv4 (1.12.0)
4545
aws-eventstream (~> 1, >= 1.0.2)
4646
babosa (1.0.4)
4747
badge (0.13.0)
4848
fastimage (>= 1.6)
4949
fastlane (>= 2.0)
5050
mini_magick (>= 4.9.4, < 5.0.0)
51-
base64 (0.2.0)
52-
benchmark (0.4.0)
53-
bigdecimal (3.1.9)
51+
base64 (0.3.0)
52+
benchmark (0.4.1)
53+
bigdecimal (3.2.2)
5454
claide (1.1.0)
5555
claide-plugins (0.9.2)
5656
cork
@@ -100,7 +100,7 @@ GEM
100100
commander (4.6.0)
101101
highline (~> 2.0.0)
102102
concurrent-ruby (1.3.5)
103-
connection_pool (2.5.2)
103+
connection_pool (2.5.3)
104104
cork (0.3.0)
105105
colored2 (~> 3.1)
106106
danger (9.5.1)
@@ -126,7 +126,7 @@ GEM
126126
rake (>= 12.0.0, < 14.0.0)
127127
domain_name (0.6.20240107)
128128
dotenv (2.8.1)
129-
drb (2.2.1)
129+
drb (2.2.3)
130130
emoji_regex (3.2.3)
131131
escape (0.0.4)
132132
ethon (0.16.0)
@@ -163,7 +163,7 @@ GEM
163163
faraday_middleware (1.2.1)
164164
faraday (~> 1.0)
165165
fastimage (2.4.0)
166-
fastlane (2.227.1)
166+
fastlane (2.228.0)
167167
CFPropertyList (>= 2.3, < 4.0.0)
168168
addressable (>= 2.8, < 3.0.0)
169169
artifactory (~> 3.0)
@@ -210,7 +210,7 @@ GEM
210210
bundler
211211
fastlane
212212
pry
213-
fastlane-plugin-stream_actions (0.3.79)
213+
fastlane-plugin-stream_actions (0.3.84)
214214
xctest_list (= 1.2.1)
215215
fastlane-plugin-versioning (0.7.1)
216216
fastlane-sirp (1.0.0)
@@ -266,7 +266,7 @@ GEM
266266
i18n (1.14.7)
267267
concurrent-ruby (~> 1.0)
268268
jmespath (1.6.2)
269-
json (2.11.3)
269+
json (2.12.2)
270270
jwt (2.10.1)
271271
base64
272272
kramdown (2.5.1)
@@ -277,7 +277,7 @@ GEM
277277
method_source (1.1.0)
278278
mini_magick (4.13.2)
279279
mini_mime (1.1.5)
280-
mini_portile2 (2.8.8)
280+
mini_portile2 (2.8.9)
281281
minitest (5.25.5)
282282
molinillo (0.8.0)
283283
multi_json (1.15.0)
@@ -287,7 +287,7 @@ GEM
287287
mutex_m (0.3.0)
288288
nanaimo (0.4.0)
289289
nap (1.1.0)
290-
naturally (2.2.1)
290+
naturally (2.2.2)
291291
netrc (0.11.0)
292292
nio4r (2.7.4)
293293
nkf (0.2.0)
@@ -314,18 +314,18 @@ GEM
314314
puma (6.6.0)
315315
nio4r (~> 2.0)
316316
racc (1.8.1)
317-
rack (3.1.13)
317+
rack (3.1.16)
318318
rack-protection (4.1.1)
319319
base64 (>= 0.1.0)
320320
logger (>= 1.6.0)
321321
rack (>= 3.0.0, < 4)
322-
rack-session (2.1.0)
322+
rack-session (2.1.1)
323323
base64 (>= 0.1.0)
324324
rack (>= 3.0.0)
325325
rackup (2.2.1)
326326
rack (>= 3)
327327
rainbow (3.1.1)
328-
rake (13.2.1)
328+
rake (13.3.0)
329329
rchardet (1.9.0)
330330
regexp_parser (2.10.0)
331331
representable (3.2.0)
@@ -345,7 +345,7 @@ GEM
345345
rubocop-ast (>= 1.23.0, < 2.0)
346346
ruby-progressbar (~> 1.7)
347347
unicode-display_width (>= 1.4.0, < 3.0)
348-
rubocop-ast (1.44.1)
348+
rubocop-ast (1.45.1)
349349
parser (>= 3.3.7.2)
350350
prism (~> 1.4)
351351
rubocop-performance (1.19.1)
@@ -362,7 +362,7 @@ GEM
362362
faraday (>= 0.17.3, < 3)
363363
securerandom (0.4.1)
364364
security (0.1.5)
365-
signet (0.19.0)
365+
signet (0.20.0)
366366
addressable (~> 2.8)
367367
faraday (>= 0.17.5, < 3.a)
368368
jwt (>= 1.5, < 3.0)
@@ -424,7 +424,7 @@ DEPENDENCIES
424424
fastlane
425425
fastlane-plugin-create_xcframework
426426
fastlane-plugin-lizard
427-
fastlane-plugin-stream_actions (= 0.3.79)
427+
fastlane-plugin-stream_actions (= 0.3.84)
428428
fastlane-plugin-versioning
429429
json
430430
plist

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<a href="https://swift.org"><img src="https://img.shields.io/badge/Swift-6.0%2B-orange.svg" /></a>
1010
</p>
1111
<p align="center">
12-
<img id="stream-video-label" alt="StreamVideo" src="https://img.shields.io/badge/StreamVideo-7.54%20MB-blue"/>
12+
<img id="stream-video-label" alt="StreamVideo" src="https://img.shields.io/badge/StreamVideo-7.89%20MB-blue"/>
1313
<img id="stream-video-swiftui-label" alt="StreamVideoSwiftUI" src="https://img.shields.io/badge/StreamVideoSwiftUI-2.26%20MB-blue"/>
1414
<img id="stream-video-uikit-label" alt="StreamVideoUIKit" src="https://img.shields.io/badge/StreamVideoUIKit-2.38%20MB-blue"/>
1515
<img id="stream-web-rtc-label" alt="StreamWebRTC" src="https://img.shields.io/badge/StreamWebRTC-9.85%20MB-blue"/>
@@ -159,6 +159,10 @@ The `CallViewController` is created with a `CallViewModel` - the same one used i
159159

160160
At the moment, all the customizations in the UIKit SDK, need to be done in SwiftUI.
161161

162+
## Chat SDK
163+
164+
We also offer [Chat SDK](https://github.com/GetStream/stream-chat-swift) that seamlessly integrates with our Video SDK. To find out more about this product, please check our [docs](https://getstream.io/chat/docs/ios/).
165+
162166
## Roadmap
163167

164168
Video roadmap and changelog is available [here](https://github.com/GetStream/protocol/discussions/127).

Sources/StreamVideo/Call.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,10 @@ public class Call: @unchecked Sendable, WSEventsSubscriber {
324324
video: video
325325
),
326326
notify: notify,
327-
ring: ring
327+
ring: ring,
328+
// This parameter is required for setting the video/audio in the
329+
// CallKit VoIP notifications.
330+
video: video
328331
)
329332
let response = try await coordinatorClient.getOrCreateCall(
330333
type: callType,
@@ -1192,7 +1195,6 @@ public class Call: @unchecked Sendable, WSEventsSubscriber {
11921195
custom: [String: RawJSON]? = nil
11931196
) async throws -> CollectUserFeedbackResponse {
11941197
try await callController.collectUserFeedback(
1195-
sessionID: state.sessionId,
11961198
custom: custom,
11971199
rating: rating,
11981200
reason: reason

0 commit comments

Comments
 (0)