Commit Graph

945 Commits

Author SHA1 Message Date
Jeff Arnold 8ec2fd0908 Remove next sibling selectors
This change makes scrolling significantly faster

Partially addresses #1963

(imported from commit 26f0c40877b04a516f1e7a79b9a6100ef5b89c02)
2013-10-31 18:23:55 -04:00
Waseem Daher 72a6c3d08e Don't squish topic-editor height.
This height: 20px squishes the dropdown in Firefox.

(imported from commit 7535d1d28b384a676c835ca3adfff9bba893db5d)
2013-10-31 15:57:05 -04:00
Tim Abbott c5b0076ecf Rename humbug => zulip in audio files.
(imported from commit f297f1f9c8683d4e02e7a0c4ecf2182fc79b89f9)
2013-10-31 15:29:48 -04:00
Kevin Mehall 58f7138e07 Collect additional debug information for JS errors
(imported from commit 7c94ad118c2cd33e5b6eec4e27fd22dfa2d56909)
2013-10-31 13:18:43 -04:00
Jessica McKellar f1e90086f5 Remove the onboarding checklist.
Looking at the historical data, fewer than 50% of active users have
completed the checklist, which means that it is just persistent
clutter. We also have other better ways of encouraging people to send
traffic and get the apps now.

This commit removes both the frontend UI and backend work but leaves
the db row for now for the historical data.

(imported from commit e8f5780be37bbc75f794fb118e4dd41d8811f2bf)
2013-10-31 11:34:15 -04:00
Jessica McKellar 69481a0843 Remove 'All messages' sidebar link.
Nobody uses it, and it causes confusion. (How is it different from 'Home'?)

For now, leave in the ability to get to the narrow, although we may
ultimately want to do away with it as well.

(imported from commit 35b3f27e39c4de3391bc5571b32f7242a29f4cfa)
2013-10-31 10:38:49 -04:00
Zev Benjamin d5b7cfd21a Fix whitespace
(imported from commit 095ea8640a18560aae7bd5e045c4f68c96f96f73)
2013-10-30 15:52:35 -04:00
Zev Benjamin eb7fd1ba51 Add some front-end debugging changes
(imported from commit 21684b09100bc0a24372948a9417c973709c1be2)
2013-10-30 15:52:35 -04:00
Zev Benjamin 2e6b3131b5 blueslip: Add `debug()` method that logs to the in-memory log but not the console
(imported from commit 7ca312d89ad3ec26c955b846e98c94b2b84a397e)
2013-10-30 15:52:35 -04:00
Allen Rabinovich 381ec4a7e0 Fix for integrations jumpiness
(imported from commit 106ca972d27e46cfacbd7b321dbbe5d69af463df)
2013-10-30 11:47:02 -07:00
Waseem Daher db1f5065a7 Add tooltip for, e.g. !gravatar(wdaher@zulip.com) output.
(imported from commit eff24a2fc7da77edc26449074acf75832d368a17)
2013-10-30 13:29:37 -04:00
Allen Rabinovich e91932976b New integrations page
(imported from commit 73afc130f9e2871e24e67c28f3ba4fa0839b11be)
2013-10-29 11:11:45 -07:00
Steve Howell 6725771c1b Make avatar circular on Settings page.
(imported from commit 4a4f109e04e237dda9c1c5fbfa940ed63a1eec58)
2013-10-29 11:16:07 -04:00
Steve Howell 8449a74fdf Remove obsolete comments.
(imported from commit d360efebd5201129becd22cb547c6c1fd24ed918)
2013-10-29 10:59:42 -04:00
Steve Howell 7cf66b5bb8 Allow users to upload avatars on the Settings page.
We were using Gravatar for user avatars, but now users can
upload their avatars directly to Zulip, and we will store
their avatar for them.  This removes the old Gravatar-related
interface and polling code.

This commit does not attempt to update the avatars in
messages that have already been loaded, either for the user
making the change or other users.

(imported from commit 301dc48f96f83de0136c93de57055638c79e0961)
2013-10-29 10:59:41 -04:00
Steve Howell af6de2053e Give Notifications settings its own alert area.
(imported from commit 1d17b85f383862d1f37b5750af40aa8d9a1d8bf2)
2013-10-29 10:59:41 -04:00
Steve Howell 68942a8f3a Properly split up "Your Account" and "Notifications".
The "Your Account" and "Notifications" boxes on the Settings
page each had their own border and their own "Save changes"
button, but they were within the same form and sending to the
same back end point.

This commit creates a separate form and endpoint for each
of the two boxes.

(imported from commit 04d4d16938f20749a18d2c6887da3ed3cf21ef74)
2013-10-29 10:59:41 -04:00
Jessica McKellar 06d9eb78d4 integrations: document the Mercurial integration.
(imported from commit a9bf36f242bfc20283d3487471e537d885e38e04)
2013-10-29 09:58:05 -04:00
Zev Benjamin 90d92814ca socket: Throttle reconnection attempts
Previously, if the user held down the enter button while the socket
was disconnected, the client would try to connect in a very tight
loop.  Now we throttle reconnection attempts to 1 per second.

(imported from commit 7b18260b992d5a34f3ea7925cf72b383f84bbabd)
2013-10-28 16:42:16 -04:00
Jeff Arnold 4b9981c333 Make clicking to the left or right of the compose box close it
Addresses #1819

(imported from commit 6d06283cb8a39107151ffc5ce5a85c1455e332f2)
2013-10-28 15:33:11 -04:00
Jeff Arnold 96b4103c80 On click, only focus the compose box if there's no selection
Addresses #4

(imported from commit 4a2400dd4ae95863f7408af1e3c0f058a516adb7)
2013-10-28 14:53:43 -04:00
Zev Benjamin 801305b8d1 Re-enable the use of sockjs in local dev instances
This reverts commit 0619867d7807f3bf48d317e7452026b1a497e0df.

(imported from commit fda4f9f21d146dd63312fb1cb374eccd36a1261b)
2013-10-28 14:30:53 -04:00
Zev Benjamin 32da8ecff4 socket: Immediately try to reconnect when the client attempts to send
If the user has a flaky connection, we might be in the backoff state
of attempting a reconnect.  But when the user regains connectivity
and tries to send, we want to send the message as soon as possible.

(imported from commit 3c5c8e9c3104ff7923258f73c9ab700548518d16)
2013-10-28 14:25:36 -04:00
Zev Benjamin 01835dca0f socket: Remove old requests
(imported from commit 75bc776e539a2f036ed486e99a6635c38f56cdcb)
2013-10-28 14:25:36 -04:00
Zev Benjamin 7abbf096de socket: Add a little more logging for debugging
(imported from commit fa227971afc47f74b4784d1466cf58fff3b68113)
2013-10-28 14:25:36 -04:00
Waseem Daher 1e6f3bb4cd Move 'unshare the love' flag into feature_flags.
All local_server JS stuff should ideally be controlled from
feature-flags so it's easy to see at a glance what's been done.

(imported from commit 45b1cdae382679d3fa3b5f02f67e8ab749a89a51)
2013-10-25 18:48:46 -04:00
Waseem Daher a56fe810b2 Hide "Share the love" for local server.
We leave the HTML in because it's harmless. (We could do a more
thorough expunge, but I don't see the point).

(imported from commit d3d68b0b2df96a9f3de73903b043c18bc6f77563)
2013-10-25 18:08:47 -04:00
Steve Howell 356b400500 Remove obsolete stream_data.all_subs().
(imported from commit 7542638ad5132ca382e5e461a76c58d141db532d)
2013-10-25 13:50:34 -04:00
Steve Howell 392197da28 Fix recent Streams page regression.
The Streams page should only show active public realms, even though
a user might have info about a "retired" stream in their browser.
I regressed this in 69b83d769 for "retired" streams.  A retired
stream is a stream that no longer has subscribers.  The bug
scenario here was that you could create a stream, regret it,
unsubscribe yourself, and then the stream never went away from
the Streams page.

This diff tries to be a little more explicit about building the
list of streams for the Streams page.  Basically you have two
sources:

    * Get only the subscribed streams from the internal
      data structures.

    * Get the unsubscribed streams by calling the back end
      for all public streams, and subtract out the subscribed
      streams.

I tested the following scenarios:

    normal stream with me: in Streams
    normal stream without me: in Streams
    my invite-only: in Streams
    their invite-only with me: in Streams
    their invite-only without me: not in Streams
    retired stream: not in Streams (but message colors are good)

See the email "custom query to get public stream names" for some
related discussion.

(imported from commit bc9224e68797b26b795399941117faa9d6858b39)
2013-10-25 13:50:34 -04:00
Steve Howell 20c18d905d Rename internal subscribed_streams() to exports.subscribed_subs().
I want to make subscribed_streams() external, but it conflicts with
a legacy name in the same module (stream_data.js), so I have to rename
it in the same commit.  The new name conforms better to the current
naming convention, which generally has functions returning objects
use "sub" in the name.

(imported from commit 9f1ed60772c649359a413257e0998857eab3603f)
2013-10-25 13:50:33 -04:00
Zev Benjamin 77a1ed967b Make the socket accessible externally for debuggging
(imported from commit 8f78d09edc05f8eed5f1a2d87643bdd7b7d9bec6)
2013-10-24 17:40:43 -04:00
Kevin Mehall 0a3a22cb3d Support authenticated upload URLs.
Trac #1734

This is implemented by bouncing uploaded file links through a view
that checks authentication and redirects to an expiring S3 URL.

This makes file uploads return a domain-relative URI. The client converts
this to an absolute URI when it's in the composebox, then back to relative
when it's submitted to the server.

We need the relative URI because the same message may be viewed across
{staging,www,zephyr}.zulip.com, which have different cookies.

(imported from commit 33acb2abaa3002325f389d5198fb20ee1b30f5fa)
2013-10-24 17:01:06 -04:00
Waseem Daher 94c0b2fe70 Comparison page.
(imported from commit 4e2ce843bd066fd20e5840b2fd5cd2d991be02e7)
2013-10-24 16:22:00 -04:00
Leo Franchi 05564ec0e2 [schema] Add a config option for enabling/disabling push notifications
(imported from commit 5649188cd5e0e4edb6e71559ec7d7fc5e92efaf8)
2013-10-24 14:54:30 -04:00
Leo Franchi 196706cc64 Use POST with method=PATCH when sending a bot edit
(imported from commit e6ee1631f0b37e66da5979a5fa6e6860d7f4d0b3)
2013-10-24 10:22:06 -04:00
Tim Abbott 934f8521e5 Don't display subscribe/unsubscribe notices in home view.
When we add starring of historical messages, they'll get added to the
home view (since we don't filter them out), which isn't a big deal --
but we don't want to make an inaccurate claim that the user subscribed
to this stream and then unsubscribed.

This should most properly be handled by filtering server-side, but at
the moment our lack of an index on UserMessage.flags makes that
impractical from a performance perspective.

(imported from commit 00751a5f9fc20e9da5c09914c11d1579f9e7398e)
2013-10-23 18:51:46 -04:00
Tim Abbott 52829efe52 Add tools for collecting data on message sending times.
Usage, on the javascript console:
> feature_flags.collect_send_times = true;
> compose.send_many_messages("test", "test", 3)
> compose.send_times_data
  [47, 99, 48]

(imported from commit a2a22eea9bb1bbe24a79ec0453c099dabfc61c19)
2013-10-23 14:05:01 -04:00
Zev Benjamin 724b8e6b8a Temporarily disable sockjs in local dev instances
This is just until we hack up run-dev.py to also start the message
sender worker.

(imported from commit 0619867d7807f3bf48d317e7452026b1a497e0df)
2013-10-23 11:31:35 -04:00
Allen Rabinovich 3a5276aa4e Settings page changes
Bug fixes

Small fix to integrations and api links

(imported from commit 5944b175fbe0fdc4fdb5ecb3cab4e333127ca353)
2013-10-22 23:28:46 -07:00
Zev Benjamin 286803660f Optionally log message send times on the client
(imported from commit 900a513496b7796173a7685a55b110b63024f574)
2013-10-22 18:45:11 -04:00
Zev Benjamin ac87d92138 Send messages using SockJS on staging
(imported from commit 812d20b1eab76eeb0d8fb92029fdb38d5faa9cce)
2013-10-22 18:45:11 -04:00
Zev Benjamin 89bcabbb65 Disallow XHR streaming when running the test suite
There seems to be some sort of bug involving PhantomJS and XHR
streaming messages.  When successive pages are loaded that use XHR
streaming, PhantomJS seems to think the second one never finishes
loading and therefore hangs.

(imported from commit db93b4cab816f1fdc3f3f543c9394b1cba8abedb)
2013-10-22 18:45:11 -04:00
Zev Benjamin 3c73468ba8 Disable unsupported SockJS transports
Because our authentication system reads cookies from the initial
connection attempt, several SockJS transports can't be used.

(imported from commit 34b9571225d39072985b8223fb12c43c7235841f)
2013-10-22 18:45:11 -04:00
Zev Benjamin ca16644152 Add client-side SockJS wrapper
The wrapper handles our RPC protocol, authentication scheme, and
reconnections.

(imported from commit 1fed2d160582c235a32de80a80b3e451c13a7b1c)
2013-10-22 18:45:11 -04:00
Zev Benjamin 7da51fd6a8 Cache-bust requests for /sockjs/info
This works around a bug in Chrome:
https://code.google.com/p/chromium/issues/detail?id=263981

(imported from commit 0e35a8a05c0742ce3f06ee060771cd5b306bcee4)
2013-10-22 18:45:11 -04:00
Zev Benjamin 2c3c8c0bda Add sockjs library
(imported from commit 6fcb92d0160d91d68c3ca354929bce2dbf6be4fe)
2013-10-22 18:45:11 -04:00
Steve Howell ac7eace8fb Remove subs.reload_subscriptions().
(imported from commit 72d831101033fb7db4b024781bf597f63345be79)
2013-10-22 15:51:19 -04:00
Steve Howell f34b2e4f75 Don't repopulate subscriptions on a stream rename.
We want to deprecate reload_subscriptions(), which was kind
of a big hammer to use when only a single stream is being
renamed.  Now we call stream_list.rename_stream() to update
the sidebar.

(imported from commit a77d09c0433d9b605b7baa7d7c61183bc8c37ba9)
2013-10-22 15:51:19 -04:00
Steve Howell b55a2bfc58 Avoid reloading subscribers when opening Streams page.
For a large domain like HS, we were pulling back about 100k of
text with subscriber emails when we opened the Streams page.
This was unnecessary, as the subscribers aren't shown until
you expand the stream, and there's already an AJAX call.

(imported from commit 69b83d769030d87318acefc364ac6ff3a2ec3605)
2013-10-22 15:51:18 -04:00
Steve Howell db398d5e41 Send ids, not emails, of subscribers when loading the page.
(imported from commit 26bbf38664d246476df7062432fa20add7d4cb11)
2013-10-22 15:51:18 -04:00
Zev Benjamin c665139012 blueslip: Send the log back to the server when reporting errors
(imported from commit 013057a8ddc2ddb73b03b0de5c139052b22f5319)
2013-10-22 15:39:17 -04:00
Zev Benjamin 3276f8a4d0 blueslip: Record calls to log, info, warn, and error methods in an in-memory log
(imported from commit 556a92725c492de558269c0760a96783e2a3fc18)
2013-10-22 15:39:17 -04:00
Zev Benjamin 1c841e4454 blueslip: Refactor log, info, warn, and error methods
(imported from commit 4b1eb94a7de0c2b25bde19c3c3a88a13ecb4d1c0)
2013-10-22 15:39:17 -04:00
Kevin Mehall a32f15aa2f Add Hubot to /integrations.
(imported from commit 1adc564a50ac473a6a117de24283154fc4222cc3)
2013-10-22 13:42:22 -04:00
Kevin Mehall d92939d53e [important] Fix regression in 9259a24
Use the new count_full_messages_between instead of subtraction in
message_list_view.append. By finding a count higher than it should be
when summarized messages are present, it didn't add new messages until
the pointer moved under certain conditions.

(imported from commit c10d9c1a0d23891acce88bf8d79866c08cb75681)
2013-10-21 16:01:18 -04:00
Tim Abbott 3846494f9e Decrease font size for block code blocks to match other text.
Currently, code blocks end up with scrollbars annoyingly frequently --
even with a maximum width window, you can't fit a standard 80
character terminal worth without needing a scrollbar.  This change
causes our code block text to be the same size as normal text and
inline code blocks.

(imported from commit c2fc7e008cc514e90387f8f0db2b49e357cf4f62)
2013-10-21 14:59:19 -04:00
Kevin Mehall bd58861b09 Ignore summarized messages when calculating rendering windows.
Summary blocks can contain hundreds of messages. When the rendering window
code didn't take this into account, it would lead to all kinds of
unpleasant behavior when you scroll.

Trac #1888

Unfortunately, this replaces a subtraction with a function that iterates
through all the messages.

(imported from commit 9259a246946cd968a8725c38ff5ef2d4b4793717)
2013-10-21 11:48:57 -04:00
Kevin Mehall ba87ebc246 Fix duplicated summary blocks when scrolling up.
Make prepend re-render the whole render window instead of just the added
messages.

(imported from commit 6270a33ff0fe98fc901b687ca533ef0ea127d052)
2013-10-21 11:48:56 -04:00
Kevin Mehall a528b7134c Move summary_adjective to its own method
(imported from commit d451ffcf3ff460ffe030e265ca83fec1094c6217)
2013-10-21 11:48:56 -04:00
Kevin Mehall 463b10cf0e Enable summarization only for the right narrows.
* Disable for search-like narrows (whitelist stream and home instead of
    blacklisting topics and PMs)
  * Use home view summarization flag for All Messages

(imported from commit 48bd10ae5da7c7564c2efe86a40078f1a7e96e20)
2013-10-21 11:48:56 -04:00
Kevin Mehall 89d149c6f7 Fix @-mention "not subscribed" warning for all_public_streams bots.
Don't warn when @-mentioning a bot on a public stream that it does
not appear to be subscribed to. It may be receiving those messages
anyway.

(imported from commit 4a00694942a721897a01736f48033c71048e0b16)
2013-10-18 14:55:32 -04:00
Jessica McKellar 06566b3776 Don't receive notifications for messages on muted topics.
This doesn't address the more complicated case of someone @-mentioning
you on a muted topic, which consensus is you do want to get
information for, but we need to develop some infrastructure to present
that case to users clearly.

(imported from commit a4bc1e89c108fa8ba6eccc0a198eabf2231326ab)
2013-10-18 14:38:31 -04:00
Jessica McKellar efda426b86 notifications: split message_is_notifiable into multiple ifs for clarity.
(imported from commit 33d1e2135a87192cc4d964db534b31ae9335595a)
2013-10-18 14:38:31 -04:00
Jessica McKellar a9c7f3a387 [manual] Use the name instead of the domain for the user-visible realm identifier.
Do not push this commit to prod until the historical realm names have
been populated.

(imported from commit a58191d181d2fb2b8b5e9793ea57707b36812cfc)
2013-10-17 13:47:51 -04:00
Jessica McKellar cd62c77e08 integrations: add the Twitter search bot.
(imported from commit 9afca400889baae3b90b53cbe1efa8ccf7b798a7)
2013-10-16 21:26:01 -04:00
Steve Howell 4a0315fbfd Organize feature flags code a bit better.
(imported from commit a9b1405db99e54de8bed996b32215ca736f2dd56)
2013-10-15 09:57:20 -04:00
Steve Howell 36690ee6f6 Remove transitional feature_flags.muting flag.
(imported from commit 98a6cc4f340489b7817084e5ca5dcbcb75021813)
2013-10-15 09:57:19 -04:00
Steve Howell b98e7f8d90 Remove transitional feature_flags.alert_words flag.
(imported from commit f00eba8a12054e9771105e341e2652a53271e298)
2013-10-15 09:57:19 -04:00
Steve Howell d5f14e3bb7 Turn on propagate_topic_edits for everybody.
(imported from commit 936d2417120af5e9798638e0575724d45b9a207f)
2013-10-15 09:57:19 -04:00
Steve Howell 0ad4554723 Allow customer12.invalid users to narrow to a single message.
Add the option "Narrow to just this message" to the chevron
menu.  This has two use cases:

    * It's an easy way to get a sharable URL for the message.
    * It reduces distractions.

For now it is feature flagged to just customer12.invalid and staging.
See #1880.

(imported from commit 897d247176f9024ff825ccd3b338236569eed5ab)
2013-10-11 15:52:10 -04:00
Steve Howell 78e4fe6594 Support command-click for stream/topic links.
Allow users to open Zulip windows in new tabs with command-click
from the left sidebar narrowing links and recipient bar
narrowing links.

(imported from commit d60c038c7bf1efccd461f5284d513b9cbfbdaebf)
2013-10-11 11:58:51 -04:00
Leo Franchi 1f89bf386f Parse markdown tables and show them with some styling
(imported from commit fb3c599b1dbaed2447f1e710ed7202486000ca2a)
2013-10-10 16:39:11 -04:00
Leo Franchi 1db703595e Enable topic propagation for CUSTOMER9
(imported from commit 646a765fad0c5b285b11daabb92a5c0f47c83fed)
2013-10-10 16:30:37 -04:00
Allen Rabinovich 83ae9d8f82 Removing old FF hack that broke the gear placement
(imported from commit 89020da2c65b27782282e21a487ff5cdc3db9b68)
2013-10-10 10:47:44 -07:00
Steve Howell 89cbda5001 Keep in-progress compose open on narrows.
If the user has text in the compose box, don't close or
change the compose box when they narrow.

(imported from commit f9b400f6bac37cb313f1fd87aadb3ba1d3a035ef)
2013-10-10 11:20:49 -04:00
Steve Howell 8017fc9a15 Move compose.start() calls out of click handlers.
For the two cases where narrowing should open the compose box,
we now put that logic inside of narrow.js.

(imported from commit 570e22e90c2f6d422ba71cce400c075f0b8adf51)
2013-10-10 11:20:49 -04:00
Steve Howell 7007cf203d Move compose.cancel() calls out of click handlers.
Handle closing the compose box inside of narrow.js, to
ensure consistent behavior for all the narrowing UI options.

(imported from commit f17a687491eb2361c73032cd974cedb2a0a2dd85)
2013-10-10 11:20:49 -04:00
Leo Franchi 6e188fb067 Tweak alert_word matches and add some more tests
(imported from commit 63dc4064c15d5d33a7ec0c992b183bf323dd4ee8)
2013-10-10 10:58:21 -04:00
Steve Howell 62dde61ca4 Fix indentation in trailing_bookend.handlebars
(imported from commit d1a631b39934f984b2603db12b63dbe3db1e12dc)
2013-10-09 17:18:58 -04:00
Steve Howell c68bbaa649 Fix indentation in subscription.handlebars.
(imported from commit 66a3d60fd520b3350600e15a7a23ea86e1d8394c)
2013-10-09 17:18:57 -04:00
Steve Howell ca1264fd0c Fix indentation in compose-invite-users.handlebars
(imported from commit 32e4ad5f80bdc08bc1579c4e528a1c9e4d65f9ef)
2013-10-09 17:18:57 -04:00
Steve Howell de511482a1 Fix indentation in subscription_table_body.handlebars
(imported from commit 7879ebbfc3a74aeb5b7511547627496d658d83ac)
2013-10-09 17:18:57 -04:00
Steve Howell e2213eae9a Fix indentation in message.handlebars
(imported from commit 186bd9506aa6a7d3052f1f96e8af05a22812a636)
2013-10-09 17:18:26 -04:00
Steve Howell a78a1ec36c Use <a> tags for links in the recipient/summary bars.
The main user-facing feature here is that users can open narrows
in new tabs or windows. Internally, it makes the HTML more semantic.

One consequence of making these elements into actual anchor tags
is that clicking on them no longer triggers this logic to
close the compose box when you click outside of it:

        // Unfocus our compose area if we click out of it. Don't let exits out
        // of modals or selecting text (for copy+paste) trigger cancelling.
        if (compose.composing() && !$(e.target).is("a") &&
            ($(e.target).closest(".modal").length === 0) &&
            window.getSelection().toString() === "") {
            compose.cancel();
        }

Instead of patching the above code, I elected to just call
compose.cancel() explicitly in the click handlers for the links
themselves.

We are gonna try to clean up the compose-box behavior globally soon.

(imported from commit c9a01916f1714fe3dd495d25c78cd5e5532105ef)
2013-10-09 17:09:10 -04:00
Kevin Mehall e29855e106 Show floating recipient bar on faded messages.
Trac #1837

(imported from commit 1f90b02a5a07b5ce106ad935a4b1cf18e47a0909)
2013-10-09 16:33:24 -04:00
Luke Faraone 1975a6f693 Cancel a compose if you click on one of the global filters
See trac ticket #1840.

(imported from commit 3e0a781252db575e5c0abb70565919e4cdaa963f)
2013-10-09 15:37:00 -04:00
Allen Rabinovich fe9cc4597f Make settings menu more apparent
(imported from commit 15e5db5c4792d39b54fa5a354f1156cde355160b)
2013-10-09 08:42:54 -07:00
Steve Howell ba6cc6f713 Close input tag in topic_edit_form.handlebars
(imported from commit be7649c0116bbfd31ef94fa78e573732b23d632a)
2013-10-08 17:21:56 -04:00
Steve Howell 5a429b1115 Close div tag in subscription.handlebars
(imported from commit b35dded965d2d6511c613f8c4314ade37f243d56)
2013-10-08 17:21:56 -04:00
Steve Howell 565a1084fa Close input tag in new_stream_users.handlebars
(imported from commit bbc948ec8818b1a64d5d3a6140a71dd1617c560c)
2013-10-08 17:21:55 -04:00
Steve Howell 07d3ef5fe0 Fix stray </b> in message_info_popover_content.handlebars
(imported from commit 2c9b3c07e6eb6f2aac3c11ea27b483dfbd5cd0e8)
2013-10-08 17:21:54 -04:00
Steve Howell 8abe6d6022 Close input tag in message_edit_form.handlebars
(imported from commit 38918888319975e1129d775bf760a08e376bef43)
2013-10-08 17:21:53 -04:00
Steve Howell e12dfc9a84 Close input tag in invite_subscription.handlebars
(imported from commit 0b03e74ce4c9b94f1f360fc369ae5e1b7030bf9f)
2013-10-08 17:21:52 -04:00
Steve Howell 28dbdeeaca Fix bad tags in bot_avatar_row.handlebars
(imported from commit f4b0f2ad0ea575fba9375c1821e098f1b4f012d5)
2013-10-08 17:21:52 -04:00
Steve Howell 3cb19f07bc Fix bad tags in alert_word_settings_item.handlebars
(imported from commit afd0c447a2add728796d1ffeca57564130f04fb5)
2013-10-08 17:21:51 -04:00
Steve Howell 2ae2840659 Fix bad tags in admin_user_list.handlebars
(imported from commit b301a9e7a815514002e9ff163b812b463b25fd60)
2013-10-08 17:21:51 -04:00
Steve Howell ffaa8c4d76 Fix bad tags in message.handlebars
(imported from commit 507d5ce1666e66f613ccef8932c0a51ce3c94aa8)
2013-10-08 17:21:48 -04:00
Steve Howell dfcc974d5f Add </a> closing tags for exterior topic links
(imported from commit c54615088faf712cc5ccaa982c5091b54ccf634d)
2013-10-08 11:39:03 -04:00
Steve Howell 28aefb7a3a Add whitespace/comments to message.handlebars.
I added comments to the section of the template that generates
recipient bars for stream/topic messages.

(imported from commit a7ea9353dc5db20db3410b9566f5e0d670eff31f)
2013-10-08 11:39:02 -04:00
Jessica McKellar dbc0c036c3 Update /apps to get the iOS app from the iTunes Store.
(imported from commit 22468bad537ab116f6568d08b0bae83d72e4cb96)
2013-10-08 11:10:53 -04:00
Allen Rabinovich 5aac176da3 Fix for hello/ background color
(imported from commit 334309916fe031f0214a9a9fa842b3cfbb6db2ed)
2013-10-08 08:57:28 -04:00
Allen Rabinovich bb62b816f1 Hello pages fixes: minor layout fixes, new cover image
(imported from commit 744bf64ecab9e37f745f517d376117c5cc123fca)
2013-10-07 13:52:17 -07:00
Leo Franchi 51e0bea608 Autocomplete emails in sender: completion
(imported from commit 44dc337842d46349b103cf9631faa7d439be682c)
2013-10-07 14:55:58 -04:00
Leo Franchi 33dacae82d Split calculating of prefix from narrow operators into function
(imported from commit 940d7d7290e0357aad300ea00b6fcc59cd56cae1)
2013-10-07 14:54:05 -04:00
Steve Howell 265a3e2339 Turn on alert words for everyone.
(imported from commit d4281a3a23e6df97e0c621fdc757ec0b75db1de2)
2013-10-05 15:50:05 -04:00
Kevin Mehall 40ad01371f Don't close the compose box on right click in Firefox.
Trac #1737

Firefox has the slightly broken behavior that it emits a click event on
the document when you right click, but not on any of the child nodes, so
our #compose stopPropagation doesn't stop right-click events from closing
compose. Chrome never emits click events on right click.

(imported from commit 2519c542715c93877b6d38e5dcff1f3e011688e4)
2013-10-04 14:38:05 -04:00
Leo Franchi 8c081bceb2 Enable alert words for pixleeteam.com
(imported from commit 622d9497f6c7e0434601291a7343c663e2567865)
2013-10-04 14:23:12 -04:00
Leo Franchi 101a70a7ce Fix selector for gravatar url polling
(imported from commit e0f915a9e5894e3749ca90bab674f36ee9c15347)
2013-10-04 12:10:22 -04:00
Waseem Daher a9a50ac470 Enable muting for everyone.
(imported from commit d107df94561c4ccb46a79ae09663239c4fb52061)
2013-10-04 01:37:47 -04:00
Waseem Daher 0c52f4dd47 Consistently bold things in the sidebar popovers.
I'm not saying it's beautiful, but prior to this we bolded
the topic name, but we didn't bold the stream name or user name.
Now we uniformly bold the name of the thing you're taking
action on.

(imported from commit f48b9d267b73858263541a905f6fd7fd626068ba)
2013-10-04 01:36:34 -04:00
Waseem Daher 68e6370447 Rebrand "not in home view" as "muting".
There's one place where we don't really get this right, though,
which is the Streams page -- there's still a checkbox labeled
"include in home view".

I'm basically OK with that.

(imported from commit 55319b57f0c3d005a9937258a55254b9a91ce6ae)
2013-10-04 01:34:58 -04:00
Steve Howell 5ae5f6578c Turn on muting for CUSTOMER4
(imported from commit 2f02edeacc2ae49a88dfc16f0f92fe6f5dfd9524)
2013-10-03 17:09:31 -04:00
Allen Rabinovich 83b62211dd Proper inline image resizing
(imported from commit 77daa62181b759f566a8ccce3fd0c52f68461ac0)
2013-10-03 13:38:03 -07:00
Allen Rabinovich a6889080ce New styles for the portico pages.
(imported from commit 832ad6eb0c2a7be91152d33a6f1ed5d96880839c)
2013-10-03 09:30:21 -07:00
Leo Franchi 0d6ad56c29 Decode operand in filter.js in operator-aware way
When decoding an operand, a + can be converted to a space
only if the operand is not an email address.

(imported from commit 08fc36a579bbe6409137c60c0fa9579fe3ab2c43)
2013-10-02 12:11:15 -04:00
Leo Franchi 54d83a3a36 Add a Codebase integration
(imported from commit d1ea870cd6ac6bf5d00c03d8859d66638d3242e8)
2013-10-02 10:55:17 -04:00
Steve Howell d437f6602f Add muted_topic style to the topics stylebar.
If you mute a topic, it will show with opacity 0.25.

(imported from commit 72517550cc9f1daa779b3aac6cacd39831d5aa20)
2013-09-30 16:52:19 -04:00
Steve Howell 45434d3f89 Fix bug with muting topics that are all integers.
It's a bit of a contrived use case, but you could make a topic
called "12345" and then mute it from the sidebar, and it would
crash inside Dict.  We now call attr(), not data(), to avoid
string-to-integer conversions.

(imported from commit 89666f40d624df154d41077546e1c13a23ee7e67)
2013-09-30 16:52:19 -04:00
Steve Howell d94d2d71c5 Always show narrowed topic in the topic sidebar.
Before this change, you could narrow to an old topic, and it would
not show up in the sidebar unless it had unread messages.

(imported from commit f177a7378dac064e46a6417357cc86ada4475936)
2013-09-30 16:52:19 -04:00
Steve Howell fcb6a9b572 Use "topic_name" var/field in rebuild_recent_subjects().
This is part of nibbling away at deprecating "subject."

(imported from commit fbd26b5f1386a174de76e04298a68b3a7b18606e)
2013-09-30 16:52:18 -04:00
Steve Howell 10145c0e83 Simplified setting active topic.
The old code was looping through recent_subjects to find the
original subject name, but we already have logic in get_subject_filter_li()
to be case-insensitive.  I tried this with various casings of topics,
narrowing to topics, as well as narrowing to a stream (so no active topic)
and narrowing to an old topic.

(imported from commit 1decde13477cb742fd4bc82798f1afb282182bdf)
2013-09-30 16:52:18 -04:00
Steve Howell 6b8013c631 Don't mutate global recent_subjects when creating subject sidebar.
Create our own objects for handlebars, so that we can add transient
flags like is_zero without worrying about side effects to other
code.

(imported from commit b351a369cb3f36233e108e270c7abdd4ab8c5860)
2013-09-30 16:52:18 -04:00
Steve Howell ec1c82d6d7 Select closest id in MessageList.rerender().
When we call rerender() on MessageList, it is usually because
something big has happened, so it's reasonable that the pointer
may now be invalid.  As an example, the old pointed-to message
may been removed from the home view.  We have always just
moved the pointer under the hood, but now we do it in a way
that doesn't generate spurious blueslip errors.

(imported from commit d399a101f36b744a423ea7da80dda8352440c6c9)
2013-09-30 16:18:18 -04:00
Jessica McKellar 3d1fd4a1e9 Add Redmine integration documentation.
(imported from commit ef68b6e1e97b26b2ba47e6811403c338f93e41af)
2013-09-30 11:30:04 -04:00
Steve Howell 3ff0ee6b21 Turn off collapsing on staging.
For now, I am just turning off the feature.  I will remove
the code in a couple days.

(imported from commit e9988fb2ead6e711274b60d6402326ec4c344cce)
2013-09-30 10:42:58 -04:00
Steve Howell cdb7737a78 Turn on muting for Iceland (customer8.invalid)
(imported from commit ab587777cf20947160dd8fa900151ca2800ffd01)
2013-09-29 22:44:09 -04:00
Steve Howell 8f1498c766 [important] Fix stacktrace in unread.js.
There is a scenario where we call process_read_message()
for a message that we haven't recorded as unread before.
I'm not sure how it happens, but I put back code to
guard against crashing.  The regression happened in
5752458c821.

(imported from commit 5ce15d2e236b738b445ed88f1733aa0612be0ff3)
2013-09-29 22:42:33 -04:00
Steve Howell f67acb3157 Filter duplicate messages more aggresively.
This fixes a blueslip error where we were trying to add the same
message into a MessageList twice.  Muting complicates our duplicate
detection, because empty() can return true even when we already
are storing messages that just aren't shown (because of muting).

The name empty() should probably be fixed in light of muting,
but filtering with self.get() is not really a problem here.

(imported from commit 83b0890471c9a0aa21996f3d0d3be4a238f23e65)
2013-09-28 15:48:38 -04:00
Steve Howell ea7fda59d3 Reset _all_items in MessageList.clear
(imported from commit 3e319578500480ebfe0da6c4541628a61f8b5ff9)
2013-09-28 15:48:37 -04:00
Steve Howell 49232d9173 Preserve muting preferences across reloads.
We have been persisting muting preferences on the back end for
a while, but we haven't been adding them to page_params for the
client to have at reload/startup time.

(imported from commit d9ca68aa0e4d22bfb0e6ce67fc0bc63981175c8b)
2013-09-28 15:48:37 -04:00
Steve Howell c79e3a95b1 Avoid selecting hidden message ids.
With the muting/hiding features, it has become the case that
this._hash can have entries that don't map to actually visible
rows, so this.get() can return true on an id that shouldn't
actually be selected, causing downstream code to explode.  Now
we call this.closest_id() regardless of whether the hash is
populated, to be safe, but then we still call blueslip.error
if the pointer moved.

(imported from commit 348e8ff67ce3a6d61aaeb31f80549386518af2d0)
2013-09-28 15:48:36 -04:00
Steve Howell a48af3bd6c Make muting rerender properly when getting updates.
If you have two browsers open for the same account, muting in one
browser will now be reflected in the other browser.  This got
regressed when changing the approach from collapsing to hiding.
The new code should be less brittle, as we encapsulate re-rendering
in muting.rerender().

(imported from commit 4e65e265b64513d38f518770453b7436cb92b4ca)
2013-09-28 15:48:36 -04:00
Steve Howell 2a4cd3c69a Exclude muted topics from stream/home unread counts.
Update get_counts() so that it ignores counts for muted topics
when calculating stream/home unread counts.

(imported from commit 9b4e4da4346c225c535e97d709d3dee032603cc5)
2013-09-28 14:53:11 -04:00
Steve Howell c7b7f8d79a Inlined unread_hashkey() function.
The indirection was more confusing than helpful, especially
since the function had side effects, despite its getter-like
name.

(imported from commit 85d9cf642b4177f62488136f0e0f7f6c9304942e)
2013-09-28 14:53:11 -04:00
Steve Howell 8d3f4366f8 Collapse unread_counts.private to unread_privates.
After killing off unread_counts.stream, the only field of
unread_counts was "private", so I just made unread_privates.

(imported from commit 9678f5b03524afb883ec4fa638b059e698888e78)
2013-09-28 14:53:11 -04:00
Steve Howell 664cb2460d Clean up references to unread_counts.stream.
The prior commit makes it so that we no longer use unread_counts.stream
in get_counts().  This commit removes the code that updates the
data structure.

(imported from commit 5752458c8212bf02cf9c8733ce349fc35b204a9b)
2013-09-28 14:53:10 -04:00
Steve Howell 534edfaf33 Compute stream/home unread counts from unread.unread_subjects.
These two data structures are kind of redundant:

  unread_counts['stream']
  unread_subjects

We are deprecating the former.  The latter is more flexible for
features like muting.

Now, in get_counts(), we compute home counts and stream counts
in the same loop that computes subject counts.

(imported from commit c8d0ea12a56d0128811e0aa165de9882546906a5)
2013-09-28 14:53:10 -04:00
Leo Franchi c5183427f3 Respect enter-to-send in edit box
(imported from commit 6e3fc6495b7012aa12728a78b8bdd95701bb21e1)
2013-09-27 13:52:14 -04:00
Leo Franchi 87858a6050 Don't autocomplete mentions while message editing
(imported from commit c4b402d5c0e50a7dd85f658f660633f3a3df5d54)
2013-09-27 13:32:02 -04:00
Leo Franchi 4ea15758cd Enable compose-box typeaheads in the edit message box
(imported from commit 8cf1ec74854889061e822f091c16cb817f00c56b)
2013-09-27 13:32:02 -04:00
Leo Franchi f2ae7f55c5 Use focused element for typeahead rather than hardcoding composebox
(imported from commit 1e9fed51e350f5dadec73c25238c0f3657af7f1f)
2013-09-27 13:32:02 -04:00
Leo Franchi 4f0f469a8e Factor out compose typeahead into individual functions
(imported from commit 293c61d5793ced7792c57713210a34736d851ae8)
2013-09-27 13:29:22 -04:00
Waseem Daher 219bbe255b activity: Only make the summary table not-full-width.
For whatever reason, it makes it easier to compare the detail pages
when they are full width, since each column is in a more or less
consistent place every time.

(imported from commit cba47ac1a370884c0397d26d6028248f0b9cc9d7)
2013-09-26 15:29:29 -04:00
Steve Howell 2944f12ba7 Make tables in /activity auto width.
(imported from commit 527c49f1cca050f8574eec811c7762654535c88e)
2013-09-26 14:36:28 -04:00
Steve Howell 9110ebd208 Improve the UI for /activity.
We are still showing the same data points, but the logic to drill
down on details for a particular realm is now all server side,
not client side, and we are smarter about omitting fields.  In
summary mode, we don't show empty Name or Email columns.  In
detailed mode, we show the realm as a headline instead of a column.

In this version you do lose the ability to see all system users in
the same view, but Waseem is ok with this.

(imported from commit edd2e646ab4cf5783ea64232d0cd621debece8d4)
2013-09-26 13:20:00 -04:00
Jessica McKellar 4d730c1691 Close the compose box on a stream sidbar narrow.
(imported from commit 6d7d80d29c4e7dc68807a7fcb9ce2d8573c1c3e0)
2013-09-26 11:49:54 -04:00
Steve Howell 3fc352788d Turn on 24-hour time for customer8.invalid (Iceland).
I added myself as well.

(imported from commit 44c631de4ef157f055258ffa609666bb58d163f9)
2013-09-25 22:10:44 -04:00
Steve Howell e2126b78ab Enable compose fading for CUSTOMER4.
(imported from commit 3be5b169b530c7bf6d5a9499710950fefa3cbde1)
2013-09-25 14:43:43 -04:00
Steve Howell be9eea6cd4 Disable compose fading for incomplete/wrong stream names
(imported from commit 2b6a0dbcd1464767e24704f270eeac2875be0d51)
2013-09-25 14:43:43 -04:00
Steve Howell 4d5842cdcd Add summary view to the /activity report.
When you load the activity report, it will just show summary
counts for realms, but if you click on a realm, you will see
details about users in the realms.  You can also click "Show all"
to see an interleaved view of realms and users.

(imported from commit b106557b1fae64d525071afc124b5a8aed319086)
2013-09-25 11:33:11 -04:00
Kevin Mehall d9185cf455 Fix JS error when un-summarizing old messages.
`Cannot read property 'flags' of undefined` in the
_.each callback in expand_summary_row.

Messages loaded when you scroll up in a narrow are not added to
all_msg_list. Because the user just clicked the message, we know
the message is in current_msg_list, so use that instead.

(imported from commit e76449a2a2748b96f69a2ab05d288b708d9e3ac0)
2013-09-25 10:19:03 -04:00
Waseem Daher e0f9f68219 Tweak UI for 'Rename stream'.
(imported from commit 7be2b92b796b6e0925ea604251442b3606e54da7)
2013-09-24 16:19:54 -04:00
Steve Howell 9df7ee454d Eliminate transitional email forwarding flags
(imported from commit cc9305e554a381de5a36b7c353bbf53b71b2d43c)
2013-09-24 16:19:54 -04:00
Steve Howell 49a55ca6fa Call blueslip.warn from stream_data.js functions.
It used to be calling blueslip.warning(), i.e. the wrong name,
and would crash.

(imported from commit ddc953488cdb22dd37ddf674dddf1e05f34eaec9)
2013-09-24 16:19:53 -04:00
Allen Rabinovich d9ecf6499c Show topic chevrons only on hover and with proper offset
(imported from commit f19770bac4ec99eac83cf8211fc4d97e34c5aaa1)
2013-09-24 16:19:53 -04:00
Steve Howell a387535d2d Enable muting for internal MIT users.
(imported from commit 82dc8c620c5f9af5b7a366bd16aee9125b9ba634)
2013-09-24 16:19:53 -04:00
Kevin Mehall e31fb25d64 Correct cursor on the desktop apps alert close button.
Trac #1818.

(imported from commit 507b19c8f333de9446a663b9a2ec05e1ba74e6ce)
2013-09-24 16:19:53 -04:00
Jessica McKellar a0ff47a449 Add frontend support for newer realms receiving stream notifications by default.
(imported from commit 6b7f8d7bc85177d0d85384ac4bed508afdec7e83)
2013-09-24 16:19:53 -04:00
Zev Benjamin f5761401b7 Make LazyLoad copyright notice conform to our third-party JS standards
(imported from commit a7eba8569bf52e82f150f9fb3b2f3abfb0eb0c2b)
2013-09-23 11:25:58 -04:00
Steve Howell 660475bd0c Hide muted messages.
Instead of collapsing muted messages, just hide them altogether
in view where it makes sense to hide them.

(imported from commit 1c2c987ff302ceb135a025753cf421b4de1aea71)
2013-09-23 10:53:06 -04:00
Steve Howell 6c6816491d Add muting_enabled option to MessageList.
(imported from commit c86772b7dea864c49091c988772e17aae5efa5bc)
2013-09-23 10:53:06 -04:00
Steve Howell 022ef6e9b9 Add narrow.muting_enabled()
(imported from commit 8972d1e3ca347397664094a7f150ec86fd2f8f8e)
2013-09-23 10:53:06 -04:00
Steve Howell 21b30664b6 Create MessageList.add_messages() from zulip.js code.
I moved code into MessageList to further encapsulate details
of filtering.  The MessageList instances should be their own
gatekeepers for what messages they care about.

(imported from commit ee6cd7f6eabf97962d724a05d7d0b0a3e6ab19e5)
2013-09-22 14:35:53 -04:00
Allen Rabinovich 9ed05a1f85 Fix to list height computation
(imported from commit c43b07fa25f41146c8410bc41d90278c1a90a34b)
2013-09-20 12:11:31 -07:00
Waseem Daher aa6a3e1299 Enable alert_words for MIT.
(imported from commit 1765e9f6cd72fece834ef482f898096eb4a4f552)
2013-09-20 14:18:43 -04:00
Zev Benjamin 7c74983370 Ensure select_on_focus handlers are not called recursively
This fixes #1696.

(imported from commit 4d7ba3a1e34aa48d2675178913de30d081653762)
2013-09-19 19:10:45 -04:00
Allen Rabinovich 0b9b01e96a Revert to old logo
(imported from commit 0e4ccff295797d36ee89ffb078bef06b5a5edca0)
2013-09-19 13:20:27 -07:00
Steve Howell e79e74ade4 Add narrowed_to_topic() helper function.
(imported from commit 9190caa9b183893fb7ae883686b9bdbd661d5895)
2013-09-19 15:41:00 -04:00
Kevin Mehall 0da1d974bd Check the 'Get our apps' checkbox if you click any of the links to the apps page
(imported from commit 85795fae8a5ee78f0138aa08f09f645f75c5e9e7)
2013-09-19 13:23:35 -04:00
Kevin Mehall a77746e9fd Pull code that only has to run once out of the loop
(imported from commit 8c31c4bda6bf41e130fc4704d5520f500b9321f8)
2013-09-19 13:23:35 -04:00
Kevin Mehall bc36aad698 Show desktop apps alert when tutorial completes
(imported from commit 7719ec798dbcca519fd79ac8da9196e1a862764f)
2013-09-19 13:23:35 -04:00
Allen Rabinovich 1b4ee0c027 An alert informing about the desktop app
(imported from commit 627351b4bcd8caea22c8e83b0a09e18dd08a1ee1)
2013-09-19 13:23:35 -04:00
Jeff Arnold f063921260 Enable summarizing for everyone
(imported from commit c03d48ad9c0fe6dfe86539fbff1f501b42b3b6d1)
2013-09-19 10:51:29 -04:00
Steve Howell c6a9297f1a Add blueslip warnings to stream_data functions.
Warn inside these functions when you get data on streams that you
are not subscribed to:

  add_subscriber
  remove_subscriber
  user_is_subscribed

The back end should be smart enough not to spam us with subscriber
info that we don't care about.

(imported from commit b27644be2abc37c11ddff884ef392ea208bd1bd3)
2013-09-19 08:52:54 -04:00
Allen Rabinovich b50fd7c16d Remove user list top margin
(imported from commit e70fb95a4417b497c13a35a29e4e9b1b49423489)
2013-09-18 13:35:16 -07:00
Jessica McKellar e73e3d1bac Don't error out on a name change for a stream you're not on.
(imported from commit 8438087b3b6c66f41b9d9152661a93f01a086b28)
2013-09-18 16:09:48 -04:00
Leo Franchi ce4a850bfc Remove all user we insert into autocomplete when alerting
(imported from commit 34521b5e9e312b5026f9dc015cc35de837d0e2a3)
2013-09-18 15:46:30 -04:00
Allen Rabinovich 5622e59b48 CUSTOMER7-specific left side user list at narrow widths.
(imported from commit 7504d86fe57e4e96f85dee18ede663c542d0144d)
2013-09-18 12:17:32 -07:00
Leo Franchi c588c7938c Allow message topic changing to propagate backwards
(imported from commit 470178ef5f7aaf09d4528c88ae6e33f17538fcaf)
2013-09-18 13:27:58 -04:00
Steve Howell fd81e04e16 Remove topic popovers when redrawing topics
(imported from commit 5350e5026dcfc9542c44b576ee967423adaf2c91)
2013-09-18 12:25:19 -04:00
Leo Franchi d3d4a41419 Block mit.edu from showing mention invitations
(imported from commit e8e85cad0198103a072cd452feb78a67b05b185c)
2013-09-18 11:50:58 -04:00
Steve Howell 80d634aced Add mute/unmute to topic sidebar menu
(imported from commit 96abc03e840ed6d720da8355f29242d9a070563e)
2013-09-17 18:53:28 -04:00
Steve Howell 8429105c24 Add chevron menu for topics in left sidebar.
The first menu option supported is to narrow to the topic.

The chevron only shows up if you turn on feature_flags.muting.

(imported from commit 17482f538a6d3e4ff96a36c042bad972d34f4b11)
2013-09-17 18:53:27 -04:00
Steve Howell cc30f658b2 Add stream-sidebar-arrow class
(imported from commit f26e797dce1b1f612872d4026dcf6c10f9cfbba6)
2013-09-17 18:31:52 -04:00
Leo Franchi 0cf588cd25 Show a warning and action button when @-mentioning someone not on the stream
(imported from commit 464d5a028f6a8f2698683e7317972dc0c7b9e336)
2013-09-17 16:49:47 -04:00
Jessica McKellar 91e8ec454c Remove stream list flicker on a stream rename.
(imported from commit f85b26c3c2179757d191090584f61576459ffdc0)
2013-09-17 16:23:08 -04:00
Steve Howell b8e68a5a17 Use fold_case:true for stream_info Dict
(imported from commit f592ac4438f21a55ff5bf62957c8050c4e8b92df)
2013-09-17 10:32:14 -04:00
Steve Howell e1b881629c Use fold_case:true for subscribers Dict
(imported from commit 8acc794cb5369baadef512a9fcdb3537231dd604)
2013-09-17 10:32:13 -04:00
Steve Howell 031f5f5333 Call stream_data.set_subscribers() from subs.create_sub().
Use the stream_data API to set up subscribers, so we don't
leak the data structure details into subs.js

(imported from commit e95616f2eb535ecf0e1cef35a143a71ad88de5bc)
2013-09-17 10:32:12 -04:00
Steve Howell 4b90f1685d Add stream_data.set_subscribers() method.
This allows us to encapsulate our use of Dict for the internal
data structure.

(imported from commit e8acc50b4c17d339015cb9db9939b9452a62cc8b)
2013-09-17 10:32:11 -04:00
Allen Rabinovich 176346183b Visual updates to the navbar
(imported from commit c55988ce1f1af105662ee4e8c9d4cccf4ef847c2)
2013-09-16 19:29:21 -07:00
Jessica McKellar 6cd33870e9 Add the frontend UI for realm admins to rename streams.
(imported from commit ab52fe8639c312be118f0807615c9d5712d410e9)
2013-09-16 16:16:13 -04:00
Zev Benjamin b9da1e1976 Make login form validation errors not wrap
(imported from commit b5173df6b3a98517f3127bc0b9fee63fd85a043f)
2013-09-16 14:20:43 -04:00
Steve Howell e83c026a27 Set focus-related flags correctly after a server reload
(imported from commit 408469c0da0cfa5513e6838329816cd88665981f)
2013-09-16 12:29:34 -04:00
Jessica McKellar 272921800a Open the composebox on sidebar subject selection.
This was requested by CUSTOMER28 and would also bring symmetry with
the user sidebar, which already does this.

(imported from commit 4dca3c957d3a710f00bbb34a7cd7dfe6074da8f7)
2013-09-12 06:04:03 -04:00
Leo Franchi f86c8255bb Safety check for stream_data:[add|remove]_subscriber
Though this should not be common, getting a peer subscribed/
unsubscribed notification to a stream we don't yet know about should
not be fatal

(imported from commit ee28b163e0efc9adfad31e1b321e986dfe56271e)
2013-09-11 18:10:17 -04:00
Steve Howell 0165dc54ad Create blueslip error for undefined keys in Dict.
We create a blueslip error for undefined keys in Dict.  This led
to a straightforward change in the unit tests for Dict.  For the
unread test, to avoid the blueslip error, we had to be more specific
in setting up a user in one place, but this reduced our coverage,
leading to another small test being added.

(imported from commit 33e14795500d9283de2a7c03c4c58aec11cea4b8)
2013-09-11 18:07:37 -04:00
Steve Howell e9adaaa0c0 Avoid Dict crashes for undefined keys when fold_case is true.
The exceptions were cryptic before, and they were inconsistent with
the fold_case: false behavior.

(imported from commit a40704d1a22bcdc60d91be832ee3c81eb416c6dd)
2013-09-11 18:07:37 -04:00
Jeff Arnold 651aefbe65 Updated top /hello screenshots
(imported from commit c1a4e706dc82d7877bc0b5366fc23c5487619454)
2013-09-11 17:37:24 -04:00
Steve Howell 6c25a70788 Avoid double-rendering muting updates
(imported from commit 359fdc03862d78729c5b5fbe6df277e571c7315c)
2013-09-11 16:47:38 -04:00
Steve Howell a1addad450 Handle muting updates
(imported from commit 219a817c494f7bc27642d96f203f686df28bb361)
2013-09-11 16:47:37 -04:00
Steve Howell b4b6fa14d3 Persist muting preferences to the back end
(imported from commit db2d4362a0601f35a75b798cf6945556e44532fb)
2013-09-11 16:47:37 -04:00
Steve Howell 042f5bda26 Add unmuting to message actions menu
(imported from commit 5188a36ec73aa2913b0d82f7e7ce12be78f4ccee)
2013-09-11 16:47:37 -04:00
Steve Howell b65f9b678b Add muting to message actions menu
(imported from commit 26568e36f2a41f2b85413ab4d069a689c9901aac)
2013-09-11 16:47:36 -04:00
Steve Howell c6131b630b Handle undefined keys in muting.is_topic_muted
(imported from commit 96a9f0253e1c0e72a2b05577118dac438d190994)
2013-09-11 16:47:36 -04:00
Steve Howell f616148181 Make muting case insensitive for streams and topics
(imported from commit 6e731a5305a6d19896c61300aedf0fb4a387e148)
2013-09-11 16:47:36 -04:00
Steve Howell 0641e693fa Add muting.set_muted_topics
(imported from commit c84cd085e513d57e3913543d40cd8fd6b5d45b67)
2013-09-11 16:47:36 -04:00
Steve Howell 04c6a8198a Add muting.get_muted_topics
(imported from commit 5edb1d36ae66dfc42cf534edc452959df8306661)
2013-09-11 16:47:36 -04:00
Steve Howell 8626276dc3 Add muting.unmute_topic
(imported from commit c3aa08b7d50c70cba86b43c12d618ba1d96832b4)
2013-09-11 16:47:35 -04:00
Allen Rabinovich 3560ecf429 Better date separator rendering
Split up long string

(imported from commit 51bab3cbb2d77f0e130d6bb0d486f2d7feba0909)
2013-09-11 11:50:17 -07:00
Steve Howell 8d67fc2775 Add semantic classes for expanding/collapsing messages
(imported from commit 9d71fd46667058ba92d941b79d6e2c822c721efe)
2013-09-11 14:42:25 -04:00
Steve Howell 8cab575854 Add cursor:pointer style for expand/collapse icons
(imported from commit 31b0aa1e3d6a2a4406fbc6e9bad6d436258b9a72)
2013-09-11 14:15:16 -04:00
Steve Howell fcc268b44f Add expectOne() check when clicking to expand/collapse
(imported from commit 7224f618f49de82bd41a5a1f4b0677cf490b5856)
2013-09-11 14:13:17 -04:00
Steve Howell 4bec9dced9 Add expectOne() check when hitting enter to expand
(imported from commit 21b76133c95a4a48873d34ca905a688637cef2b7)
2013-09-11 14:13:17 -04:00
Jeff Arnold effccb12ab Enable summarizing for CUSTOMER4
(imported from commit ce9f4a50a49a005e4801df73661299e2a8de7abf)
2013-09-10 16:48:47 -04:00
Tim Abbott 9fcca3df4e [schema] Collect data on when users are active on site.
These engagement data will be useful both for making pretty graphs of
how addicted our users are as well as for allowing us to check whether
a new deployment is actually using the product or not.

This measures "number of minutes during which each user had checked
the app within the previous 15 minutes".  It should correctly not
count server-initiated reloads.

It's possible that we should use something less aggressive than
mousemove; I'm a little torn on that because you really can check the
app for new messages without doing anything active.

This is somewhat tested but there are a few outstanding issues:

* Mobile apps don't report these data.  It should be as easy as having
  them send in update_active_status queries with new_user_input=true.

* The semantics of this should be better documented (e.g. the
  management script should print out the spec above)x.

(imported from commit ec8b2dc96b180e1951df00490707ae916887178e)
2013-09-10 13:25:59 -04:00
Steve Howell 290be4c130 Roll out email forwarding to everybody
(imported from commit 1057272df8390c418890a2ac0939c05e0c1c403c)
2013-09-09 13:19:03 -04:00
Steve Howell 320eddcf6e Remove feature_flags.edit_appears_on_hover.
(imported from commit ff8b820d8f5c1bfe25ccb6856b5f206bd03663e0)
2013-09-09 13:16:11 -04:00
Kevin Mehall 810dd89621 Maintain a list of people in the realm.
people_list and people_dict include the feedback bot and anyone you've
cross-realm PM'd with. Useful for autocomplete, but not for admin and
stream settings views.

Fixes the UI part of Trac #1772.

(imported from commit cdefd4e86980447aad5190e7fc8ae3666d66e3c3)
2013-09-09 12:13:33 -04:00
Kevin Mehall 45b14a0c96 Set up people_dict before DOM load.
hashchange, which calls admin.setup_page, runs in another onready
event handler before zulip.js main().

(imported from commit 5d4e71f4666baf0a53e3fe9804561ce6cdc06261)
2013-09-09 12:13:33 -04:00
Steve Howell 682414e13c Move code to alert_words_ui.js
(imported from commit 78797e690ced954fc79f854efebe5945dd360bde)
2013-09-09 12:06:45 -04:00
Scott Feeney 5d800c5186 Fade users when composing
This is feature-flagged to staging only.

There are basically 3 parts to the implementation:

1. In response to typing, fade/unfade the user list.
2. When a compose is aborted, unfade all users.
3. When the presence list is redrawn, fade/unfade the user list again.

(imported from commit cd416de232849a9f69dcacdc8b0fcfc20e3848a2)
2013-09-06 23:13:48 -04:00
Scott Feeney 9c454dfe02 Track peer_add/peer_remove events on client side
This is the last step in getting a consistent client-side picture of who
is on a stream (provided non-MIT realm, and provided the local user is
subscribed to that stream).

(imported from commit 8bca722f169860ad4c1c92fdcb70d62c60f70fed)
2013-09-06 23:13:48 -04:00
Scott Feeney 232804c480 Add a warning comment to stream_data.js
(imported from commit c179a6983ee2f15fee4dd901eaa66b3aa498ea78)
2013-09-06 23:13:48 -04:00
Scott Feeney 7d3727d3bd Import subscribers list client-side when you subscribe to a stream
(imported from commit d42dfd6afc3778740934dad869ca86515dc966e5)
2013-09-06 23:13:48 -04:00
Scott Feeney dfaca2e9c7 Import initial subscriber lists from page_params.stream_list
(imported from commit b9679d30e4235efb6f47c2fa6c006790df616564)
2013-09-06 23:13:47 -04:00
Scott Feeney 17cad06a2d Add Dict.from_array()
(imported from commit 0650edb2217afa2c37be1bbc4f9e2ac40f4c0e2c)
2013-09-06 23:13:47 -04:00
Scott Feeney eb59d06aab Simplify subs member list rendering
(imported from commit 8772bc09341a89245c6013dcf106ce52c81abe7a)
2013-09-06 23:13:47 -04:00
Leo Franchi 828557c73e Niceties for alert_word editing: add on enter, handle tab properly
(imported from commit 317be7774c02d507ba69548fdc28c1aca75d6e70)
2013-09-06 16:49:56 -04:00
Allen Rabinovich a6dc890686 Standardize unread counts for user list
(imported from commit 2b82fbb6cbf89b8590a3319ce5e30dadf18cc87b)
2013-09-06 09:05:40 -07:00
Allen Rabinovich 30ab909182 Standardize unread counts for global filters
(imported from commit 0158206d40e873309999c266f5aa4d79e17c5760)
2013-09-06 08:36:14 -07:00
Allen Rabinovich 67f05f4df4 Remove email from user info and add name linebreak
(imported from commit e76b6dba7fa6c3e9c179d91c575b809977774d94)
2013-09-06 08:33:05 -07:00
Steve Howell ca8b497f1b Double the max height of the compose box
(imported from commit acf0ae068208153f027da84b636c307a20dccf43)
2013-09-06 10:58:49 -04:00
Steve Howell b97c60b635 Restore the compose box's original size after hitting send.
This fix required upgrading to 1.1.17, but it's not squashed
with the upgrade, because that would complicate keeping the
copyright-fixing commit separate from the upgrading commit.

The new version of the plugin makes it so we can trigger a
resize event, but it's backward incompatible with our old
compose box code.

A minor cleanup here is that we also don't trigger a resize
right before hiding the compose box.

(imported from commit 6b0cb9ccd2ddef919fd375a80cfca535b5b74c0f)
2013-09-06 10:58:48 -04:00
Steve Howell c0d1481e83 [third] Fix copyright for jquery.autosize.js
(imported from commit c680058ad5dc5e51e76308f5e79bd84a96c1de6a)
2013-09-06 10:58:48 -04:00
Steve Howell 7d3dfff9c7 [third] Upgrade jquery.autosize.js from 1.13 to 1.17.7
(imported from commit c6a3a911b4481a53000b3f937ea5a3b85a5be8d2)
2013-09-06 10:58:48 -04:00
Scott Feeney 70dd92efa0 Size emoji to be 20px by 20px
The previous setting of 1.4em translates to about 19.6px. In the case of
the CUSTOMER4 emoji, 19.6px looks bad in Firefox on Linux while 20px
looks fine.

(imported from commit 01de911076e5f54e4aee96dc9edd3d40f03a4bb3)
2013-09-05 17:35:31 -04:00
Kevin Mehall 5b8aa359dd Make #notifications-area fully go away when hidden.
It had an invisible part that didn't hide, which covered the send button
in skinny, leading to Trac #1776.

(imported from commit faec9413539238c40c584ab636fc4d75618a5935)
2013-09-05 12:10:03 -04:00
Leo Franchi 663fd4653f Feature-flag alert words to staging + reddit
(imported from commit 1fe9c596b26ce6676514719e4ed2e185108685cb)
2013-09-05 10:21:39 -04:00
Leo Franchi 41b286232d Allow filtering to alerted messages with is:alerted
(imported from commit 99834f1ee1b9b2e0f5c7427afa1494bf404e3626)
2013-09-05 10:18:41 -04:00
Leo Franchi 802ea78fb0 Add a settings option to configure per-user alert words
(imported from commit b24d352fffdde13f2cf0467b31c706ebf0534d6a)
2013-09-05 10:18:41 -04:00
Leo Franchi 897dd87b94 Add a span around alert words to mark them visually
(imported from commit 9b8fbbd957086f1eeaa3409e5830aa6d7974fbe8)
2013-09-05 10:18:40 -04:00
Kevin Mehall 9428f40422 Add a `.expectOne` method to jQuery objects.
It asserts that the result set is exactly one element.

(imported from commit c78ff131deb4a13c65c2a68e4b8e09279ece3ea0)
2013-09-04 16:44:33 -04:00
Allen Rabinovich 2f8bd32ef8 Add background to 'You and' and adjust vertical alignment
(imported from commit 3bec31298c030299509e48596662a0618c359994)
2013-09-04 13:08:04 -07:00
Kevin Mehall e780502372 propagate_topic_edits feature flag: staging and CUSTOMER7
(imported from commit aca356a7c7f98066b13a51ede55c4925b95a476b)
2013-09-04 14:51:46 -04:00
Kevin Mehall 19a835e7d5 Add a checkbox that propagates topic edits to subsequent messages.
Trac #1348

(imported from commit 28e2a8cb3ecda5ec50d17501f4ccbd8644212065)
2013-09-04 14:51:46 -04:00
Scott Feeney 6f5cb9bf17 Document Desk.com integration
(imported from commit bcd48f3446cd8f65b25d928136bd09275d8196ea)
2013-09-04 13:19:23 -04:00
acrefoot 0cb72c6259 Unread counts on the toggle buttons when in skinny mode
(imported from commit 99102d1bf752c077ee4c23bf1aa0b095a9f739d7)
2013-09-04 12:35:48 -04:00
Steve Howell fdc589de3a Extract mit_edu_topic_name_match() in filter.js
(imported from commit e062cf7e987ca5af20417fe49785efa35574f628)
2013-09-04 10:39:00 -04:00
Steve Howell 26a8aee2d0 Extracted mit_edu_stream_name_match() in filter.js.
The original code was buried inside a switch statement inside
a for statement.

(imported from commit 768c4ee8596cb63b2caa14c5b113cc867db90293)
2013-09-04 10:38:59 -04:00
Allen Rabinovich 400f03fa60 Fix Firefox descender cutoff
(imported from commit 58f92325f137c80e9c98fd7b391af6393d4d3ca6)
2013-09-03 20:35:22 -07:00
Allen Rabinovich 4aa9798f29 Move the lock to the left and widen the topic input field
(imported from commit 1d70afdc82b653239f7d016997c7e9cbe9eb5f14)
2013-09-03 20:15:17 -07:00
acrefoot a3753d8521 fixup 4c6c956118ae09fedca042e797a6029fdd26e00c
(imported from commit 2c1204b1da049e452a8af651c8ab90393d0c1e67)
2013-09-03 14:00:40 -04:00
Allen Rabinovich 6eeeb631c3 Fix lock icon position
(imported from commit 5f48abc8dc568cb501fdca648b7eb17d39d5830e)
2013-09-03 08:59:24 -07:00
Allen Rabinovich ef937ec1a5 Update the styles and layout of the composition pane
(imported from commit 030318ffe4b898e224f2e7c709dd876194121b8f)
2013-09-03 08:33:32 -07:00
Leo Franchi 01c53e825f Update beanstalk sample message to new design
(imported from commit e23313d88f503b63561f75f87e716521f1b88f87)
2013-09-03 09:17:02 -04:00
acrefoot 08157d6f62 Render both the above and below time on date_row
If the date_row is between two messages, it tells you when the message
below was sent, but not when the message above was sent--for that you'd
either have to click on a message or keep scrolling up. This is especially
annoying when there are sometimes gap days on a particular stream (you shouldn't
assume that the message above is simply from the previous day).

This adds the date of the previous message (the time above) to the date_row.

(imported from commit 4c6c956118ae09fedca042e797a6029fdd26e00c)
2013-08-30 16:05:05 -04:00
Jessica McKellar 864ae3ad51 Enable the email forwarding UI for CUSTOMER6.
(imported from commit 587159412ad208d1f5e44479f50ca2f25a98f70a)
2013-08-29 18:13:21 -04:00
Jeff Arnold 6a9b441853 Clear a desktop notification once its source message has been read.
Addresses Trac #1698.

(imported from commit 859fc7d436904f21427d15f6363c4e0ca859e02a)
2013-08-29 17:16:11 -04:00
acrefoot a25b77287e Documentation on the integrations page for the Basecamp mirror script
(imported from commit 302fbd4e14ca92e4462ddf19e5b874a69d4a96f3)
2013-08-30 20:06:32 +00:00
Scott Feeney f386d87f8e Add "announce stream" option to frontend UI
When creating a new stream, this option lets you announce its
creation to everyone who you didn't explicitly add.

(imported from commit ae4140b4268b73e8b4bb54f5a6eea12fe07cd110)
2013-08-29 10:32:37 -04:00
Waseem Daher dd6ddc0e1e Revert "Prevent unread counts from overflowing."
This reverts commit 728a5415c8aa2ee18405c77746a0ea9543a20d98.

(imported from commit 7d91b564549e4e444fe656c2d8b811e2fcbff2d3)
2013-08-28 18:02:09 -04:00
Allen Rabinovich 98f7870150 Prevent unread counts from overflowing.
(imported from commit 728a5415c8aa2ee18405c77746a0ea9543a20d98)
2013-08-28 13:54:47 -07:00
Jessica McKellar ea1420d201 Add a (?) popover hint next to stream email addresses.
(imported from commit f365afcf7bd256d0417e67c69f9fa67c5b15d418)
2013-08-28 16:43:40 -04:00
Jessica McKellar a7023cac17 Add a landing page just for new MIT users.
(imported from commit 023151e9d057b37f93c0a589e08429b14cc94225)
2013-08-28 16:30:18 -04:00
Scott Feeney c98deb5988 Toggle user sidebar popover when chevron clicked again
Fixes Trac #1679.

(imported from commit 998f3497f22f83297c9afd7c3e8ea6446b8a06db)
2013-08-28 16:10:33 -04:00
Waseem Daher ae4d53f977 Push inline message editing button to everyone.
Leaving the feature flag in in case certain realms don't like it,
so we can easily blacklist them from this feature.

(imported from commit 2a5884008be05216d195a582a327d7641bc419d5)
2013-08-28 13:48:45 -04:00
Steve Howell 857680102f Remove enforce_arity checks from Dict
(imported from commit 8fdb6d8807e5c16349c7fcf71f25ce73348a5fe1)
2013-08-28 12:29:11 -04:00
Jessica McKellar 9ffc292a57 Update a stream name in the UI when it has been changed.
(imported from commit 1fb90a83a62243997d870e1b5da0590402bd8529)
2013-08-28 10:23:39 -04:00
Jessica McKellar 081ae7771a Add a MessageList method to update message recipients.
(imported from commit 3c24f045aa5726fcab8b9acd91105044e7783b63)
2013-08-28 10:23:39 -04:00
Allen Rabinovich ddd790e642 Change edit button CSS to keep it from jumping
(imported from commit 17a03ca9294765256af0d4c6eb292b755d06158e)
2013-08-27 15:11:40 -07:00
Tim Abbott 8601c2d766 Disable Webathena-related UI for desktop app.
(imported from commit 4de9ecbd5acd90826da1941593fe03aa8a6bd80c)
2013-08-27 16:21:41 -04:00
Steve Howell 04a0e88724 Add recipient bar features to summary bar.
The summary bar now has the following features:
  * invite-only locks
  * narrowing links to stream/topic/person
  * exterior topic links

(imported from commit ddb987b8e04e7dfc2d602c958270b7bc0e37fb5f)
2013-08-27 15:46:33 -04:00
Steve Howell 03b58e1528 Make narrowing click handlers work more generally.
Previously, narrowing would only work from recipient rows, not
other message table rows (e.g. summary rows).  This led to the trap
that you could add a narrows_by_recipient class to an element,
expect that narrowing would work, but the actual handler would
break or silently fail if it weren't part of a recipient row.

Now the click handler looks for the closest table row (tr).  It's
encapsulated in rows.get_closest_row(), so if we go to a
non-table-based design, it should be easy to address in one
place.

(imported from commit e116b7573c4bb06599ced84a0adcf8dc23d63593)
2013-08-27 15:46:33 -04:00
Tim Abbott e95a81addb Add Webathena login button to our mirroring page.
(imported from commit 43d8323bb502299027436a8c94c04f55d87bf953)
2013-08-27 15:41:43 -04:00
Scott Feeney 967d0f7473 Don't wait for DOM ready to register Handlebars helpers
This fixes a bug (hit by a branch of mine) wherein you could not
render Handlebars templates from a DOM-ready callback in a file that
came before templates.js alphabetically.

(imported from commit 48091d016776eb6f12d33db199781e776af18fc5)
2013-08-27 15:32:20 -04:00
Scott Feeney bee38a43f0 Fix incorrect use of self-closing tags
<td /> is not valid HTML.

(imported from commit e7914f88a7eedde887a8f6751d7516de1ccf99bf)
2013-08-27 15:32:20 -04:00
Allen Rabinovich f6ec501505 Modify lock icon styles to display it in the stream list swatch or to the right of the stream name in the list
(imported from commit b70ed2520b38229ccaed62ed84786cb9152e50a9)
2013-08-27 12:20:08 -07:00
Jessica McKellar 908abbbd8b tutorial: adjust the placement of the stream and subject popovers.
(imported from commit e61df7b0ac25d63601763a37007d9f4cefded081)
2013-08-27 15:09:28 -04:00
Jessica McKellar eacd27dc8f Don't let the tutorial popovers get clipped on long names or small windows.
(imported from commit 069016ab38eb2d0d09b751ca22a53aba9d6980ba)
2013-08-27 15:09:28 -04:00
Allen Rabinovich 2bb6f45af2 Add a data-name attribute to stream elements in the stream list and modify the test accordingly
(imported from commit 24791703015a47ae89fdf628d6511736b9d0f026)
2013-08-27 09:44:57 -07:00
Allen Rabinovich 7f807f7c8d Make unread counts appear as lozenges to the right of stream/subject names
In particular:
   * Pull the count containers out of the containers that cut off overflow text
   * Make them lozenge-like
   * Add logic for shortening the overflow container when a count container is
     present

(imported from commit a2b3d237cbfe4fadfbbc3a931d2de85dfba10d04)
2013-08-27 09:15:16 -07:00
Jessica McKellar 2ba75d2bfa Report a distinct string including version as the client for desktop app users.
(imported from commit 58115e0cdd32f19f3694a1ffbf8664561175cf55)
2013-08-27 10:24:36 -04:00
Tim Abbott 134da30fdf Add webathena authentication button for Zephyr users.
This shows up when you're not running a Zephyr mirroring bot and lets
you use Webathena to have us run it.  Obviously needs more docs.

Current problems include:

* supervisorctl reload ends up recreating /var/run/supervisor.sock
  with the wrong permissions, so it only works once in a row before
  you need to chmod that.

* /etc/supervisor/conf.d needs to be humbug-writeable; this is a clear
  local root vulnerability

* This uses SSH and thus is kinda slow.

(imported from commit 7029979615ffd50b10f126ce2cf9a85a5eefd7a2)
2013-08-26 18:17:25 -04:00
Tim Abbott 545a07cd51 [third] Import winchan.js.
(imported from commit 75c2f5f7309a700d7c2c637494b188b001fcd496)
2013-08-26 18:17:25 -04:00
Leo Franchi e252954bf2 Expose an event listener for uploading raw image data on a paste
(imported from commit 441d977b947e70be7438aaf13a4b779050eb9fec)
2013-08-26 17:58:46 -04:00
Steve Howell 8c1f20a8be Fix topic highlighting in search result
(imported from commit 8ef6575eeb69314c37033ee63af550104608efc8)
2013-08-26 17:06:16 -04:00
Steve Howell 5ef5d98a99 Fix hover for collapsible recipient bars
(imported from commit 75f93c705fd7e9b3433c4adb374df47ba5b585b4)
2013-08-26 16:38:34 -04:00
Steve Howell 7fb99761e1 You can only expand rows by clicking on [+].
(imported from commit 23a52feca13232bf36038cd7f59c520f9106ee2c)
2013-08-26 16:38:34 -04:00
Waseem Daher 78e52bcfc4 hello: Landing page text refinements.
Largely suggested by jrv.

(imported from commit aac2a1d90b50fdce6b6dcf9201a9fc2a9d78e354)
2013-08-26 15:31:22 -04:00
Scott Feeney bf0909a94d Lazy load Dropbox widget, and only when enabled
This brings several improvements:

* The Dropbox script won't slow loading our app.
* If it fails to load, no traceback; Dropbox link just won't appear.
* For users with Dropbox disabled (most at this point), no loading at all.

(imported from commit e71ae5790fc85a185e622bdafb350109527b4eee)
2013-08-26 13:13:00 -04:00
Scott Feeney 95719a91cf [third] Add Lazyload.js
This is a small, MIT-licensed lib from https://github.com/rgrove/lazyload

(imported from commit c6e43c06dfe3fa8559b2a3d28a48d9e0a6848283)
2013-08-26 13:02:57 -04:00
Steve Howell 1821005dfe Restore subject counts for Uppercase streams
(imported from commit ef0e78d39c56da67544441a73ea257f215fefd94)
2013-08-26 11:21:29 -04:00
Steve Howell 09241ae2de Use Dict more in unread.js.
The setdefault() and num_items() methods are handy, and it was a
little tough to keep track of which objects were Dicts vs. {}.

(imported from commit 6ca81ac411943c59bef6d6bae39c7641feb5574b)
2013-08-26 11:21:29 -04:00
Steve Howell 06065d50bf Add dict.num_items()
(imported from commit 209a01b61d18d4b65b54e473cf727065aada68e8)
2013-08-26 11:21:29 -04:00
Jeff Arnold e97f07605a Push message summarization (and its unread model) to MIT
(imported from commit 42ba7c56af5ea9f9281cb8b4a5ddc491b8446a22)
2013-08-26 11:17:24 -04:00
Jeff Arnold 147362f87d Make the gravatar etc in the upper left change the mouse cursor.
(imported from commit e1e1c4ef8e13182ff1212cc5182ca0d8e9f71105)
2013-08-24 00:05:57 -04:00
Kevin Mehall 7f1a1dba9d Show realm emoji in typeahead and update the list via events.
(imported from commit bd8b8be5d088d503cac2b72cf228e769827e2308)
2013-08-23 21:39:29 -04:00
Steve Howell 63fa194139 Turn off the "muted" topic special case
(imported from commit ea34ea060eb29864c4816d0f14ee106dcb10be9d)
2013-08-23 18:33:48 -04:00
Steve Howell 4dbea88aeb Fix click handler and re-enable collapsing experiment.
The click handler for collapsing was too broad, and it overrode
the ability to click to narrow from the recipient bar.

(imported from commit feeaa9becf8e400e319e1a77e5b72a33bb22854c)
2013-08-23 17:54:28 -04:00
Allen Rabinovich 5e38463800 Add retractable left sidebar.
Specifically:
   * Add and style the sidebar toggle button to the header and remove the
     gravatar.
   * Add the logic for retracting the left side bar.
   * Modify the logic for clicking on the referral pane to prevent it from
     closing the sidebar.
   * Modify the logic for clicking on the stream filters to prevent them
     from closing the sidebar.
   * Modify the logic for clicking on the stream settings dropdown and the
     user info dropdown to prevent them from closing the sidebars.

(imported from commit 73e00eb834a6e87cb8d659fdcf6c2e06fff3731d)
2013-08-23 14:16:51 -07:00
Steve Howell 47b1e8adfd Turn off collapsing for now
(imported from commit df25818d70feb1b9fd2463ff4643efa049ff5574)
2013-08-23 16:16:04 -04:00
Steve Howell 0721ea2aca summary_verb -> summary_adjective
(imported from commit c2980ed2e8d644a3b0eebba53365f61977a4f944)
2013-08-23 16:03:23 -04:00
Steve Howell 19df002252 Remove collapse icon from floating recipient bar
(imported from commit f76d74f703dd7248601f729e192003ba24cfc699)
2013-08-23 15:57:31 -04:00
Steve Howell 4a7bab9a6f Allow collapsing of recipient sections.
This is experimental, for staging only.  There might be a better
way to model this than dueling force_expand/force_collapse flags,
but it works for now.  The code in collapse_recipient_group()
could also be DRYed up relative to expand_summary_row().

(imported from commit 107151d1ecd640970fb7700d41278a003bd1abaa)
2013-08-23 15:57:31 -04:00
Steve Howell 9662594bf4 Add data-messages attribute to recipient rows.
This is to set up collapsing, but I think they could be useful
in general, so I'm keeping this is a separate commit.

(imported from commit 0da2b8ef246649f678c7cb6664ee78bf36aca076)
2013-08-23 15:57:31 -04:00
Steve Howell a0b28a03e4 Extract finish_group() helper in MessageListView.render()
(imported from commit db13ca858631d10a310aba3bd2540a545fd5b871)
2013-08-23 15:57:30 -04:00
Steve Howell 579444eee2 Enable "enter" key for muted summary rows.
(The approach has been simplified to look for summary_row in
the DOM, which makes muted and summary features work off the
same code.)

(imported from commit 4fa3d6ae5ad7bbac5958e60ecffb368d6ef29d2e)
2013-08-23 15:52:08 -04:00
Scott Feeney d0be30ab08 Format edit times properly
The "Last edited:" time should match the post time (12 hour format, with
exceptions).

(imported from commit 13d981da2945cecd3f287da0e4200c32b3921682)
2013-08-23 14:07:53 -04:00
Steve Howell 3239efd864 Simplify MIT regex code and harden tests
(imported from commit 96c988fb8c90d04dd4bcd7d2bbc04f1b1c8d8cb7)
2013-08-23 13:32:10 -04:00
Steve Howell 72b070be14 Remove dead code in Filter.parse
(imported from commit 59b56ab864c8af52cb2d637b965b5f7161c34110)
2013-08-23 12:56:08 -04:00
Allen Rabinovich 778fa955a9 Make the right sidebar retractable at narrower window widths.
As part of this commit:
   * Add and style a top right button that controls the sidebar
   * Add the necessary styles for the right sidebar when it's in that mode.
   * Add the logic for controlling the sidebar expansion
   * Modify the logic for prevent default click events to generally
     hide popovers correctly.

(imported from commit ca8063f6c62b436799f952e88541ff0ae8ba85fe)
2013-08-23 09:22:31 -07:00
Steve Howell 795248a1d0 Mute any topic named "muted" on zulip.com.
This change will allow us to test the muting feature on
staging.  Any topic named "muted" will automatically be
muted.  You can also mute any other topic on the console:

    muting.mute_topic('devel', 'ios');
    current_msg_list.rerender();

More UI around this experiment will be coming soon, as well
as support for muting entire streams.

The muting module keeps track of which topics are muted, but a
user can expand muted messages, and once that happens, the
messages are marked with the "force_expand" flag that gets
persisted to the back end.

Muted messages are rendered in similar fashion to the summarized
rows, and as part of unifying some of that code, we have
made it so that expanding a summarized section doesn't remove
individual flags related to summaries; instead, the messages
get the force_expand flag set.

(imported from commit acee4190e63813d46850415c41ff8ebfae4a6953)
2013-08-23 12:10:27 -04:00
Steve Howell 7edf9b095e Fix code format for CSS selectors with commas.
This change basically does s/,<space>/,<cr>/.

(imported from commit 4ab295d0dbc24de6baa29908c2d6a469f35492f3)
2013-08-23 01:31:38 -04:00
Allen Rabinovich b4e3681b71 Increase top margin on the message pane to expose the topmost date marker
(imported from commit 0ad1a0c0b0ae8af1ba497622600fe226c39b9a77)
2013-08-22 14:51:04 -07:00
Scott Feeney 3286fed238 Re-add padding to global filters
Home/All/Private/Starred/@-mentions lost their left padding due to a
mistake in 700b444. Restored here.

(imported from commit 9a4d5ab5d376e64ba82802097c30449c6544a5e9)
2013-08-22 16:35:47 -04:00
Steve Howell e4699d6a25 Use new stream_list.set_presence_list_count().
The old API took a dictionary; the new function works for one
person at a time, which allowed us to clean up the calling code
in ui.set_presence_list.

(imported from commit 0ae9d01491238d32915572c7efebf476d05fed4b)
2013-08-22 15:32:30 -04:00
Steve Howell 8d8ea70f5d Make set_count() private in stream_list.js
(imported from commit 54fda6f0202bc86143eebeb6b361f03886514d04)
2013-08-22 15:05:18 -04:00
Steve Howell dca1ffdf96 [bugfix] Restore toString() call in Filter.unparse().
I regressed this recently, thinking that all our operators are
strings, but I forgot about the "near:" operator used in the
"Narrow messages around this time" feature.  The user facing
symptom was that the search bar showed up empty instead
of saying near:50, which might actually be the better
behavior, but it certainly was not intentional. :)

(imported from commit fcb93cecbe9a052bb9bc1af7fcac5aecaba5aafb)
2013-08-22 14:55:43 -04:00
Steve Howell c4d598b36e Move parse/unparse from narrow to Filter.
I'm trying to move well-isolated methods out of narrow.js, so that
narrow.js is more strongly focused on UI/ajax interactions and
big, heavy lifting stuff.  The logical home for parse/unparse
seemed to be Filter, and they brought along two private methods
with them.  The big code moves involved trivial follow ups
like s/exports/Filter/.

(imported from commit ace0fe5aa1c7abce0334d079ba9eb8d9a57bd10f)
2013-08-22 14:53:00 -04:00
Scott Feeney fece7ce70e Don't pad the left side of PM counts on the user sidebar
(imported from commit 700b444a4732f4ed76c6c7c721c269143917667c)
2013-08-22 14:46:13 -04:00
Steve Howell 58c141ad79 Avoid side effects in ui.set_presence_list().
Have ui.set_presence_list() only touch the presence list.

Before this change, it was calling update_unread_counts(), which
has a bunch of side effects unrelated to the presence list.

(imported from commit 690f754d78874a03fa36f8ff8765d5a63e431d28)
2013-08-22 14:46:13 -04:00
Scott Feeney 6de6ced290 Fix PM unread counts not displaying
This was broken in two ways:

1. Commit ad59d6f78042ce89, "Make the left sidebar and right sidebar
more consistent", pushed last Monday, changed the markup for the right
sidebar without changing a selector in stream_list.js that was looking
for the old markup.

2. Even then, whenever new user presence information came in, we would
rerender the user list and blow away the unread counts. This commit
patches around that by updating unread counts after rendering the user
list. I'm not sure what broke this or how it was working before.

(imported from commit 53ed40139e257e44411e918d1ecdce3a49e9ee51)
2013-08-22 14:46:12 -04:00
Allen Rabinovich 400dfcb879 Up the z-index on the notifications area so it appears above other elements on the page
(imported from commit 8b5337ce4ad939a4653228445903c2b0d285ba5c)
2013-08-22 11:19:34 -07:00
Allen Rabinovich c7a4573074 Change the background styles so they apply to the whole composition pane and cover up the new message markers
(imported from commit 7ba036f0fa82b638e7afcaf9ecbcf8159b0e332b)
2013-08-22 08:58:12 -07:00
Allen Rabinovich c529c3038c Make the floating recipient bar visible in Safari
(imported from commit 89d73c59a30dd3f8ca3e187834c1f1a56edcf788)
2013-08-21 18:52:08 -07:00
Luke Faraone a305a7de63 Up offline threshold to 140sec and decrease ping interval to 50sec.
This is intended to help us debug what's going on with presence information.

(imported from commit 637ccea594ae51bc7b266620596180479ee754f0)
2013-08-21 14:45:01 -07:00
Kevin Mehall f944a8ed0e [third] Don't move typeahead popups when the body scrolls.
Trac #1479

All our typeaheads use this, but I made it an option that must be enabled
explicitly since it is not default bootstrap behavior.

(imported from commit 97852dc407d1f6dbe46b5fdd2c56d3ed8c6718d2)
2013-08-21 16:29:12 -04:00
Allen Rabinovich 834ff7d750 Remove JS logic for resizing floating recipient bar and composition area and do it with pure CSS instead
(imported from commit b19d1b008cc070f29e08fd93416e9a5d01e2f110)
2013-08-21 12:26:45 -07:00
Zev Benjamin 3f95e54dc1 dict: Add setdefault method
This is like Python's dict.setdefault.  I don't love the name, but
the consistency is nice.

We have lots of places where we do things like:

    if (! dict.has('foo')) {
      dict.set('foo', []);
    }

    var arr = dict.get('foo');
    arr.push(3);

We can now write:

    var arr = dict.setdefault('foo', []);
    arr.push(3);

(imported from commit b8933809c69ba47ec346ed51d53966793403e56c)
2013-08-21 14:11:39 -04:00
Zev Benjamin 62aec87962 dict: Make set() return the value passed
We were accidentally leaking our internal representation.

(imported from commit 08ddc42583fb13a2ad51eea7ed1b30bf5ccb4645)
2013-08-21 14:11:39 -04:00
Luke Faraone a1a5d00e9f Update your presence dot when your activity changes.
(imported from commit ecdc056db987d4404ded01092f5693ac8dd28ae9)
2013-08-21 11:10:31 -04:00
Luke Faraone f17d030272 Send IDLE continuously when idle, interpret a too-old status as offline.
This helps make our statuses more meaningful and should resolve trac #1534.

As part of this, we lower OFFLINE_THRESHOLD_SECS to 1.1̅6 minutes and
mark the user as idle after 5 minutes.

(imported from commit ee6b1ad203554a84b11e16c4c6195be9df5bcf4f)
2013-08-21 11:07:45 -04:00
Kevin Mehall e6de154e0d Reject messages consisting solely of whitespace.
Trac #1701

(imported from commit 48a172e17f69d11596ecf9a5b13cd48a074966c3)
2013-08-21 10:37:50 -04:00
Scott Feeney 371083e698 Keep invite link on screen when user list is long
(imported from commit ae775a6a91a485070fa65f8429ee919b1e33427e)
2013-08-20 17:40:43 -04:00
Tim Abbott 8aa11a60f8 Fix tracebacks opening stream on streams page.
This was caused by a branch I was working on conflicting with the
stream_data.js split.

(imported from commit 995dcf1412114bd36404b8c7ef66eb6f1e89648a)
2013-08-20 17:15:56 -04:00
Zev Benjamin 59041d993b dict: Move Dict.from(otherdict) functionality into clone method
(imported from commit 6a3981a726922d7acf55b49ea2d477271da430d3)
2013-08-20 15:37:08 -04:00
Zev Benjamin 2c775d0894 Make recent_subjects case-insensitive
(imported from commit 36c423f506c1e8dc0536c80a4a085b689623191a)
2013-08-20 15:37:08 -04:00
Zev Benjamin a53d6801a3 dict: Add option to make has() and get() case-insensitive
keys() and other methods that implicitly return keys return the
casing used for the most recent set()

(imported from commit 47cac13c2b928fd19b07c44fd1504426fb36e3d8)
2013-08-20 15:35:53 -04:00
Zev Benjamin 96483356c8 dict: Do a direct copy for Dict.from(otherdict)
(imported from commit 25ad11913dcb9a5ceb637d6571fa04e5586de842)
2013-08-20 15:35:53 -04:00
Zev Benjamin 3a70c4e928 dict: Make copying Dict constructor a class constructor method
(imported from commit 7bd5f6029c1290036a47688cf2b80f9317fe9c13)
2013-08-20 15:35:53 -04:00
Zev Benjamin 43847848c5 dict: Change internal representation to store the original key
This means that we no longer need to unmunge keys at the expense of
having to store the original key.

(imported from commit 958c33c806b8b399e9a9290e4f14ef119d923c14)
2013-08-20 15:35:53 -04:00
Tim Abbott 5f724a94ac Add support for invite-only streams in mit.edu realm.
This changes the mit.edu access rules from:

* Susbcriber list and inviting users to streams are unavailable

to

* Susbcriber lists and inviting users to streams are only available
  for invite-only streams

streams must still be made invite-only manually.

This both cuts down on the amount of code that is different between
the mit.edu user experience and the standard one, as well as paving
the way for us to invite-only streams for zcrypt.

(imported from commit 24e0e85428608c05c89eeea349338dd392e5489a)
2013-08-20 14:57:14 -04:00
Steve Howell edda967100 Leave casing alone in search suggestions.
The function narrow.unparse() is used in a bunch of places in
the search suggestion code, and now it no longer lower cases
operands.  This change contributes to fixing trac #1659.

(imported from commit 6b44b8a818482b5c8b4f9a45bc7d3a9d21e04eba)
2013-08-20 14:27:44 -04:00
Steve Howell 9d145ef5d4 Use official stream name in topic suggestions
(imported from commit 68b63a31f6a6e3cf8de6fd7fc255137dbc3260b8)
2013-08-20 14:27:43 -04:00
Steve Howell 0a22094e24 Change operator canonicalizations.
Streams are converted to their "official" names now.
Topics are not canonicalized at all.
All other operands continue to be lowercased.

Since we don't lowercase stream/topic at the parsing stage,
we have to modify the predicate function to do the lowercasing
of stream/topic to enable case-insensitive comparisons.  This
is slightly more expensive.  The server-side predicate
functions are already case-insensitive.

(imported from commit 286f118c6c3ff9d23b37c7f958cab4c0eacd5feb)
2013-08-20 14:27:43 -04:00
Steve Howell 269f3670cd Extract local vars in Filter.canonicalize_tuple().
This can be squashed with the prior commit or subsequent commit,
or it can just stand on its own, but it's part of transitioning
to a functional change in the next commit.

(imported from commit 155a0cdd28f851810fbedfef1a306e3190bf1c34)
2013-08-20 14:27:43 -04:00
Steve Howell 33c70f0f69 Extract Filter.canonicalize_tuple().
(imported from commit 96b8dc8c27c07d6d13f1e02c88a164abcab5a5c2)
2013-08-20 14:27:43 -04:00
Steve Howell d5f997eb58 Use the correct stream name in compose defaults.
If we have a stream named "Denmark" and we're narrowed to it,
then use "Denmark" as the default stream name in the compose box
even if the narrow operators are lowercase.

(imported from commit e9f06b7307c73231aa887dc95849e0307984e6f0)
2013-08-20 14:27:42 -04:00
Steve Howell 18857f6601 Added stream_data.get_name().
This function returns the stream's actual name, if we can get it;
otherwise, it's the identity function.

(imported from commit 7a981adba9632d6c6eba54cb6514a9226d1e83e8)
2013-08-20 14:27:42 -04:00
Kevin Mehall d529013b9a Fix browser error in editing PMs.
PMs do not have a "topic" field.

(imported from commit 023d283ad94147e8bb9a2c7f6959c0a636d825cd)
2013-08-20 12:00:11 -04:00
Jessica McKellar 485de6a5bc Correctly compute home unread counts on page load.
We had a duplicate and incorrect check on if a stream was in your home
view, which caused us to not display Home unread counts in the sidebar
/ notification bar / Dock on page load.

(imported from commit db27cf9091f8b47200b025f03a26c4fe82701882)
2013-08-20 11:10:18 -04:00
Jessica McKellar b32219c8eb Don't display unread counts until after making a bankruptcy decision.
Users were getting confused about why the unread count in the sidebar
/ notification bar / Dock was different from what the bankruptcy modal
said, so only show them the true server count until they've made a
decision.

(imported from commit 71d376cd4a85749ccf49936b251e6b8ac21361b7)
2013-08-20 10:26:52 -04:00
acrefoot 395aaae994 Allow anyone to edit a "no topic" message
This change would allow anyone in the realm to set a topic for a "no topic"
message. As soon as the message topic is set, only the sender can change it again.

(imported from commit 0a91a93b8fd14549965cedc79f45ffd869d82307)
2013-08-19 16:29:30 -04:00
acrefoot e8e5cc37b7 No longer require topics for zulip.com.
This will allow us to try the "write-once" topics

(imported from commit ffd074baa94fbbe375b7b1b436a2e19fe44f42e4)
2013-08-19 16:29:30 -04:00
Steve Howell 53f62bd71c Created MessageListView class.
(The code for MessageListView  was extracted from message_list.js.)

(imported from commit 60c0bac4c734d3850f8b8c047a978c292b19cc13)
2013-08-19 12:17:56 -04:00
Steve Howell 29c012dc74 Create stream_data.js module.
This pulls a lot of data-centric functions out of subs.js.

(imported from commit 0deed7d4bf5697e893af9bc9d888c2d5da8d9fa2)
2013-08-19 12:17:55 -04:00
Allen Rabinovich 64ac31b9af Adjusting padding and overflow styles to avoid horizontal scrollbars
(imported from commit 917ef94c433bd4a944792676387fe995fdb15e84)
2013-08-19 08:53:15 -07:00
Allen Rabinovich d4fe5c3e50 Modify overflow behavior to remove horizontal scrolling edge cases
(imported from commit 262d0b6432fe660c1dfe764f7d380e580a8c28e9)
2013-08-19 08:53:15 -07:00
Jeff Arnold 12058b0880 Don't break double clicking in the edit compose box to select a word.
(imported from commit 309f9b96b8567e384c83ba4c3a8a954383c6ebc7)
2013-08-16 22:03:47 -04:00
Steve Howell dc19f15b1f Make composebox_typeahead.seen_topics be a Dict of Dicts.
The new implementation makes add_topic() be O(1).  We incur
the cost of sort() in topics_seen_for(), but that's only called
in the typeahead widget, and I think the typical number of topics
should be manageable here.

(imported from commit 0e332301b2e44b4465bf7a1d93ae525a8d17a6b6)
2013-08-16 17:59:40 -04:00
Steve Howell a4af6c7062 Add unit tests for composebox_typeahead.add_topic().
This tests topics_seen_for() as well.

(imported from commit a748134af8068d9e4ae223fb7ecbbbc6c170137e)
2013-08-16 17:59:40 -04:00
Jeff Arnold e51cfeaed4 Only add an edit icon next to the last paragraph
(imported from commit c6d2893faef144f85518c4d45856282ada33a9d1)
2013-08-16 17:40:07 -04:00
Jessica McKellar 7dcd1c4021 subscriptions: Make the full e-mail forwarding address visible.
(imported from commit 6358c96b6bd1fe8494f581008729785678bad368)
2013-08-16 16:24:32 -04:00
Scott Feeney 94a22adb95 Align labels next to Font Awesome icons
Fixes Trac #1700

(imported from commit 24fbc27e0d78e5f4863523740dae51853b0fdc8e)
2013-08-16 15:10:01 -04:00
Zev Benjamin ba62cab801 Add Bitbucket integration instructions
(imported from commit 6976e75577ebacfbd2330a45f430d544c1a2cfcf)
2013-08-16 14:38:54 -04:00
Allen Rabinovich 5571a6e466 Switch body click to document click to account for clicks on the outer edge
(imported from commit bf6c7a61cb2f00741ed3af70ca77b5782f15d148)
2013-08-16 10:51:00 -07:00
Jeff Arnold 5596191666 Make double-clicking on a message highlight the message.
Addresses Trac #4.

(imported from commit d920f473e94e5141f41e887ffae74b3e21f862a6)
2013-08-16 13:46:56 -04:00
Allen Rabinovich 1274998b17 Remove dropdown arrows from everything except settings menu
(imported from commit 0b37bb8fcc733e186db6d4aa4e53dea61d4b8e72)
2013-08-16 10:28:58 -07:00
Jeff Arnold 41a149140d Show a button for editing messages when the user hovers over them.
Addresses Trac #1691.

Currently enabled only for staging and customer7.invalid.

(imported from commit 181e31adbac113bf62709b171d978c3074c8a799)
2013-08-16 13:02:15 -04:00
Jeff Arnold b166accc33 Revert "Show a button for editing messages when the user hovers over them."
This reverts commit 782e76210ac835d0617d91679933eccff0caad98.

(imported from commit 24889d0e0e38cc46d4b2d06c12a5737a4772fd6c)
2013-08-16 11:44:07 -04:00
Jeff Arnold 66c9c7efee Show a button for editing messages when the user hovers over them.
Addresses Trac #1691.

Currently enabled only for staging and customer7.invalid.

(imported from commit 782e76210ac835d0617d91679933eccff0caad98)
2013-08-16 11:20:15 -04:00
Allen Rabinovich 17e07d551f Additional fixes for relayout regressions.
Specifically:
   * Fix the settings menu positioning and appearance
   * Restyle menu and add arrow on top
   * Remove labels from new message buttons in narrow windows and adjust the close button on the composition pane

(imported from commit 586753b6526289b32ec0a90b62d8b2ac1c8182cd)
2013-08-15 15:28:51 -07:00
Kevin Mehall 3345199604 Hide/show the floating recipient bar when fade state changes.
This partially reverts d3c28b17859cacd49b7db9f8784d4b8b9069e1ff.

It is necessary to call update_floating_recipient_bar from _fade_messages and
_want_normal_display because they are called after opening/closing the compose
box. There is no scrolling there, so it is not otherwise updated. It is not
necessary to call from update_rendered_messages as it is not called on
changes of the fade state.

Related: Trac #1682

(imported from commit e2528f8c8827b7e2a135d7fc2b53e9e8162799b0)
2013-08-15 18:26:36 -04:00
Waseem Daher ada6a8d5d3 Shorten overly long names.
They were getting clipped in our box.

(imported from commit 8a33c385f81753c795ec1a62883aa45c6b6a26e3)
2013-08-15 18:04:43 -04:00
Waseem Daher 90617db8a1 Allow "Share the love" to be expanded and collapsed.
(imported from commit 9e620c5882d58f41d25124a690aa4154f93173db)
2013-08-15 18:04:43 -04:00
Steve Howell 9993af7e8d Remove dead comment from refactoring.
(imported from commit 2b1f3ef65b2e30c548a8966d47b448cefe3dde5f)
2013-08-15 17:15:07 -04:00
Steve Howell 30af17254d Require topics for customer7.invalid and zulip.com.
(imported from commit 6b17147b50575dd4ea8d688f15951660766708fa)
2013-08-15 17:09:26 -04:00
Scott Feeney 0241ae4136 Fix "All messages" showing when it shouldn't
I haven't filed an issue about this since I just quickly found and
tracked down the bug, but the STR were:

1. Subscribe to stream foo
2. Hide foo from your home view
3. Unsubscribe from stream foo
4. Unhide other subscribed streams you've hidden from home view, if any

The "All messages" link would stay, although it should go away in this
case. The apparent cause was an incorrect assumption (when implementing
this feature) that the stream_info dict only contains subscribed
streams; in fact, we also populate it with streams you used to subscribe
to.

(imported from commit 67f95c8c8a211a4943a2de394919d15a0d5435d0)
2013-08-15 16:21:35 -04:00
Allen Rabinovich 550fd6281c Fix regressions associated with the new fixed sidebar layout.
Specifically:

   * Remove min width setting for the main div as it is no longer necessary.
   * Change max width for the app to 1200 and adjust top margin on the message pane

(imported from commit 846dd3dcd7798efa615e15c61681b0ab7465f5e3)
2013-08-15 12:55:10 -07:00
Zev Benjamin 12c7f276b7 blueslip: Get complete stack traces in Chrome
(imported from commit 6165e210b9168701faf1310a33083bd30fa3aaf2)
2013-08-15 13:16:40 -04:00
Allen Rabinovich 0b78fab636 Switch to fixed sidebar layout and remove bootstrap layout hooks.
(imported from commit 060340a2febb7b8df6477a3419e7588a8503e377)
2013-08-15 11:05:11 -04:00
Steve Howell ecb3399a8d Move summary exemptions from 5 to 8.
(imported from commit 279422ffb9e6d826a9e70e577fe334631f2697ca)
2013-08-15 11:03:26 -04:00
Steve Howell babbca7360 Use d.each() for iterating Dict instances.
(imported from commit 8cfe2c9a61aa1179454a6ab986fa23d04de09525)
2013-08-15 10:16:12 -04:00
Steve Howell 75ffd4d637 Exempt last 5 messages in view from summarization.
Once you enter a view, the last n messages will be exempt from
summarization, to give the users a little more context.  Any
subsequently arriving messages will also be exempt.

We will try n=5 at first.

(imported from commit 3e6fe58109e692389bf02dde2230d788b5818d52)
2013-08-15 08:20:29 -04:00
Steve Howell 3e1cdaaded Add MessageList.nth_most_recent_id().
(imported from commit 69a424d4990402b9e77fbfa57fa573a002cf04ce)
2013-08-15 08:20:29 -04:00
Allen Rabinovich 5f45c42005 Replace inline-block with block to avoid FF issue of ignoring line-height on inline-block elements
(imported from commit 49e6d576d44907b8ebfbf89ba1e05c4c64ffb7ca)
2013-08-14 18:14:46 -07:00
Zev Benjamin 72927e9d77 Fix unread count badge on OS X desktop app
For web pages, the initial favicon is the same as the favicon we
set for no unread messages and the initial page title is the same
as the page title we set for no unread messages.  However, for the
OS X app, the dock icon does not get its badge updated on initial
page load.  If the badge icon was wrong right before a reload and
we actually have no unread messages then we will never execute
bridge.updateCount() until the unread count changes.  Therefore,
we now ensure that bridge.updateCount is always run at least once
to synchronize it with the page title.

(imported from commit 5d1269c62c1c3190aea96ef6f96c46acdb9fdf9c)
2013-08-14 17:30:16 -04:00
Kevin Mehall de58b3fb4c Instead of DOM lookups, implement get_row in O(1) with a map updated after rendering.
(imported from commit 52927e87463e49f9f4522baa065cc934094f58de)
2013-08-14 17:08:47 -04:00
Kevin Mehall 0f6c7ca7be Use msg_list.get_row(id) instead of rows.get(id, msg_list.table_name)
(imported from commit 953cd24e605269d2bbdc42b878506f0ab01501e8)
2013-08-14 17:08:32 -04:00
Scott Feeney 024680f1de Outdent rows.js
We don't indent the outermost IIFE in any of our other modules.

(imported from commit 476bf5025988de28644bbb22f70e0cd2f404526a)
2013-08-14 14:57:29 -04:00
Steve Howell 947ca3a0e0 Add Dict.each().
Dict.each() allows to iterate through values and keys of a Dict.
The callback function is passed value as the first parameter to
be similar to _.each()'s calling sequence.

(imported from commit e745e8b5d2f167b8b8acf7542b767494e354b037)
2013-08-14 14:24:38 -04:00
Steve Howell 4b0cef8a83 Fixed code comments
(imported from commit 75b0ad464bab2e9b0b24f7c6a484b9c99d8b5a7a)
2013-08-14 13:22:28 -04:00
Steve Howell 59b84aad4a Properly fade recipient bar of incoming messages.
This fixes #1682, a recent regression that came out of
a5a47e13fc9d, which introduced the update_rendered_messages()
function in compose_fade.js.  The original implementation
was finding the table row for a message, but not the table
row for its recipient bar.  Now we style both elements.

(imported from commit a9628df0b03f79a24dfa68f4f2061eda2ca8ecea)
2013-08-14 13:20:39 -04:00
Steve Howell d66ac9f36c Remove calls to update_floating_recipient_bar in compose_fade.js.
The calls to ui.update_floating_recipient_bar() were brought over
from compose.js, and it turns out they just complicate scrolling,
since we already call the function in the scroll handler.

(imported from commit d3c28b17859cacd49b7db9f8784d4b8b9069e1ff)
2013-08-14 13:20:38 -04:00
Steve Howell 3f6a0cb909 Make topic autocompletes be case-insensitive w/r/t streams.
See trac #1676. Topic autocompletes were case insensitive
w/r/t to topic itself, but if a stream was called "Denmark"
but the compose box's stream field had "denmark", then we
wouldn't suggest any topics.

(imported from commit c8296c166115bb96023026da212f73a243432305)
2013-08-14 13:15:00 -04:00
Steve Howell 050c8ad103 zulip.subject_dict -> composebox_typeahead.seen_topics
Move zulip.subject_dict into composebox_typeahead.seen_topics,
and encapsulate the use of seen_topics inside composebox_typeahead
with add_topic() and topics_seen_for().

(imported from commit 2bc2d1714fabdc07a661cbf815d14b36a08990e2)
2013-08-14 13:15:00 -04:00
Waseem Daher 34e0c1e696 Use iframe for Dropbox integration.
This lets us avoid popping up a separate browser window (which would
not currently work in the desktop app).

This closes Trac #1673.

(imported from commit eb1990d8021600fc4d3870f6ec3a28f7111036c3)
2013-08-14 11:05:14 -04:00
Waseem Daher 13d3b4ab59 Less confusing placeholder names for "Share the Love".
(imported from commit cd904510b8aa7bf2b4e6d63aaa43bd48e6bb8966)
2013-08-14 10:12:34 -04:00
Tim Abbott 91a3935b92 Fix sending unnecessary pointer updates to server after reload.
(imported from commit 5297d7339e2fc363e825b20ddd7279f9878dbe2f)
2013-08-13 18:09:19 -04:00