-
Notifications
You must be signed in to change notification settings - Fork 228
Add hideHistoryBefore to add members #3892
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
base: develop
Are you sure you want to change the base?
Conversation
WalkthroughAdds an optional Changes
Sequence Diagram(s)sequenceDiagram
participant UI as DemoApp UI
participant CC as ChannelController
participant CU as ChannelUpdater
participant API as API Endpoint
UI->>UI: Prompt user for days\nCompute hideHistoryBefore
UI->>CC: addMembers(members, hideHistoryBefore: Date?)
CC->>CU: addMembers(..., hideHistoryBefore: Date?)
CU->>API: POST /channels/{cid}/add_members\nbody includes hide_history_before when set
API-->>CU: 200 / error
CU-->>CC: completion callback
CC-->>UI: completion callback
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (4)
🚧 Files skipped from review as they are similar to previous changes (1)
🧰 Additional context used📓 Path-based instructions (2)**/*.swift📄 CodeRabbit inference engine (AGENTS.md)
Files:
Sources/StreamChat/**/*.swift📄 CodeRabbit inference engine (AGENTS.md)
Files:
🧠 Learnings (7)📓 Common learnings📚 Learning: 2025-11-25T12:17:18.459ZApplied to files:
📚 Learning: 2025-11-25T12:17:18.459ZApplied to files:
📚 Learning: 2025-11-25T12:17:18.459ZApplied to files:
📚 Learning: 2025-11-25T12:17:18.459ZApplied to files:
📚 Learning: 2025-11-25T12:17:18.459ZApplied to files:
📚 Learning: 2025-11-25T12:17:18.459ZApplied to files:
🧬 Code graph analysis (1)Sources/StreamChat/StateLayer/Chat.swift (3)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
DemoApp/StreamChat/Components/DemoChatChannelListRouter.swift (1)
248-268: “0 for full history” prompt doesn’t match implementation; 0 currently yields no historyIn the “Add member” debug flow, the prompt says “0 for full history”, but the code computes:
hideHistoryBefore = Calendar.current.date(byAdding: .day, value: -days, to: Date())- For
days == 0, this becomeshideHistoryBefore = Date(), which hides all past messages and effectively shows 0 days of history rather than full history.To align behavior with the prompt and with the semantics of “last N days”, you can normalize and guard the parsed value so that 0 maps to “no cutoff”:
- ) { daysString in - let hideHistoryBefore: Date? = { - guard let daysString, let days = Int(daysString) else { return nil } - return Calendar.current.date(byAdding: .day, value: -days, to: Date()) - }() + ) { daysString in + let hideHistoryBefore: Date? = { + guard let daysString, + let rawDays = Int(daysString) else { + return nil // invalid / empty => full history + } + let days = abs(rawDays) + guard days > 0 else { + return nil // 0 => full history + } + return Calendar.current.date(byAdding: .day, value: -days, to: Date()) + }()This makes:
days > 0→ show last N days,days == 0or invalid input → full history (nohideHistoryBeforecutoff).
🧹 Nitpick comments (5)
TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swift (1)
438-456: Override correctly recordshideHistoryBefore; consider extending the helper as wellThe overridden
addMembersnow matching the production signature (includinghideHistoryBefore: Date? = nil) and storing it inaddMembers_hideHistoryBeforegives tests the hook they need and aligns with the new API surface.If you anticipate tests calling the
addMembers(currentUserId:cid:userIds:message:hideHistory,completion)helper withhideHistoryBefore, you might also add an optionalhideHistoryBeforeparameter there and forward it, for parity with the main overload:func addMembers( currentUserId: UserId?, cid: ChannelId, userIds: Set<UserId>, message: String?, - hideHistory: Bool, + hideHistory: Bool, + hideHistoryBefore: Date? = nil, completion: ((Error?) -> Void)? = nil ) { addMembers( currentUserId: currentUserId, cid: cid, members: userIds.map { MemberInfo(userId: $0, extraData: nil) }, message: message, - hideHistory: hideHistory, + hideHistory: hideHistory, + hideHistoryBefore: hideHistoryBefore, completion: completion ) }CHANGELOG.md (1)
6-8: Consider adding PR reference for consistencyRecent StreamChat entries usually include the originating PR number; consider appending
[#3892](https://github.com/GetStream/stream-chat-swift/pull/3892)(or similar) to this bullet to match the existing changelog style.
Based on learnings, this keeps CHANGELOG formatting consistent for user-visible SDK changes.Tests/StreamChatTests/StateLayer/Chat_Tests.swift (1)
330-367: New Chat.addMembers tests cover hideHistoryBefore forwarding; consider extending to the userIds overloadThe two new tests correctly verify that
Chat.addMembersforwards bothhideHistoryandhideHistoryBeforetoChannelUpdaterand exercise the “both set” scenario as far as this layer can. To further harden coverage, you could optionally add a similar test for the[UserId]overload to ensure it also passeshideHistoryBeforethrough as expected.Sources/StreamChat/Workers/ChannelUpdater.swift (1)
456-486: ChannelUpdater addMembers correctly threads hideHistoryBefore through to the endpointThe updater’s
addMembersnow:
- Documents and accepts
hideHistoryBefore: Date? = nilalongsidehideHistory,- Forwards both into the
.addMembersendpoint, which is where precedence is enforced.The async wrapper mirrors the new signature and correctly uses the shared
CheckedContinuation.resume(with:)helper. If you find yourself often calling the async variant without an explicithideHistory, you might optionally add a default (hideHistory: Bool = false) there as well, but the current form is perfectly fine.Also applies to: 842-858
Sources/StreamChat/StateLayer/Chat.swift (1)
228-250: Public addMembers API: additive change and correct forwarding of hideHistoryBeforeThe new
hideHistoryBefore: Date? = nilparameter is added in a backward-compatible way and its documentation clearly states precedence overhideHistory, matching the endpoint behavior. Forwarding tochannelUpdater.addMembersincludes bothhideHistoryandhideHistoryBefore, so the state layer is correctly wired into the worker/API stack. One minor follow‑up you may want to consider separately: the existinghideHistorydoc text (“If true, the previous history is available…”) seems inverted relative to its name and server behavior, and could be clarified in a later docs-only change. As per coding guidelines, this keeps API stability while extending functionality.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (11)
CHANGELOG.md(1 hunks)DemoApp/StreamChat/Components/DemoChatChannelListRouter.swift(1 hunks)Sources/StreamChat/APIClient/Endpoints/ChannelEndpoints.swift(1 hunks)Sources/StreamChat/Controllers/ChannelController/ChannelController.swift(3 hunks)Sources/StreamChat/StateLayer/Chat.swift(2 hunks)Sources/StreamChat/Workers/ChannelUpdater.swift(3 hunks)TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swift(4 hunks)Tests/StreamChatTests/APIClient/Endpoints/ChannelEndpoints_Tests.swift(1 hunks)Tests/StreamChatTests/Controllers/ChannelController/ChannelController_Tests.swift(1 hunks)Tests/StreamChatTests/StateLayer/Chat_Tests.swift(1 hunks)Tests/StreamChatTests/Workers/ChannelUpdater_Tests.swift(1 hunks)
🧰 Additional context used
📓 Path-based instructions (4)
**/*.swift
📄 CodeRabbit inference engine (AGENTS.md)
**/*.swift: Write Swift code compatible with iOS deployment targets specified in Package.swift and podspec files; do not lower deployment targets without approval
Use SwiftLint with strict mode and respect .swiftlint.yml rules; justify and scope any exceptions rather than suppressing rules broadly
Run SwiftFormat for code formatting and respect repository-specific style conventions
Never commit API keys or customer data; use obvious placeholders (e.g., YOUR_STREAM_KEY) in example code
Follow the project's zero-warnings policy: fix new warnings and avoid introducing any
Files:
Sources/StreamChat/APIClient/Endpoints/ChannelEndpoints.swiftTestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swiftSources/StreamChat/StateLayer/Chat.swiftSources/StreamChat/Controllers/ChannelController/ChannelController.swiftTests/StreamChatTests/APIClient/Endpoints/ChannelEndpoints_Tests.swiftTests/StreamChatTests/Workers/ChannelUpdater_Tests.swiftTests/StreamChatTests/Controllers/ChannelController/ChannelController_Tests.swiftTests/StreamChatTests/StateLayer/Chat_Tests.swiftDemoApp/StreamChat/Components/DemoChatChannelListRouter.swiftSources/StreamChat/Workers/ChannelUpdater.swift
Sources/StreamChat/**/*.swift
📄 CodeRabbit inference engine (AGENTS.md)
Ensure public API changes in StreamChat and StreamChatUI include inline documentation and migration notes
Files:
Sources/StreamChat/APIClient/Endpoints/ChannelEndpoints.swiftSources/StreamChat/StateLayer/Chat.swiftSources/StreamChat/Controllers/ChannelController/ChannelController.swiftSources/StreamChat/Workers/ChannelUpdater.swift
CHANGELOG*
📄 CodeRabbit inference engine (AGENTS.md)
Update CHANGELOG entries for user-visible SDK changes in StreamChat and StreamChatUI
Files:
CHANGELOG.md
Tests/**/*.swift
📄 CodeRabbit inference engine (AGENTS.md)
Add or extend tests in the matching module's Tests/ folder for changes to StreamChat or StreamChatUI code, covering core models, API surfaces, and view controller behaviors; use fakes/mocks from test helpers provided by the repo
Files:
Tests/StreamChatTests/APIClient/Endpoints/ChannelEndpoints_Tests.swiftTests/StreamChatTests/Workers/ChannelUpdater_Tests.swiftTests/StreamChatTests/Controllers/ChannelController/ChannelController_Tests.swiftTests/StreamChatTests/StateLayer/Chat_Tests.swift
🧠 Learnings (9)
📓 Common learnings
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Applies to CHANGELOG* : Update CHANGELOG entries for user-visible SDK changes in StreamChat and StreamChatUI
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Applies to Sources/StreamChatUI/**/*.swift : Ensure public API changes in StreamChatUI include inline documentation and migration notes
Applied to files:
TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swiftCHANGELOG.mdSources/StreamChat/StateLayer/Chat.swiftSources/StreamChat/Controllers/ChannelController/ChannelController.swiftTests/StreamChatTests/APIClient/Endpoints/ChannelEndpoints_Tests.swiftTests/StreamChatTests/Workers/ChannelUpdater_Tests.swiftTests/StreamChatTests/Controllers/ChannelController/ChannelController_Tests.swiftTests/StreamChatTests/StateLayer/Chat_Tests.swiftDemoApp/StreamChat/Components/DemoChatChannelListRouter.swiftSources/StreamChat/Workers/ChannelUpdater.swift
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Applies to Sources/StreamChat/**/*.swift : Ensure public API changes in StreamChat and StreamChatUI include inline documentation and migration notes
Applied to files:
TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swiftCHANGELOG.mdSources/StreamChat/StateLayer/Chat.swiftSources/StreamChat/Controllers/ChannelController/ChannelController.swiftTests/StreamChatTests/APIClient/Endpoints/ChannelEndpoints_Tests.swiftTests/StreamChatTests/Workers/ChannelUpdater_Tests.swiftTests/StreamChatTests/Controllers/ChannelController/ChannelController_Tests.swiftTests/StreamChatTests/StateLayer/Chat_Tests.swiftDemoApp/StreamChat/Components/DemoChatChannelListRouter.swiftSources/StreamChat/Workers/ChannelUpdater.swift
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Applies to Tests/**/*.swift : Add or extend tests in the matching module's Tests/ folder for changes to StreamChat or StreamChatUI code, covering core models, API surfaces, and view controller behaviors; use fakes/mocks from test helpers provided by the repo
Applied to files:
TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swiftTests/StreamChatTests/APIClient/Endpoints/ChannelEndpoints_Tests.swiftTests/StreamChatTests/Workers/ChannelUpdater_Tests.swiftTests/StreamChatTests/Controllers/ChannelController/ChannelController_Tests.swiftTests/StreamChatTests/StateLayer/Chat_Tests.swift
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Applies to CHANGELOG* : Update CHANGELOG entries for user-visible SDK changes in StreamChat and StreamChatUI
Applied to files:
TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swiftCHANGELOG.mdSources/StreamChat/StateLayer/Chat.swiftSources/StreamChat/Controllers/ChannelController/ChannelController.swiftTests/StreamChatTests/StateLayer/Chat_Tests.swiftDemoApp/StreamChat/Components/DemoChatChannelListRouter.swiftSources/StreamChat/Workers/ChannelUpdater.swift
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Prefer additive changes and avoid breaking public APIs in StreamChat and StreamChatUI
Applied to files:
TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swiftCHANGELOG.mdSources/StreamChat/StateLayer/Chat.swiftTests/StreamChatTests/StateLayer/Chat_Tests.swiftDemoApp/StreamChat/Components/DemoChatChannelListRouter.swift
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: For UI changes in StreamChatUI, attach comparison screenshots (before/after) in pull requests where feasible
Applied to files:
CHANGELOG.md
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Prioritize backwards compatibility and API stability when changing code in the Stream iOS Chat SDK
Applied to files:
CHANGELOG.mdSources/StreamChat/StateLayer/Chat.swiftDemoApp/StreamChat/Components/DemoChatChannelListRouter.swift
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Maintain high test coverage when changing code in the Stream iOS Chat SDK
Applied to files:
Tests/StreamChatTests/APIClient/Endpoints/ChannelEndpoints_Tests.swiftTests/StreamChatTests/Workers/ChannelUpdater_Tests.swiftTests/StreamChatTests/Controllers/ChannelController/ChannelController_Tests.swiftTests/StreamChatTests/StateLayer/Chat_Tests.swift
🧬 Code graph analysis (6)
Sources/StreamChat/StateLayer/Chat.swift (3)
Sources/StreamChat/Controllers/ChannelController/ChannelController.swift (3)
addMembers(1153-1177)addMembers(1188-1202)message(2157-2162)Sources/StreamChat/Workers/ChannelUpdater.swift (2)
addMembers(465-486)addMembers(842-862)TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swift (2)
addMembers(438-456)addMembers(458-474)
Sources/StreamChat/Controllers/ChannelController/ChannelController.swift (3)
Sources/StreamChat/APIClient/Endpoints/ChannelEndpoints.swift (1)
addMembers(176-201)Sources/StreamChat/StateLayer/Chat.swift (2)
addMembers(235-250)addMembers(263-275)Sources/StreamChat/Workers/ChannelUpdater.swift (2)
addMembers(465-486)addMembers(842-862)
Tests/StreamChatTests/APIClient/Endpoints/ChannelEndpoints_Tests.swift (1)
Sources/StreamChat/APIClient/Endpoints/ChannelEndpoints.swift (1)
addMembers(176-201)
Tests/StreamChatTests/Workers/ChannelUpdater_Tests.swift (2)
Sources/StreamChat/APIClient/Endpoints/ChannelEndpoints.swift (1)
addMembers(176-201)Sources/StreamChat/Workers/ChannelUpdater.swift (2)
addMembers(465-486)addMembers(842-862)
Tests/StreamChatTests/Controllers/ChannelController/ChannelController_Tests.swift (3)
Sources/StreamChat/APIClient/Endpoints/ChannelEndpoints.swift (1)
addMembers(176-201)Sources/StreamChat/StateLayer/Chat.swift (2)
addMembers(235-250)addMembers(263-275)Sources/StreamChat/Workers/ChannelUpdater.swift (2)
addMembers(465-486)addMembers(842-862)
Tests/StreamChatTests/StateLayer/Chat_Tests.swift (4)
Sources/StreamChat/APIClient/Endpoints/ChannelEndpoints.swift (1)
addMembers(176-201)Sources/StreamChat/StateLayer/Chat.swift (2)
addMembers(235-250)addMembers(263-275)Sources/StreamChat/Workers/ChannelUpdater.swift (2)
addMembers(465-486)addMembers(842-862)TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swift (2)
addMembers(438-456)addMembers(458-474)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
- GitHub Check: Test LLC (Debug)
- GitHub Check: Build LLC + UI (Xcode 15)
- GitHub Check: Build Test App and Frameworks
- GitHub Check: Metrics
- GitHub Check: Metrics
🔇 Additional comments (7)
TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ChannelUpdater_Mock.swift (1)
53-61: State tracking forhideHistoryBeforein mock looks correctThe new
@Atomic var addMembers_hideHistoryBefore: Date?and its reset incleanUp()are consistent with other recordedaddMembers_*fields and keep the mock reusable between tests. No issues here.Also applies to: 212-219
Tests/StreamChatTests/Controllers/ChannelController/ChannelController_Tests.swift (1)
3703-3726: NewaddMembersforwarding test is sound and matches existing patterns
test_addMembers_withHideHistoryBefore_callsChannelUpdaterfollows the existing style for controller→updater wiring tests and correctly asserts thatcid,memberInfos,hideHistory, andhideHistoryBeforeare forwarded toChannelUpdater_Mock. Using a localDate()for equality is safe here since the mock stores the value verbatim.Tests/StreamChatTests/APIClient/Endpoints/ChannelEndpoints_Tests.swift (1)
357-382: New addMembers test correctly covers hideHistoryBefore behaviorThe test mirrors the existing addMembers case and validates that
hide_history_beforeis set (with nohide_history), matching the new endpoint semantics while keeping path and flags unchanged.Sources/StreamChat/APIClient/Endpoints/ChannelEndpoints.swift (1)
176-190: addMembers correctly implements hideHistoryBefore precedence without breaking existing callsThe new
hideHistoryBefore: Date? = nilparameter is source-compatible, and the body logic properly prefershide_history_beforeoverhide_historywhen set while preserving the previoushide_historybehavior otherwise.Sources/StreamChat/Controllers/ChannelController/ChannelController.swift (1)
1143-1201: addMembers API extension with hideHistoryBefore is well-shaped and backward compatibleThe added
hideHistoryBefore: Date? = nilparameter on bothaddMembersoverloads is additive, keeps call sites source-compatible, and the forwarding intoChannelUpdater.addMembersmatches the documented semantics (including the precedence note). No issues from the controller layer side.Tests/StreamChatTests/Workers/ChannelUpdater_Tests.swift (1)
1408-1458: New hideHistoryBefore tests correctly cover wiring and precedenceBoth tests exercise the non-async
ChannelUpdater.addMemberspath, ensure the Endpoint is built withhideHistoryBefore, and verify that when both flags are present the encoded body only containshide_history_before. This aligns with the endpoint implementation and provides good coverage of the precedence semantics. No changes needed.Sources/StreamChat/StateLayer/Chat.swift (1)
256-275: UserId-based addMembers overload stays consistent with MemberInfo overloadThis overload mirrors the new
hideHistory/hideHistoryBeforeparameters and forwards them through to the MemberInfo-based overload, keeping the two entry points in sync and preserving behavior. Looks good as-is.
SDK Performance
|
|
I'll keep it open until we have discussed some scenarios around thread replies. |
Public Interface public class ChatChannelController: DataController, DelegateCallable, DataStoreProvider
- public func addMembers(_ members: [MemberInfo],hideHistory: Bool = false,message: String? = nil,completion: ((Error?) -> Void)? = nil)
+ public func addMembers(_ members: [MemberInfo],hideHistory: Bool = false,hideHistoryBefore: Date? = nil,message: String? = nil,completion: ((Error?) -> Void)? = nil)
- public func addMembers(userIds: Set<UserId>,hideHistory: Bool = false,message: String? = nil,completion: ((Error?) -> Void)? = nil)
+ public func addMembers(userIds: Set<UserId>,hideHistory: Bool = false,hideHistoryBefore: Date? = nil,message: String? = nil,completion: ((Error?) -> Void)? = nil)
public class Chat
- public func addMembers(_ members: [MemberInfo],systemMessage: String? = nil,hideHistory: Bool = false)async throws
+ public func addMembers(_ members: [MemberInfo],systemMessage: String? = nil,hideHistory: Bool = false,hideHistoryBefore: Date? = nil)async throws
- public func addMembers(_ members: [UserId],systemMessage: String? = nil,hideHistory: Bool = false)async throws
+ public func addMembers(_ members: [UserId],systemMessage: String? = nil,hideHistory: Bool = false,hideHistoryBefore: Date? = nil)async throws |
SDK Size
|
StreamChat XCSize
|
|



🔗 Issue Links
Fixes: IOS-1276
🎯 Goal
Allow configuring how much of the channel history is visible for added members
📝 Summary
hideHistoryBeforeto add members functions🛠 Implementation
Note:
hideHistoryBeforetakes precedence over the existing hideHistory Bool value🧪 Manual Testing Notes
☑️ Contributor Checklist
docs-contentrepoSummary by CodeRabbit
New Features
Tests
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.