Commit Graph

17 Commits

Author SHA1 Message Date
Tim Abbott
e2413e8137 Defer processing of get_old_messages results during tutorial.
Previously we would just discard the results of get_old_messages,
which meant that any messages sent either while you were doing the
tutorial or that you started out with (as in the case of the CUSTOMER3
experiment) would be lost until you reloaded.

(imported from commit f5280c091ab6ed7c2af6eb8fe49c0fa6b997ac97)
2013-08-12 10:17:18 -04:00
Steve Howell
37f8cc9294 Extracted code into compose_fade.js.
The compose_fade has three public exports:

    set_focused_recipient
    unfade_messages
    update_faded_messages

All code was pulled directly from compose.js, except for the
one-line setter of set_focused_recipient.  The focused_recipients
variable that used to be in compose.js was moved to compose_fade.js,
hence the need for the setter.

(imported from commit 462ca5d0d0bd58612d0197f3734a8c78de8c6d30)
2013-08-11 17:05:13 -04:00
Zev Benjamin
ec9322fc87 Use Dict everywhere we have keys based on potentially dangerous, user-supplied data
There are also one or two places we don't need to use it for security
purposes, but we do so for consistencey.

(imported from commit aa111f5a22a0e8597ec3cf8504adae66d5fb6768)
2013-08-09 17:35:14 -04:00
Leo Franchi
3cd012931b Use _.has to guard against subjects called hasOwnProperty
(imported from commit d1665c8b9b9a3963cff38ed2e9b84ed87a71dfd8)
2013-08-07 15:01:12 -04:00
Scott Feeney
68251256eb Fix missing $ that broke loading in Firefox
Bug introduced in commit f5f441ab90bcdb8404e05caea3c6da81a3a6fc1e

(imported from commit 94fb90cc12ccf8e1c0ad121be25dae897516679a)
2013-08-07 14:15:34 -04:00
Jessica McKellar
ccd2433345 Let the browser scroll happen before our scrolling on a (re)load.
On a page load or reload, the browser will, at an idle time, scroll to
the top of the page. We can't intercept this browser-induced scroll,
so to make sure it doesn't in interfere with our scrolling to the
correct place in your message feed, we let the browser scroll happen
before the work we do on page load.

(imported from commit f5f441ab90bcdb8404e05caea3c6da81a3a6fc1e)
2013-08-07 13:51:47 -04:00
Jessica McKellar
5b38b763d9 Move the get_old_messages success work into its own function.
We'll need to set timeouts on calling this function.

(imported from commit 02b8322ae3cd68d714c2ccf4b5bece075cc8d27f)
2013-08-07 13:51:46 -04:00
Jessica McKellar
7347bc7213 Consolidate the multiple zephyr.js onload functions into a single
function.

It's easier to keep track of everything in one place.

(imported from commit 2ff55fd8ee7c3ff465644ad4b921bf6efa97d02c)
2013-08-07 13:51:46 -04:00
Steve Howell
8bff4779e6 Leave the pointer alone more when it's at the top.
This commit makes keep_pointer_in_view() less aggressive when
the pointer is toward the top of the screen.  If the pointer is toward
the top of the screen, then as long as it's fully on the screen, we
don't pull the rug out from under the user and change the pointer.
An important benefit of this change is that we fix trac #1608,
which was a bug where autoscrolling interacted with
keep_pointer_in_view() to push messages past the top of the screen
before they were read.

(imported from commit e39926df99bfaedd5c0757f1241887ccd9b93fab)
2013-08-07 13:49:08 -04:00
Steve Howell
990df18d07 Refactor keep_pointer_in_view().
The helper functions now return true when a message is on
screen, not when it's off screen, and the names have been
changed accordingly.  I also eliminated the at_end parameter,
which was kind of abstract, by having message_is_far_enough_up
and message_is_far_enough_down handle those details.

(imported from commit cdb1543e430f49f23eb1b3a88d9aaff95ce7ca74)
2013-08-07 13:49:07 -04:00
Kevin Mehall
2bf962469e Summarize messages that are sent while narrowed.
(imported from commit 5ab3e4a5e6c43b879c376edd935d45539ef9fbd5)
2013-08-07 10:24:03 -04:00
Kevin Mehall
dbb590268e Refactor update_message_flags for multiple flags.
* Move the state into a closure to duplicate it for multiple queues
  * Use _.debounce instead of manual setTimeout fiddling
  * Have it handle manipulating the message flags

(imported from commit 938f51fd666131a3cec5901d3f3fdd39e203b462)
2013-08-07 10:24:03 -04:00
Kevin Mehall
ec927416a0 Move "already read" check into process_read_messages and rename it.
Functions were supposed to check that messages were unread before
passing them to process_read_messages, but some didn't.

The `mark_messages_as_read` function was essentially that, so
take that name.

(imported from commit 2917fe30d2defb8a047ec32e1bc70d379779276b)
2013-08-07 10:24:03 -04:00
Kevin Mehall
eac6463031 Implement message summarization experiment.
When you read messages in a narrow and then un-narrow, collapse
adjacent messages read in the narrow into a summary row that can
be clicked to expand those messages.

Scoped to staging with feature flags.

The implementation of this within our current MessageList is rather ugly.

(imported from commit bcb3a39d8c0c334136fe86318f18ead03f0f50bf)
2013-08-07 10:24:03 -04:00
Zev Benjamin
5e1d893509 Revert "Temporarily remove "Share the love" from DOM & JS"
This reverts commit fc7af47400f6c96161913dcc98be128c116d90c5.

(imported from commit 8f58425ec3bd95220e109eeb7be21fa449508427)
2013-08-06 17:18:40 -04:00
Scott Feeney
29b3b42ac7 Temporarily remove "Share the love" from DOM & JS
(imported from commit fc7af47400f6c96161913dcc98be128c116d90c5)
2013-08-06 10:47:42 -04:00
Tim Abbott
6dd049fa26 Rename zephyr.js to zulip.js.
(imported from commit e62aa374f1bf2e75cebc00d0bba4e3ade82d19f6)
2013-08-05 17:59:04 -04:00