Commit Graph

1611 Commits

Author SHA1 Message Date
Zev Benjamin
08097d6788 Don't always claim that the application has been updated when reloading
I don't love the default reloading message, but I'm not sure how to
tell the user why we need to reload in several cases.

(imported from commit 5f2eecdb0d83f31bd60673b247e8aac8f08ce20f)
2013-06-18 16:36:02 -04:00
Zev Benjamin
eb62a31bb8 Use a different error message for get_events and get_old_messages
(imported from commit 191f46b482d0bf4adf60967cdfebb0d7dbcf82f8)
2013-06-18 16:36:02 -04:00
Leo Franchi
7705400de2 Properly set stream highlight when toggling in home view
(imported from commit 2aa810f5ca0eb8d62bcf87dc93608c56cf4956f3)
2013-06-18 16:05:23 -04:00
Steve Howell
a46a371677 DRY up sent-by-me checks with messages.sent_by_me.
This is a pure refactoring.  We set messages.sent_by_me inside
add_message_metadata(), which gets called early in a message's
lifetime.

(imported from commit 2f6270f92ecdf0e4a64401030f86d89a8fb7be2e)
2013-06-18 16:01:09 -04:00
Steve Howell
943a29dc34 Show correct avatar for desktop notifications.
This updates desktop notifications to use avatar_url from the
server (in case users have uploaded their own avatar).  It
also removes the unneeded stamp parameter from the URL, and
it unifies URL handling with message_list.

(imported from commit 6bb43a25c01cc3d26f30fc167780a477d1c5d023)
2013-06-18 16:01:09 -04:00
Kevin Mehall
6106f8008a Refactor variable names in fading code.
(imported from commit 25e2240f30d86f98d50c36302afbfef43fb4a60e)
2013-06-18 10:40:07 -04:00
Kevin Mehall
97754b3641 Optmimize and simplify update_faded_messages().
Trigger a repaint only on the messages that change fade state,
rather than repainting all messages.

(imported from commit d3a225448c004a4b467e51ceb97fda06a7a6f04b)
2013-06-18 10:06:58 -04:00
Kevin Mehall
dc6dd71658 When fading tests for matching messages, normalize huddle lists
(imported from commit 805e62c1a57e754c225b743c7d801d8b33da5ed4)
2013-06-18 10:06:58 -04:00
Kevin Mehall
b1b4c1a625 Update fade on every change to recipient fields. Trac #1261.
(imported from commit 2b966765bef3e7e4d8cd2ee6ad55a05ba1f23ab2)
2013-06-18 10:06:58 -04:00
Leo Franchi
2795b362a8 Complete subscription list with any missing subscribed streams
(imported from commit c433a921465af7422d481d6aaf7b0d2fc732a8fe)
2013-06-17 15:26:53 -04:00
Tim Abbott
c824901e2e Load fewer messages from the server when narrowing.
This should substantially improve narrowing performance, while still
delivering enough messages that one should only need to contact the
server again if the user scrolls up a significant distance.

(imported from commit 2b0af0e5b9d3a449e7f195a87d57d517b47f0b3a)
2013-06-17 13:48:06 -04:00
Steve Howell
438e412772 Hide more things when you "close" the compose box.
This change backs off from the always-open-compose-box paradigm,
so that when a user "closes" the compose box, they can no longer
type text, attach files, etc., and instead, they have buttons
to reopen the compose box.

(This change does not affect the feature that when you're in reply
mode, the compose box stays open.)

(imported from commit 32305d5b35f457a83f126a2265defdd98e885a2b)
2013-06-17 10:21:49 -04:00
Kevin Mehall
b06c2f7ccf Tweak hotkey behavior when pointer isn't shown.
Disable the hotkeys that act on the current message, except Enter
immediately shows the cursor without moving it.

(imported from commit 74fb298c711e61ae98c210d0ed11c875ce6ba591)
2013-06-14 13:50:03 -04:00
Kevin Mehall
0cd90cbe4a Add a close button to the compose dialog (since users may not know to use Esc)
(imported from commit 47dca0b2c76449be1d885b74c1cf6b036aa459c7)
2013-06-14 13:47:57 -04:00
Kevin Mehall
6cb7baf598 Hide pointer until a hotkey is used
(imported from commit fec64815c879f9704847795cc163e2b517b4190d)
2013-06-14 13:47:07 -04:00
Kevin Mehall
e80d1f4ad0 Another try at fixing tabbing into the compose box, Trac #1245.
Hopefully this time with fewer stack overflows. It sets the flag
that will break the cycle *before* triggering another focus event.

(imported from commit 5e3ed74f1eeab8a18e36525ae7c8f1f1c756eb58)
2013-06-14 13:19:10 -04:00
Zev Benjamin
501a58c8f9 Proxy the console object when the browser doesn't provide it
Some versions of IE (specifically on Windows Media Center PC, it
seems) lack a console object.  For such browsers, we just black hole
any output we would have sent to the console.

(imported from commit 30151c60a68a47990bf8f9be4476b716352befab)
2013-06-14 11:45:57 -04:00
Steve Howell
acc338da0e Remove redundant checks that messages were sent by user.
When a user sends a message, it should be considered to be "read"
by that same user, but all that logic is handled on the back end
now, so we can remove some of the front end code related to
saying that a message is unread.

(imported from commit e4263f86c666882db42d7ae3d399196803d700cd)
2013-06-14 11:10:59 -04:00
Leo Franchi
3fd7c44331 Tweak desktop app JS to support Cocoa WebScript
(imported from commit 6b0c3442f92cffedbd210530479a13d4af5ea266)
2013-06-14 10:46:26 -04:00
Tim Abbott
8678148ad1 narrow: Simplify narrow operand processing code.
(imported from commit 9b353c3fab0d5c6532e844c9de45f10a7c6dc068)
2013-06-14 10:45:05 -04:00
Tim Abbott
6f57f62866 Convert tab_bar.js to not make positional assumptions about operators.
(imported from commit 4ae492951ec21b034b64be1296215862b25e44bd)
2013-06-14 10:45:05 -04:00
Tim Abbott
7642b5bf30 narrow: Fix positional assumptions about order of narrow operators.
This cleans up most of our blocks of code that assume in any narrow
that the only operators present are the ones of interest and that they
always appear in the expected order.

(imported from commit 038707aefbe125b0c14f823fa93472fd40302e20)
2013-06-14 10:45:05 -04:00
Steve Howell
83c80e1ba5 Change ? to & in gravatar URL query string.
(imported from commit f12738d1f8dc5b367eee32240ac0a29fb6255d1e)
2013-06-13 17:26:09 -04:00
Steve Howell
4093021f97 Stop polling for gravatar changes after the first update.
This is essentially a bug fix.  It was pretty clear that the
original author intended to stop polling once the gravatar was
updated, but they checked for the updated flag before the callback
completed, instead of inside the success callback, so it wouldn't
stop polling regardless of the update.

(imported from commit 7998c6890a26a008810b8a6d8e7998a53c6e175d)
2013-06-13 17:24:05 -04:00
acrefoot
9e8b997508 Set sidebar_li attribute when updating stream colors
Before, sidebar_li, used in rebuilding the streams list
during a sort, was set to some HTML rendered from a template.
Now it's set to a jquery object that is updated when the DOM is
updated.

This resolves Trac #1310

(imported from commit ba96d9da4deebf2f674f2c093e81b3f0032a3fe4)
2013-06-13 11:31:35 -04:00
Leo Franchi
c97ce3a082 Handle unsubscribing from not-in-home-view streams gracefully
This change makes it so we now keep track of full stream information
for both subscribed and unsubscribed streams in our frontend. Previously,
any unsubscribed streams had no associated data.

(imported from commit c445b19abe11c43c710c264fffcf3af5097deb6c)
2013-06-13 10:06:35 -04:00
Leo Franchi
969e0dd827 Clean up subs.have by splitting it into logical pieces
(imported from commit 0fe55aa62ccc95cae5c9aba565b0e4c04692fb46)
2013-06-13 10:06:34 -04:00
Luke Faraone
2d0e803799 Make an audible notification through the desktop bridge if possible.
(imported from commit fefaf528f6cc9da3f124da15c25f41211b394b12)
2013-06-12 17:06:42 -04:00
Tim Abbott
a0bdefb71d Fix 'undefined is not an object' traceback with update_active_status.
This seems to only happen with Firefox for some reason.  We've had
similar issues with other ajax endpoints, so this is probably not the
long-term solution, but I'd like to get this traceback fixed now.

(imported from commit aa552fb56882ae2c73e352c7baf9532a88c5cf0a)
2013-06-12 16:21:10 -04:00
Kevin Mehall
a2dc6eb082 Don't hide the compose error immediately after showing it. Trac #1360.
(imported from commit 45d1bc7f771d553d370fcab837abf70aec4f4c11)
2013-06-12 14:26:36 -04:00
Leo Franchi
71e14674aa Be more judicious in our showing of errors
Don't show an error banner for any uncaught JS exception, as often the app
will continue to work fine, and there's no way to dismiss it other than
reloading the page.

Also, don't show a transient "could not connect to humbug" error if
the check-for-messages-in-narrow request fails.

(imported from commit 2c634ba088b58c17fa5b2e3353b0589d40b8e357)
2013-06-11 17:33:17 -04:00
Kevin Mehall
5b4493926f Clicking a message that is being edited should not open the
main compose dialog for a reply.

(imported from commit 0a91b3c2ddba12ec33daf993dd13c1e7a7f4065c)
2013-06-11 13:53:59 -04:00
Kevin Mehall
a08ce5023c Revert "Start compose when box gains focus, whether by click or tab. Trac #1245."
It makes the stream and subject sometimes not auto-fill when replying.

This reverts commit 86603aefbbcd5f766b0c397583483810948046de.

(imported from commit 934e991566fa7a082ab8e2ba661ec973bce46b85)
2013-06-11 13:33:17 -04:00
Kevin Mehall
63babd642c Start compose when box gains focus, whether by click or tab. Trac #1245.
(imported from commit 0c67f6b4eb2387b5e85bcff6d8ea9ed8889ffaea)
2013-06-11 13:17:43 -04:00
Steve Howell
c2ab6428b8 Handle shifted hotkeys better.
Treat shift-space like page-up.  Let the browser handle
shift-page-up, shift-escape, and similar keystrokes.

(imported from commit 31d5c5eb1dd4af7228c5e7794fb4cffc4bd8e88b)
2013-06-11 11:49:53 -04:00
Steve Howell
19adec9d2c Make hotkey.js less error prone to modify.
I extracted get_event_name(), which should help isolate
the problem of identifying keys from the specific mechanics of
dispatching actions for given keystroke events.

(imported from commit 058c0749016dc17cce554788e10ccb32438e9dfe)
2013-06-11 11:49:53 -04:00
Leo Franchi
76c9e27a76 Disable composebox experiments on prod
(imported from commit a553320e7d775978ee31af0f8920cbfeb705f5cb)
2013-06-11 11:41:34 -04:00
Tim Abbott
96ad1dd379 Properly escape stream/subject in left sidebar recent subjects narrows.
(imported from commit 4154d0dcd69af66b3a6bb07678c64e5eb39e6b07)
2013-06-10 17:26:21 -04:00
Kevin Mehall
da11e2e8df Make error messages visible (trac #1294).
ce4e860a introduced CSS `.alert{display:none;}` because alerts are
always included in `/signup/` and shown by JS. Use a new `.alert-hidden`
class for this purpose to avoid breaking other pages.

(imported from commit 199ba35dd3356bd4093aac2a54181331b3993ee8)
2013-06-10 16:42:43 -04:00
acrefoot
10d63dff9a stop emails regarding bad hotkey parsing
Why are our tests so incomplete?

(imported from commit 8d94a95f514edeb6ddb74774224fee062af3b5df)
2013-06-10 15:34:11 -04:00
acrefoot
b3be518b5a Fix previous hotkey fix
re-enable 'j' and 'k' hotkeys.

(imported from commit 61a9025c4b0560f9f6ce4e9699e191c40106fcde)
2013-06-10 15:19:11 -04:00
Luke Faraone
95a45b8c97 Update name of bridge.notify → bridge.desktopNotification.
The function is getting renamed on the bridge due to a conflict.

(imported from commit 086866d3b08b1cfb8a46ffcc59902175a98aa8e8)
2013-06-10 14:58:13 -04:00
Waseem Daher
eaad981def Remove font size menu.
This, in effect, reverts ff0c27ccb177ddc69a31bf8997d31e7cfb5b78b5.
The rationale here is that actually we look pretty good with the
browser's own zoom/font-size-resize in Chrome and Firefox, and it's
better to let the browser handle these kinds of changes than us.

(imported from commit 5949b57bdaf20d4fdf2bbd7ed89d1285a8b8e453)
2013-06-10 14:57:29 -04:00
Leo Franchi
0fa857d524 Add a fixed: option to bootstrap.popover and use it
(imported from commit fe8768b8a320df7670c204880bffb3932568cc5e)
2013-06-10 14:25:28 -04:00
acrefoot
b27bb3fc33 Check e.which on hotkey events for charCode != 0
"(" and "↓" share the same e.which, but only "(" has a non-zero
charCode. This commit will start checking for non-zero charCodes
for directional keys.

(imported from commit bcb8c3c5ef2c13708fd04cca5f4d8b0f65beaa84)
2013-06-10 12:39:39 -04:00
acrefoot
da361b9208 jbarnold composebox UI experiment
1) When you send a message, restore the focus to the composebox, targeted at the same recipient
2) If the composebox is completely empty and you press up or down, have that close the composebox and take the appropriate action
3) If you started the compose via a reply option (r, enter, click), don't refocus the composebox if the cursor has changed.

(imported from commit 84545e49d06959eb62e7fd2b22e1387383df6d1d)
2013-06-07 17:39:31 -04:00
Steve Howell
f213c3d223 Fix today's regression with ever-growing subject pane.
I tried to remove the line of code that removes the old
subjects as part of rebuilding the new ones, but that line
of code is still needed in places.

(imported from commit 97621553c267a79f33d34537a67101464bdac434)
2013-06-07 16:33:33 -04:00
Steve Howell
0c8ede3bc5 Collapse subject list when narrowing to PMs or @-mentions.
Previously, we would only collapse the old subject list if
the new narrow had a stream operator.

(imported from commit 664f984d932d0968a9b901f2a09272e11138843d)
2013-06-07 14:27:09 -04:00
Steve Howell
0087ad1131 Allow subject counts to increase from zero.
Before this fix, you could expand a stream, and then any
subjects that already had a zero count could not be
incremented when new messages came in, until you rebuilt
the subject list again.

(imported from commit 98c95e201f6ec745d7c857da6f42495c8bf88ee0)
2013-06-07 12:28:06 -04:00
Steve Howell
cc8a04cb71 Update unread counts for Uppercase Subjects.
(I also introduced a couple local variables that would have
made this and similar problems a bit more convenient to debug.)

(imported from commit 6793c16ffb17514fd9b5a069d384d2c74dac6111)
2013-06-07 12:07:23 -04:00