Skip to content

Fully overhaul/redesign mentionable text input with new mention popup#944

Merged
kevinaboos merged 2 commits into
project-robius:mainfrom
kevinaboos:kevinaboos/mentionable_text_input_v2
Jun 26, 2026
Merged

Fully overhaul/redesign mentionable text input with new mention popup#944
kevinaboos merged 2 commits into
project-robius:mainfrom
kevinaboos:kevinaboos/mentionable_text_input_v2

Conversation

@kevinaboos

Copy link
Copy Markdown
Member
  • Support mentioning users (and notifying the room) with '@'
  • Support selecting a room or space to link to with '#' (yes, spaces too!)
  • Support selection a slash command with '/'
  • Mention popup now supports dynamic resizing, both above and beneath the text input, as well as keyboard navigation and mouse click or touch drag/tap selection
  • The mention popup is now an overlay so it can expand beyond the bounds of a smaller RoomScreen, and also shrinks to fit the app window on mobile or on a smaller app window
  • Mention popup shows nice messages for loading or no matches found
  • MentionableTextInputs now save and restore their own state
  • Remove the outdated and inefficient RoomScreenProps approach in favor of a vastly more efficient set_room_context(), which is only set when the room actually changes.
  • Remove the old CommandTextInput which we don't need to use any more
  • All query matching and sorting/ranking is done off the main UI thread, on a sync bg thread for the set of users, and an async bg task for rooms/spaces
  • Make RoomScreen event handling way faster for background un-init'd rooms
  • Editing a message now drops mentions removed from the text and adds new mentions too.
  • The /html slash command now sends a proper plaintext fallback that strips HTML tags and decodes/unescapes HTML entities

Supersedes and closes #816
Supersedes and closes #573
Closes #451
Closes #506
Closes #615
Closes #617
Closes #452

* Support mentioning users (and notifying the room) with '@'
* Support selecting a room or space to link to with '#' (yes, spaces too!)
* Support selection a slash command with '/'
* Mention popup now supports dynamic resizing, both above and beneath the text input,
  as well as keyboard navigation and mouse click or touch drag/tap selection
* The mention popup is now an overlay so it can expand beyond the bounds
  of a smaller RoomScreen, and also shrinks to fit the app window on mobile
  or on a smaller app window
* Mention popup shows nice messages for loading or no matches found
* MentionableTextInputs now save and restore their own state
* Remove the outdated and inefficient RoomScreenProps approach
  in favor of a vastly more efficient `set_room_context()`, which is only set
  when the room actually changes.
* Remove the old CommandTextInput which we don't need to use any more
* All query matching and sorting/ranking is done off the main UI thread,
  on a sync bg thread for the set of users, and an async bg task for rooms/spaces
* Make RoomScreen event handling way faster for background un-init'd rooms
* Editing a message now drops mentions removed from the text and adds new mentions too.
* The `/html` slash command now sends a proper plaintext fallback that strips HTML tags
  and decodes/unescapes HTML entities
@kevinaboos
kevinaboos merged commit de35d69 into project-robius:main Jun 26, 2026
11 checks passed
@kevinaboos
kevinaboos deleted the kevinaboos/mentionable_text_input_v2 branch June 26, 2026 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant