Commit Graph

3418 Commits

Author SHA1 Message Date
Kevin Mehall eb2e8a15c3 Fix "Selected message id not in MessageList" caused by summarization.
Summarized messages are not shown and cannot be selected. If
`opts.use_closest === false` and you try to select a summarized
message, we still have to use the closest instead of failing.

Eventually, we'll make summary rows selectable, but that would be
rather involved since selections are managed by ID, summaries exist only
in the DOM, and many parts of the code get the selection and expect
it to be a message.

(imported from commit 998c4f24aece84528cc9da53a47f9e4f5391702d)
2013-08-07 15:07:47 -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 a1f760dedb ui: Move the scroll handlers into top-level functions.
We'll need to be able to invoke them in event handlers.

(imported from commit 4487f711b59af0ccbc3f94c34e99c96228942add)
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
Tim Abbott b600c9453d Rename humbug => zulip in subs.js local variables.
(imported from commit 33a3b46ebbf78bcb5cf5654f817acd2f4e7b5e9a)
2013-08-07 10:00:09 -04:00
Tim Abbott 1f1af26048 Change Humbug => Zulip in text/comments.
(imported from commit 2f9d73431ae40e1b9e9e11bc2f4f62f566ae758a)
2013-08-07 10:00:07 -04:00
Steve Howell 57f518c9c2 Add node JS unit tests for MessageList.
(imported from commit 486a343add91fd5037431504e1ce4a750bfa9fbf)
2013-08-07 09:25:13 -04:00
Steve Howell de252b0ee9 Remove utils.memoize().
We use _.memoize() in the one place it was called before.

(imported from commit de15a61eed47551f0f539aacba6df3303c865299)
2013-08-06 18:22:11 -04:00
Zev Benjamin 237953f656 Completely hide the "share the love" elements when the user has no invites.
(imported from commit 6fe383dbbafb5e91998b6cdd52d01d92af31badb)
2013-08-06 17:18:40 -04:00
Zev Benjamin 262fb9b14c Factor out resizing page components from the resize handler
(imported from commit 18410406f6a2401b21a9d5336a8ae14046fc0375)
2013-08-06 17:18:40 -04:00
Zev Benjamin 7c7835c357 Fix word wrapping of "share the love" message
(imported from commit 3f2419fb12c696f1422472f95e2466086276afe8)
2013-08-06 17:18:40 -04:00
Zev Benjamin efa7c7fb9b Fix referral messages from showing up on page load
(imported from commit 738dde1bf8b8475aaef0bb6ca22461c6273036d3)
2013-08-06 17:18:40 -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
acrefoot 5c2599e157 Fix the click handler for User Actions on the sidebar
Adding a span for CSS reasons in the presence list indicator
broke the click handler if you clicked the presence circle directly.

(imported from commit 1aa28755d849a1f2a5a06aeb4cc27ca368730c35)
2013-08-06 17:12:27 -04:00
Zev Benjamin b92bd9fa89 Fix for _.each not short-circuiting
(imported from commit a0c732abe38e75ac7aa5b807a65d716fd938ca6a)
2013-08-06 16:15:47 -04:00
Zev Benjamin f165318338 Don't recompute getBoundingClientRect excessively
(imported from commit 442ef93f887a7ad6777432cbb5d55b15d2efaa3c)
2013-08-06 16:15:47 -04:00
Zev Benjamin 34820bbc20 Cache feed bounds calculations
(imported from commit f5ca657d2addedcd7645bc9524f95d0e4d3b5460)
2013-08-06 16:15:47 -04:00
Zev Benjamin 1c4a608b40 Use CachedValue objects for viewport height and width
(imported from commit f61cca77651b5e9a66db6c2a9749fe7a1e958fac)
2013-08-06 16:15:47 -04:00
Zev Benjamin 3ce318e9a1 Add CachedValue class to encapsulate the pattern of caching mostly static values
(imported from commit 14048847e77974cda3a6214f129492d8d373080d)
2013-08-06 16:15:47 -04:00
Zev Benjamin 07301f9aaa Use the bottom of the tab bar underpadding instead of the navbar for determining visible messages
(imported from commit c7c2e8099fcc1ac03ae663c15beb6297805dadc0)
2013-08-06 15:21:56 -04:00
Steve Howell 3aa5930191 Streamline search suggestions when query has trailing space.
If you entered "stream:Denmark " in the search box, we would show
you two suggestions for "stream Denmark", despite our duplicate
detection, because we didn't canonicalize the suggestion that is
literally based off the user typed query, and so the other way
of generating the "stream Denmark" suggestion created a duplicate.

Now all the suggestions we generate are canonicalized, so the
generalized duplicate detection can work.

(imported from commit 52bf08ccf9bb2e2260ca8c20690169aead3732ab)
2013-08-06 14:04:29 -04:00
Steve Howell 349039289c Set module.exports in util.js.
(imported from commit 12b81a6f9b79fe3f024f53e3185d647971952df7)
2013-08-06 14:04:29 -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
Scott Feeney 950d271bc3 Fix wrong pointer position on narrow
This was introduced in a71867c2435790, intended to fix #1287.

Very subtle bug. The problem was that we were attaching a click handler
to two selectors, a link, and a div that the link is inside of.

Since the link was a descendant of the other selector, clicking the link
created TWO click events, and the second click on a stream box while
already narrowed to that stream jumped you to the end.

We should be careful of this in the future — never attach an event
handler to two selectors, one of which is contained in the other.

(imported from commit f428f593280e80c90b2665d1dfbff1df8a39bd35)
2013-08-05 18:37:29 -04:00
Steve Howell 0f42feb131 Turn on always-open-compose for all realms.
(imported from commit 0a7b35a4144e5645adbfd9b8fffb78573e676ad4)
2013-08-05 18:14:57 -04:00
Tim Abbott c5b3cad534 Add the near and id search operators back to autocomplete.
These were accidentally lost in
53d08b29367c0172e483064f213538d45098279e.

(imported from commit 11813fd43b5ecb2e15ed9f3276497837b9997bee)
2013-08-05 17:59:05 -04:00
Tim Abbott 6dd049fa26 Rename zephyr.js to zulip.js.
(imported from commit e62aa374f1bf2e75cebc00d0bba4e3ade82d19f6)
2013-08-05 17:59:04 -04:00
Steve Howell 01b40f3c98 Fix compose/topic regression (trac #1648).
When you are narrowed and hit "New stream message", the topic
will autofill.  This broke during the subject-to-topic
transition.

(imported from commit a9b471884c5cdae449e02ce7aa782add4a178077)
2013-08-05 17:58:45 -04:00
Waseem Daher bd0aa114c3 Randomize the sample email addresses in "share the love".
(imported from commit cccd5b8c47274167d052fe147d7d1da1e83c6562)
2013-08-05 17:14:51 -04:00
Waseem Daher c16651bf23 [schema] Add referral system
For now, we just get emails about referrals that we have to follow up
on manually.

I don't love using the name "referral" in some places and "invite" in
others, but we already use the verb "invite" to mean something else
and "invite" is a canonical noun.

(imported from commit 0814c18395952fcdef234c1584984f71ca1b6f37)
2013-08-05 17:14:51 -04:00
Jeff Arnold 386df6e58b Eliminate unnecessary calls to "function".
(imported from commit 8f6a90dde723c7f9e8a7929ce44e0f1fce869e81)
2013-08-05 16:59:49 -04:00
Steve Howell b3f60faf3f Restore centering when using the down arrow (or "j").
This restores the feature that hitting down when you are at the
last message automatically centers the last message.  This is not
a pure revert, because some additional code now goes through
navigate.down.

(imported from commit 2db1f247692ba068613a2d6c93f18ca7c13a16b8)
2013-08-05 16:10:01 -04:00
Steve Howell 1b1f80f3d7 Show "Home" less often as a search suggestion.
We now only suggest "Home" if you have an empty search box (suggestion #1),
or if you are typing "Home".  Before we'd show it as a way to get back
from various narrows.  This is trac #1596.

(imported from commit 9228bf45e9aaf9912d83efdf70338abb4b7e054f)
2013-08-05 15:56:12 -04:00
Scott Feeney 6feb77e7dc Fix oversized gravatars in in-app notifications
Bug was introduced by 9152e6e128e0ac38d97d893cb8243e3b9185351b, which
requests gravatars at 2x size (for retina displays).

They are now 25px, which is a little on the small side, but will do for
now. Properly centered.

(imported from commit 769b71101d62206cde1341b9b6b11fbb7925ae28)
2013-08-05 15:00:24 -04:00
Steve Howell f9614d76a2 Disable always_open_compose on staging
(imported from commit 787d4c15c3e0a9dabebae1651cd5a670f5549b4d)
2013-08-05 11:10:49 -04:00
Jeff Arnold f38ad493b0 Revert "Eliminate unnecessary calls to "function"."
This reverts commit 30afb6eb4b037991ed0569db63e71dcce53e4554.

(imported from commit 3eebe2181870f933171d6140467b3d7beb402106)
2013-08-05 11:02:55 -04:00
Jeff Arnold 88245c36b4 Eliminate unnecessary calls to "function".
(imported from commit 30afb6eb4b037991ed0569db63e71dcce53e4554)
2013-08-05 10:36:56 -04:00
Scott Feeney f4e9a16989 Correctly highlight Topics With Caps when narrowed
(imported from commit d3ec5b246c2e6624cf9ff5359f54f9127fbd8483)
2013-08-05 10:19:49 -04:00
Jessica McKellar 666ce4333e Don't let CUSTOMER4 users change their names through the web interface.
(imported from commit eafd4efa8a9614ffa3bdc7dd22088e091e1c54c3)
2013-08-04 22:03:10 -04:00
Jeff Arnold 336324dac1 Make tab code handle the case that >1 msgs are being edited
(imported from commit b385c0d67ed1fe6363cdff0c39eb395399f04667)
2013-08-02 18:37:56 -04:00
Jeff Arnold afb5105ee4 Make Ctrl/cmd-enter save message editing.
Partially addresses Trac #1541.

(imported from commit 184a7b5cfd9f82da0e2b148ec891d69f7e50d6a3)
2013-08-02 18:37:56 -04:00
Jeff Arnold c03947a68f Make `Esc` abort message editing.
Partially addresses Trac #1541

(imported from commit afc5e4fd8b61a6cdd2aabfaf440be616f45b96a5)
2013-08-02 18:37:56 -04:00
Steve Howell 770bc5c96a Fix pointer motion at top/bottom of viewport.
We always intended to move the pointer up when you were at the
top of the viewport and scrolling up, and we always intended to
move the pointer down when you were at the bottom of the viewport
and scrolling down.  We didn't intend to move the pointer up
when you were at the bottom, or vice versa.  This commit fixes
that bug, simplifies the code, and inlines the code into ui.js.

(imported from commit 77e2ace9d2fc1025e1349e3be13c76c3a397fd38)
2013-08-02 18:18:04 -04:00
Steve Howell 4ad78ade68 Don't widen bottom whitespace on down-arrow.
We had a feature that if you hit the down arrow key when you
were at the last message, it would recenter you.  Waseem has bought
into temporarily removing this feature.  Justifications:

  1) We can always put it back.
  2) Autoscrolling makes it less relevant.
  3) The feature complicated the code a bit.
  4) The feature worked different for End than down arrow, due to
     a FIXME.
  5) It might have been a misfeature for users that want more
     control over their own scrolling.
  6) You can achieve the same essential effect by using PgDn
     or space.

(imported from commit fa6874bb5d29d7057bb1601f0b6d577bac1272c7)
2013-08-02 18:18:04 -04:00
Waseem Daher 5dcd66b507 More nicely align emoji with text.
(imported from commit 4c93296036476254b34afca576728618e7d4df9b)
2013-08-02 17:59:11 -04:00
Waseem Daher 3142d74d39 Typo fix.
(imported from commit 7758caddb61170cd5dcf069154307910de688f86)
2013-08-02 17:59:11 -04:00
Jeff Arnold e04eae82ce In the left sidebar, make the entire row clickable.
Addresses Trac #1287.

(imported from commit a71867c2435790ce8548fa0b27604b5b1844d624)
2013-08-02 17:44:44 -04:00
Scott Feeney c96a51ce99 Use green hover color on right sidebar, like left
(imported from commit 4b34dd0183aed54fbb7aeb3e264e962310202958)
2013-08-02 17:36:20 -04:00
Steve Howell 5590eb21c0 Removed match_on_visible_text() in search.js.
It appears to have been unused for a while.

(imported from commit 04a0de9f60484da660a557ad2b9953c00b91c608)
2013-08-02 17:28:04 -04:00
Steve Howell a1531b4247 Remove dead vars in search.js
(imported from commit 7fb2fa835332bb909edf173b5f487be9bb592ff3)
2013-08-02 17:28:03 -04:00
Steve Howell b33858dd70 Created search_suggestion.js.
Moved 400+ lines out of search.js into search_suggestion.js.  This
leaves search.js primarily responsible for lots of little DOM
interactions, whereas search_suggestion is more about data.

(imported from commit 53d08b29367c0172e483064f213538d45098279e)
2013-08-02 17:28:03 -04:00
Steve Howell 95102dc1bd Refactor search_suggestions.js.
1. Change code comment in search.get_suggestion.

2. Remove side effects from search.get_suggestions.

The function get_suggestions() was updating a module-scoped variable
called search_object, but now it returns a dictionary to its caller.

3. Greatly reduce the scope of the search_object var in search.js.

I also clarified the comment around it a bit. We could squeeze
the scope of search_object even further by using a function wrapper, but
this is a big enough win for now.

(imported from commit 4b633dd30ab45d24b85ea1d10df27df5aaa0c959)
2013-08-02 17:28:03 -04:00
Steve Howell cd57a7d433 Simplify search.narrow_or_search_for_term.
For legacy reasons this function used to have convert item to
search_string via the search_object hash, because we used to
have an overly convoluted data model.  The mid-July-2013
refactoring on search.js made the data model simple, and this
little bit of cleanup follows up on that.

(imported from commit aeea629862e4307897f24eaa5fc364f2b12a7c52)
2013-08-02 17:28:03 -04:00
Waseem Daher 859e86e53a Remove unused user status images.
(imported from commit 4557a28fb22427f4a71c1c91820db5a47de5a601)
2013-08-02 17:17:54 -04:00
Waseem Daher 82d6b8445b Replace presence images with CSS.
(imported from commit c1b5633fc9c29dfd54fe12bd874d996745aab6dd)
2013-08-02 17:17:53 -04:00
Scott Feeney c3fc279423 Remove extra space in presence descriptions
(imported from commit 46d47cc71a72aad4f8c7447451982cfeb10cc54e)
2013-08-02 16:26:46 -04:00
Waseem Daher 0bb304a516 Request Gravatars at 2x the size we need.
This is a bit wasteful on most systems, but will result in their
looking pretty sharp on Retina displays.

(I also go and actually fix up the size we request for a bunch of
these so that they actually match the size of the gravatar in the
document -- previously we were requesting a size 30 gravatar when we
were displaying it in a size 25 space, which leads to unnecessary
ugliness upon resize.)

(imported from commit 9152e6e128e0ac38d97d893cb8243e3b9185351b)
2013-08-02 15:58:55 -04:00
Waseem Daher e56c166521 End the tyranny by importing all of the Font Awesome icons.
Gone are the days of having to laboriously look up the Unicode
for each icon when you need it!

(imported from commit 35ce9c2626ac1ff0b5f4e7d6679129e8d533033e)
2013-08-02 15:33:08 -04:00
Waseem Daher ead73f37f9 Remove Glyphicons completely.
Trying to use them will now break, which should discourage us from
using them.

(imported from commit 22fda1abc3370394e9b00f2deb01f1929b57ff18)
2013-08-02 15:19:11 -04:00
Waseem Daher d7da9d8bad Switch to using Font Awesome everywhere.
(imported from commit 406ac9e8e24066e45833a71adcdd95b26b5cfb9b)
2013-08-02 14:49:28 -04:00
Steve Howell 6b9b33f769 Use PATCH again for patching bots.
This reverts a prior commit, but the earlier commit is fine
functionally; the earlier commit was a temporary measure.

Revert "Use POST, not PATCH, for patching bots."

This reverts commit c3146b23d5d7d134c2b80507eb87033ca375a4db.

(imported from commit ebfcb2bae72c11767f9750412440d40b7a2a4995)
2013-08-02 11:46:11 -04:00
Kevin Mehall a02fe71788 Make the "Get our app" onboarding popover less obnoxious.
* Only pop up on mouseover if you haven't completed the step previously,
    and only on the first mouseover.
  * Dismiss the popover if you click anywhere but the link

Trac #1471

(imported from commit 08904be59c15526f88a2633ebd6f2a046ec62197)
2013-08-02 10:24:28 -04:00
Scott Feeney 31bee946be Don't autocomplete @-mentions mid-word
Now the @ has to follow a space, newline or certain punctuation, or be
at the beginning of the message. This addresses the frequent complaint
that typing an email address e.g. scott@zulip.com is hard, because after
the @, it would try to autocomplete.

(imported from commit 043953be3928b0acf2a4ab2b4dd1a80e1a1aa882)
2013-08-01 18:42:39 -04:00
Scott Feeney 106c2d6a87 Remove unused Droid Sans CSS link from header
(imported from commit bf45482d34970447db3c21212cba81ad8d2ee51f)
2013-08-01 15:46:59 -04:00
Waseem Daher 0663c7243c Enable always-open-compose for MIT, CUSTOMER4, Zulip.
(imported from commit 43602ebeed5396de038c59240a9d695ec411db89)
2013-08-01 13:00:15 -04:00
Waseem Daher 86cf40c8a9 Move feature_flags into its own file.
(imported from commit b775f85a24422d236b0079810b98b6b984cb60a2)
2013-08-01 13:00:15 -04:00
Tim Abbott 5a320db3c1 Add curly braces for all javascript if statements lacking them.
(imported from commit 32c7643d1a6ecdfaf634424d217938c8a368dade)
2013-08-01 11:47:54 -04:00
Kevin Mehall 112d37de86 Fade message dots faster when marked read by cursor.
(imported from commit a31b0601bf13bce377c24fff96a818023d5bdd1f)
2013-08-01 11:26:55 -04:00
Kevin Mehall 0cbee97ffd Change mark-as-read behavior.
Mark messages as read when with the pointer, but mark all messages
read if the last message is visible.

(imported from commit 4c1a928bd6966111f0f34c5207723656b5f193b9)
2013-08-01 11:26:55 -04:00
Kevin Mehall 0e0ed886e1 Add feature_flags mechanism to enable experiments.
In the future, this could come from the server to enable individual
experiments on a per-realm basis.

(imported from commit 8fd1ba1910b3cfd131f58bab8efbd11a42053bc3)
2013-08-01 11:26:55 -04:00
Steve Howell 0ed73df475 Rename some functions related to bot avatars.
(imported from commit 6f88ee71dda263bfe7b5c15baed02aaf00d35f15)
2013-08-01 11:05:40 -04:00
Steve Howell f7ca0117e6 Allow users to upload new avatars for their bots.
(imported from commit 9d7895a658740815f454c8bba400d7cff821b7f9)
2013-08-01 11:05:40 -04:00
Steve Howell d0060f24ed Add close() method to avatar objects.
The close() method will let you release handlers, as well as
doing everything clear() does.

(imported from commit 3a67c3f2226918cee10cf43598e0408fb186408a)
2013-08-01 11:05:40 -04:00
Steve Howell d505d494c8 avatar.set_up_file_input returns object now
The set_up_file_input() function now returns an object to the user
with a clear field.  This object will grow soon.

(imported from commit 7b3761eafddb392bd2c84a1685aa8d1811028a0f)
2013-08-01 11:05:39 -04:00
Steve Howell 784cab9df2 Use jQuery on() consistently in avatar.js.
(imported from commit c14105dbaa174ef9aec4fc11a12a44f25e74a246)
2013-08-01 11:05:39 -04:00
Steve Howell ab23c534b9 Use POST, not PATCH, for patching bots.
This is a temporary expedient measure to work around our
PATCH not supporting file uploads in our current Django setup.

(imported from commit c3146b23d5d7d134c2b80507eb87033ca375a4db)
2013-08-01 11:05:39 -04:00
Scott Feeney 0d53253f7b Darken the left border on blockquotes
This is a compromise between the old color when selected and when not
selected. It makes the border a little easier to see while still being
subtle.

(imported from commit 7177d8f688af3de15f3e309d6a9c7c248acb1db4)
2013-08-01 10:18:41 -04:00
Scott Feeney 315d27076b Don't change code bg & quote border when selected
Since we no longer change the selected message's background color, it
doesn't make sense for these other colors to still change when the
message is selected.

(imported from commit a7c387e7d390b7f2973dc6bd3168651d88880139)
2013-08-01 10:18:41 -04:00
Scott Feeney 38abee8e66 Refactor code to show/hide "All messages" link
Code prior to this commit was functionally working, but semantically
flawed — returning false does not short-circuit _.each like it does with
$.each. It now uses _.every, as suggested by Steve.

In addition I renamed the function to be more descriptive, added a
comment, and eliminated needless double negation.

(imported from commit b0666dfa01b2677b4eaf577fe9ced90ed0db2438)
2013-08-01 10:16:32 -04:00
Scott Feeney 1e642ae158 Use _.any instead of _.some
They are synonyms, and Zukeeper consensus is that _.any makes it clearer
what the function does.

(imported from commit 847383e27ccefeaff1ecff15f4cb4177c9e40c25)
2013-08-01 10:16:32 -04:00
Zev Benjamin 905354f7a1 For mit.edu, include .d instances in narrowed views
(imported from commit 502b36d1a62f3f8f7b956c701fd10f580e1927d7)
2013-07-31 18:30:28 -04:00
Zev Benjamin bae5924b53 Fix whitespace
(imported from commit 96937f8225bc7039f2a98163deb9b5b142c71c7f)
2013-07-31 18:30:28 -04:00
Zev Benjamin a637fadd18 Fix regexes for MIT narrows that include un- and -.d streams
The previous regex didn't escape the period in '.d' and was doing a
case-sensitive match to find the base stream name.

(imported from commit 43ef13733987e50dcead06b7bd3e768cb4395998)
2013-07-31 18:30:28 -04:00
Tim Abbott d6acd8fce9 Add support for narrowing to a single message ID.
This is mostly useful for sending someone a link to a single Humbug
message.

(imported from commit b0994a2bf503c84690b13ce89bbcf5bab829bf0c)
2013-07-31 14:59:05 -04:00
Tim Abbott ed6f5ac470 Fix time travel by adding new near: operator.
(imported from commit 727a68016090164b586cbe59e692676a00e8cd3a)
2013-07-31 14:59:01 -04:00
Scott Feeney 473a96fd1f Fix #1629 (wrong scroll pos on narrow)
(imported from commit ac78077f104b079406e745c3eb9ff11b759d033e)
2013-07-31 14:35:48 -04:00
Scott Feeney c56353138d Fix tracebacks on reload while composing
(imported from commit 5ba1c93b8af015197e77bd16ef9178a6e743a849)
2013-07-30 13:10:50 -04:00
Scott Feeney a35fff90cc Replace $.extend
(imported from commit 2c1ee3c2714d388f2a71398fe81c049cc54ff94d)
2013-07-30 12:12:59 -04:00
Scott Feeney 8703134a23 Replace $.each with _.each
In a few cases the $.each was doing something imperatively that was
terser and easier to understand by using a different Underscore method,
so a few of these I rewrote.

Some code was using the fact that jQuery sets `this` in the callback to
be the item; I rewrote those to use an explicit parameter.

Some code was using $(some selector).each(callback). I converted these
to _.each($(some selector), callback).

One function, ui.process_condensing, was written to be a jQuery $.each
callback despite being in a totally different module from code using it.
I noticed this and updated the function's args.

(imported from commit bf5922a35f257c168cc09ec1d077415d6ef19a03)
2013-07-30 12:12:58 -04:00
Scott Feeney 5842d5c335 Replace $.inArray with _.indexOf
(imported from commit 6bd9c87ac98b8951411fc050e1bff83684cf8618)
2013-07-30 12:12:03 -04:00
Scott Feeney 375b1f9eb3 Replace $.map with _.map
(imported from commit 97c7a6612d8d56d19f8650db0ea8906afc0f20ef)
2013-07-30 12:09:18 -04:00
Scott Feeney 88952fb2b1 Replace $.grep with _.filter
(imported from commit 3a8830f697551a91f94f06b37d01a3687d8c583d)
2013-07-30 12:06:22 -04:00
Steve Howell 6cf5b64b3c Update module.exports for various modules.
(This makes them play nice with node-style unit tests.)

(imported from commit 44fa97c9d38d0b7e82366b49db1425508b6aed67)
2013-07-30 08:54:23 -04:00
Steve Howell f11cc9e6a2 Extract search.get_suggestions().
(This makes testing a bit easier, plus it dedents some code.)

(imported from commit 80532990608cc51ca55d3354bd300734afd7942e)
2013-07-30 08:54:22 -04:00
Steve Howell 2275809103 Shorten names of internal functions in avatar.js.
Just have accept() and clear() for brevity sake.

(imported from commit 7bf9b4d89f1b7978ae7b07b5fba87b654c90e314)
2013-07-30 08:41:09 -04:00
Steve Howell 1c69b7ea46 Extract avatar.set_up_file_input.
(imported from commit c85087a4e098b1af2e4d26c97d0cb69c42d4f671)
2013-07-30 08:41:09 -04:00
Steve Howell e6609b3695 DRY up jQuery calls in avatar.js.
Extract some local variables to set up the next refactoring, where
we can parameterize the function.

(imported from commit 1c2801131c19a54713a0d5c2cc26c419412339b0)
2013-07-30 08:40:49 -04:00
Steve Howell e18b9ae3d7 Use get_file_input() to specify hidden file input for avatar uploads.
(imported from commit 898216219b36a65519439da73158da4e5996649b)
2013-07-30 08:40:49 -04:00
Steve Howell c5013c0ba1 Introduce validate_avatar function
(imported from commit 4d6d20e4b1c3b0998d0c40ca9b5c74cb7f3319e5)
2013-07-30 08:40:49 -04:00
Steve Howell 032415fcb4 Move bot avatar code to avatar.js (from settings.js).
This step of the refactoring really just moves the code.

(imported from commit 4d551c43d25723b2556448f47b6b61228e782f54)
2013-07-30 08:40:49 -04:00
Scott Feeney 209471a6c0 Fix disappearing stream sidebar chevron (#1587)
My mistake when refactoring popovers.js a month ago. Sorry everyone!

(imported from commit a588b44723a58fb01b6c3996d308e4e8ea11ec2f)
2013-07-29 19:23:09 -04:00
Steve Howell 546ae1023c Remove smartSpaceBar option from typeahead and search.
The option caused some race conditions on Firefox, and it is
really made moot by the naturalSearch option anyway.

(imported from commit dc7080c905ced9b2f4ad4275d82549acf09a59f7)
2013-07-29 16:42:14 -04:00
Scott Feeney 0de1d3dc1f Fix "a[n] invite-only stream"
(imported from commit a4572dc1541b10f30ec0618e29371d6a187c1809)
2013-07-29 14:53:16 -04:00
Steve Howell a004a15ff5 [important] Fix paths related to recent zephyr/static changes.
This fixes the previous commit to master.

(imported from commit 43637dcf0832a4e91de9fd98ebb777c77a3eee19)
2013-07-29 14:02:20 -04:00
Steve Howell 46c4a6a9b3 Add unit test coverage to unread.js.
This covers most of the module's functionality, with special
emphasis on lines that use underscore.js (_.each and _.filter).

(imported from commit 074181a0273286a258504be634bdd1cead2eecd5)
2013-07-29 13:47:57 -04:00
Steve Howell 3d8ce28964 Use underscore in unread.js
(imported from commit 91befaaaff5d9a791a3c1bb4ff99f4085c27c4cb)
2013-07-29 13:47:57 -04:00
Steve Howell f92b3a9129 (css) Remove #bots_list width setting.
The width setting was unintentional, and it interferes with
the inline-block settings for the image and bot info.

(imported from commit 741c82829efed00b6d47badcf14b26223b47a7a9)
2013-07-29 13:17:26 -04:00
Tim Abbott bc4d7c687d Rename our custom JS events to use Zulip, not Zephyr.
(imported from commit 61ac456d394a6dbc14f3e9183a53313990db5059)
2013-07-29 12:11:26 -04:00
Tim Abbott 3bba0cc927 Move zephyr/static to just static.
It's not really a part of the server (aka the rest of zephyr/).

(imported from commit 27f6b6b064938ad927075a68d873e4b68710d279)
2013-07-29 12:11:26 -04:00