mirror of
https://github.com/zulip/zulip.git
synced 2025-11-09 00:18:12 +00:00
user_status: Fix status emoji handling of deactivated custom emoji.
Previously, if a user had a realm emoji set as their status emoji and someone deleted the realm emoji, the app would fail to initialize, because of the error we throw from `./shared/js/emoji.js`. This commit fixes this by just displaying the deactivated emoji, similar to how we do when realm_emoji used as reactions are deleted. As part of the fix, we add a function get_emoji_details_for_rendering, which duplicates some of the logic used in `reactions.js`, we can refactor to remove the duplication in `reactions.js` in future commits. Note that the following behaviour is a part of our design: If a user sets their emoji to a particular realm emoji, say for example "octo-ninja", and "octo-ninja" was then deleted, and a new emoji was added with the name "octo-ninja", the user's status emoji would change to show the new emoji instead of the deleted emoji. Also note that in the `user_status.js` node test, we were able to change the name for the 991 realm_emoji because it had not been previously used anywhere in the test (possibly added as just a copy paste artifact?). Fixes: #20274. emoji: Use reaction_type parameter to analyze emoji.
This commit is contained in:
@@ -77,11 +77,12 @@ export function set_status_emoji(opts) {
|
||||
}
|
||||
|
||||
user_status_emoji_info.set(opts.user_id, {
|
||||
emoji_name: opts.emoji_name,
|
||||
emoji_code: opts.emoji_code,
|
||||
reaction_type: opts.reaction_type,
|
||||
emoji_alt_code: user_settings.emojiset === "text",
|
||||
...emoji.get_emoji_details_by_name(opts.emoji_name),
|
||||
...emoji.get_emoji_details_for_rendering({
|
||||
emoji_name: opts.emoji_name,
|
||||
emoji_code: opts.emoji_code,
|
||||
reaction_type: opts.reaction_type,
|
||||
}),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -104,10 +105,7 @@ export function initialize(params) {
|
||||
|
||||
if (dct.emoji_name) {
|
||||
user_status_emoji_info.set(user_id, {
|
||||
emoji_name: dct.emoji_name,
|
||||
emoji_code: dct.emoji_code,
|
||||
reaction_type: dct.reaction_type,
|
||||
...emoji.get_emoji_details_by_name(dct.emoji_name),
|
||||
...emoji.get_emoji_details_for_rendering(dct),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user