Zev Benjamin
68904bef00
Lower the client-side polling timeout for get_events now that we have a server-side timeout
...
(imported from commit b3b3a2d4083f22b0fdb876f2d4e97b2be4bda79a)
2013-03-29 11:11:34 -04:00
Keegan McAllister
b7bb598e02
Trim search operand from the end until URI decoding succeeds
...
Fixes #1137 .
(imported from commit a23219d2cefdc2b739a165c88780fba409d4d878)
2013-03-29 10:37:02 -04:00
Leo Franchi
a8816f81c0
Comment out blueslip scroll finish error to quiet emails
...
A ticket is filed and this error is not fatal to the UI but rather
a warning to investigate, which we will now do
(imported from commit 3f67ec2b503e91b3921e33b89febd97790e389f1)
2013-03-29 09:38:42 -04:00
Leo Franchi
199610fe7f
Add tests for unread count in sidebar
...
(imported from commit dc10016258bf61599ceae434623040a2a7dd5946)
2013-03-28 17:37:32 -04:00
Jessica McKellar
ce66bdec5b
Remove unused hotkeys.in_scroll_caused_by_keypress.
...
(imported from commit 65223a036e72489a41130a83e4537d0ccb80b90c)
2013-03-28 17:08:25 -04:00
Jessica McKellar
3df47f2025
Do not try to recenter if you were already moving in the right direction.
...
Before this commit, if you try to arrow around when the selected
message is outside the pointer threshold for recentering, you get a
big jump, even if you are arrowing towards the center of the viewport.
(imported from commit 5c15d5ccccdf027a8bfa8b79bf519fccbfa971d8)
2013-03-28 17:08:25 -04:00
Jessica McKellar
0f02eb17f4
Reduce code duplication in process_visible_unread_messages.
...
(imported from commit 49c36f704d9937ff06129a0b737a7d9ef32e35ed)
2013-03-28 17:08:25 -04:00
Jessica McKellar
f28fe19fa8
tests: add a comment that the pygments import is still necessary.
...
(imported from commit c17dfc9e3b8ecf207b4cb7f4d33443122b747905)
2013-03-28 16:59:59 -04:00
Jessica McKellar
39602a4437
tests: add frontend tests for starring.
...
(imported from commit 6a35286cf4a1e3db9adbc14f8d6c0aa0a05b24db)
2013-03-28 16:59:59 -04:00
Jessica McKellar
f050f28e05
tests: add backend tests for starring messages.
...
(imported from commit 5b315ad06888c60523afb666dae95287609ffa52)
2013-03-28 16:59:59 -04:00
Jessica McKellar
08422009fe
Add a `Starred messages` sidebar link.
...
(imported from commit 0109e64b412afcd8d0d58b5e027d30c82faa970c)
2013-03-28 16:59:59 -04:00
Jessica McKellar
07967e7257
Add the ability to narrow to starred messages with `is:starred`.
...
(imported from commit f1eb552ddd90a1822fa988b60dc13f88f04cfc79)
2013-03-28 16:59:59 -04:00
Jessica McKellar
3d683a93bf
Add the ability to toggle a message star and save it server-side.
...
(imported from commit 6d9eda14cddee9ce65a85deadac57925b1864f94)
2013-03-28 16:59:59 -04:00
Jessica McKellar
1e9bb457a1
Show a bookmark/favorite star on messages.
...
(imported from commit af34abb353f3d5b5aace59c31c073d6426b0ff03)
2013-03-28 16:59:59 -04:00
Jessica McKellar
2f560a79db
Expose the `starred` flag as a client-side message attribute.
...
(imported from commit 3046a44e1313d0a91a1aa6ce6d166e29311a0567)
2013-03-28 16:59:59 -04:00
Jessica McKellar
f1645f5fc9
Add a `starred` bit to the UserMessage.flags BitField.
...
(imported from commit 3998edcdafbf6b452b05aa72db86bfaafdd83e01)
2013-03-28 16:59:58 -04:00
Zev Benjamin
00e5f904a3
Use do_events_register() in home() and pass the results to the initial page load
...
(imported from commit 532036c01bde1f5d49c43a96ce6aa496ca77cea9)
2013-03-28 16:57:48 -04:00
Zev Benjamin
3b5bcdf80e
Move the guts of event_register_backend to actions.py so it can be called internally
...
(imported from commit 4747942b03406e8a92f319658fcecb9720226388)
2013-03-28 16:57:48 -04:00
Zev Benjamin
0caec89fc6
Use helper functions instead of importing event_queue.client and event_queue.user_clients directly
...
(imported from commit 653decf415e0026439dd5d323bed361732dac2e9)
2013-03-28 16:57:48 -04:00
Zev Benjamin
0624a97d8e
Force a reload when the server has garbage collected a client's queue
...
We have to be careful about timing here. If Tornado fails to load
existing queues on startup then all clients will reload at once. On
the other hand, if we don't reload immediately then the client won't
get any events until the reload. For now, I've opted for the
user-friendly approach, so we need to make sure that Tornado gets a
chance to dump and reload its queues correctly.
(imported from commit 51a6ab31cb461e1e3373486dcec2e57eb12a8077)
2013-03-28 16:57:48 -04:00
Zev Benjamin
cec9c6f30d
Send heartbeat events to all clients
...
This effectively implements a server-side timeout for get_events
(imported from commit 4151562358329a6a5662f219ab2a9241e54ad585)
2013-03-28 16:57:48 -04:00
Zev Benjamin
c6df5af84d
Import tornado ioloop directly instead of passing it from runtornado
...
(imported from commit ce901d7daca81bb1682827175bdcd83d3e5c2344)
2013-03-28 16:57:48 -04:00
Zev Benjamin
25e69b7e86
Add call_on_each_event() to our Python bindings
...
call_on_each_message() is now implemented in terms of
call_on_each_event().
(imported from commit b4f74ccf46e9cafd9a6ca28dce975492c2d0b29f)
2013-03-28 16:57:48 -04:00
Zev Benjamin
cc16746219
Make python bindings use the event system
...
(imported from commit 5f47054bff4846018f8d606331de104a4ed2de0d)
2013-03-28 16:57:48 -04:00
Zev Benjamin
5b20dcf03c
Add server-side event filtering based on type
...
Clients can now request to receive only certain kinds of events,
although they always receive restart events.
(imported from commit 1e72981f8fe763829ab2abde1e35f94cad5c34e4)
2013-03-28 16:57:48 -04:00
Zev Benjamin
f2b1de7940
Apply events in register()
...
(imported from commit 4e30e52d968ceec596ecbabe71d4d9378cc8f7d9)
2013-03-28 16:57:48 -04:00
Zev Benjamin
7248659c4c
Return initial data in register()
...
(imported from commit 5b510ef072790b9e44652542372e3fc88735c356)
2013-03-28 16:57:48 -04:00
Zev Benjamin
22134946a4
Require clients call register() before get_events() unless they pass dont_block=True
...
(imported from commit f2aee3b7185ffd4642aeb23891fe681115fb0895)
2013-03-28 16:57:48 -04:00
Zev Benjamin
4bc9152f71
Inform clients to reload via a 'restart' event sent on Tornado start up
...
(imported from commit 10bb45547ea0bf34e56fc620ecd7415bb8a825c5)
2013-03-28 16:57:48 -04:00
Zev Benjamin
e4fba59538
Make event queues persistent across Tornado restarts using cPickle
...
(imported from commit 1434d1e9d394d725827b1740c0c07249d5e716ed)
2013-03-28 16:57:48 -04:00
Zev Benjamin
6cc70d94f6
Add register() call to event system
...
(imported from commit 0c9fbfec1866591b2169ce2da2bc2af6003f8f31)
2013-03-28 16:57:47 -04:00
Zev Benjamin
b12715e3f2
Make web client use get_events instead of get_updates
...
(imported from commit 15c007fd89f02558b710e7146fc40b785934f76c)
2013-03-28 16:49:51 -04:00
Zev Benjamin
401fa6063e
[manual] Add get_events URL routing
...
The new nginx configuration file needs to be copied to
/etc/nginx/humbug-include and nginx needs to be restarted when this
commit is deployed.
(imported from commit 6c43f3c2c7a6acee6a852c672c96a38bda01dd0d)
2013-03-28 16:48:52 -04:00
Zev Benjamin
8f4eaa63ad
Initial event system implementation
...
This version has several limitations that are addressed in later
commits in this series.
(imported from commit 5d452b312d4204935059c4d602af0b9a8be1a009)
2013-03-28 16:48:14 -04:00
Keegan McAllister
5a58fb3c29
Don't try to use source map in the test suite either
...
(imported from commit c8392c1572a09128d8b31500b3e94bb9e8888122)
2013-03-28 16:47:11 -04:00
Luke Faraone
b1b88d22d7
Alternatively send request data using "params" if request method is GET
...
Previously we sent it always as "data", which caused problems for GET
requests where there is no request body.
(imported from commit 20084d1da1b8228cc484536ca4d6f77f547a9d78)
2013-03-28 12:53:42 -07:00
Luke Faraone
3738d8215d
Update run-dev to prefix match messages/latest.
...
This means all GET parameters were chopped off previously in local testing.
Nginx does pattern matching so this is not a problem on staging.
(imported from commit 25a28155b70d168228ca793fc0122b2ebea408e9)
2013-03-28 12:53:42 -07:00
Keegan McAllister
28f9d51aa5
Don't try to use source map when DEBUG
...
(imported from commit e07fbe0e185df06c98cc38dfb943036f256cb877)
2013-03-28 15:28:58 -04:00
Keegan McAllister
7236c63008
Automatically decode JavaScript stack traces as we send them
...
(imported from commit 348c464102a43a44c91c79d498cd33e6405ed670)
2013-03-28 14:56:52 -04:00
Keegan McAllister
1ecc063d0f
Split out source map processing into a library
...
(imported from commit 345efcc703dc1049e31fd38a6a062bf39a589eb6)
2013-03-28 14:56:52 -04:00
Leo Franchi
0a419e51d0
Fix ui.set_count not finding streams that require url encoding in sidebar
...
(imported from commit c363669806f56650c6aecb66f7208ea692bfd613)
2013-03-28 14:44:57 -04:00
Waseem Daher
1b6d86ef88
Properly encode spaces in mailto urls.
...
Apparently + is just how you used to encode spaces in aim:
urls in 1999, not in mailto: links.
(imported from commit 156708378e6b1d6955063a0979c8bee9d5b0e849)
2013-03-28 14:43:51 -04:00
Tim Abbott
7685e47f07
Fix Tornado idle time logging.
...
When we added rabbitmq usage within Tornado, we inadvertently caused
the Tornado ioloop to be initialized in runtornado.py's imports,
before we overwrote the _poll method. The end result was that we
weren't running the our instrumented Tornado poll function.
Fix this by moving that code to its own file which we import at the
top of runtornado.py, and adding comments documenting the situation so
we don't break this in some future import reorganization.
(imported from commit 016717476f10566fef4ed2b656f29f865d2084db)
2013-03-28 14:40:49 -04:00
Luke Faraone
799e2873d3
Run decodeURIComponent over stream names before comparing them.
...
This resolves an edge case not handled in a previous fix to trac #1050 .
(imported from commit 3fc142946b01de8955e1b52d4f4ebb36e584cdeb)
2013-03-28 11:24:38 -07:00
Leo Franchi
23802bc278
Filter out private messages in home view when counting in home unread
...
(imported from commit 6b42168e880269c8fe14f0e2eab98cf03b480f17)
2013-03-28 13:21:11 -04:00
Keegan McAllister
279f0b9842
Make it easier to find the source map for app.js
...
(imported from commit bca27c9838573fb4b74e2d269b253a48702c9e1c)
2013-03-28 12:11:23 -04:00
Keegan McAllister
f42e841ffd
Add a command to annotate a JavaScript traceback with source file locations
...
(imported from commit 1a4d656438990b1cbefbdecc5d403573d6c5dd06)
2013-03-28 12:11:23 -04:00
Keegan McAllister
aa3c446665
Generate source maps from Closure Compiler
...
(imported from commit 0e4de860b1dba85aa43b60a2c819ac44403186c5)
2013-03-28 12:11:23 -04:00
Keegan McAllister
f76984b4ef
Switch to Closure Compiler for minifying JS
...
I've already confirmed that java is installed on both staging and prod.
(imported from commit a6354e60d529a72583e1e1bc14468d04697960b9)
2013-03-28 12:11:23 -04:00
Leo Franchi
5b2f4462fb
Only count messages in home view when determining home_unread_count
...
(imported from commit 22a0a00bd242a4a12efc5dca723c13f7c9b47f2c)
2013-03-28 11:44:58 -04:00