zulip/static/js
Jessica McKellar 81b493ba0b Change pointer semantic to better support side bar users.
There are now 2 cases for narrowing:

1. We narrowed, but only backwards in time (ie no unread were
read). In this case, try to go back to exactly where we were before
narrowing. This behavior is unchanged.

2. We read some unread messages in a narrow. Instead of going back to
where we were before the narrow, go to our first unread message (or
the bottom of the feed, if there are no unread messages). This is new.

This means that after catching up through the sidebar, on returning
home you'll be at the bottom of your feed.

Searching for the first unread message in a message list with 40,000
messages only takes 17ms according to:

function timeit() {
    var t0 = new Date().getTime();
    _.find(current_msg_list.all(), unread.message_unread);
    var t1 = new Date().getTime();
    console.log('Find first unread: ' + (t1 - t0) + ' ms');
}

(imported from commit 87c467578a2cced0aa976d8ae2924371b85d2445)
2013-12-09 10:41:26 -05:00
..
activity.js Increase number of names shown in group PM list from 2 to 3 2013-12-06 17:54:05 -05:00
admin.js remove unnecessary comment 2013-11-22 17:12:52 -05:00
alert_words.js Remove transitional feature_flags.alert_words flag. 2013-10-15 09:57:19 -04:00
alert_words_ui.js Allow enter key to submit an alert word. 2013-11-08 10:36:37 -05:00
api.js Move zephyr/static to just static. 2013-07-29 12:11:26 -04:00
avatar.js Allow users to upload avatars on the Settings page. 2013-10-29 10:59:41 -04:00
blueslip.js blueslip: Fix formating of log date strings 2013-11-15 11:00:56 -05:00
colorspace.js Move zephyr/static to just static. 2013-07-29 12:11:26 -04:00
common.js Add curly braces for all javascript if statements lacking them. 2013-08-01 11:47:54 -04:00
compose.js Upgrade slow send restart of get_updates requests to blueslip.error. 2013-12-05 14:37:01 -05:00
compose_fade.js Random javascript shortenings 2013-11-13 16:41:36 -05:00
composebox_typeahead.js Add @-everyone to the composebox autocomplete. 2013-12-02 16:03:21 -05:00
debug.js Replace $.each with _.each 2013-07-30 12:12:58 -04:00
dict.js Create blueslip error for undefined keys in Dict. 2013-09-11 18:07:37 -04:00
emoji.js Show realm emoji in typeahead and update the list via events. 2013-08-23 21:39:29 -04:00
feature_flags.js Turn on left_side_userlist on staging. 2013-12-06 17:17:23 -05:00
filter.js Support sender:me and pm-with:me search syntax. 2013-12-05 13:49:04 -05:00
hashchange.js Add unit tests for stream_list. 2013-11-27 15:09:20 -05:00
hotkey.js Make c/C compose to a new destination instead of being identical to r/R 2013-12-03 16:58:50 -05:00
initial_invite.js Replace $.each with _.each 2013-07-30 12:12:58 -04:00
invite.js Create stream_data.js module. 2013-08-19 12:17:55 -04:00
landing-page.js Replace $.each with _.each 2013-07-30 12:12:58 -04:00
message_edit.js Revert "Respect enter-to-send in edit box" 2013-11-28 13:51:45 -08:00
message_list.js Remove message_list:get_messages, which is redundant with all(). 2013-12-09 10:41:26 -05:00
message_list_view.js Remove message_list:get_messages, which is redundant with all(). 2013-12-09 10:41:26 -05:00
message_tour.js Move zephyr/static to just static. 2013-07-29 12:11:26 -04:00
metrics.js Rename our custom JS events to use Zulip, not Zephyr. 2013-07-29 12:11:26 -04:00
muting.js Handle undefined keys in muting.is_topic_muted 2013-09-11 16:47:36 -04:00
muting_ui.js Add muted_topic style to the topics stylebar. 2013-09-30 16:52:19 -04:00
narrow.js Change pointer semantic to better support side bar users. 2013-12-09 10:41:26 -05:00
navigate.js Restore centering when using the down arrow (or "j"). 2013-08-05 16:10:01 -04:00
notifications.js Remove problematic unused variable in "outside narrow" notification. 2013-11-25 13:41:37 -05:00
notifications_bar.js Add curly braces for all javascript if statements lacking them. 2013-08-01 11:47:54 -04:00
popovers.js Fix problem with presence list popovers persisting 2013-12-04 11:32:59 -05:00
referral.js Move 'unshare the love' flag into feature_flags. 2013-10-25 18:48:46 -04:00
reload.js [schema] Collect data on when users are active on site. 2013-09-10 13:25:59 -04:00
rows.js Make narrowing click handlers work more generally. 2013-08-27 15:46:33 -04:00
search.js Fix a JS error introduced by the debug logging. 2013-11-05 15:07:24 -05:00
search_suggestion.js Show more topics in search suggestions. 2013-11-25 16:26:22 -05:00
settings.js Feature flag the digest emails setting to staging. 2013-12-02 18:58:04 -05:00
setup.js Send users whose sessions have expired to the login page. 2013-11-13 15:35:45 -05:00
signup.js Make login form validation errors not wrap 2013-09-16 14:20:43 -04:00
socket.js Broadcast an event right before and after doing the WebSocket handshake 2013-12-05 16:21:59 -05:00
stream_color.js Fix historical messages not getting their color updated on a color change. 2013-11-04 10:44:55 -05:00
stream_data.js Remove obsolete stream_data.all_subs(). 2013-10-25 13:50:34 -04:00
stream_list.js Add unit tests for stream_list. 2013-11-27 15:09:20 -05:00
subs.js Only scroll to a stream once the streams have loaded 2013-11-25 11:47:00 -05:00
summary.js Extract mark_summarized(). 2013-08-13 11:26:12 -04:00
tab_bar.js Create stream_data.js module. 2013-08-19 12:17:55 -04:00
templates.js Add unit tests for stream_list. 2013-11-27 15:09:20 -05:00
timerender.js Better date separator rendering 2013-09-11 11:50:17 -07:00
tutorial.js Show desktop apps alert when tutorial completes 2013-09-19 13:23:35 -04:00
typeahead_helper.js Add curly braces for all javascript if statements lacking them. 2013-08-01 11:47:54 -04:00
ui.js Remove "Invite coworkers" link from left sidebar for CUSTOMER7. 2013-12-06 17:17:26 -05:00
unread.js [important] Fix stacktrace in unread.js. 2013-09-29 22:42:33 -04:00
util.js Add a `.expectOne` method to jQuery objects. 2013-09-04 16:44:33 -04:00
viewport.js Disable scrollTop blueslip error for now. 2013-12-03 14:32:44 -05:00
zulip.js Change pointer semantic to better support side bar users. 2013-12-09 10:41:26 -05:00