Smart Picker “Any link” intercepts Enter for webhook bot slash commands
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 2.2k
- Forks
- 586
- Avg merge
- 18h 27m
- Merged PRs (30d)
- 333
Description
[!TIP]
How to use GitHub
- Please use the 👍 reaction to show that you are affected by the same issue.
- Please don't comment if you have no relevant information to add.
- Subscribe to receive notifications on status changes and new comments.
Steps to reproduce
- Open a conversation in the Nextcloud Talk web interface.
- Type a slash command intended for a webhook/external bot, for example
/new. - Observe that the Smart Picker opens and keeps Any link selected, even though the entered text is a bot command rather than a link-picker action.
- Press
Enterto send the command.
Expected behaviour
Enter sends /new as a normal chat message so that the bot can process it. More generally, when the text after / does not match a Smart Picker action, the picker should not consume Enter.
Actual behaviour
The highlighted Any link item consumes Enter instead of the message being sent. The user must press Escape to dismiss the Smart Picker and then press Enter again.
This makes slash commands exposed by webhook or external bots unnecessarily awkward to use and is particularly surprising because the command text itself remains in the composer.
This appears to be a current recurrence of #9142. That issue was closed when legacy commands were deprecated in favour of webhook bots, but slash-style commands are also commonly implemented by webhook/external bots, so the UI conflict remains.
Possible UX options:
- stop selecting Any link once the typed text no longer matches a picker entry;
- let
Entersubmit the message when there is no matching picker result; - require explicit keyboard navigation/click before Any link captures
Enter.
Talk app
Talk app version: 23.0.9
Custom Signaling server configured: not relevant to chat composer behaviour
Custom TURN server configured: not relevant
Custom STUN server configured: not relevant
Browser
Client: Nextcloud Talk web interface
Microphone available: not relevant
Camera available: not relevant
Browser log: No JavaScript error is shown; this is keyboard/focus handling in the composer.
Server configuration
Nextcloud Version: 33.0.6
No server-side error is produced.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue in the Nextcloud Talk web interface with an unmatched slash command such as /new, then trace the Smart Picker and composer keyboard handling. Done means Enter sends unmatched slash commands directly, while matching Smart Picker actions continue to work as expected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100