Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
b6596f4
Update release version to snapshot
Jul 16, 2025
1fc5e10
Updated README (#3730)
martinmitrevski Jul 17, 2025
1526065
[CI] Speed up githooks (#3732)
testableapple Jul 18, 2025
215380b
Override publish instead of create because publish resets current con…
laevandus Jul 21, 2025
376b0e6
[CI] Update TestFlight manual upload detection (#3736)
testableapple Jul 21, 2025
a4a7932
Add `CurrentUserUnreads.totalUnreadCountByTeam` (#3733)
nuno-vieira Jul 21, 2025
1ba4e2c
Add support for Filtering and Sorting Threads (#3731)
nuno-vieira Jul 21, 2025
71984a5
Enable subclassing StreamAudioPlayer and StreamAudioSessionConfigurat…
laevandus Jul 22, 2025
4d0b1d1
[CI] Implement public interface validation (#3740)
testableapple Jul 24, 2025
30880ca
[CI] Opt out from fastlane tracking (#3743)
testableapple Jul 24, 2025
36bf54b
Bump nokogiri from 1.18.8 to 1.18.9 (#3741)
dependabot[bot] Jul 25, 2025
8f73c15
Handle Push v3 Reaction Notifications + Skip edit message push notifi…
nuno-vieira Jul 25, 2025
15b9712
Exposed average response time for users (#3739)
martinmitrevski Jul 26, 2025
44e6659
Fix reaction picker position in RTL layout (#3748)
laevandus Jul 28, 2025
09bc15b
Dismissing GalleryVC when using RTL layout (#3745)
laevandus Jul 28, 2025
fe31a01
Slide to cancel in audio recording did not cancel in RTL layout (#3744)
laevandus Jul 28, 2025
fc2a240
Bubble beak was pointing to incorrect direction in RTL layouts (#3742)
laevandus Jul 28, 2025
35fb0e9
Fix animating attachments when opening a sheet in the channel view (#…
laevandus Jul 28, 2025
1aa5226
Fix audio visualisation in RTL layout (#3749)
laevandus Jul 28, 2025
0eb718b
Fix rare crashes in IOSBackgroundTaskScheduler with on entering callb…
laevandus Jul 28, 2025
d56a2b9
Bump 4.83.0
Jul 28, 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
5 changes: 3 additions & 2 deletions .github/workflows/smoke-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,10 @@ jobs:
if: ${{ github.event.inputs.record_snapshots != 'true' }}
steps:
- uses: actions/[email protected]
with:
fetch-depth: 100
- uses: ./.github/actions/bootstrap
env:
INSTALL_INTERFACE_ANALYZER: true
- run: bundle exec fastlane validate_public_interface
- run: bundle exec fastlane lint_pr
- run: bundle exec fastlane rubocop
- run: bundle exec fastlane run_swift_format strict:true
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ StreamChat.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
build/
DerivedData/

# Interface Analyser
stream-module-interface-analyser/
interface-analyser-report.md
public_interface_current.*
public_interface_previous.*

## Various settings
*.pbxuser
!default.pbxuser
Expand Down
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,33 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

### 🔄 Changed

# [4.83.0](https://github.com/GetStream/stream-chat-swift/releases/tag/4.83.0)
_July 28, 2025_

## StreamChat
### ✅ Added
- Add support for Filtering and Sorting Threads [#3731](https://github.com/GetStream/stream-chat-swift/pull/3731)
- Add `ChatThread.activeParticipantCount` [#3731](https://github.com/GetStream/stream-chat-swift/pull/3731)
- Add `CurrentUserUnreads.totalUnreadCountByTeam` [#3733](https://github.com/GetStream/stream-chat-swift/pull/3733)
- Enable subclassing `StreamAudioPlayer` and `StreamAudioSessionConfigurator` [#3737](https://github.com/GetStream/stream-chat-swift/pull/3737)
- Add `skipPush` parameter to `MessageController.editMessage()` [#3738](https://github.com/GetStream/stream-chat-swift/pull/3738)
- Add `skipPush` and `emojiCode` to `MessageController.addReaction()` [#3738](https://github.com/GetStream/stream-chat-swift/pull/3738)
- Add `Components.availableReactionsPushEmojis` for rendering emojis in reaction push notifications [#3738](https://github.com/GetStream/stream-chat-swift/pull/3738)
- Add `Components.isReactionPushEmojisEnabled` to control whether an emoji should be set when adding a reaction [#3738](https://github.com/GetStream/stream-chat-swift/pull/3738)
- Add `MessageNotificationContent.reaction` that can be used by Notification Service Extension [#3738](https://github.com/GetStream/stream-chat-swift/pull/3738)
- Add average message response time for users [#3739](https://github.com/GetStream/stream-chat-swift/pull/3739)
### 🐞 Fixed
- Fix rare crashes in `IOSBackgroundTaskScheduler` with on entering callbacks [#3751](https://github.com/GetStream/stream-chat-swift/pull/3751)

## StreamChatUI
### 🐞 Fixed
- Fix reaction picker position in RTL layout [#3748](https://github.com/GetStream/stream-chat-swift/pull/3748)
- Fix swiping and dismissing `GalleryVC` when using RTL layout [#3745](https://github.com/GetStream/stream-chat-swift/pull/3745)
- Slide to cancel gesture did not cancel the recording in RTL layout [#3744](https://github.com/GetStream/stream-chat-swift/pull/3744)
- Fix the direction of the bubble beak in RTL layouts [#3742](https://github.com/GetStream/stream-chat-swift/pull/3742)
- Fix animating attachments when opening a sheet in the channel view [#3746](https://github.com/GetStream/stream-chat-swift/pull/3746)
- Fix audio visualisation progress in RTL layout [#3749](https://github.com/GetStream/stream-chat-swift/pull/3749)

# [4.82.0](https://github.com/GetStream/stream-chat-swift/releases/tag/4.82.0)
_July 16, 2025_

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ class AppConfigViewController: UITableViewController {

enum ComponentsConfigOption: String, CaseIterable {
case isUniqueReactionsEnabled
case isReactionPushEmojisEnabled
case shouldMessagesStartAtTheTop
case shouldAnimateJumpToMessageWhenOpeningChannel
case shouldJumpToUnreadWhenOpeningChannel
Expand Down Expand Up @@ -446,6 +447,10 @@ class AppConfigViewController: UITableViewController {
cell.accessoryView = makeSwitchButton(Components.default.isUniqueReactionsEnabled) { newValue in
Components.default.isUniqueReactionsEnabled = newValue
}
case .isReactionPushEmojisEnabled:
cell.accessoryView = makeSwitchButton(Components.default.isReactionPushEmojisEnabled) { newValue in
Components.default.isReactionPushEmojisEnabled = newValue
}
case .shouldMessagesStartAtTheTop:
cell.accessoryView = makeSwitchButton(Components.default.shouldMessagesStartAtTheTop) { newValue in
Components.default.shouldMessagesStartAtTheTop = newValue
Expand Down
14 changes: 5 additions & 9 deletions DemoApp/Screens/Create Chat/CreateChatViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,20 @@ class CreateChatViewController: UIViewController {

// Composer subclass intended to be only used in this VC
class DemoComposerVC: ComposerVC {
override func createNewMessage(text: String) {
override func publishMessage(sender: UIButton) {
guard let navController = parent?.parent as? UINavigationController,
let controller = channelController else { return }

let createMessage: (String) -> Void = {
super.createNewMessage(text: $0)
let publish: () -> Void = {
super.publishMessage(sender: sender)
}

// Create the Channel on backend
controller.synchronize { [weak self] error in
if let error = error {
self?.presentAlert(title: "Error when creating the channel", message: error.localizedDescription)
return
}

// Send the message
createMessage(text)

publish()

// Present the new chat and controller
let vc = ChatChannelVC()
vc.channelController = controller
Expand Down
Loading
Loading