Commit Graph

1146 Commits

Author SHA1 Message Date
Leo Franchi fd4b68aa72 [socket] Save pending and queued requests together
(imported from commit aecf59b26938c831da03a6a31545f2522387e67f)
2014-01-23 16:28:59 -05:00
Leo Franchi 56d9446c41 [socket] Use socket req ids that contain queue ids
(imported from commit 781eafe60bf117d79ce3a30deea02ec1e875060a)
2014-01-23 16:28:58 -05:00
Leo Franchi 24cb5fb079 Add a localstorage.js module
(imported from commit 9f3ab248ce84ce296bb1fb918de3b2dd8cde1ded)
2014-01-23 16:28:58 -05:00
Leo Franchi e24dcb3952 Report proper displayed/receive time and local echo data
(imported from commit 63aba6ef05b1a55d61e975831ebbaa074f8ea74f)
2014-01-23 16:28:58 -05:00
Leo Franchi 439633fd03 More markdown compatibility fixes
* Escape " as "
* Enable GFM newlines
* Output a linebreak after <br> in the generated markup

(imported from commit c007ec422054f9fc66a810b66aac70f70a2a1952)
2014-01-23 16:28:58 -05:00
Leo Franchi c1442f386f Local echo messages that mention the sender should be highlighted
(imported from commit 58184f00e63fd50ed4a68d12afe0779ae3745749)
2014-01-23 16:28:57 -05:00
Leo Franchi 86cb451dcb Render <a> with title and target attributes
(imported from commit 0e195db0a3ff1ebe3d567a1ab6408c4a1bfe1e2d)
2014-01-23 16:28:57 -05:00
Leo Franchi 97a69cbc12 Convert realm filters in client-side markdown parser
(imported from commit ef12b9ed28cf0176881d33caa1973fe4d9b90d0b)
2014-01-23 16:28:57 -05:00
Leo Franchi b1a6fdf5e2 Add support for realm filters to marked.js
(imported from commit cea1720b6535a23469185f0ad2677edd373e7cfb)
2014-01-23 16:28:57 -05:00
Leo Franchi c0d56c822f Use the batched_flag_updater in ui.js as well as zulip.js
(imported from commit 6dea64d068d013471baf4022a8041f54da5c111e)
2014-01-23 16:28:57 -05:00
Leo Franchi b7b322d8cd Parse user mentions client side
(imported from commit b2919912792b8a02afad45f48e1c8df4783b93a9)
2014-01-23 16:28:56 -05:00
Leo Franchi 0f8cb25d89 Parse emoji client-side
(imported from commit 3bf150d866689b301ee31218cb3d570119b766cf)
2014-01-23 16:28:56 -05:00
Leo Franchi 0de824f73e Add a zulip module to marked, which supports emoji and user mentions
This is partially inspired by https://github.com/chjj/marked/pull/238

(imported from commit 03b84cde88fc8c2fe31c1003a5ce852cc364733e)
2014-01-23 16:28:56 -05:00
Leo Franchi 87ce2bd0be More standardization of client-side markdown parsing
(imported from commit bc010d69ee92758481d3645f84f2a68dcafacf7a)
2014-01-23 16:28:56 -05:00
Leo Franchi 53739622fd Animate/rotate the retry spinner while retrying local send after failure
(imported from commit 13daa2b956baecb8e30fbc5807bcd969eb46a653)
2014-01-23 16:28:56 -05:00
Leo Franchi 03ceef0c40 Trigger a JS event on the inital load of messages completing
(imported from commit 9f1dc0c2f631bdd0a0b020b4b9565ee910e07c98)
2014-01-23 16:28:55 -05:00
Leo Franchi 34722de1da Don't allow editing of in-flight locally delivered messages
(imported from commit 771ba4910a8f8e50803baa5f7ec75208077ed2dd)
2014-01-23 16:28:55 -05:00
Leo Franchi 883122b129 Allow editing of locally echoed messages that failed to be sent
(imported from commit eff8d55af7a1ff123ed2a2e45e58ff74de96beac)
2014-01-23 16:28:55 -05:00
Leo Franchi c3f798297e Show message failure message on hover of error
(imported from commit 8379c3c35c612d3609d2ab378eb6ca2f7ec120b1)
2014-01-23 16:28:55 -05:00
Leo Franchi 00f64113e9 Support locally echoing messages when sending
(imported from commit 00b5c5f9b933d119553c32cadff0f17b9f7c2879)
2014-01-23 16:28:55 -05:00
Leo Franchi 5b8e46f971 Allow emails in display recipient until local PMs are reified from server
(imported from commit 73f87449206c3789a4d74b8f776588d588ef88e1)
2014-01-23 16:28:55 -05:00
Leo Franchi 835e385b75 [third] Add marked.js, a javascript markdown parser
(imported from commit e85d9b50328ce7d31882464fcc283478f7a9f753)
2014-01-23 16:28:54 -05:00
Leo Franchi 0b2ba855f9 Add helper for rough determination of markdown client-side
(imported from commit 3b6439f54e55fbca0f586392d1a0add4d7f694b8)
2014-01-23 16:28:54 -05:00
Leo Franchi f5af245c09 Clear compose box immediately after message is sent
(imported from commit 07cf0ca34dea1a64c37261e153730a9564281b3b)
2014-01-23 16:28:54 -05:00
Leo Franchi 9b42cdd826 Add a feature flag for local echo
(imported from commit 8aad03929333c77da62160aeb58013a0844c6eab)
2014-01-23 16:28:54 -05:00
Zev Benjamin d5c6408efe Handle a Firefox error relating to websockets.
We've only gotten one error report for this error, and it didn't have a stack
trace, so it's hard to know whether this will actually fix the issue or not.

(imported from commit 7bff052347a33f67d8479b1cb23f6e5e24defc75)
2014-01-23 13:32:40 -05:00
Leo Franchi 49c4ad61a1 Delay render on narrowing to end, to ensure only one render happens
(imported from commit c38574417e339275a90b235ecabc96e0deab95f8)
2014-01-23 13:29:18 -05:00
Steve Howell 2283aa52cb Use "stream" as our type for updates to Stream.name.
(imported from commit 2eedbff5fac77b9e654ba88900167048573e4056)
2014-01-23 13:27:11 -05:00
Tim Abbott 09dbaabcb6 Update unread flags between multiple browser windows.
(imported from commit 1c5e2bc0233c28c72ce4c8253fa0717ae4793f84)
2014-01-23 13:21:59 -05:00
Tim Abbott 8fa49388c0 Sync the starred message flag to browsers without reload.
(imported from commit e685104275f471d1cd9b94e1803c26f714628f36)
2014-01-23 13:21:59 -05:00
Tim Abbott 59cd1663df Rename confusing update_message_* functions in ui.js.
(imported from commit eeb2b1f92deb807676a75f1263d994a8c606b249)
2014-01-23 13:21:59 -05:00
Tim Abbott 59b0af835e Use clearer variable name for toggle_star argument.
(imported from commit 6cc604b0cbe8a3a16ff4772e811af1fb4b41aa1e)
2014-01-23 13:21:59 -05:00
acrefoot c93d0abfb0 Add circle Z logo to static images; do not rename without changing github-services
github.com/github/github-services/lib/services/humbug.rb:4
log_url = 'https://zulip.com/static/images/logo/zulip-icon-512x512.png'

(imported from commit 0fd4b54d18128a2edcb16b09168d948109679825)
2014-01-22 16:44:09 -05:00
Steve Howell 1746af4df6 Reflect is_admin changes on the client.
The client's update_person() method will look for an is_admin
change and update the gear menu as needed, as well as the underlying
data structures that help draw the admin page user list.

(imported from commit af8c173886d63dd102c63336bbca176f49e1036d)
2014-01-22 14:43:29 -05:00
Steve Howell 887c2059b1 Make the Administration menu item be show/hide-driven.
Always render the Administration menu item from the back end, but
make it be hidden by default until the page is loaded.  Then, the
client can un-hide it as needed.

(imported from commit 66e607eec430d7179b4d5ac3f5416f5be8ac26c9)
2014-01-22 14:43:29 -05:00
Steve Howell 81d975c5ff Account for update_user not having a full_name field.
Going forward, the back end may supply fields other than
full_name, like is_admin, so we should make sure the field
is in the hash first.

(imported from commit be94b9698bae0866444739e2846ff65a3ab27eb6)
2014-01-22 14:43:28 -05:00
Steve Howell 93deefec8d Remove defensive code in update_person().
The code to keep page_params.people_list and realm_people_dict
values in sync with people_dict was unnecessary, as they are
the same underlying object.

(imported from commit 0a901213977ed21a0587ed1590ab5434be756f51)
2014-01-22 14:43:27 -05:00
Leo Franchi 9160fb3ed5 Remove debug that slipped in to previous commit
(imported from commit 1aeb04b0e8fc0b37da4a8aa123b567d2f96cc32a)
2014-01-22 14:04:25 -05:00
Leo Franchi c0fdbf81cf Use the feedback connection for getting APNS feedback
(imported from commit d371188e0437606b3ff435ee9c005cee2849f6ae)
2014-01-22 13:50:15 -05:00
Jason Michalski d4aece75a5 Add JS to for the inline subscribe button
Add javascript to handle the button clicks and update the status based
on the subscribe and unsubscribe events from the server.

(imported from commit 6b9c0b40d9084e3d8b64bed701ebc786bef6d432)
2014-01-22 11:28:31 -05:00
Jason Michalski d8a6ec3507 Add a message_rendered.zulip event
The message_rendered.zulip event fires after a new messages was rendered
but before it is added to the DOM. This allows javascript components to
change the display of a message before it is added to the DOM.

(imported from commit 69448a250863853a6d0a6e428dcfa12db50f2f71)
2014-01-22 11:28:31 -05:00
Steve Howell 8f9d29189c Fix undefined operator in search suggestions.
There was a bug where you would type "is:private je" into the search
suggestion and see undefined:jesstess@zulip.com.  Now we use
the "pm-with" operator.  The search suggestions for people are kind
of complicated now, because there is some overlap between
get_private_suggestions and get_person_suggestions.

(imported from commit 7d330f34f4a433995420de6eb90cb41229b70272)
2014-01-21 17:07:50 -05:00
Steve Howell 816fce50f7 Allow reactivating 2+ users on admin page.
There was a bug where you could not reactivate a user after
doing another user-based action on the page, because we weren't
clearing the active_user_row class on the previous row, and
then $(".active_user_row").find('.email').text() would be a
concatenation of two user emails and cause a "No such user!"
error.

(imported from commit c867d3bc0855e02b17b9553e1924926c2dd50e56)
2014-01-17 17:34:32 -05:00
Steve Howell ecd288f144 Rename inactive_user_row CSS class to deactivated_user.
It was confusing, because it has different meaning that being
the opposite of active_user_row.

(imported from commit df190afb2d9bccf9790c7373802b16ff6da2f2cb)
2014-01-17 17:34:32 -05:00
Steve Howell 5a3d338937 Hide "Make admin"/"Remove admin" button when deactivating a user.
(imported from commit 0d925d68c1beecf3fee7dd5de47930a4ad9ce3cf)
2014-01-17 17:34:31 -05:00
Steve Howell 59ac5cce72 Reformat admin_user_list.handlebars template.
(imported from commit 0e6f92d2cd4ab7c4d9c94f6827fda9231c9d42fe)
2014-01-17 17:34:31 -05:00
Steve Howell 004d84f6e2 Redraw sidebar lock icon for stream privacy changes.
If you make a stream private/public from the Streams page
(which admins can do now), then we now correctly redraw
the swatch to have/not have the lock icon.

(imported from commit 35eb4ba12ad152e43b40f1bcf2c5db784a965dee)
2014-01-17 16:39:27 -05:00
Steve Howell bca0311b53 Created stream_list.redraw_stream_privacy().
This function can redraws the lock icon (or lack of lock icon)
for a stream in the stream sidebar.  It can be called when
admins change the stream privacy.

(imported from commit 880133d02525137094c48ecad8cf2dfff59f3307)
2014-01-17 16:38:06 -05:00
Steve Howell a9e621fff4 Extract stream_privacy.handlebars partial template.
(imported from commit 77d614a549f5a337442936a002d422db1913e298)
2014-01-17 16:37:47 -05:00
Steve Howell 137a1b7799 Rename stream_list.build_narrow_filter() to build_stream_sidebar_row.
The new name is more descriptive of what the function does, and it
also has the side benefit of cleaning up greps for the backend
function called build_narrow_filter().

(imported from commit 4b88fa863d7c1751946c78977f2ffaf19dd3ae5e)
2014-01-17 16:37:46 -05:00
Steve Howell 84ea28ae25 Remove type parameter from build_narrow_filter().
The type parameter was always passed in as "stream", and we
only render the stream_sidebar_row template, so let's not
pretend like we support arbitrary message types here.

(imported from commit 8a852a68ddda336024793f6fdafa648883bb815e)
2014-01-17 16:37:46 -05:00
Steve Howell c7bf349e70 Deprecate stream_list.add_narrow_filter().
We now call add_stream_to_sidebar() instead.  The old function was
only ever called for streams, so the newly named function is more
descriptive of what it does.

(imported from commit 7ae373279ea9987d3637cdbdc427680ac989fe86)
2014-01-17 16:37:45 -05:00
Steve Howell 56dc4e0b8e Add test_add_stream_to_sidebar().
This is a node test that verifies that
stream_list.add_stream_to_sidebar() creates the right
DOM when it renders the stream_sidebar_row template.
The test also makes sure that the DOM gets put in the
correct place to be retrieved by stream_list.get_stream_li()
calls.

(imported from commit ed4c0148da2261870e3db5a9b553913788b4eccd)
2014-01-17 16:37:43 -05:00
Jason Michalski 4c90392261 [schema] Add an per-user option to disable notification on new streams
Added a default_desktop_notifications boolean to userprofile with a UI
in Zulip Labs. This flag is used to default the notification flag on new
subscriptions.

(imported from commit a25223cc5ecf09980cf877991e25034bb3fd4046)
2014-01-16 20:13:34 -05:00
Tim Abbott 1edcbfb8b0 Fix tab bar for embedded topic narrows.
(imported from commit 4c63478b1899c22f3d0be5651e2eb82aecdaaa4a)
2014-01-16 18:18:21 -05:00
Tim Abbott bc22b1eb16 Add support for topic narrows in our embedded narrow widget.
(imported from commit d3ef2db8e0903e445d9ecc2c28d9f249a0042bd9)
2014-01-16 18:05:35 -05:00
Steve Howell 4d03fd984f [notify customer] Add 24hr support for Steve Pomeroy.
We hard coded his feature flag as a response to Z438.

(imported from commit f2637b5610bf69a0d79347586a788b3bb67b19de)
2014-01-16 15:04:54 -05:00
Steve Howell ec91ece6ed Remove "Create new stream" UI for restricted users.
If a user is not allowed to create new streams, then do not
show the "Create new stream" UI at the top of the settings page.

(imported from commit b97626938d8b612317c2189f7eca0d4bd27fc274)
2014-01-16 14:43:57 -05:00
Steve Howell 447c99aa66 Add UI for admins to add/remove admin power from other users.
(imported from commit b7e81316f1f1e3c7b7f7dd5dac5db8e70f1ee209)
2014-01-16 13:41:54 -05:00
Steve Howell 6d963c4a85 Always set data.method=PATCH in channel.patch()
(imported from commit 242503c1caa670fa219acbfe811a1b5e5d54f2b6)
2014-01-16 13:41:53 -05:00
Steve Howell 81de08f067 Improve selectors for user activate buttons on admin screens.
(imported from commit 094e81a1a337aeed7cfd39ce61daf6ac50e905cd)
2014-01-16 13:41:53 -05:00
Steve Howell 07b2eed389 Add README.zulip.md for handlebars.
(imported from commit a1e214d4bfbd1c0e6dc3918ad649c20e921399db)
2014-01-15 16:45:22 -05:00
Tim Abbott 6443aead67 Fix scrolling when unnarrowing after reading new messages.
Our logic for unnarrowing when messages were read during the narrow
did not properly use the then_scroll option and thus actually set the
scroll position when they selected a new message.  This was
accidentally prevented from being a big problem by the incorrect
scrolling logic that was fixed by:

    Only preserve_pre_narrowing_screen_position when preserving pointer.

which caused the browser to scroll _back_ to close to the correct
scroll position (but not the intended scroll position -- it would
usually be a little bit off).

(imported from commit d779de8f89590d242f62d32b22a297bdc096c594)
2014-01-15 16:07:20 -05:00
Zev Benjamin fa097a1201 Remove jquery.highlight
The one call we were making to it was actually unnecessary since highlighting is
no longer done client-side.

(imported from commit 7644a5961ca48cd57f4b65c6f698083677e0a130)
2014-01-15 16:07:20 -05:00
Steve Howell 3bd0bfd4fd Upgrade handlebars to 1.3.0.
This was "npm update handlebars" followed by copying
runtime.js into the static directory and restoring the
copyright header.

(imported from commit 69d30cbfcb3b776cdfdcffa17a87704540eab76a)
2014-01-15 16:07:20 -05:00
Tim Abbott 86f9ea0cd2 Move save_narrow earlier in narrow.deactivate.
I think that this will fix the issues we've been having with
hashchange.save_narrow() screwing up the scroll position in the page.

(imported from commit 25af9b7dda2d107220e11dd12b9dc344bc63addc)
2014-01-15 16:07:17 -05:00
Steve Howell 1887b59504 Have the ENTER key blur people searches.
This is important for hotkey users to be able to use other hotkeys.
Since ESC clears a search, we need ENTER to merely blur the search;
otherwise, hotkey users will need to mouse away from the search box
if they want to keep the search sticky.

(imported from commit 204704435c7821c1ad3b7b750ffe3545adaff9aa)
2014-01-15 16:05:52 -05:00
Steve Howell aae001fa8e Have ESC key clear people searches.
(imported from commit a3f4cf0416f4f2ea76660bf68790988edc5675e2)
2014-01-15 16:05:52 -05:00
Steve Howell 33494dc342 Reduce the width of the user search box.
(imported from commit 715175c51f292a89ad68fa780b94c332fdd1f436)
2014-01-15 16:05:52 -05:00
Steve Howell 85ff523965 Simplify filtering code in actually_update_users().
(imported from commit d11e56f5708bd3e5e52bc6452676a0fe2be17900)
2014-01-15 16:05:52 -05:00
Steve Howell 892b4b5db2 Remove user from his/her own buddy list.
(imported from commit 388a95b8f1b9c2a7622e1e083d3601c4015682e7)
2014-01-15 16:05:51 -05:00
Tim Abbott 7e301425fc Optimistically call restart_get_updates on Socket reconnect.
(imported from commit 0804969f964e65ed2d2e0a64d56d5f591d12e0ef)
2014-01-15 16:05:51 -05:00
Tim Abbott 43f6ce9624 Keep compose box open in embedded narrow views.
(imported from commit 0e5f44505a58ed77a5fee7b6b2024fce62e8b07b)
2014-01-14 12:09:14 -05:00
Jason Michalski 42d561546b Add integration documentation for Zendesk
(imported from commit fb719144cc4fce7c8a794da1abb747595e2c239c)
2014-01-14 12:01:54 -05:00
Steve Howell a05e24667e Fix split command for names.
(imported from commit bed07c3d527b602b43b94ac1c6e77cd65042d341)
2014-01-13 16:28:39 -05:00
Steve Howell cb6438234a Add search filter for user list.
Whatever text is entered into the search box under users is used
to filter users by their full names.  You can use commas to search
for multiple users. Search terms must be at the start of names, so
"st,fr" would match "Steve Howell" and "Leo Franchi" but not
"jesstess."  Names are case insensitive.

(imported from commit 822b72883928d3c941d38e9798774d71b0689f30)
2014-01-13 16:16:05 -05:00
Jessica McKellar 33bcd1977a Show the first person in the realm an invite banner if they are alone.
Previously we unconditionally showed the "get the desktop app"
banner. Now, if the first user declines to invite people as part of
their onboarding workflow, show the invite banner instead.

(imported from commit f7892fef17c923154a700149b8f5be99e9c03fa0)
2014-01-13 10:36:48 -05:00
Jessica McKellar 02d8f2f0f0 Unbreak sending invites from the first user.
The bug caused the wrong verb to be used, resulting in a 405.

(imported from commit f9ad42e4a09e3a0dbd98bf4faa9ba57325d733c5)
2014-01-13 10:36:48 -05:00
Jessica McKellar e9dc149340 Make custom-alert-bar-content customizable.
(imported from commit 9947b15596fc818fcf3106606d1e638073a415f8)
2014-01-13 10:36:48 -05:00
Steve Howell 760d3e78d9 Fix stream color updates for left borders of messages.
(imported from commit a830905bd84d77e4ba1bd0cd4a82c9af3ffb4f69)
2014-01-10 21:39:05 -05:00
Steve Howell 8ad66575cd Prefer humans to bots when autocompleting PM recipients.
We don't persist how many PMs you have exchanged with other users
across reloads, so immediately after a reload, our
pm_recipient_count heuristic for autocomplete isn't very useful.

This change makes it so that we prefer humans to bots when
pm_recipient_count is not yet a factor (i.e. both users may have the
same value of zero).

(imported from commit 5fd8c969631d3437df83dd6e5ff8f7316dc4ef51)
2014-01-10 21:39:05 -05:00
Waseem Daher fe748f7633 Make Twitter preview look like other inline image previews.
(imported from commit ca4ff9146679a5348bf53d06e992972e9a4b628a)
2014-01-10 21:39:04 -05:00
Steve Howell 4c3d22baf5 Upgrade handlebars from 1.0.9 to 1.0.11.
There were some notable bug fixes between those versions.  We are
still far behind the current version (1.3.0).

For the node stuff, I used npm update.

Then for static/third/handlebars/handlebars.runtime.js, I copied
the node version then added back the copyright.

(imported from commit 59bcd2c52540ff88bba2f90cced809cfcb8cd92b)
2014-01-10 21:39:04 -05:00
Steve Howell 2504baf783 Use compiled.js in dev environments.
Make our dev setup more similar to prod by using compiled.js,
instead of AJAX-ing templates on the fly and compiling them
with non-node code.  This will make our dev environment more
consistent with prod (to avoid surprising bugs), plus it should
be faster (fewer AJAX calls).

This change also means we don't have to keep two copies
of static/third/handlebars/handlebars.js around.

(imported from commit d8d584b9aa13adcdcce7e424033610d77d2df79b)
2014-01-10 21:39:04 -05:00
Steve Howell 813fc05b5b Do notifications after message edits.
If a message edit causes a message to become notifiable, we send
a notification to the user, but only if they haven't had any previous
notifications for this message.

(imported from commit cee854de2d42c31a7352a350f79490caf94b613c)
2014-01-10 21:39:03 -05:00
Steve Howell 117915edc5 Properly render mentions after message edits.
In update_messages() in zulip.js we now set the mentioned flag
on incoming messages, so that they render properly with the
salmon background.

(imported from commit 6df523edbcd567bf8e1fde144f65f35a00548c4f)
2014-01-10 21:39:03 -05:00
Steve Howell 997eb82f85 Properly highlight alert words after message edits.
After messages are updated, we process the message for alert
word highlighting, just like we do when new messages are
received.

(imported from commit 5538c0f875595df3ec1ac7c4bc45f0fe44c700cc)
2014-01-10 21:39:02 -05:00
Steve Howell 175aeef09a Simplify code by using message.alerted.
(imported from commit 10eaca36cd3d60ce3cdd36be62dff02217f0b6c6)
2014-01-10 21:39:02 -05:00
Jason Michalski 9e822403bb Linkify twitter media links
Image and video links in the twitter API are media and need to be
handed on separately. We also include a preview image if the media link
is a to a picture.

(imported from commit 2bd00d267e51b29ad0ba681195b2bfea9b991d8c)
2014-01-10 21:39:02 -05:00
Zev Benjamin 3eaf77d532 socket: Log the transport used client-side
(imported from commit 7d5c5b15a729e1a4a73b49280c8096248c4843a3)
2014-01-10 21:39:01 -05:00
Allen Rabinovich 4fb3b39077 Fix unread indicator animation
(imported from commit f650b045638a9bcdd95713784a2059a3f00c41a4)
2014-01-10 21:39:01 -05:00
Tim Abbott 2632b130a5 Only preserve_pre_narrowing_screen_position when preserving pointer.
(imported from commit a0e323796f62b2bacd205a441ef68ac160918cdd)
2014-01-10 21:39:01 -05:00
Leo Franchi 45d3bb4f04 Update our pivotal integration to handle v5 of their API
(imported from commit 2deba4ed2f72c7d7ccedafbb8fc4370b2faa5490)
2014-01-10 21:39:00 -05:00
Tim Abbott 7fa3bdba72 Convert /json/update_active_status to use channel.js.
(imported from commit 75c7a1c9701b4ff0db8e52c31126d778054b6c29)
2014-01-10 21:39:00 -05:00
Tim Abbott 7f174213ed Add an idempotent flag to the channel module.
(imported from commit d5b867d2a8f176cae76c8b68435c4fab318d998b)
2014-01-10 21:39:00 -05:00
Zev Benjamin 53b5a62b23 Enable sockets for everyone
(imported from commit 1b855f4479717d9f3ce7468695f1e127be0e5a14)
2014-01-10 21:39:00 -05:00
Jason Michalski 68335d9124 Remove hidden inputs from the tab order on the stream page
Inputs are given a tabindex of -1 in the handlebars templates, this is
added and removed in the show and hide events of the bootstrap collapse.

(imported from commit 2c54c39edc396d3d18330df4583d901690dd71fa)
2014-01-10 21:38:58 -05:00
Leo Franchi 651382b313 Keep track of people by full name for client-side usermentions
(imported from commit 6c88b53913ed7eca7d75ad0d2263d63e277ee65c)
2014-01-07 17:33:33 -05:00
Leo Franchi 685ab1a583 Add message_list.remove_and_rerender
(imported from commit 68da0ad74f797fae3257577bbf415fd1fe9488a6)
2014-01-07 17:33:33 -05:00
Leo Franchi 80e6dab78a Parse message IDs as floats
(imported from commit d9954e4225e95e2931be1d1fe5ecf0b93914b07e)
2014-01-07 17:33:33 -05:00
Leo Franchi f0e3afe0d3 Remove deduplicate message hack as trac #1062 is fixed
(imported from commit 521af28471af63b2063256585b27ac45ee2c4b7b)
2014-01-07 17:33:33 -05:00
Leo Franchi 2b68a1520a Move message insertion into standalone method
(imported from commit 25706d73e5629130ad278c858e67cc9148515706)
2014-01-07 17:33:33 -05:00
Jason Michalski 1246ee3acd Focus all of the next buttons in the tutorial
All of the buttons in the tutorial now have focus to spamming enter will
get to the end.

(imported from commit dc620a28b2c0c3a316a0e91438baf1e284e29e83)
2014-01-07 15:07:15 -05:00
Steve Howell 225b4c6925 Match full names in Streams autocomplete.
See #2137.  When you add a person to a stream on the Streams page,
the autocomplete will now match on the person's full name, not just
their email.

(imported from commit b250ea0dc61d54f7f2f330ef0616935d43234597)
2014-01-06 17:07:50 -05:00
Allen Rabinovich 827cd50849 Fix invisible unread marker issue
(imported from commit a1cc8465758b7e9daf110a32038feeeef0427715)
2014-01-06 11:41:05 -07:00
Zev Benjamin ff44d4acde Enable socket-based sending for CUSTOMER4
(imported from commit 338f736561f7bd7d815e9de62b12c352ae47f54a)
2014-01-06 12:03:12 -05:00
Steve Howell 8606a88279 DRY up click handlers for admin stream privacy settings.
(imported from commit 1b684ae3e14647290911bd858165212adb418ca1)
2014-01-06 11:59:48 -05:00
Steve Howell badeb70be2 Allow admins to change public/private on streams.
This is the UI piece that finishes the features to let admins
make streams private or public.

(imported from commit 1a193165a6304dc358982e9850a75965fb3a03fd)
2014-01-06 11:59:48 -05:00
Steve Howell 34af2b0828 Extract subscription_setting_icon.handlebars
(imported from commit 574f43d8479e066687312a7a232f243347bd1d7f)
2014-01-06 11:59:47 -05:00
Steve Howell b3d307b465 Extract subscription_type.handlebars
(imported from commit 1a16ed0d51dae23f830043f52046c8fb50f91a48)
2014-01-06 11:59:47 -05:00
Steve Howell 492159c312 s/allow_rename/is_admin/ in subscription.handlebars
(imported from commit e5af8d97d0bcd63efd85e5745a8bb131b091f752)
2014-01-06 11:59:47 -05:00
Waseem Daher 96ebf7e147 Change wording for message-not-visible notification in search.
This is basically morally part of c92aaee484c28fcae7809a3bdfc647e86ae27013

(imported from commit 0e64f4e636dc6dbfbf4ef93cf497e47bbd26a03a)
2014-01-06 11:11:28 -05:00
Allen Rabinovich 40eed36499 Disable full width feature flag
(imported from commit 0972fcbac759c31daf779c8a3e401c403d7ac9d3)
2014-01-06 09:06:24 -07:00
Steve Howell 02116e2b63 Center "Why not start the conversation" for PMs.
(imported from commit ed01d464719b76a8c52c8b205395cc853077a1e1)
2014-01-06 10:41:45 -05:00
Allen Rabinovich 1b59bb82b9 Fix the overflowing message pane issue.
(imported from commit 07f73e7a8d13792220f3ca08f50c21eb12d454b6)
2014-01-06 08:39:58 -07:00
Steve Howell 9ace9232b7 Fix OSX settings-gear-vs.-scrollbar annoyance.
On OSX Chrome, if you scrolled and then went to the settings gear
quickly, the scrollbar could stick and obscure the triangle part
of the gear menu, which was annoying.  (You don't actually have
to click the triangle to pull up the menu, but that's the
affordance.)

This change adds a little margin to the right of the gear.

(imported from commit fa64122d913a17b765d00802184009eaaeaef0b1)
2014-01-03 09:41:57 -05:00
Steve Howell 055cc2d984 Change wording for message-not-visible notifications.
(imported from commit c92aaee484c28fcae7809a3bdfc647e86ae27013)
2014-01-02 14:27:49 -05:00
Jessica McKellar aa36b7fb5f Document our RSS integration.
(imported from commit 61e956705b526b4bbeb3a0908d00ebd92d216395)
2014-01-02 13:39:32 -05:00
Steve Howell fb0c78b946 Remove transitional topic_zooming flag.
(imported from commit 62722f49a2f9db262c63c56826b8446333c86389)
2014-01-02 08:31:36 -05:00
Waseem Daher 3ceb43dccd integrations: Update Jenkins integration documentation.
(imported from commit e17bf74f35baa560e0e2537177c38988d63643df)
2014-01-01 22:17:53 -05:00
Waseem Daher 4a7a5d5d10 Document Kensho's puppet integration.
(imported from commit 0beccd70ad5f60471e0b131cbfe05226e40a9a69)
2013-12-29 19:38:33 -05:00
Steve Howell 7f25c356ea Set feature_flags.fade_users_when_composing to true.
CUSTOMER4 has had this for a while.

(imported from commit 84b56418d0f914890a4464bbce8b05c7be15275f)
2013-12-26 16:50:04 -05:00
Jessica McKellar d7acc94a0b Update the GitHub integration docs for the revised GitHub layout.
(imported from commit 0604931e96c1e523785a58a1641fe945bc39abc3)
2013-12-23 11:02:26 -05:00
Leo Franchi 235c4d5f8f Don't use channel in initial_invite.js as it's not included
(imported from commit eeb6ba764caf061a65a57a90ce6b9f8e9cf97984)
2013-12-20 11:42:10 -05:00
Tim Abbott c7ce0547f4 Some proposed CSS fixes for divs from Allen.
(imported from commit 88dc527c67dacaca930b6dd38bfe3340134d726a)
2013-12-20 10:32:11 -05:00
acrefoot 63810131e3 fixup selector when clicking on recipient_row
(imported from commit 94e1967151d3048144f2bbaf87f889a293ccdcd0)
2013-12-19 19:13:48 -05:00
acrefoot 0d08acaa1b Transition from tables to divs for the message list.
This breaks our casperjs tests.

(imported from commit c63181c73a24eed4a80bfa56966d1f0871c5edb2)
2013-12-19 18:28:11 -05:00
Tim Abbott 91fc3fb7d7 Reindent some sections of message.handlebars.
This is in preparation for the tables=>divs move.

(imported from commit 6ca3201b780af197c8f1e9321b222d412aa8b977)
2013-12-19 18:24:47 -05:00
acrefoot d218ce3306 always show notifications when in auto-scroll forever mode
(imported from commit c2b79312774979281bb65d3871debc21a1a22e72)
2013-12-19 17:38:19 -05:00
Tim Abbott 71a55808f7 Fix repeated get_updates resets due to unsuspend event handler errors.
(imported from commit 6d303e84b4320c23a5f16260f859a943dc942836)
2013-12-19 17:34:51 -05:00
Tim Abbott e76eac49cb Reload the browser on CSRF token errors.
We've seen in our error logs browser clients that were constantly
retrying requests to our server after the user logged out in one tab
but didn't close another.

(imported from commit 68dd8d9e618083bc116ae3a96dbcc78fa9301bba)
2013-12-19 16:52:52 -05:00
Tim Abbott 795930c803 Add channel module wrapping our various JSON requests to the server.
(imported from commit 6489938678551ad8594822363ae6d1c9ae295496)
2013-12-19 16:52:47 -05:00
Steve Howell 986c46d417 Color code "Messages sent"
(imported from commit d648bfbcdd054a57fb6b39d14d0579819c963c40)
2013-12-18 17:30:47 -05:00
Waseem Daher 23ddf7b88c Widening scope of 'Clicking on desktop notification narrows you' experiment.
Unfortunately this is basically a WebKit-non-desktop-app-only experiment.

(imported from commit 6f5abe1dcd9113533c339951677a9d3d230038dd)
2013-12-18 16:52:41 -05:00
Tim Abbott 73643acd03 Fix muting the last stream in the home view.
(imported from commit b35e9903cdb8697a1010147854feb13060e9516d)
2013-12-18 14:30:17 -05:00
Tim Abbott 0a1febacb3 Fix traceback loading the app with all streams muted.
(imported from commit 42190bdbba3d56e79d1d9e19b85d6bba0d0d747f)
2013-12-18 14:30:17 -05:00
acrefoot c30f2bbe3e slightly stricter linting of html templates
(imported from commit 5bd0aa3c49d6ff95559a73bd5f134cc50ae98ce9)
2013-12-17 12:05:23 -05:00
Steve Howell f174038100 Throttle user list updates to 5s intervals.
(imported from commit 908806d1ac00f14802f2a01a40d0abb66778a441)
2013-12-17 11:54:53 -05:00
Steve Howell 1c67fdb95d Move user list unread-count logic to templates.
When we rebuild the user list from scratch, set the unread
counts in the templates to avoid multiple DOM updates.

(imported from commit 2d0c9b0fb99b382332e464ba7c3caad95e05363e)
2013-12-17 10:59:25 -05:00
Steve Howell 67b6b05f26 Remove colons after bot fields.
The rest of the Settings page seems to eschew the colon, so this
change makes the bot listing consistent.

(imported from commit d13ac811b230413f9bbc9718fb7ec35898bdf392)
2013-12-16 18:11:57 -05:00
Steve Howell 3418c1852f Fix copy/paste for bot user names and API keys.
You can now double click on a bot's API key to copy/paste it.

(imported from commit 4738cc3d98545b45c6f8bd201afd3882cfb63f4a)
2013-12-16 18:11:56 -05:00
Tim Abbott 321fa338e5 Improve tab bar for embedded narrowed widget.
(imported from commit 7cfc5d1966de8560db16c1807920f7600356abaa)
2013-12-16 17:46:02 -05:00
Tim Abbott 2276c6e524 Add support for loading a narrows-only embedded Zulip window.
Features:
* Only shows messages in the narrow
* New messages in the narrow will arrive as they are sent
* Works even for streams you're not subscribed to
* Automatically subscribes you to a stream on send
* Doesn't update your pointer
* All searches etc. automatically have the narrow added

(imported from commit 2e12b76849f6ca0f53dda5985dad477a04f7bbac)
2013-12-16 17:46:02 -05:00
Tim Abbott 8e6728f206 Clean up duplicate code in tab bar creation.
(imported from commit 83b9dfc66ce3e0e9af0c9580cc3c81728b649a20)
2013-12-16 17:46:02 -05:00
Waseem Daher fa17fb0da1 Place "autoscroll" option in a "Zulip Labs" section.
(imported from commit 31e8d0b5c1454932398cf732c0c4ad0702e5274b)
2013-12-16 10:43:49 -05:00
acrefoot 11aec0104e fix bug where the composebox may obscure message editing
(imported from commit 905870706b8919a852f58cfc639483acab6fc28a)
2013-12-13 17:19:50 -05:00
acrefoot 29907f3c71 Fix javascript bug in maybe_autoscroll.
I'd check for bookends, but not daterows. Now, we just check if we can get
a message id out of it, rather than excluding specific types of rows.

(imported from commit 39ebc35e81dcec7fc83b603bf941f816fcd3d38d)
2013-12-13 17:19:50 -05:00
Kevin Mehall 91a08fc162 Remove dead code.
The typeaheads have not used this for a long time.

(imported from commit 284e30d97ac5a332e146580ec7f32ce81458d2a0)
2013-12-13 13:24:30 -05:00
acrefoot 07501cd12c only show 'auto-scroll forever' setting for zulip.com and customer28.invalid
(imported from commit 329ea6a4f715a093a1ab56777964ca751300ac0c)
2013-12-13 11:50:11 -05:00
acrefoot cff1714209 Relatively aggressive version of autoscroll-forever
(imported from commit f84e7bbbb3eaec1a5c8df93dffe3771a6fdbcd5f)
2013-12-13 11:50:11 -05:00
acrefoot 59bbe33954 Cinch up whitespace during some cases. This is for when enable_autoscroll_past_unread is set
basically this tries to turn scroll-the-world into not-scroll-the-world
This is not very good--maybe Allen has a better idea. The best solution would be to
turn off scroll-the-world. Look for it after the tables->divs change happens.

(imported from commit ae0b6976bca57986f95022f2470bc7117eda7fa3)
2013-12-13 11:50:11 -05:00
acrefoot 1bd420f12c Show auto-scroll forever setting in /#settings
(imported from commit fa66cbe52836f230e551f25c47bd755b705387d2)
2013-12-13 11:50:11 -05:00
Tim Abbott 6958b63c58 Improve processing for get_updates during tutorial.
Previously, we would slowly accumulate duplicate copies of events that
happened while the user was in the tutorial at a rate of 1 copy per 5
seconds.

(imported from commit 3e3c58aca4b1ba3bfdd1c93f47330a0f4cf4b60f)
2013-12-13 11:16:17 -05:00
Tim Abbott d6aa8ecaff Only send get_updates_xhr error if we don't have a timeout either.
(imported from commit b77c6c67917f8d2bc5d59fb46f3a5ffa4a0ac443)
2013-12-12 17:36:38 -05:00
Tim Abbott 7159564881 Cancel existing get_updates requests before making a new one.
(imported from commit fdc1223acb0cbd92cc6e0cd83230db97b67ff5b4)
2013-12-12 16:03:46 -05:00
Tim Abbott 2aad7baac0 Restart get_updates if it is ever not running while sending a message.
(imported from commit 12d74c1193dd978e171d2e2aaf236ad71bebe6a3)
2013-12-12 16:03:45 -05:00
Tim Abbott 7a397480e5 Log a blueslip message when unsuspending.
(imported from commit 8a8509ea47f3c9c6e56f98795acc958507564ff9)
2013-12-12 16:03:45 -05:00
Steve Howell da69fc19de Fix width checks for skinny mode.
We now use window.innerWidth to check for CUSTOMER7's skinny
mode, which empirically seems to be more consistent with
CSS's max-width @media settings.

I tested under FF, Safari, and Chrome.

(imported from commit d440998634633c11b471fe732104be252c979cd4)
2013-12-12 15:41:17 -05:00
Steve Howell 009d1ed88a DRY up check for feature_flags.left_side_userlist.
(imported from commit d7cbb1eee0e83ddf811451e10dd6dcd03c86ffd0)
2013-12-12 15:41:16 -05:00
Steve Howell b53513a5e7 Uncondense messages that have recently become "short."
It's possible for a message to be considered "long" at one point,
and then if you narrow to it later, it should be considered "short",
because either the screen's wider or taller.  This commit makes
sure that we remove the "condensed" flag from short messages,
and it also fixes the "More..." click handler's assumption that
could-be-condensed will always be true for condensed messages.

(imported from commit 77e4a1ad299c09f12e5609a972d5668472bd4a81)
2013-12-12 15:38:38 -05:00
Steve Howell 7427fb8d98 Cache message heights for ui.condense_and_collapse().
Cache the height of messages to speed up ui.condense_and_collapse()
to make narrows work more quickly.  The height of the message
determines whether it is auto-condensed or not.  We clear specific
cache entries when messages get edited, and we reset the entire
cache when the window width changes.

(imported from commit 7c12070a3eb3e2e1a2dfeb8d9109f3404a46c032)
2013-12-12 15:38:38 -05:00
Steve Howell e1727844d7 Only condense/collapse when messages are visible.
Trying to condense messages when they are not yet visible just
leads to wasted effort and wrong results.

This commit makes it so that current_msg_list always points to a
visible list, so the code related to message rendering knows when
to call ui.condense_and_collapse().  For activating narrows, we
now let rendering handle the condense/collapse case.

The home view situation is a little trickier, because we render
new messages in the home view even when we're inside inside of a narrow,
presumably to make it fast to switch into the home view.  When
we actually go back to the home view, we need to sweep for messages
that might need to be condensed, since they have been originally
rendered while the home view was not visible.

(imported from commit 4da2d278a4353e9e0c2b98cbf8c9dd03b06cd59b)
2013-12-12 15:38:38 -05:00
Jessica McKellar b6e46986f0 Remove unused message_tour.js.
(imported from commit e25a9315377ad11d47ad78a5d466df40e306f713)
2013-12-12 11:47:09 -05:00
Jessica McKellar 14cbcfce3b Disable Dropbox integration feature flag for us.
(imported from commit 1496be96e0011f23f5a714e0eaf36f477a830577)
2013-12-12 11:47:09 -05:00
Steve Howell aea01d54ac Make app less shocking when CSS fails to load.
We now have a stand-in message that says "Loading CSS...", which
only gets hidden once the CSS loads.  This is a better user
experience than seeing completely unformatted Zulip HTML on the
page.  The message is set to fill the whole page, and it's cleared
once zulip.css gets loaded.

(imported from commit 613fe3d6a39197aabfeb63823b7fad75834bb9eb)
2013-12-11 11:58:10 -05:00
Steve Howell c7abaff9e9 Avoid duplicate streams in the Administration page.
Before this change, you could open the Administration page
for a 2nd time, and there would be two copies of each stream.
The simple fix is to remove any existing rows before populating
the table.

(imported from commit 957306d9c6418e59b5b288dad08864547ca63e53)
2013-12-10 17:12:16 -05:00
Kevin Mehall a59760883d Fix JS error when sending a PM outside your current narrow
This is the "Tried to call a Dict method with an undefined key" error
because it tried to look up stream information for `undefined`.

(imported from commit 0187f185f3e424a0c9ea940d9b32f07376ac8952)
2013-12-10 15:35:11 -05:00
Allen Rabinovich 8a56bc70a4 Fix background color typo
(imported from commit c7ef4f00dc5c1abe6090a4d766c52835ced218ff)
2013-12-10 12:30:28 -07:00
Allen Rabinovich c51a2355ee Make white background permanent
(imported from commit a9164b8f800cbc992ec72e9125a5adb08bb97615)
2013-12-10 11:30:28 -07:00
acrefoot 8e0cf79f91 better out-of-view message for replies to muted streams
(imported from commit 8aa9b69428a7dc30d726f8e57c353e1c0e652c53)
2013-12-09 20:09:11 -05:00
acrefoot 6460ecdc18 Show @-mentioned messages even for muted streams
(imported from commit 8a32599869c9f510d9c42f4c17b16d1e662e7669)
2013-12-09 20:09:11 -05:00
acrefoot 068fac2d7e Change out-of-view message for replies to muted topics
(imported from commit 79a42cbaac1294c03789c467c6774ff7bf990e74)
2013-12-09 20:09:11 -05:00
acrefoot 06c689738e Show @-mentioned messages even for muted topics
This addresses Trac #1929

(imported from commit 1b30ee7ae602e83f5977ffd4f32e478f719683d1)
2013-12-09 20:09:11 -05:00
acrefoot 3542b63bb7 show notification for @-mentions in muted topics and muted streams
(imported from commit 7c6303a083f1f7d364920462e42360b71d7159b5)
2013-12-09 20:09:11 -05:00
Tim Abbott 40c95c971c Increase restart_get_updates timeout.
(imported from commit 858b5ef8a470b3e68bd9601f001e34510f8ebec8)
2013-12-09 13:45:39 -05:00
Jessica McKellar 81b493ba0b Change pointer semantic to better support side bar users.
There are now 2 cases for narrowing:

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

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

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

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

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

(imported from commit 87c467578a2cced0aa976d8ae2924371b85d2445)
2013-12-09 10:41:26 -05:00
Jessica McKellar 7c9e7e57b9 Remove message_list:get_messages, which is redundant with all().
(imported from commit 100eb775b89c54c45f70cf903018bdaefa99d3f6)
2013-12-09 10:41:26 -05:00
Jessica McKellar d4fae47430 Don't nudge pointer after unnarrowing.
This is in preparation for changing the pointer semantics later in the
branch.

(imported from commit 705ac2a48d7f36531d7683c5cf585cc89188a210)
2013-12-09 10:41:26 -05:00
Steve Howell 47e20f9ecd Revert "Expand left sidebar when browser is super wide."
This reverts commit f81f4b2739cbf8e3d3c2db5e467cf55b65f0c2bd.

Conflicts:
	static/styles/zulip.css

(imported from commit 6e62619a5f16f120134b222b331a066a57b7cfc6)
2013-12-07 15:28:38 -05:00
Steve Howell 4490881685 Expand left sidebar when browser is 1600px wide.
(imported from commit acdb1c5a92c3b0aa3923cd5c502d324b3ee39a3f)
2013-12-06 19:00:54 -05:00
Zev Benjamin a9d37ebfb9 Align names in group PM list
(imported from commit 21d6a28b8ade617968a1fe9b07d804f0372fb64c)
2013-12-06 17:54:05 -05:00
Zev Benjamin 6f0477f491 Increase number of names shown in group PM list from 2 to 3
(imported from commit eff308fb1405290488f74d9064fd859d33c99558)
2013-12-06 17:54:05 -05:00
Zev Benjamin 0bf60e243a Let group PM items wrap a little
(imported from commit a860e7708eb16769b4c7ae35818521f69ecbdc91)
2013-12-06 17:54:05 -05:00
Steve Howell e4f917aa9c Remove "Invite coworkers" link from left sidebar for CUSTOMER7.
(imported from commit 3955b7e10a639fef67948bc49b2f535acd5bc765)
2013-12-06 17:17:26 -05:00
Steve Howell 1c5d642672 Show Group PMs in CUSTOMER7's left sidebar.
(imported from commit ee8068e1cb0408a6bc42381333d05d4d09689d35)
2013-12-06 17:17:26 -05:00
Steve Howell f607b24ee5 Make size_blocks work for > 2 blocks.
This changes the algorithm slightly for the 2-block case, because
I simplified the logic to just divvy up the space naively based
on the relative size of the blocks.

(imported from commit 9498edd916f65e07fb64d138276691d0d5cc0e55)
2013-12-06 17:17:26 -05:00
Steve Howell 90d97a39c6 Extract ui.confine_to_range().
(imported from commit d95fd01e9783d01908a1155e260bac52339eb6ca)
2013-12-06 17:17:26 -05:00
Steve Howell c1dcf38b0a Use size_blocks() in ui.left_userlist_get_new_heights().
This is a functional change.  Before this change, the stream
list and user list were allowed to take equal space in the left
sidebar; now, we take the size of each list in deciding which
proportion each block gets.

(imported from commit febedcb0518353825e18a6ebe60d1883b98bc78d)
2013-12-06 17:17:25 -05:00
Steve Howell c2034c210c Extract ui.size_blocks().
This is just moving code, nothing fancy.

(imported from commit a753aa36fc976409e79e5a3c11ffdf59197b32f6)
2013-12-06 17:17:25 -05:00
Steve Howell f519fa907c Don't let CUSTOMER7 share the love when in narrow mode.
I don't think share-the-love is turned on for CUSTOMER7 in the
first place, but even if it is, we should hide it when they go
into narrow mode, to make room for streams and users.

(imported from commit 2e80eec0f2ddee06753f48248dca5ac4745db6f1)
2013-12-06 17:17:25 -05:00
Steve Howell 6354b712fc Limit jQuery calls in ui.left_userlist_get_new_heights().
Calling $('#foo') is expensive, so if you need it twice, you
should store it in a variable.  I did this for stream_filters
and user_presences, and added the expectOne() call for them as
well.

(imported from commit 69e689e28b1248a93ef426a89c14033d2fb36104)
2013-12-06 17:17:24 -05:00
Steve Howell 2f6d722d9b Extract ui.set_user_list_heights().
This is a simple extraction--just moving code, nothing fancy.

(imported from commit 6c3717db43728b1ef73b17dd923eec4f7d6f6e4c)
2013-12-06 17:17:24 -05:00
Steve Howell 755f2e043e Turn on left_side_userlist on staging.
(imported from commit 650dd2e8231a8923dad0d66fb065e6638a9937c8)
2013-12-06 17:17:23 -05:00
Waseem Daher 0181ec3ef8 Expand scope of "clicking notification causes narrow" experiment.
(imported from commit aa260386c6cf1be9d9c0122bc9daf971650560d0)
2013-12-06 16:37:22 -05:00
Luke Faraone 54d9a733c2 Documentation for the Perforce integration
(imported from commit 0b2eaed618a226d64dcff395467607f4f7d01579)
2013-12-06 11:54:38 -05:00
Tim Abbott 458c066925 Add reporting for how long narrowing takes in the wild.
I'd also like to add a database table to actually store the values
that we get out of this and our send message requests for future
inspection, but for now, grepping logs+statsd is good enough.

(imported from commit 99ef179651850217fe6e82c5e928d122ca91101e)
2013-12-06 10:28:01 -05:00
Steve Howell f923c15ba8 Change signature of ui.process_condensing().
I renamed ui.process_condensing() to ui.condense_and_collapse(),
and, more importantly, it now takes a list of elements, not a single
element, which allows us to do some computations outside the loop.

(imported from commit d5984088030c2a0d4ec8b258c7fcec3e84caf2b1)
2013-12-05 16:42:07 -05:00
Steve Howell 983f29eac4 Inline ui.could_be_condensed().
This sets us up for the next commit, where we will change
process_condensing to loop over several elements, and we will
not need to recompute height_cutoff every time.

(imported from commit 1cc5b44598b85d1e301bc84492e4dc38f41ec16e)
2013-12-05 16:42:06 -05:00
Leo Franchi 2452a5c0b2 Broadcast an event right before and after doing the WebSocket handshake
(imported from commit 29b80c3b72a2f98c25b59dca3d1597cc5e5f2605)
2013-12-05 16:21:59 -05:00
Zev Benjamin e7b31fd6ad Re-enable use_socket on staging
(imported from commit f96c892409ce554109d4bfef9bd1d364db344e8b)
2013-12-05 15:53:50 -05:00