zulip-flutter
zulip-flutter copied to clipboard
Track all valid Zulip emoji
This is a prerequisite for:
- #388
- #670
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:
- Cover all three of Zulip's types of emoji.
- Support efficiently looking up an emoji by name, or by type and code.
- Support iterating through the list of all Zulip emoji.
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.