zulip/static/js
Anders Kaseorg c3a83a82c5 echo: Consistently send local_id as string, convert it back to number.
Fixes: #2734.

`local_id` was being transmitted to the server as a string by the AJAX
transmission path, and as a number by by the WebSocket transmission
path.  Then, one of the two racing success callback paths would use
the original number, while the other would use the type returned by
the server.  Depending on which transmission path was used and which
callback path won the race, `reify_message_id` would sometimes be
passed a string that would fail to compare equal to the numerical
selection id.  If the locally echoed message was selected, this would
cause the selection to disappear.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-08-07 17:17:25 -07:00
..
analytics activity: Extract most js from realm_summary_table to activity.js. 2019-06-14 10:20:59 -07:00
billing billing: Use javascript onhashchange handler instead of jQuery one. 2019-05-30 10:34:56 -07:00
bundles css: Extract rendered_markdown.scss. 2019-07-31 12:08:17 -07:00
js_typings subs: Add `stream_ui_updates.js` module for managing ui elements. 2019-04-30 14:36:52 -07:00
portico HTML validation: Remove invalid <button href> attribute. 2019-07-23 16:16:22 -07:00
stats stats: Fix the bug in showing all time actives by default. 2019-02-01 11:14:03 -08:00
.eslintrc.json
activity.js right sidebar: Ensure .user-with-count gets added to correct li element. 2019-07-16 11:33:02 -07:00
admin.js users: Apply email_address_visibility policy on the users list. 2019-08-02 15:28:36 -07:00
alert_words.js alert_words.js: Add setter for words. 2019-07-08 21:22:54 -07:00
alert_words_ui.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
archive.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
attachments_ui.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
avatar.js user settings: Improve accessibility for new delete profile picture button. 2019-07-12 16:53:25 -07:00
blueslip.js blueslip: Ignore error events with null error. 2019-07-09 17:18:32 -07:00
bot_data.js bot_data: Rename delete to del. 2019-07-04 16:48:33 -07:00
buddy_data.js user status: Change Online now to Active now in full user profile. 2019-08-07 16:20:19 -07:00
buddy_list.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
channel.js
click_handlers.js message_view: Show edit history when EDITED notice is clicked. 2019-08-07 16:59:24 -07:00
color_data.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
colorspace.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
common.js static/js/common: Add `Ctrl` key mapping to `Cmd` for MacOS. 2019-07-08 20:07:49 -07:00
components.js components: Add `disable_tab` attribute. 2019-05-13 17:27:32 -07:00
compose.js compose: Update placeholder text depending on the narrow. 2019-07-29 15:51:50 -07:00
compose_actions.js compose_box: Prepopulate stream if possible. 2019-07-31 10:20:24 -07:00
compose_fade.js buddy_list: Do not fade current user in PMs. 2019-07-21 15:06:10 -07:00
compose_pm_pill.js
compose_state.js subject -> topic: Rename compose fields. 2018-12-09 21:28:45 -08:00
compose_ui.js compose_ui: Fix double escaping of compose placeholder text. 2019-08-01 12:59:07 -07:00
composebox_typeahead.js compose: Update topic list tip_text. 2019-08-02 16:33:27 -07:00
condense.js condense: Rewrite condense.toggle_collapse to be readable and correct. 2019-07-13 15:45:00 -07:00
confirm_dialog.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
copy_and_paste.js jQuery: Use positional methods on single selectors. 2019-06-06 15:21:26 -07:00
csrf.js csrf: Improve API for when no CSRF input is available. 2018-12-16 16:19:23 -08:00
debug.js
dict.ts dependencies: Upgrade @typescript-eslint/eslint-plugin to 1.9.0. 2019-06-03 12:24:00 -07:00
drafts.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
echo.js echo: Consistently send local_id as string, convert it back to number. 2019-08-07 17:17:25 -07:00
emoji.js emoji: Remove now unused `emoji.emojis` data structure. 2019-01-05 15:09:04 -08:00
emoji_picker.js message_view: Add js tooltip hovers for emoji reactions. 2019-07-19 12:45:44 -07:00
favicon.js
feature_flags.js unread: Enable the load_server_counts setting for everyone. 2019-07-18 13:34:55 -07:00
feedback_widget.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
fenced_code.js
fetch_status.js message_fetch: Deduplicate logic for finish_newer_batch. 2018-12-13 08:43:56 -08:00
filter.js narrow: Add condition whether to show unread message first in narrow. 2019-07-17 17:58:20 -07:00
floating_recipient_bar.js floating_recipient_bar: Fix incorrect use of jQuery .next(). 2019-02-11 16:46:11 -08:00
gear_menu.js settings: Extract gear_menu.update_org_settings_menu_item(). 2018-12-07 11:40:40 -08:00
hash_util.js subject -> topic: Fix hash_util.js. 2018-12-29 14:34:06 -08:00
hashchange.js hashchange: Use hashchange event listener. 2019-07-09 11:31:35 -07:00
hotkey.js static/js/common: Extract function `has_mac_keyboard`. 2019-06-24 14:04:42 -07:00
hotspots.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
info_overlay.js info_overlay.js: Remove var toggler. 2019-07-04 16:48:33 -07:00
input_pill.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
integration_bot_widget.js
invite.js dependencies: Upgrade jquery-autosize 1.17.7 to autosize 4.0.2. 2019-07-18 14:33:16 -07:00
keydown_util.js
lightbox.js lightbox.js: Remove computed access of exports. 2019-07-08 21:22:54 -07:00
lightbox_canvas.js
list_cursor.js
list_render.js list_render: Change alphabetic sorting to be case insensitive. 2019-04-13 11:36:28 -07:00
list_util.js
loading.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
local_message.js
localstorage.js
markdown.js markdown: Enable hashheadings syntax. 2019-08-02 15:15:34 -07:00
message_edit.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
message_events.js message_edit: Fix rendering bug when topic-editing single messages. 2019-02-27 13:57:45 -08:00
message_fetch.js message_fetch: Use user ID for sender and group-pm-with operator. 2019-07-17 16:09:12 -07:00
message_flags.js search: Don't mark messages as read in search narrow. 2019-07-17 17:58:20 -07:00
message_list.js dependencies: Upgrade jquery-autosize 1.17.7 to autosize 4.0.2. 2019-07-18 14:33:16 -07:00
message_list_data.js search: Don't mark messages as read in search narrow. 2019-07-17 17:58:20 -07:00
message_list_view.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
message_live_update.js
message_scroll.js pointer.js: Add setter for suppress_scroll_pointer_update. 2019-07-08 21:22:54 -07:00
message_store.js pointer.js: Add setter for furthest_read. 2019-07-08 21:22:54 -07:00
message_util.js message scrolling: Fix "Scroll down to view" warning. 2019-01-07 17:17:55 -08:00
message_viewport.js pointer.js: Add setter for suppress_scroll_pointer_update. 2019-07-08 21:22:54 -07:00
muting.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
muting_ui.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
narrow.js narrow: Add condition whether to show unread message first in narrow. 2019-07-17 17:58:20 -07:00
narrow_state.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
navigate.js search: Don't mark messages as read in search narrow. 2019-07-17 17:58:20 -07:00
night_mode.js night mode: Fix initial state of night mode. 2019-03-08 15:45:11 -08:00
notifications.js notifications: Send message received from desktop app notification reply. 2019-07-22 17:20:44 -07:00
overlays.js overlays: Remove all alert notifications from in open_modal func. 2019-07-25 13:33:44 -07:00
padded_widget.js
panels.js
people.js message_fetch: Use user IDs for supported operators. 2019-07-13 11:35:37 -07:00
pm_conversations.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
pm_list.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
pointer.js search: Don't mark messages as read in search narrow. 2019-07-17 17:58:20 -07:00
poll_widget.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
popovers.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
presence.js presence.js: Remove var presence_info. 2019-07-04 16:50:23 -07:00
reactions.js message_view: Add js tooltip hovers for emoji reactions. 2019-07-19 12:45:44 -07:00
realm_icon.js
realm_logo.js realm_logo: Refactor `build_realm_logo_widget` function. 2019-03-14 17:05:22 -07:00
recent_senders.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
reload.js subject -> topic: Fix subject in opts. 2018-12-16 11:26:18 -08:00
reload_state.js
reminder.js reminder.js: Refactor to make notify_above_composebox conditional. 2019-01-14 12:11:27 -08:00
resize.js dependencies: Upgrade jquery-autosize 1.17.7 to autosize 4.0.2. 2019-07-18 14:33:16 -07:00
rows.js jQuery: Use positional methods on single selectors. 2019-06-06 15:21:26 -07:00
rtl.js
schema.js
scroll_bar.js cleanup: Delete leading newlines. 2019-08-06 23:29:11 -07:00
scroll_util.js Completely replace perfect-scrollbar with SimpleBar. 2019-05-17 12:06:51 -07:00
search.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
search_pill.js
search_pill_widget.js
search_suggestion.js search: Fix searching and search suggestion in Group PM. 2019-06-28 12:45:37 -07:00
search_util.js
sent_messages.js
server_events.js pointer.js: Add setter for server_furthest_read. 2019-07-08 21:22:54 -07:00
server_events_dispatch.js alert_words.js: Add setter for words. 2019-07-08 21:22:54 -07:00
settings.js settings: Update description for unread count setting. 2019-07-22 20:37:19 -07:00
settings_account.js custom fields: Set generic click handler on remove_date buttons. 2019-07-29 15:06:35 -07:00
settings_bots.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
settings_display.js display settings: Deduplicate display settings click handlers. 2019-06-24 14:41:53 -07:00
settings_emoji.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
settings_invites.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
settings_linkifiers.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
settings_muting.js muting: Add stream_id to markup for mute settings. 2018-12-14 16:05:35 -08:00
settings_notifications.js notifications: Refactor and test notifiable unreads logic. 2019-07-21 14:56:42 -07:00
settings_org.js settings_org: Enhance `show_emails` for admins only case too. 2019-08-02 15:20:55 -07:00
settings_panel_menu.js jQuery: Remove unnecessary :first selectors. 2019-06-06 15:21:26 -07:00
settings_profile_fields.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
settings_sections.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
settings_streams.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
settings_toggle.js org_settings: Add collapse/show settings button for users and guests. 2019-05-31 22:42:02 -07:00
settings_ui.js account settings: Replace logic with existing functions. 2019-07-11 13:29:08 -07:00
settings_user_groups.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
settings_users.js users: Apply email_address_visibility policy on the users list. 2019-08-02 15:28:36 -07:00
setup.js js: Extract csrf.js and include in common bundle. 2018-12-16 16:18:42 -08:00
socket.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
starred_messages.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
stream_color.js
stream_create.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
stream_data.js static/js/stream_data: Deduplicate notification setting updates. 2019-06-24 14:46:45 -07:00
stream_edit.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
stream_events.js static/js/stream_events: Deduplicate notification settings updates. 2019-06-24 14:46:45 -07:00
stream_list.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
stream_muting.js pointer.js: Add setter for suppress_scroll_pointer_update. 2019-07-08 21:22:54 -07:00
stream_popover.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
stream_sort.js
stream_ui_updates.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
submessage.js
subs.js compose_state: Maybe update stream name on stream name change. 2019-07-21 20:18:29 -07:00
tab_bar.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
templates.js templates: Remove partial helper. 2019-07-12 21:11:14 -07:00
tictactoe_widget.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
timerender.js user status: Changes to Last active field of Full User Profile. 2019-08-07 16:20:19 -07:00
todo_widget.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
top_left_corner.js top left: Simplify markup for main links. 2019-01-30 13:53:20 -08:00
topic_data.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
topic_generator.js static/js/stream_data: Rename `in_home_view` functions. 2019-05-30 21:39:06 -07:00
topic_list.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
topic_zoom.js popovers: Fix closing of the left sidebar with "more topics". 2019-07-09 16:54:39 -07:00
translations.js
transmit.js subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
tsconfig.json lint: Add TypeScript compiler as a linter. 2019-07-22 17:55:18 -07:00
tslint.json typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
tutorial.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
typeahead_helper.js typeahead: Clear rendered stream html on stream rename. 2019-07-21 20:18:29 -07:00
typing.js tests: Add tests for the logic of typing_status.handle_text_input. 2019-06-06 19:56:24 -07:00
typing_data.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
typing_events.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
typing_status.js typing_status.js: Remove var state. 2019-07-04 16:50:23 -07:00
ui.js ui.get_scroll_element: Set up SimpleBar if it’s expected but missing. 2019-07-25 16:18:54 -07:00
ui_init.js css: Remove message_hovered class. 2019-07-23 17:54:12 -07:00
ui_report.js ui_report: Remove now redundant `type` argument from `.message()`. 2019-01-17 10:28:59 -08:00
ui_util.js compose: Fix recent autocomplete regression. 2018-12-22 08:07:23 -08:00
unread.js notifications: Refactor and test notifiable unreads logic. 2019-07-21 14:56:42 -07:00
unread_ops.js search: Don't mark messages as read in search narrow. 2019-07-17 17:58:20 -07:00
unread_ui.js notifications: Refactor and test notifiable unreads logic. 2019-07-21 14:56:42 -07:00
upload.js uploads: Remove unusable UI elements if file uploading is disabled. 2019-05-08 17:10:07 -07:00
upload_widget.js settings: Add support for uploading logo for night mode. 2019-02-18 15:15:57 -08:00
user_events.js user_info: Add `bot_owner_id` to user info dataset. 2019-05-28 12:41:52 -07:00
user_groups.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
user_pill.js
user_search.js popovers: Fix migration to popovers.hide_all_except_sidebars(). 2019-07-09 23:03:41 -07:00
user_status.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
user_status_ui.js user status: Add "clear message (x)" button for status message input. 2019-05-01 16:36:45 -07:00
util.js message_edit_history: Add UI for seeing topic edits. 2019-03-25 15:10:47 -07:00
widgetize.js widgets: Rename voting_widget to poll_widget. 2018-12-16 19:46:48 -08:00
zcommand.js slash commands: Add undo for /day and /night. 2019-01-04 10:54:10 -08:00
zform.js templates: Replace templates.render with require calls. 2019-07-12 21:11:14 -07:00
zulip.js