Repository navigation
fix(chat): apply speaker rules to the composer, replies and reactions - #1631
Merged
Merged
Conversation
A member the chat's speaker rules keep from speaking now gets a read-only panel in place of the composer, and loses Reply and reactions on every message, not only widgets. Own-message Edit and Delete, Copy and Report are unchanged. Direct messages have no rules and are unaffected.
bmc08gt
force-pushed
the
fix/chat-speaker-rules
branch
from
September 30, 2026 17:15
98c3487 to
c1ca6fb
Compare
bmc08gt
removed this pull request from stack #1632
September 30, 2026 17:15
bmc08gt
added this pull request to stack #1633
September 30, 2026 17:15
This was referenced Sep 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Android never evaluated a chat's speaker rules. A member could type into a chat with a
neverspeaker rule, or one whose minimum balance they don't meet, and reply to or react to anything in it. iOS already blocks this throughConversationGate.Stacked on #1628, which added
canSpeakandChatRuleRequirement.Neverfor the share-profile widget. This applies the same check everywhere else.SpeakerGateBarin place of the composer, with no input, attach or send. Forneverit reads "Only Flipcash can send messages" on a Haze pill, using the chat screen's existinghazeStateand the composer field'sultraThinmaterial (design node 10588:1969). Balance and staff requirements use the iOS panel copy. Viewers outside the group still get the Join gate.canSpeak. Copy, Report, and Edit/Delete on your own messages are unchanged.neverblocks staff too.SpeakerGateBarScreenshotTestrenders theneverpanel with the blur off, because Robolectric can't compile the Haze shader. It checks layout and copy, not the blur.A reply draft saved before someone loses speaking rights stays stored; the panel just stops it being sent.
Correction: the DM speaker-rule fix and the pill's #1E1E1E fill (
e8b561b3d) were pushed after this PR merged, so they are not in it. On code/cash, DMs still get no speaker block and the welcome DM still shows "Send a Tip". They are being re-landed in a follow-up PR.