zulip/static/js
YashRE42 a150b9b0ae recent_topics: Don't rely on ":visible" to avoid forced reflow.
Previously, navigating from any stream to the recent topics view would
cause a forced reflow every time we checked `is_visible()` because it
would call `$("#recent_topics_view").is(":visible")`.

The reason for this is related to how browsers ship frames, the
process follows these steps:
JavaScript > style calculations > layout > paint > composite.
(The layout step is called Reflow in firefox.)

Typically, the browser will handle these steps in the most optimal
manner possible, delaying expensive operations until they're needed.

However, it is possible to cause the browser to perform a layout
earlier than necessary. An example of this is what we previously did:

When we call `top_left_corner.narrow_to_recent_topics()`, we ask to
add a class via `.addClass()`, this schedules a Style Recalculation,
then, when we call `message_view_header.make_message_view_header()` it
calls `recent_topics_util.is_visible()` which calls
`$("#recent_topics_view").is(":visible")`.

Before the browser can get this value, it realizes that our dom was
invalidated by `.addClass()` and so it must execute the scheduled
Style Recalculation and cause a layout.

This is called a forced synchronous layout.

This commit adds a JavaScript variable representing the visible state,
in order to prevent the above behavior.

This commit reduces the main thread run time of
`build_message_view_header` from 131.81 ms to 5.20 ms.

Unfortunately we still have the case where
`recent_topics_ui.revive_current_focus()` calls
`recent_topics_ui.set_table_focus()` which causes a reflow.

However, by eliminating this reflow we still save ~100ms.
(It's important to note that we only save this sometimes, as other
things can still cost us a reflow.)

Further reading: https://developers.google.com/web/fundamentals/
performance/rendering/avoid-large-complex-layouts-and-layout-thrashing
2021-11-08 18:30:44 -08:00
..
analytics js: Use jQuery as a module. 2021-03-12 10:08:25 -08:00
billing billing: Migrate to Stripe hosted checkout page. 2021-11-05 17:23:10 -07:00
bundles js: Fix, and check for, non-ES5 syntax in webpack bundles. 2021-07-05 13:32:37 -07:00
portico apps: Remove buggy SPA tumor from apps page. 2021-09-07 12:08:26 -07:00
stats dependencies: Upgrade JavaScript dependencies. 2021-06-08 10:15:52 -07:00
types/stacktrace-gps dependencies: Upgrade to webpack-bundle-tracker 1.0.0-alpha.1. 2021-04-06 09:31:35 -07:00
about_zulip.js about_zulip: Migrate to handlebars. 2021-06-15 11:55:20 -07:00
activity.js web_public_view: Replace web_public_visitor with spectator. 2021-06-16 07:46:34 -07:00
admin.js settings: Add moderators and members option to msg-delete dropdown. 2021-09-30 14:59:31 -07:00
alert_popup.ts js: Make alert_popup shared. 2021-04-26 09:27:49 -07:00
alert_words_ui.js alert_words_ui: Use e.key instead of deprecated e.which. 2021-06-02 14:04:53 -07:00
alert_words.js alert_words: Revert back before_punctuation regex to stable one. 2021-05-06 20:36:52 -07:00
all_messages_data.js message_list: Downgrade message_list.all to MessageListData. 2021-03-30 08:33:47 -07:00
attachments_ui.js templates: Move uploaded_files_list to settings/. 2021-06-02 20:36:21 -07:00
avatar.js dialog_widget: Remove the fade parameter. 2021-10-26 18:20:17 -07:00
blueslip_stacktrace.ts dependencies: Upgrade JavaScript dependencies. 2021-05-10 18:07:13 -07:00
blueslip.ts lint: Fix typos found by codespell. 2021-10-19 16:51:13 -07:00
bot_data.js js: Clean up typeof … === "undefined" checks. 2021-03-24 13:15:01 -07:00
browser_history.js spectators: Rename is_web_public_compatible functions. 2021-09-06 09:00:16 -07:00
buddy_data.js user_status: Add architecture to support status emoji feature. 2021-07-28 09:50:11 -07:00
buddy_list.js node tests: Use clean BuddyList instance in tests. 2021-03-18 16:37:20 -04:00
channel.js channel: Simplify password change tracking. 2021-10-05 10:23:43 -07:00
click_handlers.js dialog_widget: Migrate modal to Micromodal. 2021-10-26 18:20:17 -07:00
color_class.ts ts: Convert color_class module to TypeScript. 2021-06-22 09:14:09 -07:00
color_data.ts ts: Convert color_data module to TypeScript. 2021-06-22 09:14:09 -07:00
colorspace.ts ts: Convert colorspace to typescript. 2021-05-21 16:53:30 -07:00
common.ts ts: Convert common module to TypeScript. 2021-06-22 09:09:36 -07:00
components.ts ts: Convert components module to TypeScript. 2021-07-05 17:04:06 -07:00
compose_actions.js compose: Fix buggy refocusing of compose box on close. 2021-10-26 17:54:56 -07:00
compose_closed_ui.js compose: Add trigger for new private message. 2021-07-05 11:56:46 -07:00
compose_error.ts ts: Convert compose_error module to TypeScript. 2021-07-09 12:42:31 -07:00
compose_fade_helper.js refactor: Use sub_store for get/validation. 2021-04-15 17:26:17 -07:00
compose_fade_users.js compose fade: Extract compose_fade_users class. 2021-03-21 20:16:08 -07:00
compose_fade.js js: Move current_msg_list, home_msg_list to ES6 module message_lists. 2021-03-29 18:23:47 -07:00
compose_pm_pill.js js: Use jQuery as a module. 2021-03-12 10:08:25 -08:00
compose_state.js js: Use jQuery as a module. 2021-03-12 10:08:25 -08:00
compose_ui.js compose: Trim selected text before formatting. 2021-10-01 16:45:51 -07:00
compose_validate.js frontend: Add new user_settings module for user's settings. 2021-08-01 15:30:17 -07:00
compose.js compose: Add compose box button to insert global times. 2021-11-01 16:20:05 -07:00
composebox_typeahead.js compose: Add compose box button to insert global times. 2021-11-01 16:20:05 -07:00
condense.js message_body: Rename "Condense" to "Show less". 2021-07-05 20:15:14 -07:00
confirm_dialog.js dialog_widget: Migrate modal to Micromodal. 2021-10-26 18:20:17 -07:00
copy_and_paste.js Revert "compose: Convert pasted url to named link." 2021-07-08 12:00:22 -07:00
csrf.ts ts: Convert csrf module to TypeScript. 2021-07-05 17:04:06 -07:00
css_variables.js css_variables: Directly export number values for breakpoints. 2021-04-08 09:40:10 -07:00
debug.js eslint: Fix unicorn/no-array-for-each. 2021-01-25 14:53:19 -08:00
deprecated_feature_notice.js deprecated_feature_notice: Migrate modal to dialog_widget. 2021-10-29 16:09:39 -07:00
desktop_integration.js refactor: Extract browser_history module. 2021-03-22 13:29:32 -07:00
dialog_widget.js dialog_widget: Add support for rendering a single footer button. 2021-10-26 18:20:17 -07:00
drafts.js drafts: Fix buggy "Saved as draft" notice flashing on send. 2021-10-08 09:28:05 -07:00
dropdown_list_widget.js MDLW: Render tippy tooltip once the selected items surpasses the limit. 2021-07-29 10:09:03 -07:00
echo.js drafts: Fix buggy "Saved as draft" notice flashing on send. 2021-10-08 09:28:05 -07:00
emoji_picker.js frontend: Add new user_settings module for user's settings. 2021-08-01 15:30:17 -07:00
emojisets.js docs: Add missing space in “emoji set”. 2021-09-08 15:31:28 -07:00
favicon.js lint: Fix JS style in last commit. 2021-11-01 11:07:01 -07:00
feature_flags.ts ts: Convert feature_flags to typescript. 2021-05-21 16:53:27 -07:00
feedback_widget.js js: Convert static/js/blueslip.js to ES6 module. 2021-03-17 08:47:15 -04:00
fetch_status.js js: Convert static/js/message_scroll.js to ES6 module. 2021-02-28 14:23:00 -08:00
filter.js spectators: Rename is_web_public_compatible functions. 2021-09-06 09:00:16 -07:00
floating_recipient_bar.js refactor: Rename panels.js to navbar_alerts.js as it better explains it. 2021-05-21 17:49:12 -07:00
fold_dict.ts fold_dict: Fix @typescript-eslint/member-ordering. 2021-10-17 07:15:09 -07:00
gear_menu.js gear_menu: Fix template variables passed from page_params. 2021-08-07 06:19:43 -07:00
giphy.js giphy: Load Giphy SDK lazily. 2021-05-28 15:44:49 -07:00
global.d.ts ts: Convert ui_util module to TypeScript. 2021-07-05 17:04:06 -07:00
hash_util.js spectators: Rename is_web_public_compatible functions. 2021-09-06 09:00:16 -07:00
hashchange.js login_to_access: Rename module to spectators. 2021-09-07 09:47:28 -07:00
hbs.d.ts
hotkey.js user_settings: Add option to disable escape key navigation to default view. 2021-10-29 18:15:30 -07:00
hotspots.js api: Fix encoding of strings in hotspot endpoint. 2021-05-07 11:45:25 -07:00
huddle_data.js node tests: Add test() wrapper for suggestions. 2021-03-12 15:29:23 -05:00
i18n.ts i18n: Fix @typescript-eslint/unbound-method. 2021-09-22 18:06:06 -07:00
info_overlay.js user_settings: Add option to disable escape key navigation to default view. 2021-10-29 18:15:30 -07:00
input_pill.js compose: Fix compose fade not updating on deleting user pill. 2021-08-06 14:22:55 -07:00
invite.js invites: Update error message when max limit for the day is reached. 2021-11-01 16:36:26 -07:00
keydown_util.ts ts: Convert keydown_util to TypeScript. 2021-05-27 23:33:21 -07:00
lazy_set.js js: Convert static/js/blueslip.js to ES6 module. 2021-03-17 08:47:15 -04:00
lightbox_canvas.js eslint: Fix unicorn/prefer-switch. 2021-05-10 19:26:41 -07:00
lightbox.js lightbox_overlay: Migrate to handlebars. 2021-06-14 13:41:36 -07:00
linkifiers.js refactor: Extract linkifier non-settings logic from markdown.js. 2021-05-19 11:59:28 -07:00
list_cursor.js js: Convert static/js/blueslip.js to ES6 module. 2021-03-17 08:47:15 -04:00
list_util.ts ts: Convert list_util module to TypeScript. 2021-06-22 09:14:09 -07:00
list_widget.js dropdown_list_widget: Add support for Multiselect dropdown list widget (MDLW). 2021-07-29 10:09:03 -07:00
loading.ts js: Fix @typescript-eslint/restrict-template-expressions. 2021-09-22 18:06:06 -07:00
local_message.js message_list: Downgrade message_list.all to MessageListData. 2021-03-30 08:33:47 -07:00
localstorage.js js: Clean up typeof … === "undefined" checks. 2021-03-24 13:15:01 -07:00
markdown_config.js frontend: Add new user_settings module for user's settings. 2021-08-01 15:30:17 -07:00
markdown.js Revert "time_widget: Make the generated time string more readable." 2021-08-03 16:45:31 -07:00
message_edit_history.js message_edit_history: Migrate modal to dialog_widget. 2021-11-08 17:24:31 -08:00
message_edit.js dialog_widget: Append dialog_widget to the body element. 2021-10-26 18:20:17 -07:00
message_events.js message_edit_history: Migrate modal to dialog_widget. 2021-11-08 17:24:31 -08:00
message_fetch.js message_fetch: For spectators, add web-public to narrow. 2021-11-02 11:26:19 -07:00
message_flags.js starred messages: Fix "unstar all in topic" is incomplete. 2021-04-29 16:43:39 -07:00
message_helper.js refactor: Move pm_conversations.process_message. 2021-03-29 14:53:57 -07:00
message_list_data.js js: Rename muting module to muted_topics. 2021-06-30 16:32:55 -07:00
message_list_view.js message_list: Avoid losing place when sending messages. 2021-10-12 15:34:27 -07:00
message_list.js message lists: Exclude 1:1 PMs with muted users. 2021-05-07 16:21:35 -07:00
message_lists.js js: Move current_msg_list, home_msg_list to ES6 module message_lists. 2021-03-29 18:23:47 -07:00
message_live_update.js message_list: Downgrade message_list.all to MessageListData. 2021-03-30 08:33:47 -07:00
message_parser.ts ts: Convert message_parser module to TypeScript. 2021-07-09 12:42:31 -07:00
message_scroll.js recent_topics: Split into three modules. 2021-06-10 15:53:05 -07:00
message_store.js refactor: Extract people.get_display_full_names. 2021-05-10 12:36:39 -07:00
message_user_ids.ts ts: Convert message_user_ids to typescript. 2021-05-21 16:53:30 -07:00
message_util.js message_list: Downgrade message_list.all to MessageListData. 2021-03-30 08:33:47 -07:00
message_view_header.js message_view_header: Fix hover effect related to links in description. 2021-10-07 10:29:08 -07:00
message_viewport.js js: Simplify more code using default parameters and destructuring. 2021-06-25 16:34:04 -07:00
muted_topics_ui.js js: Rename muting_ui module to muted_topics_ui. 2021-07-09 10:00:45 -07:00
muted_topics.js js: Rename muting module to muted_topics. 2021-06-30 16:32:55 -07:00
muted_users_ui.js dialog_widget: Append dialog_widget to the body element. 2021-10-26 18:20:17 -07:00
muted_users.js js: Split out muted_users module from muting. 2021-06-30 16:32:55 -07:00
narrow_banner.js narrow_banner: Add banner for no resolved topics found search. 2021-07-13 23:36:24 -07:00
narrow_state.js js: Convert static/js/page_params.js to ES6 module. 2021-03-26 10:17:56 -07:00
narrow.js minor: Fix typo in narrow.js activate - "heading" was "headig". 2021-10-27 14:22:10 -07:00
navbar_alerts.js navbar_alerts: Add alerts for demo org deadlines. 2021-09-10 16:31:54 -07:00
navigate.js js: Move current_msg_list, home_msg_list to ES6 module message_lists. 2021-03-29 18:23:47 -07:00
night_mode.ts ts: Convert night_mode module to TypeScript. 2021-06-22 09:14:09 -07:00
notifications.js settings: Add live update code for realm-default notification settings. 2021-09-16 15:46:41 -07:00
overlays.js dialog_widget: Migrate modal to Micromodal. 2021-10-26 18:20:17 -07:00
padded_widget.ts ts: Convert padded_widget module to TypeScript. 2021-07-05 17:04:06 -07:00
page_params.ts streams: Split setting for stream creation policy. 2021-10-01 10:26:42 -07:00
password_quality.ts js: Fix @typescript-eslint/restrict-plus-operands. 2021-09-22 18:06:06 -07:00
peer_data.js refactor: Use sub_store for get/validation. 2021-04-15 17:26:17 -07:00
people.js people: Fix small avatar URL generation. 2021-10-14 12:47:43 -07:00
pill_typeahead.js minor: Refactor pill_typeahead.js to use include_users check. 2021-06-12 07:59:43 -07:00
pm_conversations.js js: Split out muted_users module from muting. 2021-06-30 16:32:55 -07:00
pm_list_dom.js js: Convert static/js/pm_list_dom.js to ES6 module. 2021-02-28 14:23:00 -08:00
pm_list.js refactor: Cleanup the existence of fraction_present. 2021-04-30 16:02:31 -07:00
poll_widget.js poll widget: Prevent question updates from non-authors. 2021-06-14 17:46:16 -07:00
popover_menus.js streams: Split setting for stream creation policy. 2021-10-01 10:26:42 -07:00
popovers.js user_info_popover: Show relevant info for spectators and hide buttons. 2021-11-02 11:26:19 -07:00
presence.js api: Add server_timestamp to register response. 2021-05-20 14:57:34 -07:00
reactions.js login_to_access: Rename module to spectators. 2021-09-07 09:47:28 -07:00
ready.ts ts: Convert ready module to TypeScript. 2021-06-22 09:14:09 -07:00
realm_icon.js register api: Rename max_icon_file_size. 2021-05-26 11:38:24 -07:00
realm_logo.js realm_logo: Rename realm_logo.rerender to realm_logo.render. 2021-07-19 09:45:29 -07:00
realm_playground.js realm_playground: Stop using Map incorrectly. 2021-05-09 22:01:00 -07:00
realm_user_settings_defaults.ts user_settings: Add option to disable escape key navigation to default view. 2021-10-29 18:15:30 -07:00
recent_senders.js refactor: Simplify recent_senders code. 2021-04-14 16:28:07 -07:00
recent_topics_data.js recent_topics: Split into three modules. 2021-06-10 15:53:05 -07:00
recent_topics_ui.js recent_topics: Don't rely on ":visible" to avoid forced reflow. 2021-11-08 18:30:44 -08:00
recent_topics_util.js recent_topics: Don't rely on ":visible" to avoid forced reflow. 2021-11-08 18:30:44 -08:00
reload_state.ts ts: Convert reload_state to typescript. 2021-05-21 16:53:30 -07:00
reload.js docs: Correct “webapp” to “web app”. 2021-05-14 13:15:38 -07:00
reminder.js compose: Extract compose_error.js. 2021-06-24 16:19:22 -07:00
rendered_markdown.js user_groups: Remove suppress_errors support for get_user_group_from_id. 2021-09-15 16:52:35 -07:00
resize.js frontend: Add new user_settings module for user's settings. 2021-08-01 15:30:17 -07:00
rows.js compose: Use class to find markdown_preview related elements. 2021-04-27 10:06:25 -07:00
rtl.js rtl: Use _.sortedIndex instead of util.lower_bound. 2021-07-28 17:32:09 -07:00
schema.js js: Convert static/js/schema.js to ES6 module. 2021-02-10 10:27:14 -08:00
scroll_bar.js frontend: Add new user_settings module for user's settings. 2021-08-01 15:30:17 -07:00
scroll_util.js js: Convert static/js/ui.js to ES6 module. 2021-03-02 17:06:35 -08:00
search_pill_widget.js js: Convert static/js/page_params.js to ES6 module. 2021-03-26 10:17:56 -07:00
search_pill.js js: Convert static/js/input_pill.js to ES6 module. 2021-03-02 17:06:35 -08:00
search_suggestion.js search_suggestion: Add suggestion support for is:resolved keyword. 2021-07-13 23:35:41 -07:00
search_util.ts ts: Convert search_utils to typescript. 2021-05-21 16:53:30 -07:00
search.js search: Use e.key instead of deprecated e.which. 2021-06-02 14:04:53 -07:00
sent_messages.js dependencies: Upgrade JavaScript dependencies. 2021-06-08 10:15:52 -07:00
server_events_dispatch.js user_settings: Add option to disable escape key navigation to default view. 2021-10-29 18:15:30 -07:00
server_events.js web_public_view: Replace web_public_visitor with spectator. 2021-06-16 07:46:34 -07:00
settings_account.js dialog_widget: Remove the fade parameter. 2021-10-26 18:20:17 -07:00
settings_bots.js edit_bot: Migrate modal to dialog_widget. 2021-11-08 17:34:42 -08:00
settings_config.ts settings: Add UI option for custom notification batching period. 2021-11-05 12:21:55 -07:00
settings_data.ts streams: Split setting for stream creation policy. 2021-10-01 10:26:42 -07:00
settings_display.js user_settings: Add option to disable escape key navigation to default view. 2021-10-29 18:15:30 -07:00
settings_emoji.js dialog_widget: Remove the fade parameter. 2021-10-26 18:20:17 -07:00
settings_exports.js template: Move admin_export_list template to settings folder. 2021-04-26 09:37:08 -07:00
settings_invites.js dialog_widget: Remove the fade parameter. 2021-10-26 18:20:17 -07:00
settings_linkifiers.js dialog_widget: Remove the fade parameter. 2021-10-26 18:20:17 -07:00
settings_muted_topics.js js: Rename muting_ui module to muted_topics_ui. 2021-07-09 10:00:45 -07:00
settings_muted_users.js js: Split out muted_users_ui from muting_ui module. 2021-07-09 10:00:45 -07:00
settings_notifications.js settings: Add UI option for custom notification batching period. 2021-11-05 12:21:55 -07:00
settings_org.js dialog_widget: Remove the fade parameter. 2021-10-26 18:20:17 -07:00
settings_panel_menu.js keydown_util: Use Event.key instead of deprecated properties. 2021-05-27 23:33:17 -07:00
settings_playgrounds.js playgrounds: Rename name field to playground_name. 2021-05-11 20:47:41 -07:00
settings_profile_fields.js docs: Fix capitalization mistakes. 2021-05-10 09:57:26 -07:00
settings_realm_user_settings_defaults.js settings: Remove patch_url from realm_default_settings_panel. 2021-10-07 14:23:24 -07:00
settings_sections.js settings: Pass a single object to settings_notifications functions. 2021-09-21 14:56:27 -07:00
settings_streams.js settings_streams: Use e.key instead of deprecated e.which. 2021-06-02 14:04:53 -07:00
settings_toggle.js settings: Change "Settings" to "Personal" in the toggle tab. 2021-07-01 11:47:14 -07:00
settings_ui.js settings: Fix the sticky behavior of saving indicator. 2021-09-15 09:47:08 -07:00
settings_user_groups.js dialog_widget: Remove the fade parameter. 2021-10-26 18:20:17 -07:00
settings_users.js settings: Add user-id column to bot list. 2021-11-08 18:10:25 -08:00
settings.js dialog_widget: Migrate modal to Micromodal. 2021-10-26 18:20:17 -07:00
setup.js channel: Simplify password change tracking. 2021-10-05 10:23:43 -07:00
spectators.js login_to_access: Rename module to spectators. 2021-09-07 09:47:28 -07:00
spoilers.ts js: Fix @typescript-eslint/restrict-template-expressions. 2021-09-22 18:06:06 -07:00
starred_messages_ui.js dialog_widget: Append dialog_widget to the body element. 2021-10-26 18:20:17 -07:00
starred_messages.js frontend: Add new user_settings module for user's settings. 2021-08-01 15:30:17 -07:00
stream_bar.js refactor: Extract color_class module. 2021-03-24 12:22:27 -07:00
stream_color.js subs: Rename subs.js to stream_settings_ui.js. 2021-07-09 09:38:58 -07:00
stream_create.js dialog_widget: Append dialog_widget to the body element. 2021-10-26 18:20:17 -07:00
stream_data.js settings: Fix streams incorrectly appearing in notification settings. 2021-10-08 10:31:20 -07:00
stream_edit.js stream_settings: Add heading row in subscriber list. 2021-11-08 18:10:25 -08:00
stream_events.js settings: Pass a single object to settings_notifications functions. 2021-09-21 14:56:27 -07:00
stream_list.js stream_edit: Live update UI when a stream becomes web public. 2021-09-21 10:22:33 -07:00
stream_muting.js message_list: Downgrade message_list.all to MessageListData. 2021-03-30 08:33:47 -07:00
stream_pill.js refactor: Add type field to pill items. 2021-04-27 12:07:57 -07:00
stream_popover.js dialog_widget: Append dialog_widget to the body element. 2021-10-26 18:20:17 -07:00
stream_settings_data.js frontend: Add new user_settings module for user's settings. 2021-08-01 15:30:17 -07:00
stream_settings_ui.js dialog_widget: Remove the fade parameter. 2021-10-26 18:20:17 -07:00
stream_sort.js minor: Move filter logic for stream sort to utils.js. 2021-06-08 14:58:45 -07:00
stream_topic_history_util.js refactor: Extract stream_topic_history_util. 2021-04-15 17:26:17 -07:00
stream_topic_history.js message_edit: Fix live update bug in left sidebar. 2021-06-29 10:00:52 -07:00
stream_ui_updates.js stream settings: Move subscription_type.hbs to stream settings folder. 2021-07-18 11:36:39 -07:00
sub_store.ts js: Fix @typescript-eslint/restrict-template-expressions. 2021-09-22 18:06:06 -07:00
submessage.js minor: Use warn instead of error for widgets. 2021-06-14 17:46:16 -07:00
templates.js templates: Remove context argument from {{#tr}} block helper. 2021-04-13 18:59:46 -07:00
timerender.ts js: Fix @typescript-eslint/restrict-plus-operands. 2021-09-22 18:06:06 -07:00
tippyjs.js copy_code_button: Attach tooltip to body to avoid overlap with parent. 2021-10-01 10:04:17 -07:00
todo_widget.js todo widget: Check types for inbound events. 2021-06-14 17:46:16 -07:00
top_left_corner.js top_left_corner: Directly use span.unread_count to display unreads. 2021-04-14 10:57:16 -07:00
topic_generator.js js: Rename muting module to muted_topics. 2021-06-30 16:32:55 -07:00
topic_list_data.js left-sidebar: Add support for showing resolve-topic-prefix. 2021-07-05 18:02:40 -07:00
topic_list.js left-sidebar: Hide clear filter text button if topic filter is empty. 2021-06-10 15:49:34 -07:00
topic_zoom.js js: Use jQuery as a module. 2021-03-12 10:08:25 -08:00
transmit.js js: Convert static/js/page_params.js to ES6 module. 2021-03-26 10:17:56 -07:00
tutorial.js api: Fix encoding of strings in tutorial endpoint. 2021-05-07 14:06:54 -07:00
typeahead_helper.js typeahead: Make typeahead_helper.sort_recipients more readable. 2021-05-25 08:03:02 -07:00
types.ts lint: Fix typos found by codespell. 2021-10-19 16:51:13 -07:00
typing_data.js js: Split out muted_users module from muting. 2021-06-30 16:32:55 -07:00
typing_events.js typing_notifications: Show several users are typing if num of typists > 3. 2021-10-07 16:32:08 -07:00
typing.js typing_notifications: Send requests only if send_private_typing_notifications. 2021-10-07 17:40:32 -07:00
ui_init.js settings: Pass a single object to settings_notifications functions. 2021-09-21 14:56:27 -07:00
ui_report.ts ts: Convert ui_report module to TypeScript. 2021-06-22 09:09:36 -07:00
ui_util.ts ts: Convert ui_util module to TypeScript. 2021-07-05 17:04:06 -07:00
ui.js deprecated_feature_notice: Move code to a separate module. 2021-06-15 11:58:45 -07:00
unread_ops.js js: Simplify more code using default parameters and destructuring. 2021-06-25 16:34:04 -07:00
unread_ui.js sidebar toggles: Lift code to display PM counts. 2021-03-30 12:07:51 -07:00
unread.js unread: Add get_read_message_ids() helper. 2021-08-04 12:06:11 -07:00
upload_widget.ts upload_widget: Convert $e.get(0) to $e[0]. 2021-11-05 17:34:13 -07:00
upload.js compose: Don’t convert absolute upload URLs to relative. 2021-07-07 15:41:52 -07:00
user_events.js settings: Disable realm-level defaults of user settings for non-admins. 2021-09-16 15:46:40 -07:00
user_group_pill.js refactor: Add type field to pill items. 2021-04-27 12:07:57 -07:00
user_groups.ts js: Fix @typescript-eslint/restrict-plus-operands. 2021-09-22 18:06:06 -07:00
user_pill.js input_pill: Customize pills for deactivated users. 2021-06-25 18:06:42 -07:00
user_profile.js popovers: Use user ID for computing medium avatar URLs. 2021-11-02 11:26:19 -07:00
user_search.js js: Use jQuery as a module. 2021-03-12 10:08:25 -08:00
user_settings.ts user_settings: Add option to disable escape key navigation to default view. 2021-10-29 18:15:30 -07:00
user_status_ui.js user_status: Trigger input focus once the modal is shown. 2021-07-29 11:26:26 -07:00
user_status.js user status: Fix custom emoji not loading during page load. 2021-08-02 13:38:51 -07:00
util.js tooltip: Add "download" text to tooltips on files. 2021-09-27 10:54:37 -07:00
vdom.js Fix typos using codespell. 2021-05-18 17:33:51 -07:00
watchdog.ts ts: Convert watchdog module to TypeScript. 2021-07-09 12:42:31 -07:00
webpack_public_path.js js: Convert static/js/page_params.js to ES6 module. 2021-03-26 10:17:56 -07:00
widgetize.js widgets: Avoid adding the widget_elem if it already exists. 2021-07-24 09:52:14 -07:00
zcommand.js composebox_typeahead: Remove redundant options from the / typeahead. 2021-10-21 10:50:27 -07:00
zform.js js: Convert static/js/blueslip.js to ES6 module. 2021-03-17 08:47:15 -04:00
zulip_test.js blueslip: Remove SAVE_FRONTEND_STACKTRACES setting. 2021-07-07 09:26:02 -07:00