refactor(llc): extract the message merge algebra into MessageMerging - #2913
refactor(llc): extract the message merge algebra into MessageMerging#2913VelikovPetar wants to merge 2 commits into
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
…xtension Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Superseded by #2944. Closing rather than rebasing: #2930 moves #2944 re-hosts the same extraction onto Public member sets of |
Submit a pull request
Linear: FLU-724
Github Issue: #
CLA
Description of the pull request
Moves the pure message/pin/live-location merge and removal operations (formerly private on
ChannelClientState) verbatim out ofchannel.dartinto a new unexported static holderMessageMergingunderlib/src/core/util/, following theMessageRulesprecedent. The two message predicates (isShownInChannelandhasValidPin, formerly the top-level_pinIsValidand inline filters) live in a separate unexportedMessagePredicatesextension onMessage.channel.dartare requalified; the stateful orchestrators and persistence writes stay put.identical()guard.message_merging_test.dartandmessage_predicates_test.dart) covering the merge semantics directly, including previously untested pin-expiry filtering and the thread phantom-guard / empty-thread-pruning rules.lib/stream_chat.dartuntouched); no CHANGELOG entry since there is no observable behavior change.Review tip:
git diff --color-moved=dimmed-zebrashows the moved bodies as relocated text.Test instructions:
cd packages/stream_chat && dart test— full package suite passes (1,665 tests, including the existing through-state merge characterization); downstreamstream_chat_flutter_core,stream_chat_persistence, andstream_chat_fluttersuites verified.Groundwork for the v11 shared merge-semantics rail.
Screenshots / Videos
No UI changes.
🤖 Generated with Claude Code