Commit Graph

668 Commits

Author SHA1 Message Date
Waseem Daher cd62827158 Fix issue with border on huddle messages.
(imported from commit 6a671dee15bb407207d34f7495987cbcd012d9a0)
2012-10-23 13:31:52 -04:00
Keegan McAllister 86159813df Hide the "Load older messages" button in narrowed view
Ideally this would be part of hiding zhome, but right now zhome/zfilt are
assumed to the tables themselves, and changing that seems unfortunately
invasive.  And it's not crazy to think of the "loading controls" as a logically
separate thing that we might show/hide independently.

Longer term, we may want an indication in narrowed view that there could be
more messages on the server.

(imported from commit eb72d720da7c03f6f1378ae18ab6e973bf98247f)
2012-10-23 13:28:08 -04:00
Zev Benjamin fca4cade34 Ignore long-poll successes with no data
The server will occationally return successfully with no data during
a restart.  Previously, when we would get such responses, the page
would stop working because of JS errors.

(imported from commit 39b89907dc5ae9a9eb54ebf60d0069281e401786)
2012-10-23 12:03:56 -04:00
Tim Abbott 9779ca9e5c Shorten get_updates timeout to under a minute.
(imported from commit fcc87011051c25051861e3c36e442398cd3ca3c0)
2012-10-23 11:31:32 -04:00
Zev Benjamin ed05e28e55 Update server when selected message changes via scrolling
(imported from commit a763baf064e73d358632f3754aba940d188f733d)
2012-10-23 10:30:59 -04:00
Keegan McAllister cec9649b0d Brighten the hover color for huddle recipients bar
The Bootstrap default color is too dark against a black background.

(imported from commit 2a0b320564d004ddc606856d004864ba21763a94)
2012-10-22 18:34:12 -04:00
Zev Benjamin 899d5c776f Check reason_empty on client when there are no new messages
This fixes a problem where the client would never stop asking for old
messages (bug introduced during rebase)

(imported from commit eef9f19e1e9982b1e0a954eb36a81e1b7ee5b564)
2012-10-22 18:19:14 -04:00
Zev Benjamin 0f474285bf Up idle timeout for reload
(imported from commit 7d9c7dbd77f49865d7e1922ddcee08cd963f4abf)
2012-10-22 17:30:26 -04:00
Zev Benjamin 732ca19729 Synchronize the pointer across sessions
The client may now optionally send its current pointer during
get_updates and the server will return the latest pointer if it
differs and was updated more recently by a different session.

(imported from commit e43b377d7dfb52f83cefb0b1003863d5407caf80)
2012-10-22 16:44:57 -04:00
Zev Benjamin 7e4b7fb881 Add message selection option to not update the server
(imported from commit a5ef9506be24fee7652cd5479cb74789aa365216)
2012-10-22 16:06:38 -04:00
Zev Benjamin bb64eb717f Make select_message and friends take an options argument
The select_and_show_by_id function is now subsumed by select_message_by_id.

(imported from commit 3dbe9cf9d253b64733f269b6dc78c144100927ca)
2012-10-22 16:06:38 -04:00
Zev Benjamin 35bb3613cd Rate limit pointer updates to avoid hammering the server
(imported from commit e1add1b64779f3d0caf5426eb99233e78de278ae)
2012-10-22 16:06:38 -04:00
Keegan McAllister fcc21bec21 5xx: Reformat text
(imported from commit eaafd17560714729b23df8947a94ebd1815cec23)
2012-10-22 15:22:49 -04:00
Keegan McAllister ba85e3babf Add a static 5xx error page, for nginx
(imported from commit e0ca9ba4e88f4825954c3b70c7b1acadb5b37779)
2012-10-22 15:16:04 -04:00
Keegan McAllister 03dcd8ab2e Restore default formatting for <code> inside <pre>
(imported from commit c9c23b8b7709e9edc6cf1bf2f88811bdf511d2ac)
2012-10-20 19:26:53 -04:00
Tim Abbott bf007776ce Fix selecting huddles using the mouse type-tabs.
(imported from commit 6b9981cf6d5a5aaf9d644a18cc04397f3cf0dead)
2012-10-20 10:35:39 -04:00
Zev Benjamin 33c40bd9ba Don't reload the app after sending messages
(imported from commit 0985a3e7d13b1be00ae0b190914aeb3647ba196a)
2012-10-19 18:25:57 -04:00
Keegan McAllister 5b13f9192f Load more messages when the user presses the "Load more messages" button
(imported from commit 060e6f67b13fd67b56f80f913eb6b835860a8115)
2012-10-19 17:13:14 -04:00
Keegan McAllister 3dfed7b6a1 Add a "Load more messages" button
...which currently does nothing.

(imported from commit 185b35c2bf651779bfcdba44524d1bcb8af74f27)
2012-10-19 17:13:13 -04:00
Keegan McAllister fa011c108c Factor out restart_get_updates
(imported from commit 03755dccbbe296e8c5208c460d80645c0fa17e14)
2012-10-19 17:13:12 -04:00
Keegan McAllister c67e7035aa Limit the number of old messages the client requests
(imported from commit 6bff6aa0b48d46b98aa68c6e29eb569cf41f4989)
2012-10-19 17:13:08 -04:00
Zev Benjamin a80e08fbf3 Fix typo
It was preventing the right text area being focused on huddles

(imported from commit 8ebe457b4e5bce723e3afd9f396f97eeb0e97c46)
2012-10-19 17:04:28 -04:00
Zev Benjamin 9c2da407e6 Update the current composition type on toggle
This was preventing huddles from sending because clients thought they
were still sending a stream message.

(imported from commit 694b06cbc43adc9563327ebffccb7fa37aa36bac)
2012-10-19 17:00:27 -04:00
Zev Benjamin 337836ef54 Fix initial focus on new messages
(imported from commit 4553f6209362f684110b34e92fdba2046cfbb08e)
2012-10-19 16:17:29 -04:00
Zev Benjamin 9de73b5a91 Be intelligent about which input box is highlighted in compose.start()
(imported from commit 37268601d569fdb510415ebfae594804817c0e3a)
2012-10-19 16:09:13 -04:00
Zev Benjamin 2a98045406 Fix responding to messages (broken by rebase error)
(imported from commit 1fac8d8757ee7f9b79c35e884edaa37e5cca0120)
2012-10-19 15:59:03 -04:00
Zev Benjamin 88e09c6166 Only reload the page when the user is idle
Also, clean up reload-related function names a bit

(imported from commit 4c2e17c06d7567e71b92f6e1b04a44aeff419bff)
2012-10-19 15:53:05 -04:00
Zev Benjamin ae08f512dd Enhance the jquery.idle plugin with functionality we need
The following things were changed
* The list of events it listens to by default was expanded
* It now supports canceling timers
* Calling .idle() on an element now returns a control object that can be used
  to manipulate the timer
* Small tweaks to variable names, arguments, jQuery usage, etc.

The code probably still needs some cleanup, but I'm sick of looking at it
right now.

(imported from commit 6868cb6fd97ab994a871f5ed6951995b254e340e)
2012-10-19 15:53:05 -04:00
Zev Benjamin 9752ec8963 Add a jquery module for tracking idle time
(imported from commit 553a7600ab817330ea862dee9887ba08595e0c4d)
2012-10-19 15:53:05 -04:00
Zev Benjamin 1b47cd58f1 Rename compose.message -> compose.message_content to avoid confusion with new API
(imported from commit cce8baba49a4176bdb900a83006db3bf23bcd82b)
2012-10-19 15:53:05 -04:00
Zev Benjamin 08b4bd0d9c Determine whether the user is composing based on a flag instead of element visibility
The flag is set to the kind of message being composed in
start_composing() and set to false in finish_composing().

This avoids the problem where composing_message() will return true
when the animation is still running.

(imported from commit 4c2e7e1fad2e6b2123825bd51d5b24ae41bccd45)
2012-10-19 15:53:05 -04:00
Zev Benjamin 621909df6b Add custom jQuery events to the compose abstraction
(imported from commit 3ff10baafd0825ed8b7ed50a8b668080d1e9f303)
2012-10-19 15:53:05 -04:00
Zev Benjamin 7a44a3b05a Use the new compose API
(imported from commit fb91febbd5c257aea15292d8071da69a3e6b9a99)
2012-10-19 15:53:05 -04:00
Zev Benjamin 746897b36a Add a compose API for starting, canceling, and finishing messages
(imported from commit 372e1c2ae19a72bcbb989fa2be5c510a1278fc69)
2012-10-19 15:53:05 -04:00
Zev Benjamin ab382040c1 Make get_updates reload_pending request parameter an integer
This fixes a bug where the server wasn't returning from get_updates
immediately when the client needed a reload.

(imported from commit 1d854eb1c7061f468d091e103f10074f4c7231d8)
2012-10-19 15:53:05 -04:00
Keegan McAllister ec0bbdc1df Hide horizontal scrollbar on .message_list
(imported from commit 09600ce19074546285173f8ab8317322d4d0e417)
2012-10-19 15:17:33 -04:00
Waseem Daher 17d44be14a Display huddles as 'You and...'.
(imported from commit 35fe0e56751b1a2993bd99181e8bbd57e8c3ce81)
2012-10-19 15:11:13 -04:00
Waseem Daher 647f3c1220 Hack to make narrowbar line up a liiiiitle bit with real bar.
(imported from commit 83f0066def43b2a35e2d8aa089f5962617cf5546)
2012-10-19 15:07:08 -04:00
Waseem Daher 92045f2c9e Experiment: Use icons in more places (instead of the word Huddle).
(imported from commit 6e27da4e54634c1f2fe05e2bffac24dc00576d2c)
2012-10-19 14:42:43 -04:00
Keegan McAllister 4c269c4f7f Don't line-break <code> tags
(imported from commit 35be9fe8c70d3e233708bb7ffdb5ce91eca75c77)
2012-10-19 13:37:42 -04:00
Keegan McAllister 299a298bfb Fix variable name typo in narrow.by_recipient
(imported from commit 87954f2d9007ebdd9d6da8a71584d2677c19ad4d)
2012-10-19 13:02:25 -04:00
Keegan McAllister 5d0fdd1958 Clean up narrow.by_recipient
(imported from commit ca6665f29847077d6038d3f48821c4be02e95ff1)
2012-10-19 13:02:25 -04:00
Keegan McAllister 390c9a26c1 Explain why target_id exists
(imported from commit af2235d80ada47e95806a8a2f807261da583e39e)
2012-10-19 12:57:34 -04:00
Keegan McAllister 3c00b828b0 Use target_id in narrow.by_recipient
Following 958ce29.

(imported from commit e52e9628f85d83ef02bef393f6b10697a7d4eec4)
2012-10-19 12:57:34 -04:00
Keegan McAllister 2439d69209 Get rid of helpers by_personal, by_huddle, by_stream
These make assumptions about the current message type.  We should just use
by_recipient externally.

This reverts commit ad2123f99ce91361ab907c308bfecec4efd722a4.

(imported from commit b7945896568c4c5c31a9d5bddb0e9ade8eef859b)
2012-10-19 12:57:34 -04:00
Waseem Daher 9dbcea2a16 Unbreak narrowing.
(imported from commit ad2123f99ce91361ab907c308bfecec4efd722a4)
2012-10-19 10:38:54 -04:00
Waseem Daher 34fc2266ce Pop up a little box of info/actions when you click a name or gravatar.
Known issues:
* Not all of the options in the menu are functional yet
* The wording isn't totally perfect on some of these options;
   I kind of want to use a 'first name' in some of them.

(imported from commit 5a333fb939fcca7e0d0ecb2c43e79501139ac0db)
2012-10-18 21:19:49 -04:00
Keegan McAllister 2fe034d161 Rename subs.add -> subs.add_for_send
This has some logic specific to the "Create and send" / "Subscribe and send"
buttons.

(imported from commit 5f9e314ebde31ec1e6a183513816d1ade361e4cc)
2012-10-18 16:25:58 -04:00
Keegan McAllister 95f8eea14b Module pattern for subs.js
(imported from commit adfe466ea892fbfe5f13a5f346e4fd00f194c42a)
2012-10-18 15:46:58 -04:00
Keegan McAllister 2a2c0187c5 Rename subscribe.js -> subs.js
(imported from commit c3ce92e31916548206ad5752da8911f22d23f106)
2012-10-18 15:42:08 -04:00
Keegan McAllister eb9140a0a2 Pseudo-module pattern for rows.js
It's actually simpler than a full module, due to lack of local state or functions.

(imported from commit b9180f1cdc26aed3f2e1f35dfae9ed4240b64446)
2012-10-18 15:11:25 -04:00
Keegan McAllister 01061e95e0 Rename dom_access -> rows
(imported from commit 66f6f88cf15f5be614440b826433d5c1cfd6803e)
2012-10-18 15:11:25 -04:00
Keegan McAllister e7661f7b2f Module pattern for compose.js
(imported from commit 8ea9d949b793285e8722bebcef30991d06e5673e)
2012-10-18 15:11:25 -04:00
Keegan McAllister c4bf81a312 Module pattern for narrow.js
(imported from commit f1df2e884216560cfe80f29a7e3eda5cea17cefe)
2012-10-18 14:41:24 -04:00
Keegan McAllister 1398641aa3 Module pattern for hotkey.js
(imported from commit 56616bc8eeaa594ca70bb92bf17a88f97027fd35)
2012-10-18 14:35:42 -04:00
Tim Abbott 461da3f742 Only check if a stream exists if we're not subscribed to it.
This should make sending twice as fast.

(imported from commit a30c6fe7f20aae65d0bfe65e76774017b2627c04)
2012-10-18 13:43:54 -04:00
Tim Abbott 247cfc5344 Fix create-and-send functionality.
(imported from commit 24452eb90e9aaeb0ad406f6c56ce412e2f410865)
2012-10-18 13:43:50 -04:00
Keegan McAllister 91209f9304 Get initial server generation from first get_updates result
Embedding this in index.html won't work anymore, because the Django FastCGI and
the Tornado servers might have been started at different times.

(imported from commit 187909d0593449cf2989857671f9ca526723e451)
2012-10-17 18:24:15 -04:00
Zev Benjamin f0d4cc3d42 Don't error out when displaying huddles with oneself
(imported from commit aa08d85f4af6352f49ef6584ae0d4a3d310e231e)
2012-10-17 18:17:43 -04:00
Zev Benjamin f7644dfcd3 Rename the 'received' variable to 'get_updates_params'
(imported from commit 5d307f7de7edfb7aa65346353b20afe0e9aa49fc)
2012-10-17 18:17:43 -04:00
Waseem Daher 0fba2d2df3 Attempt at making stream names more prominent when skimming.
Known issues:
 * Narrowing links sort of broken
 * "S/H" is a terrible selector

(imported from commit 14d309b55dfaa4c4bc5cb1310a111a46f2fb7e20)
2012-10-17 18:12:32 -04:00
Tim Abbott bff0046c51 Fix client continuously calling get_updates when a reload is pending.
(imported from commit 2c29c8b892e7843f4d75178cc683bf48f7a5cdf5)
2012-10-17 17:46:07 -04:00
Tim Abbott ae3e24458c Add a UI for requesting your API key.
(imported from commit 07c40caf73f3b6c1c502a6c8e18109532dd28cc3)
2012-10-17 17:09:46 -04:00
Keegan McAllister cfb72a7337 Add robots.txt
For now, disallow everything.

(imported from commit fad7ba7ec28c86342a5c11bc721cdf45507c7c4f)
2012-10-17 15:04:33 -04:00
Keegan McAllister b59e895bbf Remove favicon
Browsers tend to cache these forever, and it's not our final logo.

(imported from commit 48e607c9e7ff95ee523dd339b3fcc9a1b189fa7f)
2012-10-17 15:04:33 -04:00
Tim Abbott 5c50375e02 Display a message and disable compose while reloading.
(imported from commit f998d2e4053e7e2d676f7fe08ee274118dd9faba)
2012-10-17 14:59:49 -04:00
Waseem Daher fdfe81bfb9 Don't linebreak between '(not you?)'.
(imported from commit 20569aed3fac59d979a05c456e21cdf668c78bcf)
2012-10-17 14:30:06 -04:00
Tim Abbott 7237b4a73e Fix sending to a stream with a space in its name.
Previously if you tried to send to "a b", we actually ended up trying
to send to "a%20b", since we were url-encoding the stream name and
then not properly decoding it.

(imported from commit 307d2999bd309e47fc654ae4422ab4372edde064)
2012-10-17 14:06:00 -04:00
Tim Abbott 8a7779ad49 Tab should toggle stream/huddle even if you clicked the compose botton.
(imported from commit a705c7cd0d6067dc05da7a64f29fb3ef42838785)
2012-10-17 12:05:43 -04:00
Tim Abbott d2343813df Add 'C' hotkey to start composing a huddle.
(imported from commit 693aeba202a06465dd41e46d78491ecfe23e97f6)
2012-10-17 11:55:21 -04:00
Waseem Daher bf73a54576 Have Spacebar exhibit the same scrolling behavior as PgDn.
(imported from commit 46a1204a9a8b973e7fa6bae9c65a9dc9f341077c)
2012-10-17 11:25:38 -04:00
Waseem Daher 2d4857d6c1 Remove extraneous calls to keep_pointer_in_view.
PgUp, PgDn will already call the scroll handler, which will
of its own accord call keep_pointer_in_view.

(imported from commit 8b6e53eaeda91d0f35775de72e16d63dc6c8340b)
2012-10-17 11:25:38 -04:00
Keegan McAllister c31462c278 Allow users to embed Gravatars in messages
We'll use this internally for the commit bot.  We might eventually disable it
for external users.

(imported from commit 3136cd9faadc6b81355889d2ee6472985da87fbe)
2012-10-17 01:11:33 -04:00
Waseem Daher 93954177f9 Code a little more defensively in update_floating_recipient_bar.
That andSelf is only necessary if a .recipient_row were immediately
followed by a .bookend_tr, which, I don't know, after a redesign could
very well be the case, so let's guard against it now, especially since
our performance on scroll is currently pretty good.

(imported from commit 1011555fbfd30943b4aa917997d6e35bcce959fc)
2012-10-16 17:26:02 -04:00
Waseem Daher 433ac07b37 Very very slight speedup in get_next_visible/get_prev_visible.
In my limited trial, this sped the call up, on average, from
0.507ms to 0.473 ms... so, admittedly, not a lot.

I think this is a little conceptually cleaner, though, and it handles
the common path with the least work, which I like.

(imported from commit c8b827a2e8111fbdd54bcabe05ac36f64523c466)
2012-10-16 17:06:36 -04:00
Waseem Daher b730dc7983 Huge speedup in get_next_visible/get_prev_visible.
nextAll/prevAll walks the entire DOM, basically.
This code only walks the DOM until we find a new .message_row.

This speeds up the average time of a call to this function from about
6.38ms to 0.678ms, in my benchmarking.

Admittedly, the whole outer loop here could still use some
optimization, if we want to; do we really need to call this 1000
times?

(imported from commit 852e2f660a16f8cfd7be35d3271aedb1ac481663)
2012-10-16 17:06:36 -04:00
Waseem Daher cada47a981 Slight speedup in get_next_visible/get_prev_visible.
http://api.jquery.com/first-selector/ mentions that using ":first" in
query selectors can be a little slow since we can't use the browser's
native querySelectorForAll implementation.

In my tests, this cut the average time down from 6.70ms to 6.38ms.
So, not great, but this function is most frequently called
many times in a big while loop, so, better than nothing.

(imported from commit d7725edd0c81431829fe353c6dd2bc61b1de6b19)
2012-10-16 17:06:36 -04:00
Tim Abbott 94944d2c5e Fix updating the pointer.
(imported from commit e0214c59c7c14b3c6791e4da205386253f6861c1)
2012-10-16 16:56:21 -04:00
Tim Abbott 6642a65269 Convert last few json views to use the json_success api.
(imported from commit 7a617ec7e7c8607e8ba87e7a9b8599a83b91666c)
2012-10-16 16:54:41 -04:00
Tim Abbott a859c10017 Don't redirect to a login page when responding to json messages.
Also update tests to actually check all our URLs.

(imported from commit 86de2027d140da6118e2f2f60c1c86511b16c141)
2012-10-16 16:38:39 -04:00
Tim Abbott 3e994c16b7 Rename/reorganize our urls to be more consistent.
(imported from commit ca3cc7ccd5d7da83a9c60968527378ee1118648e)
2012-10-16 15:56:06 -04:00
Zev Benjamin fab64fd7b0 Make the client reload the page when it detects a server restart
If the client is not composing a message, we can just force a page
reload.  However, if he is composing a message, we must preserve that
message while still reloading as soon as possible.

We take the following approach: if the client has not completed the
composition after 5 minutes, do a compose-preserving reload
(described below).  If he sends the message before the timeout
expires, reload the page after a successful send.  If the send fails
(not due to server timeout), however, we do a compose-perserving
reload in case the error was due to the data format changing.  If the
send failed due to server timeout, we don't reload because the reload
will probably also fail.

In a compose-preserving reload, we redirect to an URI that has a
fragment indicating we are doing a reload and containing all the
necessary information for restoring the compose window to its
previous state.  On page load, we check the fragment to see if we
just did a compose-preserving reload, and, if we did, we restore the
compose window (or just try the send again in the case of send
failure).  The URI fragment looks like:

(imported from commit af4eeb3930c24118e088057d4da456748fbd2229)
2012-10-16 15:30:41 -04:00
Zev Benjamin 103bf321b4 Have client and server exchange a server generation number
This will allow the client to detect when the server has restarted.

(imported from commit 89e75916719d967beb2520be6263f79f897d9ec1)
2012-10-16 15:30:09 -04:00
Zev Benjamin 24c1a2d7f1 Make compose box accessor functions also be setters
(imported from commit ab568cc2c224b8558148f158d1c9c1f89bb1eb49)
2012-10-16 15:30:09 -04:00
Waseem Daher 6dad169d12 Workaround for 'Can't click stream name in narrowed view' issue.
There was this very cute problem where if you were narrowed and
scrolled to the top of the page, you couldn't seem to click on the
stream or subject name.

The issue was: the floating_recipient_row div was visibility: hidden,
which means that it made top_statusbar big enough to cover up that top
part, capturing the clicks.

So instead we make top_statusbar also visibility: hidden so that
the clicks get through.

(imported from commit 471e041ba1c429ad0b6e225da22585dc72120945)
2012-10-16 14:25:12 -04:00
Waseem Daher ea7770c4b7 Properly handle mousewheel events when we're simultaneously at top and bottom.
(imported from commit 72efb1c52b5aed759150d9d2fe82ca619a25ff35)
2012-10-16 12:16:26 -04:00
Waseem Daher ca1dcf222f Don't allow the top of the pointer to be past the 2/3 mark.
Given that we now look at the top of the pointer rather than the
bottom for this check, our previous 4/5 number was far too permissive
(and led to your selected message often getting covered up by the
compose window).

Anecdotally, this feels a bit better to me.

(imported from commit 39ca7924db56272f7e623708ce0125b2a7012656)
2012-10-16 11:46:17 -04:00
Waseem Daher fc5287e7ed Redo above_view_threshold/below_view_threshold to prevent glitching.
In particular, we had this issue on huge messages. Suppose you had a
huge message and were scrolling up from the bottom. Initially it would
get selected as the message underneath it was below the
threshold. Then, when you scrolled again we said "oh, well, the top is
too tall, it's also *above* the threshold" and moved the pointer back
down. So it glitched back and forth.

Now we consider you above the view threshold by looking at your
bottom, and below the view threshold by looking at your top, which
seems to resolve this issue.

(imported from commit 2434d1103ab3fa894ade612ac1fb10b2f3cd66cf)
2012-10-16 11:46:17 -04:00
Keegan McAllister 1769b4c21b portico.css: Get rid of div.foo / span.foo selectors
(imported from commit eb98aed3b95bcfbfb3f2b420b61318ab0a43b0f8)
2012-10-16 01:33:15 -04:00
Keegan McAllister 216ab3de8b Rename signup.css -> portico.css
This is used on all portico pages, including login.

(imported from commit b37121a0975c46fba581c314e05af0a77e6607e9)
2012-10-16 01:33:15 -04:00
Waseem Daher ca7855e03e Use outerHeight instead of height.
I think this'll allow for a slighlty more accurate drawing of our
floating recipient row in the even that some of these things have
borders and others don't.

(imported from commit 31714f7356604e1d9c64bcc7f6fd14b8a02a99b5)
2012-10-15 22:47:42 -04:00
Waseem Daher aaca685c4c A cheating way of eliminating the floattheworld 1px issue.
If we make the recipient_rows the same size for huddles and stream
messages, this becomes a non-issue. (Previously, the border on huddles
was 2px, which I think caused our invisible row to have its height
grow by 1px -- which was a problem, because then it left a little 1px
gap that you could see through when we scrolled over non-huddle
messages.)

(imported from commit d1f24e5c536bdf9c0827a15b611ba680ee4e5e36)
2012-10-15 22:47:42 -04:00
Waseem Daher b76422d8d0 Cache the window selector as 'viewport' in an attempt to improve performance.
(imported from commit 3e01382260938737fbee663f6a9e94ad495ef21e)
2012-10-15 22:47:42 -04:00
Waseem Daher 45629a362d Break apart the scroll and mousewheel handlers.
I'm actually not sure if this is a performance gain or not; I guess it
depends if any of the stuff inside mousewheel or scroll took longer
than 50ms to call (and right now it does).

(imported from commit e3fcc4a14cd8787fa2357a43ed878ab08646e4f2)
2012-10-15 22:47:42 -04:00
Waseem Daher d51aec272d Rename. More consistent references to floating_recipient_bar.
(imported from commit 7bfd2bf55ede0604349faf06944c551a0d23fb73)
2012-10-15 22:47:42 -04:00
Waseem Daher 1c56ad00c9 Optimize update_floating_recipient_bar's showing-and-hiding code.
(imported from commit 6cd67d9c7bf418ae78288363636ee75fdc3fcada)
2012-10-15 22:47:42 -04:00
Waseem Daher 1781a4a616 Optimize update_floating_recipient_bar's "pick a subject/stream" code.
(imported from commit a6e615a3939fb072cc9cd310e653f13d690a55cc)
2012-10-15 22:47:42 -04:00
Waseem Daher daf06b9beb Hack around visibility: collapse for Chrome.
(imported from commit 25e6453fe6fa1c5a3c72f56bec2e4bbb089edb4f)
2012-10-15 22:47:42 -04:00
Waseem Daher bca36ba4c2 Eliminate some inline styles (visibility: collapse).
(imported from commit a29f12ea2f82672ef05e5dcca486ec527acbd6dd)
2012-10-15 22:47:41 -04:00
Waseem Daher 4d914df68b Rename things.
narrowbox -> top_statusbar
narrowcontent -> narrowed_to_bar

floating_indicator -> floating_recipient_bar
fixed_narrowbox -> table.floating_recipient

(imported from commit 7b5bbb17aeff9372275311ab09cd3cbf8262ea13)
2012-10-15 22:47:41 -04:00