Support '!' prefix in broker messages as inline interrupt#180
Closed
scion-gteam[bot] wants to merge 2 commits into
Closed
Support '!' prefix in broker messages as inline interrupt#180scion-gteam[bot] wants to merge 2 commits into
scion-gteam[bot] wants to merge 2 commits into
Conversation
Messages arriving via the broker (Telegram, webhooks, direct messages) that start with "!" are now treated as interrupt messages: the "!" is stripped and the message is delivered with urgent/interrupt semantics, equivalent to --interrupt on the CLI.
deliverToAgent mutates msg.Msg and msg.Urgent in place, but at the direct-subscriber call site the pointer comes from the event bus and is shared across all matching subscribers. Shallow-copy before mutating so the original bus message stays intact.
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.
Summary
!are now treated as interrupt messages!prefix is stripped from the message body before deliveryurgent=true/ interrupt semantics, equivalent to--interrupton the CLIdeliverToAgentin the message broker proxy, before persistence and dispatch, so both the stored message and the delivered message reflect the stripped content and urgent flagTest plan
TestMessageBrokerProxy_InterruptPrefix— verifies!-prefixed message is stripped and dispatched with interrupt=trueTestMessageBrokerProxy_InterruptPrefixNotStrippedWithoutBang— verifies normal messages are unaffectedTestMessageBrokerProxy_InterruptPrefixPersistence— verifies the persisted message has stripped content and urgent=true