zulip/static/js
Tim Abbott 32757b489b message_list: Move scroll-after-reply logic into rendering path.
Since the main autoscroll feature was implemeneted, the
maybe_advance_to_recently_sent_message logic had an unfortunate
structure, where the code for this potentially large scroll was
running AFTER the autoscroll decision was made, but before an actual
scroll could have occurred.

This resulted in code that was very difficult to reason about, as
there were 2 potential sources of scrolling when you send a new
message, with little connection between their implementations either
in location or implementation.

Moving this into the main autoscrolling code path clarifies the code,
with the added benefit of fixing a bug where we would report to the
user that they needed to scroll down when in fact we were just about
to scroll the bottom of the feed into view (via
maybe_advance_to_recently_sent_message).

With this change, we never display the "you need to scroll manually"
message in the cast that we just scrolled you there via selecting a
message.
2019-02-05 16:48:20 -08:00
..
billing billing: Use this.value instead of .val(). 2019-02-04 22:37:05 -08:00
bundles user status: Add ability to edit status text. 2019-01-29 10:27:49 -08:00
portico registration: Don't remove LDAP populated full name. 2019-01-17 10:16:48 -08: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: Hide user detail popover correctly. 2019-01-31 11:58:24 -08:00
admin.js org settings: Add realm level setting for missed message content in email. 2019-01-25 14:34:10 -08:00
alert_words.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
alert_words_ui.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
archive.js stream_color: Make stream color assignment more efficient. 2018-11-29 13:00:25 -08:00
attachments_ui.js ui: Fix scrollbar regressions. 2019-01-09 09:15:45 -08:00
avatar.js settings: Fix width not maximum while uploading user avatar. 2018-10-19 12:36:18 -07:00
blueslip.js Change ui check to ui_report in blueslip. 2018-08-03 15:59:10 -07:00
bot_data.js statis/js/bot_data.js: Add `get_bot_owner_email` function. 2018-11-16 09:52:05 -08:00
buddy_data.js user status: Surface status in the buddy list. 2019-01-25 16:53:51 -08:00
buddy_list.js refactor: Split out buddy_list_conf(). 2018-10-16 16:53:47 -07:00
channel.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
click_handlers.js message edit: Add "preview" option to edit UI. 2019-02-05 11:35:30 -08:00
color_data.js stream_color: Make stream color assignment more efficient. 2018-11-29 13:00:25 -08:00
colorspace.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
common.js invite: Clean error handling and use ui_report. 2019-01-17 10:28:59 -08:00
components.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
compose.js compose: Extract `render_and_show_preview` function. 2019-02-05 11:31:56 -08:00
compose_actions.js compose: Fix "You need to scroll" notifications for large messages. 2019-02-05 13:17:10 -08:00
compose_fade.js compose fade: Use "topic" internally. 2018-12-29 11:40:59 -08:00
compose_pm_pill.js compose pill: Add has_unconverted_data() helper. 2018-10-12 11:20:30 -07:00
compose_state.js subject -> topic: Rename compose fields. 2018-12-09 21:28:45 -08:00
compose_ui.js compose_ui: Create the `compose_ui.replace_syntax` function. 2018-08-26 23:33:24 -07:00
composebox_typeahead.js people: Improve mentioning users with diacritics in their name. 2019-01-31 10:07:44 -08:00
condense.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
confirm_dialog.js settings: Add confirm_dialog module. 2018-10-12 10:37:06 -07:00
copy_and_paste.js paste: Hook up the paste handler to the message edit form. 2019-01-25 11:40:33 -08:00
csrf.js csrf: Improve API for when no CSRF input is available. 2018-12-16 16:19:23 -08:00
debug.js eslint: Enable `no-extra-parens` rule. 2018-06-11 07:51:24 -04:00
dict.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
drafts.js drafts: Fix bug in finding current element. 2018-12-16 15:46:41 -08:00
echo.js subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
emoji.js emoji: Remove now unused `emoji.emojis` data structure. 2019-01-05 15:09:04 -08:00
emoji_picker.js emoji: Add support for using emoji picker in message edit. 2019-01-15 12:00:02 -08:00
favicon.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
feature_flags.js Remove feature_flags.mark_read_at_bottom. 2018-07-07 10:19:15 +02:00
feedback_widget.js ui: Render feedback widget client side. 2019-01-04 10:54:10 -08:00
fenced_code.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
fetch_status.js message_fetch: Deduplicate logic for finish_newer_batch. 2018-12-13 08:43:56 -08:00
filter.js subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
floating_recipient_bar.js refactor: Rename vars in floating_recipient_bar.js. 2019-01-03 17:33:44 -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 eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
hotkey.js ui: Close feedback widget with escape key. 2019-01-04 10:54:09 -08:00
hotspots.js hotspots: Add hotspot for gear menu. 2019-02-05 12:19:21 -08:00
info_overlay.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
input_pill.js input pills: Fix modal gets closed when user click on remove-pill-btn. 2018-11-28 16:33:08 -08:00
integration_bot_widget.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
invite.js invite: Add UI to generate multiuse invitation link. 2019-02-02 23:05:47 -08:00
keydown_util.js keydown_util: Ignore alt-arrow and similar things. 2018-12-04 12:24:39 -08:00
lightbox.js compose: Use lightbox when clicking images in compose preview. 2019-02-02 11:11:24 -08:00
lightbox_canvas.js lightbox: Make `v` close the lightbox during Pan & Zoom. 2018-07-23 10:36:48 -07:00
list_cursor.js list_cursor: Promote error handling code. 2018-08-24 10:00:04 -07:00
list_render.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
list_util.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
loading.js org settings: Fix a bug where the loading spinner was not visible. 2018-08-08 10:59:23 -07:00
local_message.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
localstorage.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
markdown.js markdown: Reduce mentions inside blockquotes to silent-mentions. 2019-01-16 16:08:37 -08:00
message_edit.js messages: Add support for quickly deleting all messages in a topic. 2019-02-01 17:09:44 -08:00
message_events.js message_list: Move scroll-after-reply logic into rendering path. 2019-02-05 16:48:20 -08:00
message_fetch.js Refactor: Split up add_messages api. 2019-01-07 17:17:55 -08:00
message_flags.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
message_list.js message scrolling: Fix "Scroll down to view" warning. 2019-01-07 17:17:55 -08:00
message_list_data.js subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
message_list_view.js message_list: Move scroll-after-reply logic into rendering path. 2019-02-05 16:48:20 -08:00
message_live_update.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
message_scroll.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
message_store.js frontend: Use topic on message. 2019-01-07 19:20:56 -08:00
message_util.js message scrolling: Fix "Scroll down to view" warning. 2019-01-07 17:17:55 -08:00
message_viewport.js message scrolling: Add started_scrolled_up logic. 2019-01-07 17:11:17 -08:00
muting.js page load: Fix two bugs related to muting/unreads. 2018-12-15 13:44:30 -08:00
muting_ui.js ui: Extract feedback_widget module. 2019-01-04 10:54:07 -08:00
narrow.js narrow: Use get_message_topic() helper. 2018-12-29 14:15:43 -08:00
narrow_state.js minor: Change "subject" to "topic" in comments. 2018-12-29 11:38:39 -08:00
navigate.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
night_mode.js ui: Explicity initialize night mode. 2019-01-04 10:54:10 -08:00
notifications.js message scrolling: Fix "Scroll down to view" warning. 2019-01-07 17:17:55 -08:00
overlays.js user settings: Fix active background links when a modal is visible. 2018-12-09 22:32:53 -08:00
padded_widget.js buddy list: Add padding to progressive scrollings. 2018-08-02 16:59:27 -07:00
panels.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
people.js people: Improve mentioning users with diacritics in their name. 2019-01-31 10:07:44 -08:00
pm_conversations.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
pm_list.js top left: Simplify markup for main links. 2019-01-30 13:53:20 -08:00
pointer.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
poll_widget.js poll-widget: Downgrade key error to warning. 2019-01-29 09:34:14 -08:00
popovers.js user status: Fix tiny green dot in user popover. 2019-02-01 15:23:35 -08:00
presence.js presence: Use people.is_my_user_id() for check. 2019-01-03 13:49:44 -08:00
reactions.js reactions: Fix minor formatting in log message. 2018-07-10 16:22:52 -04:00
realm_icon.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
realm_logo.js settings: Add support for customizing the top-left logo. 2018-12-18 12:44:52 -08:00
recent_senders.js subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
reload.js subject -> topic: Fix subject in opts. 2018-12-16 11:26:18 -08:00
reload_state.js refactor: Extract reload_state module. 2018-08-04 13:55:02 +00:00
reminder.js reminder.js: Refactor to make notify_above_composebox conditional. 2019-01-14 12:11:27 -08:00
resize.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
rows.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
rtl.js rtl.js: Fix support for supplementary planes of unicode characters (>= U+10000). 2018-08-14 11:39:29 -07:00
schema.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
scroll_bar.js right sidebar: Change media cut-off for where we hide the buddy list. 2018-09-27 07:29:32 -04:00
scroll_util.js scroll_util: Account for element padding in height calculations. 2018-07-27 09:09:52 -07:00
search.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
search_pill.js search: Add a basic implementation of search pills. 2018-07-23 11:29:10 -07:00
search_pill_widget.js pills: Use `widget` instead of `my_pill` throughout the app. 2018-07-23 11:29:10 -07:00
search_suggestion.js search: Do not display `All messages` suggestion if bar not empty. 2018-07-23 11:29:10 -07:00
search_util.js Extract search_util.js module. 2018-07-30 11:25:32 -07:00
sent_messages.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
server_events.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
server_events_dispatch.js user status: Surface status in the buddy list. 2019-01-25 16:53:51 -08:00
settings.js settings: Eliminate admin_sections module. 2018-12-17 10:13:20 -08:00
settings_account.js ajax: Fix wrong ajax setting name from beforeSubmit to beforeSend. 2019-02-02 23:05:10 -08:00
settings_bots.js settings: Update organization permission strings to reflect guests. 2018-10-30 10:48:06 -07:00
settings_display.js emoji: Fix caching for text emojiset. 2018-09-21 18:34:12 -07:00
settings_emoji.js emoji: Remove `display_url` from the context of `admin_emoji_list`. 2018-08-14 12:07:56 -07:00
settings_invites.js invite: Rename guest users to guests. 2019-01-30 10:34:16 -08:00
settings_linkifiers.js settings: Rename "settings_filters" to "settings_linkifiers". 2018-12-17 12:28:55 -08:00
settings_muting.js muting: Add stream_id to markup for mute settings. 2018-12-14 16:05:35 -08:00
settings_notifications.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
settings_org.js org settings: Add realm level setting for missed message content in email. 2019-01-25 14:34:10 -08:00
settings_panel_menu.js settings: Eliminate admin_sections module. 2018-12-17 10:13:20 -08:00
settings_profile_fields.js settings: Call maybe_disable_widgets() in set_up() methods. 2018-12-17 10:13:18 -08:00
settings_sections.js settings: Rename "settings_filters" to "settings_linkifiers". 2018-12-17 12:28:55 -08:00
settings_streams.js ui: Fix scrollbar regressions. 2019-01-09 09:15:45 -08:00
settings_toggle.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
settings_ui.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
settings_user_groups.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
settings_users.js settings: Add admin UI for editing users' custom profile fields. 2019-01-15 15:34:35 -08: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 top left: Simplify markup for main links. 2019-01-30 13:53:20 -08:00
stream_color.js Extract color_data.js. 2018-11-28 14:51:51 -08:00
stream_create.js Clean up code to open "Create stream" panel. 2018-12-02 18:40:00 -08:00
stream_data.js stream_data: Add get_invite_stream_data helper function. 2019-02-01 15:35:42 -08:00
stream_edit.js subscriptions: Add tooltip, only subscribers can add user in private stream. 2019-01-05 16:21:41 -08:00
stream_events.js stream_color: Make stream color assignment more efficient. 2018-11-29 13:00:25 -08:00
stream_list.js Use stream_id for by_stream__uri(). 2018-12-14 16:05:40 -08:00
stream_muting.js Refactor: Split up add_messages api. 2019-01-07 17:17:55 -08:00
stream_popover.js messages: Add support for quickly deleting all messages in a topic. 2019-02-01 17:09:44 -08:00
stream_sort.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
submessage.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
subs.js stream_color: Extend subscribe API to support color attribute. 2019-01-25 16:44:59 -08:00
tab_bar.js tab_bar: Make explicit call of narrow change handle function. 2018-11-29 12:36:00 -08:00
templates.js settings: Warn if server is unable to deliver mobile push notifications. 2018-10-31 13:18:17 -07:00
tictactoe_widget.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
timerender.js timerender.js: Remove use of legacy font awesome base class 'icon-vector'. 2018-10-15 19:22:57 +05:30
todo_widget.js todo lists: Make lists sharable. 2018-12-17 07:40:27 -08:00
top_left_corner.js top left: Simplify markup for main links. 2019-01-30 13:53:20 -08:00
topic_data.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
topic_generator.js muting: Use stream_id for internal data structures. 2018-12-14 15:58:35 -08:00
topic_list.js topic list: Remove unnecessary markup. 2018-12-14 16:05:40 -08:00
topic_zoom.js Have ESC zoom out topics if you're zoomed in. 2018-10-24 16:54:35 -07:00
translations.js i18n: Fix reference error for localstorage. 2018-05-30 23:28:21 +05:30
transmit.js subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
tutorial.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
typeahead_helper.js typeahead: Rename `codepoint` to `emoji_code`. 2019-01-05 15:09:04 -08:00
typing.js typing indicators: Use user ids internally. 2018-10-14 09:38:32 -07:00
typing_data.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
typing_events.js typing_events: Make explicit call of narrow change handle function. 2018-11-29 12:36:00 -08:00
typing_status.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
ui.js ui: Fix scrollbar regressions. 2019-01-09 09:15:45 -08:00
ui_init.js user status: Add ability to edit status text. 2019-01-29 10:27:49 -08: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 subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
unread_ops.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
unread_ui.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
upload.js upload: Use a placeholder when uploading. 2018-08-26 23:33:24 -07:00
upload_widget.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
user_events.js settings: Add guest avatar marker to account settings. 2018-12-30 11:07:00 -08:00
user_groups.js user groups: Fix membership checks for unknown user groups. 2019-01-14 16:00:06 -08:00
user_pill.js compose pill: Add has_unconverted_data() helper. 2018-10-12 11:20:30 -07:00
user_search.js right sidebar: Hide user detail popover correctly. 2019-01-31 11:58:24 -08:00
user_status.js user status: Add ability to edit status text. 2019-01-29 10:27:49 -08:00
user_status_ui.js user status: Fix wording in set-status modal. 2019-02-01 15:23:35 -08:00
util.js frontend: Use topic on message. 2019-01-07 19:20:56 -08: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 app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
zulip.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00