Skip to content

Add LivestreamChannelController #3750

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 87 commits into from
Aug 6, 2025
Merged
Show file tree
Hide file tree
Changes from 82 commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
6015464
1st WIP
nuno-vieira Jul 23, 2025
496a5d0
Handle more mapping
nuno-vieira Jul 23, 2025
b3eeb03
Make message list diff kit to support updating from Array instead of …
nuno-vieira Jul 23, 2025
38ec8ca
Handle events in LivestreamChannelController
nuno-vieira Jul 23, 2025
99c49cf
fixup message list view
nuno-vieira Jul 23, 2025
668c228
Add reads and attachments
nuno-vieira Jul 23, 2025
e609793
Forward live stream events and don't save them into the DB
nuno-vieira Jul 24, 2025
c3cbb28
Use currentUserId and channel from DB for now (Maybe implement cachin…
nuno-vieira Jul 24, 2025
0a9684b
Simplify model mapping
nuno-vieira Jul 24, 2025
bbec5b7
Fix current user reactions
nuno-vieira Jul 24, 2025
c0803ed
Improve how event notification center knows when to do manually event…
nuno-vieira Jul 24, 2025
9d90588
Do WIP on reads
nuno-vieira Jul 25, 2025
bb51733
Remove reads since it is not needed for live streams
nuno-vieira Jul 25, 2025
197bb73
Add DemoLivestreamChannelVC to the DemoApp
nuno-vieira Jul 25, 2025
6763223
Remove unread stuff from LivestreamChannelController
nuno-vieira Jul 25, 2025
1bca1e4
Add ChatLivestreamChannelVC to be able to test
nuno-vieira Jul 25, 2025
46bef9f
Handle message errors
nuno-vieira Jul 25, 2025
7de628b
Fix regular controller not working after showing as livestream
nuno-vieira Jul 25, 2025
83b82d4
Fix sometimes messages disappearing from the view
nuno-vieira Jul 25, 2025
2c21ba9
Quick jumps fix for Live Stream
nuno-vieira Jul 25, 2025
6e53581
Fix some minor typos
nuno-vieira Jul 28, 2025
164ae66
Move Payload to asModel() to seperate files
nuno-vieira Jul 28, 2025
1497e11
Handling new messages while first page is not loaded
nuno-vieira Jul 28, 2025
854b3e7
Remove atomics
nuno-vieira Jul 28, 2025
78adc43
Add API only message actions to the livestream controller
nuno-vieira Jul 28, 2025
4029055
Add createNewMessage to `LivestreamChannelController`
nuno-vieira Jul 28, 2025
8e4b08b
Remove markRead from livestream controller
nuno-vieira Jul 28, 2025
7d8816f
Load initial page from cache
nuno-vieira Jul 29, 2025
757d45a
Add reaction groups and moderation details to Message Payload model m…
nuno-vieira Jul 29, 2025
a822943
If event is not handled, fallback to middlewares
nuno-vieira Jul 29, 2025
b0bf7c3
Add Combine support for livestream controller
nuno-vieira Jul 29, 2025
20a9718
Handle channel update events and make it easier to notify delegates
nuno-vieira Jul 29, 2025
128cec8
Cache local channels when handling manual events
nuno-vieira Jul 29, 2025
c6140b5
Fix not loading older pages when in skip logic
nuno-vieira Jul 29, 2025
ecf7e9b
Add slow mode support to Livestream Controller
nuno-vieira Jul 30, 2025
de3a1cc
Extract manual event handling logic to a ManualEventHandler
nuno-vieira Jul 30, 2025
0ed2792
Merge branch 'develop' into add/livestream-channel-controller
nuno-vieira Jul 30, 2025
6cf9493
Fix merge conflict
nuno-vieira Jul 30, 2025
e2505e3
CodeRabit review feedback changes
nuno-vieira Jul 30, 2025
1d08249
Cleanuo livestream channel controller
nuno-vieira Jul 30, 2025
298f0d3
Cleanup model mapping
nuno-vieira Jul 30, 2025
03dce1b
Move livestream UI to the demo app
nuno-vieira Jul 30, 2025
60b21c5
Quick fix typo
nuno-vieira Jul 30, 2025
4c8973a
Handle pagination with willDisplayAt
nuno-vieira Jul 30, 2025
d76dcad
Log a warning instead of a error when a feature is disabled
nuno-vieira Jul 30, 2025
7b3831c
Do not use channel controller in the composer
nuno-vieira Jul 30, 2025
396985b
Fix message actions on livestream demo UI
nuno-vieira Jul 30, 2025
bd2d321
Fix minor warning
nuno-vieira Jul 30, 2025
fb04092
Add support for setting max number of messages in livestream controller
nuno-vieira Jul 31, 2025
bb01c13
Add a way to check how much messages were skipped when the controller…
nuno-vieira Jul 31, 2025
22a297a
Add `isPause` publisher
nuno-vieira Jul 31, 2025
81e9b91
Disable the discarding of messages by default
nuno-vieira Jul 31, 2025
8a58b46
Reset the live stream channel controller when memory warning is received
nuno-vieira Jul 31, 2025
e993e0e
Fix attachments not working
nuno-vieira Jul 31, 2025
9eab992
Explicitly disable commands
nuno-vieira Aug 1, 2025
bcadecd
Fix access control of livestream channel view
nuno-vieira Aug 1, 2025
0b12e2c
Use reactions from livestream controller in the demo app livestream UI
nuno-vieira Aug 1, 2025
3886058
Display list of reaction authors when tapping the reactions in the me…
nuno-vieira Aug 1, 2025
597ac21
Change the thread to utility in the Manual Event Handler
nuno-vieira Aug 1, 2025
45d6c20
Do not copy the current message everytime when doing in-memory messag…
nuno-vieira Aug 1, 2025
b5f01b3
Improve doc of livestream channel controller message capping
nuno-vieira Aug 1, 2025
18251fb
Print whenever the livestream messages are updated
nuno-vieira Aug 1, 2025
a082865
Only count skipped messages if enabled
nuno-vieira Aug 1, 2025
bfd3aca
Make the completion blocks and delegates as main actors
nuno-vieira Aug 1, 2025
426b65d
Fix loadReactions completion not in the MainActor
nuno-vieira Aug 1, 2025
20eacf6
Fix thread-safeness when fetching cached channel in manual event handler
nuno-vieira Aug 1, 2025
ec168d9
Remove cooldown protections
nuno-vieira Aug 1, 2025
6289e5a
Fix creating a new message not resuming the controller
nuno-vieira Aug 1, 2025
cae85c7
Save the channel to the DB on the first page fetch
nuno-vieira Aug 1, 2025
1292552
Remove unnecessary isBounce in live reactions view
nuno-vieira Aug 1, 2025
dde3c21
Add loadPinnedMessage to livestream controller
nuno-vieira Aug 1, 2025
19f9670
Handle channel updates through the DB
nuno-vieira Aug 4, 2025
7d596bf
Merge branch 'develop' into add/livestream-channel-controller
nuno-vieira Aug 5, 2025
5d4dae1
Update CHANGELOG.md
nuno-vieira Aug 5, 2025
6fb74a9
Fix existing tests
nuno-vieira Aug 5, 2025
45bfbe7
Remove ChannelDetailPayload as model since it is not used
nuno-vieira Aug 5, 2025
6460eda
Fix tests related to pending messages
nuno-vieira Aug 5, 2025
82b4f85
Add test coverage to user payload model conversion
nuno-vieira Aug 5, 2025
9b4bf90
Add test coverage to message payload model conversion
nuno-vieira Aug 5, 2025
62102d8
Add test coverage to channel payload model conversion
nuno-vieira Aug 5, 2025
6c367ae
Add missing tests to disable slow mode
nuno-vieira Aug 5, 2025
5d53af6
Add test coverage to LivestreamChannelController
nuno-vieira Aug 5, 2025
c78a475
Fix UI Tests not compiling
nuno-vieira Aug 5, 2025
e48080f
Add combine test coverage
nuno-vieira Aug 5, 2025
b4d1c1a
Add memory warning test coverage
nuno-vieira Aug 5, 2025
b83ac17
Add missing test coverage to the event notification centre
nuno-vieira Aug 5, 2025
5153c46
Add test coverage to ManualEventHandler
nuno-vieira Aug 5, 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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## StreamChat
### βœ… Added
- Add pending messages support [#3754](https://github.com/GetStream/stream-chat-swift/pull/3754)
- Add new lightweight `LivestreamChannelController` that improves performance for live chats [#3750](https://github.com/GetStream/stream-chat-swift/pull/3750)
### 🐞 Fixed
- Fix `ChatClient.currentUserId` not removed instantly after calling `logout()` [#3766](https://github.com/GetStream/stream-chat-swift/pull/3766)

Expand Down
Loading
Loading