mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 22:43:42 +00:00
This adds support for unstarring all (starred) messages from a particular topic, from the topic popover. The earlier implementation of this in #16898 was reverted inbc55aa6a01(#17429) because it had two problems- 1. The crash reported inbc55aa6a01was due to message_store returning undefined. This happens when the message itself hasn't been fetched from the server yet, but we know that the message is starred from the ids in `page_params` in `starred_messages.js`. This commit handles this case explicitly. Note that, we simply ignore those messages which we haven't fetched, and because of this, it may happen that we don't unstar some messages from that topic. The correct implementation for this would be to ask the backend for starred IDs in a topic. 2. The earlier implementation actually unstarred **all** messages. This was because it grabbed the topic and stream_id from the topic popover `data` attributes, after the topic popover had been closed. This passed `undefined`, which the function then interpreted as an action to unstar all messages. With this commit, we use the confirm_dialog widget, which eliminates the need to store this data in the DOM.
4.0 KiB
4.0 KiB