Skip to content

Track all valid Zulip emoji #669

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
gnprice opened this issue May 13, 2024 · 1 comment · Fixed by #1069
Closed

Track all valid Zulip emoji #669

gnprice opened this issue May 13, 2024 · 1 comment · Fixed by #1069
Assignees
Labels
a-api Implementing specific parts of the Zulip server API a-model Implementing our data model (PerAccountStore, etc.)

Comments

@gnprice
Copy link
Member

gnprice commented May 13, 2024

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:

  • 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.
@gnprice gnprice added a-api Implementing specific parts of the Zulip server API a-model Implementing our data model (PerAccountStore, etc.) labels May 13, 2024
@gnprice gnprice added this to the Beta 3: Summer 2024 milestone May 13, 2024
@gnprice gnprice self-assigned this Sep 16, 2024
gnprice added a commit to gnprice/zulip-flutter that referenced this issue Oct 2, 2024
This completes the data we'll need for use in zulip#669, which in turn
will let us offer an emoji picker for reactions and for use
inside message content.

The doc on fetchEmojiData is based on a comment at the corresponding
code in the legacy zulip-mobile app, in src/events/eventActions.js .
@gnprice
Copy link
Member Author

gnprice commented Oct 2, 2024

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.

gnprice added a commit to gnprice/zulip-flutter that referenced this issue Oct 8, 2024
This completes the data we'll need for use in zulip#669, which in turn
will let us offer an emoji picker for reactions and for use
inside message content.

The doc on fetchEmojiData is based on a comment at the corresponding
code in the legacy zulip-mobile app, in src/events/eventActions.js .
gnprice added a commit to gnprice/zulip-flutter that referenced this issue Oct 9, 2024
This completes the data we'll need for use in zulip#669, which in turn
will let us offer an emoji picker for reactions and for use
inside message content.

The doc on fetchEmojiData is based on a comment at the corresponding
code in the legacy zulip-mobile app, in src/events/eventActions.js .
gnprice added a commit to gnprice/zulip-flutter that referenced this issue Nov 21, 2024
This leaves the emojiDisplay field of these objects untested.  I
skipped that because it seems like pretty boring low-risk code,
just invoking emojiDisplayFor.  (And emojiDisplayFor has its own
tests.)  But included a TODO comment for completeness in thinking
about what logic there is to test here.

Fixes: zulip#669
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-api Implementing specific parts of the Zulip server API a-model Implementing our data model (PerAccountStore, etc.)
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant