Skip to content

Sticker widget improvements. UI/UX/widget capabilities#33022

Open
alwayshopeless wants to merge 7 commits intoelement-hq:developfrom
alwayshopeless:feat/stickerpicker-sidebar
Open

Sticker widget improvements. UI/UX/widget capabilities#33022
alwayshopeless wants to merge 7 commits intoelement-hq:developfrom
alwayshopeless:feat/stickerpicker-sidebar

Conversation

@alwayshopeless
Copy link
Copy Markdown

This change updates the sticker picker so it can be attached to the right sidebar and behave more like other persistent widgets.

What changed

  • Add a sticker picker entry point next to the message input on wider layouts
  • Add "Attach to sidebar" to the sticker widget menu
  • Add a dedicated right panel card for the sticker picker with a detach action
  • Persist the chosen display mode so reopening the sticker picker respects the last attached/detached state
  • Increase the default sticker picker popover size to better match the emoji picker
  • [IMPORTANT] Allow sticker picker widgets to use org.matrix.msc4039.upload_file and org.matrix.msc4039.download_file

Validation

All features were tested in development mode. The desktop build also completes successfully.

Goal and rationale

Interaction with stickers is an important part of the client experience for new users, so improving how they are displayed and used is important.

The default widget size is too small and differs from the emoji picker, despite being intended to display larger elements.

Additionally, accessing the sticker picker through the dot-bar is inconvenient, so the sticker button has been moved to the input bar next to the emoji picker.

Another important change is the ability to pin the widget statically to the sidebar for quick access, similar to an extension.

Permissions for MSC4039 were also added to the sticker widget in addition to m.sticker. I understand these are experimental features, but they have already existed in Element for several years. Adding them is important to enable uploading custom stickers through the widget, as implemented in my project:
https://github.com/alwayshopeless/sticky-picky

By expanding the list of available permissions, integration with Element becomes nearly native, without requiring users to create a separate room extension via an administrator and pin it for the entire chat.

Additionally, these changes could help further develop the already popular sticker picker:
https://github.com/maunium/stickerpicker

which has over 800 forks.

@alwayshopeless alwayshopeless requested a review from a team as a code owner April 1, 2026 12:06
@github-actions github-actions bot added the Z-Community-PR Issue is solved by a community member's PR label Apr 1, 2026
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 1, 2026

CLA assistant check
All committers have signed the CLA.

@alwayshopeless alwayshopeless changed the title sticker-widget-improvements Sticker widget improvements. UI/UX/widget capabilities Apr 1, 2026
@alwayshopeless
Copy link
Copy Markdown
Author

alwayshopeless commented Apr 1, 2026

@t3chguy
Copy link
Copy Markdown
Member

t3chguy commented Apr 2, 2026

I deployed a modified instance for testing:

image

You have a lot of failing tests.

Asking @element-hq/design to review

@t3chguy t3chguy requested a review from a team April 2, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Z-Community-PR Issue is solved by a community member's PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants