Tim Abbott
af347acf99
Fix narrow stream event queues with all event types.
...
(imported from commit 69c2f6f1be3dd864b5da85104b83235f0dd4df50)
2013-12-16 17:46:02 -05:00
Steve Howell
4184b9d56f
Add validators.py (with tests).
...
This sets up a scheme to validate complex data structures and
give specific error messages for improperly typed parameters.
(imported from commit 33b2f070d993da4ee929119dd41503bd0128c8eb)
2013-12-13 18:19:07 -05:00
Tim Abbott
7800a34d84
Fix json_unhandled_exception handling of JsonableError.
...
(imported from commit 16ed6c213cbda3b60a16a01af32c56d6802b7acc)
2013-12-13 18:13:43 -05:00
Waseem Daher
14a5c6bf66
twitter: Detect link styles more robustly.
...
* Deal with shorter tweet IDs
(some old tweets don't have a full 18-character ID)
* Allow trailing slash
* Deal with old-style #! syntax
* Deal with links that link to a photo
(imported from commit 008a98c806f3b8dddd9e2f18a8f002af6932766f)
2013-12-13 18:13:23 -05:00
Steve Howell
44b738ab75
Have rest_dispatch return JSON when exceptions are thrown.
...
(imported from commit 587a8f46d406c6358480db9e0ebd5afb69e12abf)
2013-12-13 17:38:20 -05:00
Kevin Mehall
ebab4a59c9
Don't proxy https images through Camo on MIT
...
These images at least load now, but that's because Camo redirects
the browser to the origin server, so the only effect is an extra
round-trip time.
(imported from commit 0d6b9c888a5cdfaa9299272d74a085e872dfa434)
2013-12-13 17:27:01 -05:00
Jessica McKellar
685830b66a
Fix broken image links for missed PM and digest emails.
...
In plaintext e-mails these will be simple links.
In HTML e-mails these become a <link> and <img>, which some web mail
clients may inline.
(imported from commit b1242dfd917008a019981eb2224c1c7f5f84739f)
2013-12-13 16:38:11 -05:00
Jessica McKellar
70b8d09391
digest: Fix erroneous early return giving us only 1 hot conversation.
...
(imported from commit db1588bf98778ef838edd6de88fb1ba750251eae)
2013-12-13 16:38:10 -05:00
Jessica McKellar
e85566cbb2
digest: Always pad out to 4 conversations if possible.
...
(imported from commit 1b31a472db5a22a017e461ba846524226641ade1)
2013-12-13 16:38:10 -05:00
Jessica McKellar
8651e205be
digest: Make it impossible to report new streams for MIT users.
...
We may never enqueue MIT users, but just in case we do, never report
new streams.
(imported from commit 01885f339d7bbb3c8ee665fd576831206d493b88)
2013-12-13 16:38:10 -05:00
Jessica McKellar
040cdc2f91
Don't mention new invite-only streams in digest e-mails.
...
(imported from commit 10ca5dd77736a085f0cc771888ed0aa1ba68a37d)
2013-12-13 16:38:09 -05:00
Jessica McKellar
67088b15a4
Sort messages before building a message list for emails.
...
Otherwise they sometimes appear out of order!
(imported from commit 26b71579b8f0c31ebdba0eef99afdf0e1772b676)
2013-12-13 16:38:09 -05:00
Jessica McKellar
4740bc7e3a
digest: Don't show PMs sent by you.
...
You can't have unread PMs sent by you, so we weren't explicitly
checking this, but when testing locally we often ignore the unread
check. Filter PMs sent by you to reduce confusion when testing
locally.
(imported from commit 0205c4a3ed67790b9d60d4f2b927e4cb9e720bf3)
2013-12-13 16:38:09 -05:00
Jessica McKellar
35c2804c13
Use PM coloring for PMs in missed message emails.
...
Previously it used a blue header and white background for everything.
(imported from commit 03b8b0f8fb33a581d67a249f0496cc27aab30ef3)
2013-12-13 16:38:09 -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
5c9def5be4
Add script to parse user agents with historical data set.
...
(imported from commit e529c0b914ed3d3d06e9581a6239676f68c97b3f)
2013-12-13 11:26:36 -05:00
Tim Abbott
2e62cd5a74
Add tests for the events_register event application system.
...
(imported from commit 6c3dbe55d43f528b6a980bba3598ac30c0307a69)
2013-12-12 17:36:41 -05:00
Tim Abbott
a3d67a7fe7
Fix apply_events for subscription events to actually match.
...
Since we changed the initial subscription data to include
user_profile_ids rather than emails, we need to preserve that when
adding in events generated during the page load.
(imported from commit 4f4071b8ba30e57c6f64c9e7b54c1cc754e8f010)
2013-12-12 17:36:40 -05:00
Tim Abbott
8af0fae335
Fix missing muted topics in apply_events.
...
These events would previously not be applied.
(imported from commit c3e5b9de559b6f744567a0c78e920d34e4d5ae9a)
2013-12-12 17:36:40 -05:00
Tim Abbott
afdf7897e6
Split out helper functions from do_events_register.
...
(imported from commit d838a3303d3ec960d076e755fc8690da5151ac1a)
2013-12-12 17:36:40 -05:00
Tim Abbott
a3fe72642b
Add save/reload of narrows of server restart.
...
(imported from commit 2ad77845ce7d8fe365c893ab5cad06e3c725b421)
2013-12-12 17:36:39 -05:00
Tim Abbott
71ad82b6aa
Add support for event queues with an included narrow.
...
This will allow us to substantially decrease the server-side work that
we do to support our Mirroring systems (since the personal mirrors can
request only messages that user sent) and also is what we need to
support a single-stream Zulip widget that we embed in webpages.
(imported from commit 055f2e9a523920719815181f8fdb44d3384e4a34)
2013-12-12 17:36:39 -05:00
Tim Abbott
48963c1cdf
Replace accepts_event_type with accepts_event.
...
This is in preparation for allowing queues to only accept some
messages.
(imported from commit 6bca11a9084aeff52931762085c4c771edbce56e)
2013-12-12 17:36:38 -05:00
Tim Abbott
b8579c6848
Disconnect handlers if the client closes a connection.
...
Tested using the following procedure (run-dev.py won't pass through
the client connect closing)
tabbott@monastery:~/zulip$ curl http://localhost:9991/api/v1/register -u email:key -d 'event_types=["message"]'
{"msg":"","max_message_id":2259,"last_event_id":-1,"result":"success","queue_id":"1386884005:0"}
tabbott@monastery:~/zulip$ curl -G http://localhost:9993/api/v1/events -u email:key -d "last_event_id=0" -d "queue_id=1386884005:0"
(then hit ctrl-C)
(imported from commit 3c4f3d5caac97b3de53da994ff9cd9ef67b2b9ea)
2013-12-12 16:52:25 -05:00
Tim Abbott
cc0ce6b437
Finish event handlers when disconnecting from an event queue.
...
This should help prevent timeouts from clients whose requests have
been supplanted.
(imported from commit fdb3a89c4ec02bb23d0fba50ea558d48cb786916)
2013-12-12 16:52:25 -05:00
Tim Abbott
46760e91cd
rest_dispatch: Don't allow session auth on /api URLs.
...
This caused problems with our tests suite where we were using a logged
in browser session and actually acting as a different user.
(imported from commit 73b8cb39d5d669e682fbacf2f7e574c228885c2f)
2013-12-12 10:31:04 -05:00
Tim Abbott
291506a2b2
Add logging for when we disconnected an active handler.
...
(imported from commit 18c21a93bdf14485e5656bd7a38f2069eb8f2aad)
2013-12-11 17:23:56 -05:00
Tim Abbott
fcf6ec16aa
Fix pruning of event queues that only had virtual events.
...
(imported from commit 7b43d2164df6e95a6feb073b8f90c0862245d629)
2013-12-11 17:20:34 -05:00
Tim Abbott
b10278c8e0
events: Fix incorrectly empty event queues with virtual events.
...
I'm not sure this had much impact, but it's definitely a subtle bug.
(imported from commit 0260d4c5c35ce8eac683e84f1d939a6704ce4e2b)
2013-12-11 16:59:48 -05:00
Tim Abbott
df730ec163
Fix json_unauthorized.
...
(imported from commit 7537b3bbc21b947f91ec49060935e9e2f92be0ac)
2013-12-11 16:45:29 -05:00
Kevin Mehall
662edc2558
[manual] Backend support for Android GCM push notifications
...
This adds a dependency on gcmclient:
http://gcm-client.readthedocs.org/en/latest/gcmclient.html
pip install gcm-client
or
apt-get install python-gcm-client
(imported from commit 9f1fbf1f793e4a27baed85c6f1aa7a7b03106a10)
2013-12-11 15:37:48 -05:00
Kevin Mehall
e4589700b6
[schema] Modify device token to support both iOS and Android
...
This replaces the AppleDeviceToken table with a generic
PushDeviceToken with a `kind` field to make it easier to add functionality
like per-device/per-stream settings that share code between Android and
iOS devices.
The schema must continue to work on prod with the old table name, so we
add the new table in parallel and can drop the old table once this code
hits prod and any necessary data is copied.
(imported from commit 0209a7013f2850ac6311f23c3d6f92c65ffd19e3)
2013-12-11 15:37:47 -05:00
Leo Franchi
2c39e28ff6
Use realm filters from the database in bugdown
...
(imported from commit 8e12bfb1b1fe9cad694f80a189efa64b0f102e81)
2013-12-11 14:39:10 -05:00
Zev Benjamin
874d4282c0
Disconnect handlers from event queues via a finally block
...
(imported from commit ac63a962f978b05a5d8d6bf81861b908b5fd54b3)
2013-12-10 17:44:35 -05:00
Zev Benjamin
b566c0f201
Catch a wider range of exceptions when adding events to event queues
...
We have observed additional exceptions being thrown from zulip_finish and we
need to make sure that the handler is disconnected from the queue, or else the
event queue will keep throwing exceptions due to the handler being closed.
(imported from commit 59273aa14495216430b9eb1525b2cce230d8913d)
2013-12-10 17:40:30 -05:00
Zev Benjamin
0d989a6972
socket: Close old connections before registering new ones under the same id
...
(imported from commit f9b75288cbf7e2d9baa3254d57443eea5c1f3fc3)
2013-12-09 16:17:26 -05:00
acrefoot
33ddba3d30
extra debugging info for handle_push_notification
...
(imported from commit c4f63827fd37e7e99853380eaa268ab2e5ae23ce)
2013-12-09 11:15:20 -05:00
Zev Benjamin
5e19ad31bf
socket: Increase redis response cache expiration time
...
(imported from commit 1b18530f01499af9a555c71f0281e62bd3164542)
2013-12-08 12:13:15 -05:00
Zev Benjamin
96bb739157
socket: Add some server-side logging for bug catching
...
(imported from commit 8579d8bbb414b063ae9cf36993975adaa86cb132)
2013-12-06 16:22:24 -05:00
Zev Benjamin
8535669d46
socket: Include the user in socket close log lines
...
(imported from commit fb5b9e54a07b6bfd85e913b8c97105305f8210eb)
2013-12-06 16:22:24 -05:00
Leo Franchi
f55067a3db
Actually use a UserMessage object instead of Message
...
(imported from commit 9613af82f62a9ea85a85f1ce662234f410457997)
2013-12-06 15:53:42 -05:00
Leo Franchi
4f2cb1bc1c
Read read flags from UserMessage not Message
...
(imported from commit 4c0f6ec90992c61ba861f5f347655673e769bebc)
2013-12-06 15:08:02 -05:00
Zev Benjamin
657a750550
socket: Fix spelling
...
We don't ever actually check for this value so nothing else has to
change.
(imported from commit e6ccb153df7bd95c9d195aa83395592b309a2778)
2013-12-05 15:53:50 -05:00
Zev Benjamin
002df64811
Remove extraneous semicolons
...
(imported from commit 2077705c52e7255ab7ea1b4df71d2ae99f6018dc)
2013-12-05 15:53:50 -05:00
Tim Abbott
fed3902fc5
Clean up debugging logs from tracking down slow receive.
...
(imported from commit e4b1f763522406255ce8be3c8d51b5d855a770cd)
2013-12-05 14:36:29 -05:00
Tim Abbott
55047280c9
Include a newline at the end of our JSON responses.
...
Otherwise, it's super annoying to work with these using curl.
(imported from commit 0047f07786dc07d7ac5cb671492f8ca40986d8cf)
2013-12-04 13:47:48 -05:00
Leo Franchi
1b53a77f1b
Expect an ios client instead of iphone
...
(imported from commit d5d3cd129d7005fd9294096d3899df86155cd366)
2013-12-03 14:27:51 -05:00
Tim Abbott
abded5f886
Upgrade event flag collapsing to support all flag changes.
...
(imported from commit a2ca74b779d67148aee41e92e4a4cb716620e566)
2013-12-03 12:21:04 -05:00
Tim Abbott
d2486670a8
event: Add deduplication of server restart events.
...
(imported from commit e464aa8b68958fb9f9fe8c199b9e73df510d22bc)
2013-12-03 12:20:36 -05:00
Tim Abbott
54b06d046b
events: Add support for not storing redundant events.
...
This should dramatically improve the speed of the dump/load part of
our restart process, especially with large long-lived event queues.
(imported from commit ae4ae20ba2ca4433e25a5e7beeb4fa4882c53972)
2013-12-03 12:19:42 -05:00