storkit: done 461_bug_strip_bot_mention_fails_on_element_markdown_mention_pill_format
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
||||
---
|
||||
name: "strip_bot_mention fails on Element markdown mention pill format"
|
||||
---
|
||||
|
||||
# Bug 461: strip_bot_mention fails on Element markdown mention pill format
|
||||
|
||||
## Description
|
||||
|
||||
When Element sends a message with a mention pill, the plain text body uses Markdown link format: `[@timmy:crashlabs.io](https://matrix.to/#/@timmy:crashlabs.io) status`. The `strip_bot_mention` function in chat/util.rs uses `strip_prefix_ci` which expects the message to start with `@timmy` or the display name. Since the message starts with `[`, all prefix checks fail, the mention is not stripped, and the entire Markdown link becomes the "command name". Deterministic commands like `status`, `help`, etc. are never matched — they fall through to the LLM instead. The `mentions_bot` function works correctly because it uses `contains()` rather than prefix matching, so the bot IS triggered, but the command text extraction is broken.
|
||||
|
||||
## How to Reproduce
|
||||
|
||||
1. In Element, mention the bot using a mention pill: @botname status. 2. Element sends plain body as `[@bot:server](https://matrix.to/#/@bot:server) status`. 3. Observe that the bot routes to LLM instead of the deterministic status command handler.
|
||||
|
||||
## Actual Result
|
||||
|
||||
strip_bot_mention returns the original text unchanged. The command name is parsed as the entire Markdown link. No deterministic command matches. Message falls through to LLM.
|
||||
|
||||
## Expected Result
|
||||
|
||||
strip_bot_mention strips the Markdown mention pill `[...](https://matrix.to/...)` and returns `status`. The deterministic command handler matches and handles it.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] strip_bot_mention in chat/util.rs handles the Markdown mention pill format [display](https://matrix.to/#/@user:server)
|
||||
- [ ] Deterministic commands like 'status', 'help', 'overview' work when sent via Element mention pills
|
||||
- [ ] Existing plain-text mention formats (@bot:server command, @bot command, BotName command) continue to work
|
||||
- [ ] Tests added for Markdown mention pill format in util.rs
|
||||
Reference in New Issue
Block a user