zulip / zulip-flutter

Future Zulip client using Flutter
Apache License 2.0
171 stars 149 forks source link

Track all valid Zulip emoji #669

Open gnprice opened 4 months ago

gnprice commented 4 months ago

This is a prerequisite for:

In order to offer the user a UI to choose an emoji from the emoji Zulip knows about, we'll need to know what emoji those are and what Zulip calls them.

Zulip has a particular data model for identifying emoji, which is an underdocumented part of the Zulip API. For an introduction, see reaction_type here: https://zulip.com/api/add-reaction#parameter-reaction_type and the two companion fields emoji_code and emoji_name. (The same emoji model is used for reactions as for emoji in messages.)

Then see zulip-mobile's src/emoji/data.js, which tracks this model.

A good implementation of this issue will:

gnprice commented 4 days ago

With #976 (which I've just sent) we'll have all the data.

The remaining data-model work I want to do before declaring victory here is to handle searching through the list of emoji to produce the data we'd use for an emoji-picker UI (for #388 or #670). Between that and the logic we already have (and in #967 refactored onto EmojiStore) for looking up an individual emoji to decide how to display it, we'll be covering all the ways the app needs to use emoji data, which is the key criterion for being confident that our model has all the features it needs.