matrix-spec-proposals icon indicating copy to clipboard operation
matrix-spec-proposals copied to clipboard

MSC1951: Custom sticker packs and emoji (mk II)

Open turt2live opened this issue 5 years ago • 20 comments

Rendered Obsoletes MSC1256

Changes from MSC1256:

  • Packs-as-rooms
  • More compact data structures
  • Less vague criteria for field values
  • Fixes https://github.com/matrix-org/matrix-doc/issues/1894

This is proposed with a community hat on:

Signed-off-by: Travis Ralston <[email protected]>

turt2live avatar Apr 04 '19 03:04 turt2live

It's not mentioned in the proposal because it doesn't directly apply, but a paid sticker pack would probably specify a publicly reachable page for a sharable URL (eg: https://example.org/packs/paid/matrix-stickers) which would resolve to an invite only room. For people to actually get access to the stickers, they'd pay for it and then two things could happen: a unique room is generated for the person to have or the application asks which user should be receiving the sticker pack (inviting that user to the private room).

In the case of a unique room, the room would probably be open to the public but set up such that the provider has a bot which has made it so the user can't do anything in the room, including invite others. Once the first user joins, the bot would make the room invite only to prevent the user from sharing the link to friends, giving them a free sticker pack. In future, the knock membership state would be highly useful for this.

The third option for paid sticker packs (which isn't as great) is to just treat the stickers as not belonging to a pack, and therefore not needing to provide a URL.

turt2live avatar Apr 05 '19 04:04 turt2live

would love to see this get merged

ordinarygulp avatar May 03 '19 03:05 ordinarygulp

Anything blocking this from being added to matrix? Is it already wip? Can anyone give a status update?

mkg20001 avatar Sep 12 '19 22:09 mkg20001

I'm curious as well, our community has been requesting this constantly.

ordinarygulp avatar Sep 20 '19 05:09 ordinarygulp

It's currently on my personal backburner. There's a partial implementation in the form of sticker packs (https://github.com/turt2live/matrix-sticker-manager) though it is far from perfect or ideal.

Hoping to push this forward once some of the larger MSCs finish landing.

turt2live avatar Sep 20 '19 05:09 turt2live

Thanks for the update. Just another ping to say the community I'm a part of would also love this.

dud1337 avatar Oct 26 '19 12:10 dud1337

Complete noob here. I wonder how privacy-friendly this approach is?

If I understand correctly, this proposal does not do any E2EE. It's all state events, which don't get encrypted IIRC. It would leak both sticker content as well as who is using which sticker packs (to those who are in the sticker room / admins of any HS of which at least one user uses the pack). I feel this makes creating "personal" sticker packs (pictures of company property, personal pictures of a group of friends, et cetera: private packs for use in small communities) sketchy.

If I understand the spec correctly, encrypted files are only encrypted once, and then the decryption key is sent encrypted to all recipients? Would it be possible to use a similar system for sticker packs? That would at least save them from compromised servers.

The sticker pack room neatly announcing everyone who is using the pack looks like valuable metadata to me in the case of community-specific sticker packs. A different approach I can think of would be sticker packs as files (or maybe one index file with metadata an thumbnails linking to individual sticker files). Makes it harder to come up with a neat update mechanism, maybe there would be none. But it would be easily encryptable. I believe Signal does something like this.

What do you think? Is there any way to make this more privacy-friendly?

steef435 avatar Feb 03 '20 03:02 steef435

There doesn't seem to be any activity on this for quite a while. What's blocking this from being merged? Is it not being worked on anymore?

ranile avatar Dec 20 '20 18:12 ranile

It's just not a priority on my side right now. Generally speaking, #matrix-spec:matrix.org is a better place to be asking for status updates.

turt2live avatar Dec 20 '20 19:12 turt2live

XMPP accepted stickers specification in their protocol. Maybe will be useful for some inspiration?

https://xmpp.org/extensions/xep-0449.html

bttmchnd avatar Jan 27 '21 23:01 bttmchnd

What is blocking this merge request?

Kreyren avatar Aug 31 '21 04:08 Kreyren

A re-review from me, the author, to compare its feasibility against other MSCs, then a proper implementation, then spec core team review.

turt2live avatar Aug 31 '21 04:08 turt2live

we have a lot of people who would really really like this feature, and its absence is one of the biggest problems with matrix for us

vampirefrog avatar Dec 04 '21 02:12 vampirefrog

we have a lot of people who would really really like this feature, and its absence is one of the biggest problems with matrix for us

Not "biggest"..

CATASTROPHIC!!!

Kreyren avatar Dec 04 '21 03:12 Kreyren

Please refrain from offtopic discussion and imagery.

turt2live avatar Dec 04 '21 03:12 turt2live

@turt2live Thanks a lot for the PR Just one question, does this implementation consider encryption on custom emoji and sticker packs?

VarLad avatar Dec 07 '21 15:12 VarLad

The MSC can be read from the files tab. If you have comments or concerns, please leave them inline on that view.

turt2live avatar Dec 07 '21 15:12 turt2live

Hey Matrix Development Team,

I am sad to say this but i was bullied and mentally abused in this very comment thread for being a queer/gay/lesbian/MTF trans/ FTM trans/ pansexual/bisexual/neuro divergent/PTSD/Minor Attracted Person/furry/otaku. It was horrifying i felt so small and defenseless like i couldn't do anything. If I could have posted a sticker of a transginger gang-stalking victim beating a homeless person (CIA operative) to death with a shoe, and they would have been scared away. DO BETTER MATRIX! Please implement stickers ASAP!

Wow. this is so stunning and brave. Im literally weeping into my tampon tea rn. bless you good xir. We will keep you in our prayers.

If only you had stickers things could have been different

stickermaniac avatar Dec 14 '21 07:12 stickermaniac

Looking through the proposal shouldn't there also be a way to define per-user stickers/emoji?

Also what about animated stickers/emoji?

Kreyren avatar Dec 14 '21 13:12 Kreyren

@Kreyren Please open comments on specific lines, so that you can get a reply inside a thread. Also, there is an alternative MSC, which has those features: matrix-org/matrix-spec-proposals#2545 and is used in some clients already.

deepbluev7 avatar Dec 14 '21 13:12 deepbluev7

Closing in favour of https://github.com/matrix-org/matrix-spec-proposals/pull/2545

MSC2545 is the SCT's current preference to push forward, though may still adopt some of the ideas contained here.

turt2live avatar May 13 '24 17:05 turt2live