mirror of
https://github.com/zulip/zulip.git
synced 2025-11-09 00:18:12 +00:00
We should not show UI for moving locally echoed or failed messages. For the edit/move icon in message controls - - After2451002, we showed "Move message" icon for locally echoed messages when moving messages was allowed as per org permissions. This was clearly a bug and this commit fixes it and we instead show "View source" icon. For "m" hotkey - - After2451002, pressing "m" opened "Move messages" modal for locally echoed messages when moving messages was allowed as per org permissions. This was clearly a bug and this commit fixes it and pressing "m" does nothing. For pencil icon in recipient header - - Previously, the pencil icon was showed even if first message below the recipient bar was locally echoed and the topic edit failed silently with locally echoed or failed messages again showing under old topic after reload. This commit fixes it to hide the icon in such cases. The original behavior was that server returned an error with not so appropriate response. - Note that we can only check the first message below the header since it will be inefficient to check all the messages whether each of them is successfully sent. And in such cases when any of the later messages is locally echoed, the topic edit succeeds but the locally echoed or failed messages are shown under old topic after reload. - The behavior is same for the "checkmark" icon for resolving topics in the header. For three-dot message menu - - We don't need to do anything here since the three-dot icon is not shown for locally echoed or failed messages. For the "Move topic" option in topic popover in left sidebar - - We cannot do anything here since it will be inefficient to check all messages in the topic whether they are locally echoed or not everytime we open the popover. - If the first message in topic is locally echoed or a failed message, then the id of first message of the topic returned from server is undefined and we see an error in client while trying to get message from that id. And if one or multiple of the later messages is locally echoed, then only successful and server-acked messages are moved. Note that this cannot handle all cases like a user can use a successfully sent message to access the topic edit UI and then choose "change_all" and "change_later" propagate modes. In such cases the locally echoed and failed messages will remain in the old topic only.
10 KiB
10 KiB