Skip to content

Commit 82cd117

Browse files
Merge branch 'GetStream:develop' into develop
2 parents 19e65dc + 222f93d commit 82cd117

File tree

77 files changed

+920
-420
lines changed

Some content is hidden

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

77 files changed

+920
-420
lines changed

.github/workflows/cron-checks.yml

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,24 @@ jobs:
2121
strategy:
2222
matrix:
2323
include:
24-
- ios: 18.5
25-
xcode: 16.4
26-
os: macos-15
24+
# - ios: "26.0" TODO: IOS-1181
25+
# device: "iPhone 17 Pro"
26+
# xcode: "26.0.1"
27+
# setup_runtime: false
28+
- ios: "18.5"
2729
device: "iPhone 16 Pro"
30+
xcode: "26.0.1"
2831
setup_runtime: false
29-
- ios: 17.5
30-
xcode: 15.4
31-
os: macos-14
32+
- ios: "17.5"
3233
device: "iPhone 15 Pro"
33-
setup_runtime: false
34-
- ios: 16.4
35-
xcode: 15.3 # fails on 15.4
36-
os: macos-14
34+
xcode: "26.0.1"
35+
setup_runtime: true
36+
- ios: "16.4"
3737
device: "iPhone 14 Pro"
38+
xcode: "16.4"
3839
setup_runtime: true
3940
fail-fast: false
40-
runs-on: ${{ matrix.os }}
41+
runs-on: macos-15
4142
env:
4243
GITHUB_EVENT: ${{ toJson(github.event) }}
4344
ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
@@ -91,9 +92,11 @@ jobs:
9192
strategy:
9293
matrix:
9394
include:
94-
- xcode: 16.4
95+
- xcode: 26.0.1 # swift 6.2
96+
os: macos-15
97+
- xcode: 16.4 # swift 6.1
9598
os: macos-15
96-
- xcode: 16.1
99+
- xcode: 16.1 # swift 6.0
97100
os: macos-14
98101
fail-fast: false
99102
runs-on: ${{ matrix.os }}
@@ -107,20 +110,20 @@ jobs:
107110
XCODE_VERSION: ${{ matrix.xcode }}
108111

109112
build-old-xcode:
110-
name: Build SDKs (Xcode 15)
113+
name: Build SDKs (Old Xcode)
111114
runs-on: macos-14
112115
env:
113-
XCODE_VERSION: "15.4"
116+
XCODE_VERSION: "16.1"
114117
steps:
115118
- name: Connect Bot
116119
uses: webfactory/[email protected]
117120
with:
118121
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
119122
- uses: actions/[email protected]
123+
- uses: ./.github/actions/xcode-cache
120124
- uses: ./.github/actions/ruby-cache
121-
timeout-minutes: 25
122125
- name: Build SwiftUI
123-
run: bundle exec fastlane test_ui device:"iPhone 15" build_for_testing:true
126+
run: bundle exec fastlane test_ui device:"iPhone 16" build_for_testing:true
124127
timeout-minutes: 25
125128
- name: Build XCFrameworks
126129
run: bundle exec fastlane build_xcframeworks
@@ -133,7 +136,7 @@ jobs:
133136
name: Automated Code Review
134137
runs-on: macos-14
135138
env:
136-
XCODE_VERSION: "15.4"
139+
XCODE_VERSION: "16.1"
137140
steps:
138141
- uses: actions/[email protected]
139142
- uses: ./.github/actions/bootstrap

.github/workflows/sdk-size-metrics.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
runs-on: macos-15
1919
env:
2020
GITHUB_TOKEN: '${{ secrets.CI_BOT_GITHUB_TOKEN }}'
21+
GITHUB_PR_NUM: ${{ github.event.pull_request.number }}
2122
steps:
2223
- name: Connect Bot
2324
uses: webfactory/[email protected]
@@ -28,10 +29,13 @@ jobs:
2829

2930
- uses: ./.github/actions/bootstrap
3031

31-
- name: Run SDK Size Metrics
32+
- name: Run General SDK Size Metrics
3233
run: bundle exec fastlane show_frameworks_sizes
3334
timeout-minutes: 30
3435
env:
35-
GITHUB_PR_NUM: ${{ github.event.pull_request.number }}
3636
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
3737
APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }}
38+
39+
- name: Run Detailed SDK Size Metrics
40+
run: bundle exec fastlane size_analyze
41+
timeout-minutes: 30

.github/workflows/smoke-checks.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
runs-on: macos-14
5151
if: ${{ github.event.inputs.record_snapshots != 'true' }}
5252
env:
53-
XCODE_VERSION: "15.4"
53+
XCODE_VERSION: "16.1"
5454
steps:
5555
- uses: actions/[email protected]
5656
- uses: ./.github/actions/bootstrap
@@ -63,22 +63,22 @@ jobs:
6363
- run: bundle exec fastlane pod_lint
6464
if: startsWith(github.event.pull_request.head.ref, 'release/')
6565

66-
build-xcode15:
67-
name: Build SDKs (Xcode 15)
66+
build-old-xcode:
67+
name: Build SDKs (Old Xcode)
6868
runs-on: macos-14
6969
if: ${{ github.event.inputs.record_snapshots != 'true' }}
7070
env:
71-
XCODE_VERSION: "15.4"
71+
XCODE_VERSION: "16.1"
7272
steps:
7373
- name: Connect Bot
7474
uses: webfactory/[email protected]
7575
with:
7676
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
7777
- uses: actions/[email protected]
78+
- uses: ./.github/actions/xcode-cache
7879
- uses: ./.github/actions/ruby-cache
79-
timeout-minutes: 25
8080
- name: Build SwiftUI
81-
run: bundle exec fastlane test_ui device:"iPhone 15" build_for_testing:true
81+
run: bundle exec fastlane test_ui device:"iPhone 16" build_for_testing:true
8282
timeout-minutes: 25
8383
- name: Build XCFrameworks
8484
run: bundle exec fastlane build_xcframeworks
@@ -90,6 +90,10 @@ jobs:
9090
test-ui-debug:
9191
name: Test SwiftUI (Debug)
9292
runs-on: macos-15
93+
env:
94+
GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR
95+
IOS_SIMULATOR_DEVICE: "iPhone 16 Pro (18.5)" # TODO: IOS-1181
96+
XCODE_VERSION: "16.4" # TODO: IOS-1181
9397
steps:
9498
- uses: actions/[email protected]
9599
- uses: ./.github/actions/bootstrap
@@ -99,8 +103,6 @@ jobs:
99103
- name: Run UI Tests (Debug)
100104
run: bundle exec fastlane test_ui device:"${{ env.IOS_SIMULATOR_DEVICE }}" record:"${{ github.event.inputs.record_snapshots }}"
101105
timeout-minutes: 120
102-
env:
103-
GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR
104106
- name: Run Sonar analysis
105107
if: ${{ github.event.inputs.record_snapshots != 'true' }}
106108
run: bundle exec fastlane sonar_upload
@@ -157,6 +159,8 @@ jobs:
157159
- build-test-app-and-frameworks
158160
env:
159161
LAUNCH_ID: ${{ needs.allure_testops_launch.outputs.launch_id }}
162+
IOS_SIMULATOR_DEVICE: "iPhone 16 Pro (18.5)" # TODO: IOS-1181
163+
XCODE_VERSION: "16.4" # TODO: IOS-1181
160164
strategy:
161165
matrix:
162166
batch: [0, 1]

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ App Thinning Size Report.txt
100100
app-thinning.plist
101101
*.dmg
102102
yeetd-normal.pkg
103+
*LinkMap.txt
103104

104105
# VSCode
105106
.vscode

.spi.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ builder:
44
- platform: ios
55
documentation_targets: [StreamChatSwiftUI]
66
scheme: StreamChatSwiftUI
7-
swift_version: 5.9

.swiftformat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
--rules redundantRawValues
3636
--rules redundantVoidReturnType
3737
--rules semicolons
38-
--rules sortedImports
38+
--rules sortImports
3939
--rules spaceAroundBraces
4040
--rules spaceAroundBrackets
4141
--rules spaceAroundComments
@@ -81,4 +81,4 @@
8181
--wrapcollections before-first
8282

8383
# Exclude paths
84-
--exclude Sources/StreamChatSwiftUI/Generated,Sources/StreamChatSwiftUI/StreamSwiftyGif,Sources/StreamChatSwiftUI/StreamNuke
84+
--exclude Sources/StreamChatSwiftUI/Generated,Sources/StreamChatSwiftUI/StreamSwiftyGif,Sources/StreamChatSwiftUI/StreamNuke,vendor/bundle,Pods,spm_cache,derived_data,.build

.swiftlint.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ excluded:
55
- Sources/StreamChatSwiftUI/Generated
66
- Sources/StreamChatSwiftUI/StreamSwiftyGif
77
- Sources/StreamChatSwiftUI/StreamNuke
8+
- vendor/bundle
89

910
only_rules:
1011
- attribute_name_spacing
@@ -43,7 +44,6 @@ only_rules:
4344
- trailing_comma
4445
- trailing_newline
4546
- trailing_semicolon
46-
- trailing_whitespace
4747
- unneeded_break_in_switch
4848
- unneeded_override
4949
- unused_closure_parameter
@@ -55,8 +55,5 @@ only_rules:
5555
multiline_arguments:
5656
only_enforce_after_first_closure_on_first_line: true
5757

58-
trailing_whitespace:
59-
ignores_empty_lines: true
60-
6158
file_name_no_space:
6259
severity: error

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,36 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
33

44
# Upcoming
55

6+
### 🐞 Fixed
7+
- Fix composer not being locked after the channel was frozen [#1015](https://github.com/GetStream/stream-chat-swiftui/pull/1015)
8+
9+
### 🔄 Changed
10+
11+
# [4.90.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.90.0)
12+
_October 08, 2025_
13+
614
### ✅ Added
715
- Opens the `commandsHandler` and makes the mention methods public [#979](https://github.com/GetStream/stream-chat-swiftui/pull/979)
816
- Opens `MarkdownFormatter` so that it can be customised [#978](https://github.com/GetStream/stream-chat-swiftui/pull/978)
917
- Add participant actions in channel info view [#982](https://github.com/GetStream/stream-chat-swiftui/pull/982)
1018
- Add support for overriding `onImageTap` in `LinkAttachmentView` [#986](https://github.com/GetStream/stream-chat-swiftui/pull/986)
19+
- Add support for customizing text colors in `LinkAttachmentView` [#992](https://github.com/GetStream/stream-chat-swiftui/pull/992)
20+
- Expose `MediaAttachment` properties and initializer [#1000](https://github.com/GetStream/stream-chat-swiftui/pull/1000)
21+
- Add `ColorPalette.navigationBarGlyph` for configuring the glyph color for buttons in navigation bars [#999](https://github.com/GetStream/stream-chat-swiftui/pull/999)
22+
- Allow overriding `ChatChannelInfoViewModel` properties: `shouldShowLeaveConversationButton`, `canRenameChannel`, and `shouldShowAddUserButton` [#995](https://github.com/GetStream/stream-chat-swiftui/pull/995)
1123

1224
### 🐞 Fixed
1325
- Fix openChannel not working when searching or another chat shown [#975](https://github.com/GetStream/stream-chat-swiftui/pull/975)
1426
- Fix crash when using a font that does not support bold or italic trait [#976](https://github.com/GetStream/stream-chat-swiftui/pull/976)
27+
- Fix unread messages banner not shown for one-page channels [#989](https://github.com/GetStream/stream-chat-swiftui/pull/989)
28+
- Fix unread messages banner not shown if the whole channel is unread [#989](https://github.com/GetStream/stream-chat-swiftui/pull/989)
29+
- Fix channel not marking read when passing by the unread message [#989](https://github.com/GetStream/stream-chat-swiftui/pull/989)
30+
- Fix random scroll after marking a message unread [#989](https://github.com/GetStream/stream-chat-swiftui/pull/989)
31+
- Fix marking channel read when the user scrolls to the bottom after marking a message as unread [#989](https://github.com/GetStream/stream-chat-swiftui/pull/989)
32+
- Fix replying to unread messages marking them instantly as read [#989](https://github.com/GetStream/stream-chat-swiftui/pull/989)
33+
- Fix rendering of the add users button on iOS 26 [#999](https://github.com/GetStream/stream-chat-swiftui/pull/999)
34+
- Use `ColorPalette.navigationBarTint` for the background of the add users button [#999](https://github.com/GetStream/stream-chat-swiftui/pull/999)
35+
- Fix showing all the channel members in the more channel actions view [#1001](https://github.com/GetStream/stream-chat-swiftui/pull/1001)
1536

1637
# [4.89.1](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.89.1)
1738
_September 23, 2025_

DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public struct CustomChannelHeader: ToolbarContent {
3131
.resizable()
3232
.scaledToFit()
3333
.frame(width: 24, height: 24)
34-
.foregroundColor(Color.white)
34+
.foregroundColor(Color(colors.navigationBarGlyph))
3535
.padding(.all, 8)
3636
.background(colors.navigationBarTintColor)
3737
.clipShape(Circle())

Gemfile.lock

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,11 @@ GEM
208208
fastlane
209209
pry
210210
fastlane-plugin-sonarcloud_metric_kit (0.2.1)
211-
fastlane-plugin-stream_actions (0.3.90)
211+
fastlane-plugin-stream_actions (0.3.101)
212212
xctest_list (= 1.2.1)
213213
fastlane-plugin-versioning (0.7.1)
214+
fastlane-plugin-xcsize (1.1.0)
215+
xcsize (= 1.1.0)
214216
fastlane-sirp (1.0.0)
215217
sysrandom (~> 1.0)
216218
ffi (1.17.2)
@@ -283,7 +285,7 @@ GEM
283285
molinillo (0.8.0)
284286
multi_json (1.17.0)
285287
multipart-post (2.4.1)
286-
mustermann (3.0.3)
288+
mustermann (3.0.4)
287289
ruby2_keywords (~> 0.0.1)
288290
mutex_m (0.3.0)
289291
nanaimo (0.4.0)
@@ -316,8 +318,8 @@ GEM
316318
puma (6.6.1)
317319
nio4r (~> 2.0)
318320
racc (1.8.1)
319-
rack (3.2.0)
320-
rack-protection (4.1.1)
321+
rack (3.2.3)
322+
rack-protection (4.2.0)
321323
base64 (>= 0.1.0)
322324
logger (>= 1.6.0)
323325
rack (>= 3.0.0, < 4)
@@ -372,11 +374,11 @@ GEM
372374
simctl (1.6.10)
373375
CFPropertyList
374376
naturally
375-
sinatra (4.1.1)
377+
sinatra (4.2.0)
376378
logger (>= 1.6.0)
377379
mustermann (~> 3.0)
378380
rack (>= 3.0.0, < 4)
379-
rack-protection (= 4.1.1)
381+
rack-protection (= 4.2.0)
380382
rack-session (>= 2.0.0, < 3)
381383
tilt (~> 2.0)
382384
slather (2.8.5)
@@ -413,6 +415,8 @@ GEM
413415
rouge (~> 3.28.0)
414416
xcpretty-travis-formatter (1.0.1)
415417
xcpretty (~> 0.2, >= 0.0.7)
418+
xcsize (1.1.0)
419+
commander (>= 4.6, < 6.0)
416420
xctest_list (1.2.1)
417421

418422
PLATFORMS
@@ -426,8 +430,9 @@ DEPENDENCIES
426430
fastlane-plugin-create_xcframework
427431
fastlane-plugin-lizard
428432
fastlane-plugin-sonarcloud_metric_kit
429-
fastlane-plugin-stream_actions (= 0.3.90)
433+
fastlane-plugin-stream_actions (= 0.3.101)
430434
fastlane-plugin-versioning
435+
fastlane-plugin-xcsize (= 1.1.0)
431436
json
432437
lefthook
433438
plist

0 commit comments

Comments
 (0)