zulip/tools
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
..
iframe-bot Use os.path directly rather than sometimes importing it separately. 2013-10-28 15:44:13 -04:00
inject-messages Use os.path directly rather than sometimes importing it separately. 2013-10-28 15:44:13 -04:00
jslint Change pointer semantic to better support side bar users. 2013-12-09 10:41:26 -05:00
marketing norman-mailer: Deal more gracefully with fewer fields. 2013-09-20 14:36:00 -04:00
print-all Split management commands for internal use into zilencer/ 2013-11-04 11:58:52 -05:00
stress-test Remove the onboarding checklist. 2013-10-31 11:34:15 -04:00
backup Fix saving historical backups for our mediawiki. 2013-10-31 15:05:23 -04:00
block-deployments Add a simple pair of tools for blocking and unblocking deployments 2013-11-05 17:13:45 -05:00
build-api-tarball Rename the 'humbug' API module to 'zulip'. 2013-08-08 10:22:31 -04:00
build-deb Tools for building Debian packages and publishing the results. 2013-11-19 17:02:52 -05:00
build-enterprise-tarball Fix emoji on enterprise. 2013-11-14 11:18:23 -05:00
check-handlebar-templates Clean up back end HTML templates. 2013-11-19 10:43:56 -05:00
clean-branches clean-branches: Print the abbrev SHA for of each deleted ref 2012-11-06 15:45:24 -05:00
clean-repo Add a tool for removing stale *.pyc files 2012-10-12 13:28:09 -04:00
deploy-branch deploy-branch: Check out original ref by name if possible 2013-03-27 14:15:03 -04:00
django-template-graph django-template-graph: Replace slashes with newlines 2012-10-16 01:45:37 -04:00
do-destroy-rebuild-database [manual] Change references to the humbug user, schema, and database to zulip 2013-10-26 04:16:27 -04:00
do-destroy-rebuild-test-database Move generate-fixtures to tools/. 2013-08-08 10:22:32 -04:00
generate-activity-metrics.py Update generate-activity-metrics to use new graphite url 2013-09-06 15:14:55 -04:00
generate-fixtures [manual] Change references to the humbug_test user, schema, and database to zulip_test 2013-10-26 04:16:28 -04:00
get-handlebar-vars Create tools/get-handlebar-vars utility. 2013-12-04 13:58:04 -05:00
include-supported.example Tools for building Debian packages and publishing the results. 2013-11-19 17:02:52 -05:00
install-server install-server: Explicitly disable ControlMaster for the initial ssh 2013-11-23 11:41:22 -05:00
lint-all Exclude git_p4 from the linter, not our code. 2013-12-06 11:54:38 -05:00
migrate-puppet Add one-off tool for automating manual steps of recent puppet changes 2013-10-31 11:06:21 -04:00
migrate-server-config [manual] Switch over to new /etc/zulip/zulip.conf config file 2013-11-05 14:14:19 -05:00
minify-js Force-minify min/activity.js. 2013-09-26 13:55:45 -04:00
msmtprc.example Change Humbug => Zulip in text/comments. 2013-08-07 10:00:07 -04:00
munge_postgres_logs.pl Make munge_postgres_logs.pl executable 2013-01-29 12:16:32 -05:00
node Don't print an error when nodejs is at /usr/bin/node 2013-06-24 10:46:36 -04:00
post-commit Accept zulip.com emails in post-commit hook 2013-07-23 14:50:39 -04:00
post-receive Remove legacy check_output implementation for pre-2.7 Pythons. 2013-11-10 09:28:55 -05:00
postgres-init-db postgres-init-db: Split into internal and external versions for now. 2013-11-13 12:02:50 -05:00
postgres-init-test-db postgres-init-db: Split into internal and external versions for now. 2013-11-13 12:02:50 -05:00
pre-commit Speed up ./tools/pre-commit by checking only staged files. 2013-12-02 16:14:06 -05:00
publish.example Tools for building Debian packages and publishing the results. 2013-11-19 17:02:52 -05:00
review review: Rename humbug => zulip in test git repo path. 2013-10-31 15:29:49 -04:00
run-dev.py [manual] Add endpoint to cleanup a finished events queue. 2013-11-20 18:34:15 -05:00
run-graphiti [manual] Rename /home/humbug to /home/zulip. 2013-10-08 08:57:29 -04:00
send_github_payloads.py Add tool for sending Github payloads to a local instance 2013-09-17 13:55:39 -04:00
setup-git-repo Repoint to new repository 2013-10-07 13:43:23 -04:00
show-profile-results.py Add profiled decorator and a tool to show profiler results. 2013-07-02 16:47:34 -04:00
test-all Rename check-all to lint-all. 2013-08-09 13:06:02 -04:00
test-backend Move generate-fixtures to tools/. 2013-08-08 10:22:32 -04:00
test-js-with-casper Added tools/test-js-with-casper symlink. 2013-08-09 13:04:52 -04:00
test-js-with-node Include /usr/lib/nodejs in node search path. 2013-12-02 17:49:08 -05:00
unblock-deployments Add a simple pair of tools for blocking and unblocking deployments 2013-11-05 17:13:45 -05:00
update-deployment zulip_tools.py: Add a make_deploy_path function and make it invokable from the commandline 2013-11-13 16:26:04 -05:00
update-prod-static [manual] Move update-prod-static and update-deployments back to tools/. 2013-11-04 13:22:41 -05:00