zulip/static/js
Mohit Gupta 02ea52fc18 filter: Implement has: filters on client side.
Prior to this commit has:link, has:attachment, has:image
filter couldn't be applied locally and deferred filtering to
web server. This commits make sure client filters all messages
it can instead of completely deferring to the server and hence
improve speed.

A tradeoff is also made to turn off local echo for has: narrows
as messages with link sent to has:link narrow were locally echoing
to another narrow and not appearing in the active has:link narrow.

Fixes: #6186.
2020-06-21 10:26:09 -07:00
..
analytics js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
billing free trial: Send users to /upgrade after realm creation. 2020-05-26 17:01:32 -07:00
bundles pointer: Merge pointer.js into message_scroll.js. 2020-06-18 12:55:59 -07:00
portico docs: Update most remaining references to zulipchat.com. 2020-06-08 18:10:45 -07:00
stats analytics: Added frontend for messages read over time graph. 2020-06-20 16:52:33 -07:00
types dependencies: Upgrade stacktrace-gps from 3.0.3 to 3.0.4. 2020-02-04 22:13:33 -08:00
activity.js right sidebar: Remove "GROUP PMs" section. 2020-05-27 17:57:50 -07:00
admin.js settings org: Use `image_upload_widget.hbs` for realm day/night logo. 2020-06-17 17:47:49 -07:00
alert_words.js refactor: Clean up alert_words API. 2020-02-27 11:10:13 -08:00
alert_words_ui.js lint: Add i18n linter rule for invalid i18n.t tags. 2020-05-27 14:09:56 -07:00
archive.js js: Use modern spread arguments syntax. 2020-02-11 17:43:35 -08:00
attachments_ui.js list_render: Clean up create/update. 2020-04-15 15:13:26 -07:00
avatar.js user avatar: Remove `user_avatar_file_input_error` id. 2020-06-16 12:12:21 -07:00
blueslip.js js: Use hasOwnProperty correctly or not at all. 2020-05-26 23:33:40 -07:00
blueslip_stacktrace.ts dependencies: Upgrade stacktrace-gps from 3.0.3 to 3.0.4. 2020-02-04 22:13:33 -08:00
bot_data.js bot_data: Eliminate all uses of `bot.owner` (email). 2020-05-11 16:16:58 -07:00
buddy_data.js buddy_data: Extract all user list logic. 2020-04-03 14:51:35 -07:00
buddy_list.js js: Automatically convert _.each to for…of. 2020-02-07 14:09:47 -08:00
channel.js channel: Ignore error responses when reloading too. 2020-02-27 17:41:45 -08:00
click_handlers.js click_handlers: Trigger click on enter keypress on icons in RT. 2020-06-20 22:29:48 -07:00
color_data.js js: Convert _.pluck(a, "key") to item => item.key. 2020-02-27 17:20:34 -08:00
colorspace.js docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
common.js common: Account for string.match returning null. 2020-02-13 16:37:52 -08:00
components.js lint: Add i18n linter rule for invalid i18n.t tags. 2020-05-27 14:09:56 -07:00
compose.js realm: Remove Google Hangouts integration. 2020-06-16 17:02:27 -07:00
compose_actions.js compose: Rewrite Zoom video call integration to use OAuth. 2020-06-03 16:39:12 -07:00
compose_fade.js refactor: Call compose_fade without triggers. 2020-06-13 15:35:39 -07:00
compose_pm_pill.js util.js: Remove util from window. 2020-02-15 12:20:20 -08:00
compose_state.js util: Kill off rtrim() helper. 2020-02-15 12:20:20 -08:00
compose_ui.js js: Convert _.map(a, …) to a.map(…). 2020-02-10 14:08:12 -08:00
composebox_typeahead.js typeahead: Fix buggy code block language notice. 2020-06-16 17:57:02 -07:00
condense.js condense: Clean up continue/else/if idiom. 2020-04-02 14:44:35 -07:00
confirm_dialog.js modals: Use selectors for open_modal/close_modal. 2020-05-09 10:22:37 -07:00
copy_and_paste.js copy/paste: Extract visible_range() to fix error. 2020-04-02 16:57:01 -07:00
csrf.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
debug.js js: Cleanup debug.js example to use ES syntax. 2020-03-09 14:07:13 -07:00
drafts.js drafts: Show drafts count on draft button. 2020-06-10 17:00:39 -07:00
dropdown_list_widget.js dropdown-list-widget: Properly handle disabled state. 2020-05-20 09:51:38 -07:00
echo.js filter: Implement has: filters on client side. 2020-06-21 10:26:09 -07:00
emoji.js emoji: Abstract all name_to_codepoint, codepoint_to_name accesses. 2020-05-26 23:33:40 -07:00
emoji_picker.js emoji_picker: Add expectOne to emoji_picker.navigate. 2020-06-18 13:18:50 -07:00
emojisets.js emoji: Resolve emoji sprite sheets and stylesheets through Webpack. 2020-02-25 14:43:46 -08:00
favicon.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
feature_flags.js minor: Update comment in feature_flags. 2020-05-20 13:51:54 -07:00
feedback_widget.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
fenced_code.js markdown: Add support for spoilers. 2020-06-16 16:14:10 -07:00
fetch_status.js message view: Fetch again when "newest" is discarded. 2020-06-16 11:11:16 -07:00
filter.js filter: Implement has: filters on client side. 2020-06-21 10:26:09 -07:00
floating_recipient_bar.js js: Convert _.map(a, …) to a.map(…). 2020-02-10 14:08:12 -08:00
fold_dict.ts dict: Remove each method. 2020-02-04 12:22:03 -08:00
gear_menu.js dead code: Remove useless resize calls. 2020-05-27 17:57:50 -07:00
global.d.ts dead code: Remove integration_bot_widget code. 2020-06-13 15:35:39 -07:00
hash_util.js message view: Fix link generation logic of the end of results notice. 2020-06-20 16:26:25 -07:00
hashchange.js templates: Show Overlay of Recent Topics. 2020-06-09 22:08:31 -07:00
hbs.d.ts blueslip: Make stack trace more readable. 2019-10-31 13:47:54 -07:00
hotkey.js recent_topics: Support arrow key navigation. 2020-06-20 22:50:47 -07:00
hotspots.js js: Convert _.pluck(a, "key") to item => item.key. 2020-02-27 17:20:34 -08:00
huddle_data.js right sidebar: Remove "GROUP PMs" section. 2020-05-27 17:57:50 -07:00
i18n.js i18n: Rename translations.js to i18n.js. 2020-02-29 12:19:51 -08:00
info_overlay.js info_overlay: Fix keyboard accessibility of keyboard shortcuts modal. 2020-03-24 20:41:24 -07:00
input_pill.js search: Clicking on a search pill should not lose searchbox focus. 2020-06-19 16:18:52 -07:00
invite.js stream_data: Remove page_params.notifications_stream. 2020-04-22 17:57:16 -07:00
keydown_util.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
lazy_set.js dict, lazy_set: Return an iterator from keys method. 2020-02-04 12:22:03 -08:00
lightbox.js lightbox: Remove inaccurate docstring on lightbox.open(). 2020-04-05 13:13:02 -07:00
lightbox_canvas.js lightbox_canvas: Clear canvas with less obfuscation. 2020-05-26 23:33:40 -07:00
list_cursor.js list_cursor: Avoid tracebacks. 2020-06-18 09:08:46 -07:00
list_render.js list-render: Allow re-rendering individual list items. 2020-05-28 17:10:51 -04:00
list_util.js right sidebar: Remove "GROUP PMs" section. 2020-05-27 17:57:50 -07:00
loading.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
local_message.js local_message: Convert already_used from object to Set. 2020-02-12 10:39:01 -08:00
localstorage.js localstorage: Don’t return a value from a setter. 2020-06-07 11:06:57 -07:00
markdown.js markdown: Use html5 <time> tag for timestamps. 2020-06-18 14:11:33 -07:00
markdown_config.js markdown: Add helper configuration for mobile. 2020-02-18 16:13:38 -08:00
message_edit.js code cleanup: Use exports for internal references. 2020-06-11 11:05:06 -07:00
message_edit_history.js edit_history: Respect time format setting (12h/24h). 2020-06-07 13:57:28 -07:00
message_events.js stream_topic_history: Pluralize remove_message. 2020-06-15 10:52:04 -07:00
message_fetch.js message_fetch: Rename constants for clarity. 2020-06-18 12:55:59 -07:00
message_flags.js js: Convert _.filter(a, …) to a.filter(…). 2020-02-10 14:08:12 -08:00
message_list.js message_edit: Ensure message edit form is empty prior to appending. 2020-06-05 20:12:47 -07:00
message_list_data.js message list: Move the `FetchStatus` object to MessageListData class. 2020-06-02 15:45:39 -07:00
message_list_view.js markdown: Extract rendered_markdown.js to update dynamic elements. 2020-05-21 12:32:52 -07:00
message_live_update.js js: Automatically convert _.each to for…of. 2020-02-07 14:09:47 -08:00
message_scroll.js message view: Fix link generation logic of the end of results notice. 2020-06-20 16:26:25 -07:00
message_store.js pointer: Remove frontend logic tracking furthest_read. 2020-06-18 12:55:59 -07:00
message_util.js filter: Implement has: filters on client side. 2020-06-21 10:26:09 -07:00
message_viewport.js pointer: Move scroll suppression to message_scroll.js. 2020-06-18 12:55:59 -07:00
muting.js muting ui: Update the muted topics table in settings. 2020-04-22 15:07:15 -07:00
muting_ui.js recent_topics: Add filter button to show muted topics. 2020-06-09 22:08:31 -07:00
narrow.js narrow: Move the top of narrow notices to `message_scroll.js`. 2020-06-16 00:21:21 -07:00
narrow_state.js narrow: Show starred messages from muted topics in starred message view. 2020-03-27 00:17:26 -07:00
navigate.js pointer: Move planned scroll logic to navigate.js. 2020-06-18 12:55:59 -07:00
night_mode.js settings: Add automatic theme detection feature. 2020-06-21 01:09:01 -07:00
notifications.js notifications: Check whether addEventListener is a function. 2020-06-18 12:47:02 -07:00
overlays.js templates: Show Overlay of Recent Topics. 2020-06-09 22:08:31 -07:00
padded_widget.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
page_params.js static: Serve webpack bundles from the root domain. 2020-04-10 00:48:02 -07:00
panels.js pointer: Stop sending bankruptcy pointer updates. 2020-06-18 12:55:59 -07:00
people.js realm owner: Add frontend implementation of owner role. 2020-06-14 21:20:30 -07:00
pm_conversations.js js: Convert _.pluck(a, "key") to item => item.key. 2020-02-27 17:20:34 -08:00
pm_list.js narrow: bugfix: Update stream list height after rendering completes. 2020-04-28 12:32:40 -07:00
pm_list_dom.js js: Convert _.map(a, …) to a.map(…). 2020-02-10 14:08:12 -08:00
poll_widget.js js: Convert _.any(a, …), _.some(a, …) to a.some(…). 2020-02-10 14:08:12 -08:00
popovers.js js: Extract message_edit_history.js. 2020-06-07 13:57:28 -07:00
presence.js code cleanup: Use exports for internal references. 2020-06-11 11:05:06 -07:00
reactions.js emoji: Abstract all name_to_codepoint, codepoint_to_name accesses. 2020-05-26 23:33:40 -07:00
ready.js templates: Make the Loading… message more robust. 2019-09-20 10:34:44 -07:00
realm_icon.js settings org: Use `image_upload_widget.hbs` for realm icon. 2020-06-17 17:47:49 -07:00
realm_logo.js settings: Add automatic theme detection feature. 2020-06-21 01:09:01 -07:00
recent_senders.js recent_senders: Use better variable names and comments. 2020-05-12 00:15:26 -07:00
recent_topics.js recent_topics: Support arrow key navigation. 2020-06-20 22:50:47 -07:00
reload.js pointer: Remove orig_initial_pointer hackery. 2020-06-08 22:36:35 -07:00
reload_state.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
reminder.js util: Replace util.set_message_topic(). 2020-02-21 09:53:45 -05:00
rendered_markdown.js markdown: Use html5 <time> tag for timestamps. 2020-06-18 14:11:33 -07:00
resize.js Revert "buddy list: Adjust sizing calc for narrow mode." 2020-05-29 15:36:42 -04:00
rows.js rows: Convert valid_table_names from object to Set. 2020-05-26 23:33:40 -07:00
rtl.js docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
schema.js js: Convert _.isString to typeof. 2020-02-10 15:57:20 -08:00
scroll_bar.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
scroll_util.js list_render: Extract get_list_scrolling_container(). 2020-04-15 15:13:26 -07:00
search.js search: Clicking on a search pill should not lose searchbox focus. 2020-06-19 16:18:52 -07:00
search_pill.js search: Support multiple search pills creation. 2020-06-19 16:18:52 -07:00
search_pill_widget.js search: Deactivate narrow on deleting the last search pill. 2020-06-18 01:36:49 -07:00
search_suggestion.js search: Support multiple search pills creation. 2020-06-19 16:18:52 -07:00
search_util.js js: Convert _.any(a, …), _.some(a, …) to a.some(…). 2020-02-10 14:08:12 -08:00
sent_messages.js sent_messages: Convert messages from object to Map. 2020-02-12 10:39:01 -08:00
server_events.js pointer: Remove frontend logic tracking furthest_read. 2020-06-18 12:55:59 -07:00
server_events_dispatch.js settings: Add automatic theme detection feature. 2020-06-21 01:09:01 -07:00
settings.js settings: Add automatic theme detection feature. 2020-06-21 01:09:01 -07:00
settings_account.js user avatar: Remove `user_avatar_file_input_error` id. 2020-06-16 12:12:21 -07:00
settings_bots.js people.js: Change functions to return a list of ids instead of objects. 2020-06-04 14:23:52 -04:00
settings_config.js settings: Add automatic theme detection feature. 2020-06-21 01:09:01 -07:00
settings_data.js settings org: Use `image_upload_widget.hbs` for realm day/night logo. 2020-06-17 17:47:49 -07:00
settings_display.js settings: Add automatic theme detection feature. 2020-06-21 01:09:01 -07:00
settings_emoji.js api: Simplify format of realm_emoji author data. 2020-05-31 17:44:50 -07:00
settings_exports.js data exports: Keep deleted export in UI table. 2020-04-30 13:00:59 -07:00
settings_invites.js invite: Add option to invite user as an organization owner. 2020-06-20 23:04:59 -07:00
settings_linkifiers.js list_render: Clean up create/update. 2020-04-15 15:13:26 -07:00
settings_muting.js muting: Fix real time sync of muted topics. 2020-04-22 15:07:15 -07:00
settings_notifications.js notifications: Add link for sending a test notification. 2020-04-26 23:02:05 -07:00
settings_org.js settings org: Deduplicate `upload_realm_logo_or_icon`. 2020-06-17 17:56:25 -07:00
settings_panel_menu.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
settings_profile_fields.js settings_profile_fields: Iterate over field_types with Object.values. 2020-02-10 14:08:12 -08:00
settings_sections.js bot settings: Load bots independently. 2020-05-11 16:16:58 -07:00
settings_streams.js default streams: Change add api to use stream_id. 2020-04-15 15:47:04 -07:00
settings_toggle.js js: Automatically convert _.each to for…of. 2020-02-07 14:09:47 -08:00
settings_ui.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
settings_user_groups.js zjsunit: Use assert in strict mode. 2020-02-12 08:16:26 -05:00
settings_users.js settings_user: Fix event propagation for bot and user edit form modal. 2020-06-19 12:53:13 -07:00
setup.js loading: Remove first_run_message. 2020-06-08 23:03:15 -07:00
spoilers.js markdown: Add support for spoilers. 2020-06-16 16:14:10 -07:00
starred_messages.js js: Automatically convert _.each to for…of. 2020-02-07 14:09:47 -08:00
stream_color.js stream_color.js: Fix color picker not saving custom color. 2020-06-05 17:58:09 -07:00
stream_create.js streams: Add frontend to set/update message_retention_days of a stream. 2020-06-18 17:00:34 -07:00
stream_data.js streams: Add frontend to set/update message_retention_days of a stream. 2020-06-18 17:00:34 -07:00
stream_edit.js stream edit: Add <Enter> keyboard shortcut to invite users to stream. 2020-06-21 09:57:00 -07:00
stream_events.js streams: Show message retention policy details in subscription_type text. 2020-06-18 17:13:04 -07:00
stream_list.js refactor: Clean up add/remove_sidebar_row. 2020-06-18 09:08:46 -07:00
stream_muting.js pointer: Move planned scroll logic to navigate.js. 2020-06-18 12:55:59 -07:00
stream_popover.js topic-popover: Add chevron-right icon in topic popover title. 2020-06-20 14:57:54 -07:00
stream_sort.js util.js: Remove util from window. 2020-02-15 12:20:20 -08:00
stream_topic_history.js stream_topic_history: Pluralize remove_message. 2020-06-15 10:52:04 -07:00
stream_ui_updates.js streams: Show message retention policy details in subscription_type text. 2020-06-18 17:13:04 -07:00
submessage.js js: Convert _.find(a, …) to a.find(…). 2020-02-10 14:08:12 -08:00
subs.js subs: Remove click handler for a non-existent class. 2020-06-20 14:21:28 -07:00
tab_bar.js search: Be able to continue typing after adding pills. 2020-06-18 01:32:11 -07:00
templates.js CVE-2020-9444: Prevent reverse tabnabbing attacks. 2020-04-01 14:01:45 -07:00
tictactoe_widget.js tictactoe: Fix type confusion. 2020-02-21 20:01:21 -05:00
timerender.js rendered_markdown: Add rendering functions for timestamps. 2020-05-21 12:37:37 -07:00
todo_widget.js todo widget: Downgrade error to warning. 2020-05-06 09:35:04 -04:00
top_left_corner.js top_left_corner: Don't export `should_expand_pm_list()`. 2020-02-11 14:14:59 -08:00
topic_generator.js topic_data: Rename `topic_data` module to `stream_topic_history`. 2020-04-16 20:11:04 -07:00
topic_list.js topic_data: Rename `topic_data` module to `stream_topic_history`. 2020-04-16 20:11:04 -07:00
topic_list_data.js topic_data: Rename `topic_data` module to `stream_topic_history`. 2020-04-16 20:11:04 -07:00
topic_zoom.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
transmit.js transmit: Inline send_message_ajax. 2020-04-09 16:11:57 -07:00
tslint.json typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
tutorial.js js: Purge useless IIFEs. 2019-10-25 13:51:21 -07:00
typeahead_helper.js typeahead: Fix broken email address handling in typeahead. 2020-04-20 20:49:47 -07:00
typing.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00
typing_data.js dict: Replace with Map. 2020-02-25 15:37:37 -08:00
typing_events.js people: Rename method to get_by_user_id(). 2020-02-05 12:04:56 -08:00
ui.js ui: Upgrade remove_message to allow removing messages in bulk. 2020-06-15 10:41:12 -07:00
ui_init.js settings: Fix race condition in getting users' last active time. 2020-06-19 13:08:40 -07:00
ui_report.js ui_report: Fix HTML escaping of &. 2020-02-13 17:50:59 -08:00
ui_util.js message_edit: Show stream color bar alongside stream select. 2020-05-14 14:27:53 -07:00
unread.js unread: Handle message edits that affect mentions. 2020-04-11 12:00:46 -07:00
unread_ops.js pointer: Stop sending bankruptcy pointer updates. 2020-06-18 12:55:59 -07:00
unread_ui.js unread: Remove suppress_unread_counts flag. 2020-03-31 15:30:52 -07:00
upload.js code cleanup: Use exports for internal references. 2020-06-11 11:05:06 -07:00
upload_widget.js settings org: Use `image_upload_widget.hbs` for realm day/night logo. 2020-06-17 17:47:49 -07:00
user_events.js user avatar: Remove `image-block` id. 2020-06-16 12:12:21 -07:00
user_groups.js js: Use hasOwnProperty correctly or not at all. 2020-05-26 23:33:40 -07:00
user_pill.js stream settings: Add pills in add subscribers input. 2020-06-02 15:32:26 -07:00
user_search.js resize: Resize sidebars when toggling user search. 2020-05-27 17:57:50 -07:00
user_status.js ui_init: Handle page_params more cleanly. 2020-02-26 13:14:09 -08:00
user_status_ui.js user status: Save status on enter keypress. 2020-03-06 17:13:50 -08:00
util.js compose_fade: Change would_receive_message to use user_id. 2020-06-05 16:08:26 -07:00
vdom.js vdom: Use _.escape for correct HTML escaping. 2020-02-13 17:50:59 -08:00
widgetize.js widgetize: Convert widget_contents from object to Map. 2020-02-06 17:24:43 -08:00
zcommand.js zcommand: Add `/fluid-width` and `/fixed-width` slash commands. 2020-04-07 20:54:34 -07:00
zform.js js: Automatically convert _.each to for…of. 2020-02-07 14:09:47 -08:00
zulip.js js: Automatically convert var to let and const in most files. 2019-11-03 12:42:39 -08:00