// See https://zulip.readthedocs.io/en/latest/subsystems/pointer.html for notes on // how this system is designed. exports.initialize = function initialize() { $(document).on('message_selected.zulip', function (event) { if (event.id === -1) { return; } if (event.mark_read && event.previously_selected !== -1) { // Mark messages between old pointer and new pointer as read let messages; if (event.id < event.previously_selected) { messages = event.msg_list.message_range(event.id, event.previously_selected); } else { messages = event.msg_list.message_range(event.previously_selected, event.id); } if (event.msg_list.can_mark_messages_read()) { unread_ops.notify_server_messages_read(messages, {from: 'pointer'}); } } }); }; window.pointer = exports;