Commit Graph

1101 Commits

Author SHA1 Message Date
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
Tim Abbott ad9659ea54 events: Fix zulip_finish to not make assumptions about how queues work.
Previously, we had an issue with the ACKing protocol, where if a
virtualizable event (like a "read" flag) was dispatched to a queue
client immediately, we would not properly ACK the change because it
had been made a virtual event.

(imported from commit ea09812f8a5ba1d5aad65f536022e3dbc77b0f9e)
2013-12-03 12:19:42 -05:00
Jessica McKellar 11d5f8bbc5 Add a test for unsubscribing from digest emails.
(imported from commit 145c25ae99cf66b9a447b2e3a44a3b7344dc9f59)
2013-12-02 18:58:04 -05:00
Jessica McKellar e15cc972ec digest: refactor sending the emails into a function for easier testing.
(imported from commit 2f3c8fb8e812c04ab838b1034ae0811309186625)
2013-12-02 18:58:03 -05:00
Jessica McKellar c1058355f6 Add a digest emails checkbox to your settings page.
(imported from commit cf1dbae6ca30d2489a77e822c34941a986b93bbd)
2013-12-02 18:58:03 -05:00
Jessica McKellar 207cfc449d Add unsubscribe links to digest e-mails.
(imported from commit 4e2a324decf4bc694752cc24b9085361338a08a5)
2013-12-02 18:58:03 -05:00
Jessica McKellar 1b068d5433 [schema] add boolean field enable_digest_emails to UserProfile.
We'll use this to track the user preference for receiving digest
e-mails.

(imported from commit a56644b1a359444ded45f9437c954194b9ae47a1)
2013-12-02 18:58:03 -05:00
Tim Abbott 16f3f585c3 Fix composebox typeahead tests.
(imported from commit ca6e7ea00d79139a0d7db0f1dd5f3ba8d8da5ce3)
2013-12-02 17:42:24 -05:00
acrefoot da1466cfa9 handle case of message getting read while processing missed_message
(imported from commit cd53efe3645f5dc8943becc2b8dbd3d607bb8eba)
2013-12-02 16:00:56 -05:00
Waseem Daher 89844c6ced Revise day1/day2 emails.
(imported from commit dc5e78cccb22b024be46b3066d44f09ea1b53345)
2013-12-02 11:15:13 -05:00
Tim Abbott 559f0896a1 Revert "events: Add support for not storing redundant events."
This reverts commit cc493fa50b4c339257e060b3f0c0956c682e449d.

(imported from commit 9e8edfc11d415d61581da482d66bc9fa30cbefdf)
2013-12-02 11:03:04 -05:00
Tim Abbott 2a0c2207d2 Revert "Add tests for our event queues data structure."
This reverts commit 5be116d6cc983edaac240e83d1b950faa08d164c.

(imported from commit bc47f42235e9800906270a5776167f5ea001d9a2)
2013-12-02 11:03:04 -05:00
Tim Abbott 5b601d8492 Revert "event: Add deduplication of server restart events."
This reverts commit 05467929ba376a0ce173119c5d90d83671fc544b.

(imported from commit 4f24a0f1fe72e71fa368e1d818d9406a76c131be)
2013-12-02 11:03:04 -05:00
Tim Abbott 2c2f404cb6 Revert "Upgrade event flag collapsing to support all flag changes."
This reverts commit dadf3852f2ca7aaa85fb97b3d265c990b4e5a38a.

(imported from commit de5a95572aa955b4a9419b80a99d2446c51730e7)
2013-12-02 11:03:04 -05:00
Tim Abbott 10bce7ffe8 Revert "Fix loading event queues that don't have a virtual_events attribute"
This reverts commit 99c5ae332d253313ed728883a388c61191ed3021.

(imported from commit d7b601a2897bac6e14b675e689ee63ccc6e8d67d)
2013-12-02 11:03:03 -05:00
Tim Abbott 5bc826067e Revert "Add comment in ClientDescriptor.to_dict and EventQueue.to_dict to avoid future bugs"
This reverts commit 45560539d09e9e1922130349be729005b786e632.

(imported from commit aa266941f03cdbe12f4315e65ec6c472cc207204)
2013-12-02 11:03:03 -05:00
acrefoot 717e06d94c remove log message on push notification
(imported from commit 45fc89e67a79aac3484c911d88aff3e470b4eff6)
2013-11-27 18:00:33 -05:00
acrefoot 8800dcdce4 more helpful error message when missing APNS certs
(imported from commit e21dc627844b9e28f93a924097176481d4135947)
2013-11-27 18:00:33 -05:00
acrefoot 8ee7536012 Send push notifications more aggresively
Unbundle the push notifications from the missed message queue processors
and handlers. This makes notifications more immediate, and sets things up
for better badge count handling, and possibly per-stream filtering.

(imported from commit 11840301751b0bbcb3a99848ff9868d9023b665b)
2013-11-27 18:00:31 -05:00
Steve Howell bbda1d93c4 Add test for message.handlebars
(imported from commit b02f0c8a6b1d79c868248598e8b9a829245d95a1)
2013-11-27 16:11:16 -05:00
Steve Howell 6a3089a803 [jquery] Add assertion to validate HTML is correct.
This requires the nodes.js version of jquery.  Talk to Luke if you are having issues
installing it.

(imported from commit 86dc91a9a41b2ef9c2dbcc4fb0085109250d7af7)
2013-11-27 15:09:21 -05:00
Steve Howell 4f2b292289 Add HTML output file for JS unit tests.
The node tests can write to .test-js-with-node.html now, so that
when you are unit-testing template-related code, you can use
the browser to inspect the output.

(imported from commit 3cbd7470ec0da1973124f79acb665c3a3e17c580)
2013-11-27 15:09:21 -05:00
Steve Howell c53845a69c Add unit tests for stream_list.
(imported from commit 1d04a2e6115f29b7949466260ec2ba3126b882e6)
2013-11-27 15:09:20 -05:00
Jeff Arnold 3a41184533 Revert "Make c/C compose to a new destination instead of being identical to r/R"
This reverts commit 755c92aed79ab79089b2e35d2c100582f012736a.

(imported from commit b7790fc63a2cea0a8e294c3f0a881ed6f06ed061)
2013-11-27 10:43:10 -05:00
Zev Benjamin 9d0f801ad6 Exempt a particular client name from heartbeats for testing
(imported from commit 3914130384a7a9854b006405ffd2fe379bbd090d)
2013-11-27 10:39:31 -05:00
Jeff Arnold c0a8fc459a Make c/C compose to a new destination instead of being identical to r/R
R means "I want to send a PM, you can guess the destination"
r means "I want send a stream message, you can guess the destination"
C means "I want to send a PM and specify the destination"
c means "I want to send a stream message and specify the destination"

(imported from commit 755c92aed79ab79089b2e35d2c100582f012736a)
2013-11-27 10:35:37 -05:00
Jessica McKellar 4563271a1b email unsubscribes: have a "display name" for email unsubscribe types.
(imported from commit 24f2db0ac3e26bca410b719dead724c6cef49a3f)
2013-11-27 09:30:00 -05:00
Jessica McKellar 848c9ec7be Add a test for unsubscribing from welcome emails.
(imported from commit c206bd9283e6be22b285abd583c6e80719260448)
2013-11-27 09:30:00 -05:00
Jessica McKellar 2ba9415178 Factor welcome e-mail enqueuing into its own function.
(imported from commit 85054ee3e567d2ba7a4ed94c52a311d02f5e4d43)
2013-11-27 09:30:00 -05:00
Jessica McKellar 8e72084fcb Add one-click unsubscribe links to day 1 and day 2 emails.
(imported from commit 9396f96365430baf894c708f9eaea642fc648435)
2013-11-27 09:29:59 -05:00
Zev Benjamin 8899c62567 Add comment in ClientDescriptor.to_dict and EventQueue.to_dict to avoid future bugs
(imported from commit 45560539d09e9e1922130349be729005b786e632)
2013-11-26 18:39:31 -05:00
Zev Benjamin ce00fe0cd5 Fix loading event queues that don't have a virtual_events attribute
(imported from commit 99c5ae332d253313ed728883a388c61191ed3021)
2013-11-26 18:32:58 -05:00
Tim Abbott e9f4612281 Upgrade event flag collapsing to support all flag changes.
(imported from commit dadf3852f2ca7aaa85fb97b3d265c990b4e5a38a)
2013-11-26 18:12:52 -05:00
Tim Abbott fb5c42707e event: Add deduplication of server restart events.
(imported from commit 05467929ba376a0ce173119c5d90d83671fc544b)
2013-11-26 18:12:52 -05:00
Tim Abbott 5a4df81202 Add tests for our event queues data structure.
(imported from commit 5be116d6cc983edaac240e83d1b950faa08d164c)
2013-11-26 18:12:52 -05:00
Tim Abbott 1db8fba5aa 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 cc493fa50b4c339257e060b3f0c0956c682e449d)
2013-11-26 18:12:52 -05:00
Leo Franchi 501f063426 Replace email_to_domain with split_email_to_domain and resolve_email_to_domain
Now that we support email aliases, we have to be careful when going from
an email address to a domain that we assume we can use to get a Realm
object for. When we care about the Realm's domain, we want to follow
any RealmAliases that exist for a certain domain.

When we just care about the original email address domain itself,
for comparison or other purposes, use split_email_from_domain

This removes the ambiguity of having to decide when to use
email_to_domain + RealmAlias or just email_to_domain

(imported from commit 0e199495502d946ce2e1aae56263e7e8665be4ed)
2013-11-26 10:45:01 -05:00
Kevin Mehall 231521f53c Link to the stream only in the "subscribed" PM, not on the announce stream.
Until we can add a banner to help users subscribe, it may be confusing to
narrow to a stream where you are not subscribed.

Partial revert of 390bdef

(imported from commit ea75fc59b979589b975465a3fecffea0f014fcf6)
2013-11-25 18:02:36 -05:00
Luke Faraone 0c142015ea Tool to test LDAP functionality
(imported from commit c4b4d8b25ba3afd333faf09bc232da2f92a57b7e)
2013-11-25 17:44:47 -05:00
Luke Faraone 4a8ec7b357 Management command to update names from the LDAP database
(imported from commit 1e1b12c055926899fdca3e484df6c9437c800c6c)
2013-11-25 17:44:47 -05:00
Kevin Mehall b8a6100d2e bugdown: Open #-relative links in the same window.
Stream notifications shouldn't leave you with tons of Zulip windows.

(imported from commit e5ebfeff51f1e579d30a3a12eaf7341ef82f0449)
2013-11-25 17:34:59 -05:00
Tim Abbott f59fb53662 enterprise: Add option to forward feedback to an email address.
(imported from commit 0ac9bb0427aeba60a8004953fedfdfdc6bbb587c)
2013-11-25 16:59:36 -05:00
Kevin Mehall ca182ec062 Link to streams in notification bot messages.
It's a little weird that these still open in a new tab, but it might
be best to keep them consistent with all other links?

This is a first pass on Trac #1927.

(imported from commit 390bdef790a83af4240ad5f5a82e572ef5824756)
2013-11-25 16:12:57 -05:00
Jessica McKellar cbdb7152de Add a test for one-click unsubscribes from missed message emails.
(imported from commit cb7c3ff0b24ed49e543b6a94b53bd709bd141318)
2013-11-25 15:18:40 -05:00
Jessica McKellar dbc1b4b501 Add a one-click unsubscribe link to missed message e-mails.
(imported from commit 719eb61c9b7722eb1b0996b4d5f2f8f5929ad701)
2013-11-25 15:18:40 -05:00
Tim Abbott 7cb261a0ed Set default streams to engineering,social when creating realms.
(imported from commit 4e174fec162be4138da099edfc4cfb8d5662b7f1)
2013-11-25 14:00:28 -05:00
Zev Benjamin bc43981ccf socket: Explain why we disable some transports
(imported from commit 670d2f558a11a6f4fcce3f2e107582c4425b9285)
2013-11-25 11:58:02 -05:00
acrefoot 4cd1d69ea0 Add the ability to unsubscribe all users from a stream
This resolves Trac #2022

(imported from commit 23d5129a6bec40c33eaf71953cd41ec387646a39)
2013-11-22 17:12:51 -05:00
Luke Faraone dff03fafda Use LDAP-provided information if available for real names
If authoritative data is available from say the LDAP database, we now
ignore the POSTed user name, and don't offer it as a form field.

We fall back to giving the user a text field if they aren't in LDAP.

If users do not have any form fields to fill out, we simply bring them
to the app without the registration page, logging them in using a dummy
backend.

(imported from commit 6bee87430ba46ff753ea3408251e8a80c45c713f)
2013-11-22 16:51:26 -05:00
Luke Faraone af02e45a17 [manual] Support authentication and profile prefilling via LDAP
The latter doesn't depend on the former; we can still fill in your full
name even if you didn't authenticate via LDAP.

This commit requires django_auth_ldap to be installed. On Debian
systems, you can do so via APT:
    sudo apt-get install python-django-auth-ldap

On OS X, use your favourite package manager. For pip, I believe this
will work:
    pip install django_auth_ldap

django_auth_ldap depends on the "ldap" Python package, which should be
installed automatically on your system.

(imported from commit 43967754285990b06b5a920abe95b8bce44e2053)
2013-11-22 16:51:26 -05:00
Jessica McKellar d250373802 Add tests for long messages and topics.
(imported from commit f0455d9462bf3eae498258420069c48fcd1e2f43)
2013-11-22 13:53:03 -05:00
Jessica McKellar d0a49e3a80 Replace decentralized topic truncation with a single check when sending messages.
(imported from commit 291c999147dd59a9c7e1d9de446293755c17e99d)
2013-11-22 13:53:03 -05:00
Jessica McKellar baef4b9b00 Truncate long messages instead of rejecting them.
(imported from commit 41e0ce1e91ab7a441f2b21ad445344a86ae18fc7)
2013-11-22 13:53:03 -05:00
Jessica McKellar ebe3acf408 Generalize elide_subject in case the max topic length changes.
(imported from commit 6ffdd42d39580149a83869d6aff88bad8940fe02)
2013-11-22 11:28:19 -05:00
Tim Abbott c0e951f843 Add user_activity_test worker that does nothing.
This should help us debug the source of our memory leak problems.

(imported from commit 1bdc7ee2f72bdebb1cdc94601247834a434614d6)
2013-11-22 11:24:48 -05:00
Tim Abbott 9ba820703a Call reset_queries in our queue workers.
This fixes a small memory leak in our queue workers, where we don't
reset the accumulated times contained in our query logging data.

Longer-term, we may want to make something mergable for mainline where
we only store on the connection object the totals; that would be a
fixed amount of emmory per connection and thus not have this problem.

(imported from commit 914fa13acfb576f73c5f35e0f64c2f4d8a56b111)
2013-11-22 11:24:48 -05:00
Jessica McKellar ff800cdec3 Set unique client strings for our webhooks.
(imported from commit 48d8a2ec46399104d4f5de30722e65043572c69e)
2013-11-21 22:15:48 -05:00
Steve Howell 8f636bccf6 Triple-quote string in test_dangerous_block() for readability.
(imported from commit f8fdbff9cc992310907957ca0632bb646c726b9f)
2013-11-21 18:10:33 -05:00
Jessica McKellar f8435cde82 Truncate long Freshdesk subjects.
We're getting errors on prod for subjects that are too long.

(imported from commit 742d92745be543d4b33d0888c6653bbee3f86c25)
2013-11-21 17:45:02 -05:00
Steve Howell ace12bcab6 Support arbitrarily nested fenced quote/code blocks.
Now we can nest fenced code/quote blocks inside of quote
blocks down to arbitrary depths.  Code blocks are always leafs.
Fenced blocks start with at least three tildes or backticks,
and the clump of punctuation then becomes the terminator for
the block.  If the user ends their message without terminators,
all blocks are automatically closed.

When inside a quote block, you can start another fenced block
with any header that doesn't match the end-string of the outer
block.  (If you don't want to specify a language, then you
can change the number of backticks/tildes to avoid amiguity.)

Most of the heavy lifting happens in FencedBlockPreprocessor.run().
The parser works by pushing handlers on to a stack and popping
them off when the ends of blocks are encountered. Parents communicate
with their children by passing in a simple Python list of strings
for the child to append to.  Handlers also maintain their own
lists for their own content, and when their done() method is called,
they render their data as needed.

The handlers are objects returned by functions, and the handler
functions close on variables push, pop, and processor.  The closure
style here makes the handlers pretty tightly coupled to the outer
run() method.  If we wanted to move to a class-based style, the
tradeoff would be that the class instances would have to marshall
push/pop/processor etc., but we could test the components more
easily in isolation.

Dealing with blank lines is very fiddly inside of bugdown.

The new functionality here is captured in the test
BugdownTest.test_complexly_nested_quote().

(imported from commit 53886c8de74bdf2bbd3cef8be9de25f05bddb93c)
2013-11-21 17:13:17 -05:00
Jessica McKellar ae2202caad Update bankruptcy unread count to not include muted topics or read messages.
This should address user reports of huge bankruptcy counts even when
they are relatively caught up. The root issue is that we sometimes
don't mark messages as read for some reason.

(imported from commit 8799305a8665f9ee239575e6e95f603f89c1d427)
2013-11-21 13:01:01 -05:00
Tim Abbott 272e1c2d92 Revert "Don't send heartbeat events to clients that don't request them."
This reverts commit 1147814b22fb9737a807057ddbdbe0e9554086e0.

This seems to with some probability screw up our Zephyr mirroring
script.

(imported from commit 4f82452f1b0ca98e6b895db020e071d2daa325e4)
2013-11-21 12:53:26 -05:00
Tim Abbott ca8225cf47 [manual] Add endpoint to cleanup a finished events queue.
This requires a puppet apply on each of staging and prod0 to update
the nginx configuration to support the new URL when it is deployed.

(imported from commit a35a71a563fd1daca0d3ea4ec6874c5719a8564f)
2013-11-20 18:34:15 -05:00
acrefoot 5973f20b69 fix use of EXTERNAL_URL to EXTERNAL_HOST, and some typos
(imported from commit 3e6e0f337671b289202bc86c6224854b6ee623c5)
2013-11-20 17:39:07 -05:00
Zev Benjamin d2d695dcb6 Add an in-memory Client object cache
Client objects are immutable and there are very few of them, so caching them in
memory is cheap and saves a trip to memcached.

(imported from commit 300b9b402f4e509f86a7fd86b5f898dc3f43738f)
2013-11-20 16:55:10 -05:00
Steve Howell 792e0c5976 Add FencedBlockPreprocessorTest.
(imported from commit a7f73f04408288192b33f688bd5baadd362f9458)
2013-11-20 16:06:54 -05:00
Steve Howell 0d920dae87 Extract FencedBlockPreprocessor.placeholder().
(imported from commit cf6dab74ae97a57498e1e1807c7c4f272f3f448b)
2013-11-20 16:06:53 -05:00
Steve Howell 2955cac47e Extract vars in FencedBlockPreprocessor.process_fence().
(imported from commit 092a8e5f7479f1d918219cae058b6a867743c7f9)
2013-11-20 14:30:56 -05:00
Steve Howell b3344c2f49 Move langclass var into FencedBlockPreprocessor.format_code().
(imported from commit e468a8b6a12494facb0dfa97eff90e02cd14f169)
2013-11-20 14:30:55 -05:00
Steve Howell 46838ec6d0 Simplify FencedBlockPreprocessor.format_fence().
(imported from commit 741f4f0640756d545019b6fe6850af3198b351ba)
2013-11-20 14:30:55 -05:00
Steve Howell c0f312ec29 DRY up m.group('code') in FencedBlockPreprocessor.
(imported from commit b23caae1ab63a9adb80025b628bc1a7c6a988ce0)
2013-11-20 14:30:55 -05:00
Steve Howell 6bc25d3d7b DRY up m.group('lang') in FencedBlockPreprocessor.
(imported from commit 9f9ab5604b7df711a3a369247def1277880b0b5f)
2013-11-20 14:30:55 -05:00
Steve Howell 7bb30a96ac Extract FencedBlockPreprocessor.format_fence().
(imported from commit 8a35de7df9ad956496263c82668b118910edd6b3)
2013-11-20 14:30:55 -05:00
Steve Howell 64410fae5e Extract FencedBlockPreprocessor.format_quote().
(imported from commit 59db5415d624402b37ade7fe5547b16f58ae565f)
2013-11-20 14:30:55 -05:00
Steve Howell 9d4b6d0684 Extract FencedBlockPreprocessor.format_code().
(imported from commit 3c98b9a7391a71e9c55a7b5c97abd0ee74178b44)
2013-11-20 14:30:54 -05:00
Zev Benjamin 25c63f08de Use ujson instead of pickle for serializing event queues
(imported from commit 2d90574ae97cc973c9686c2bd557cc199d4b0850)
2013-11-20 14:25:36 -05:00
Zev Benjamin 69e5e2c3d2 Remove old migration code
(imported from commit 5366411706ef296dc14d0d0dd9e2566cb8abb8b7)
2013-11-20 14:25:36 -05:00
Zev Benjamin 06ee83b531 Construct EventQueues externally from ClientDescriptors
(imported from commit 7ef882074ed1c3663939da199d54e4959df8f127)
2013-11-20 14:25:36 -05:00
Tim Abbott 3caee45cf4 Fix missing support email address in signup notifications.
(imported from commit f1a4fbe5fbc68292080f87960f038fe530ba87e2)
2013-11-20 11:01:11 -05:00
Zev Benjamin db29e60249 Move the last event queue pickle file to /var/tmp instead of deleting it
(imported from commit b8edaa686e2dadfdb2111ee1da93456591e44a50)
2013-11-19 15:05:19 -05:00
Jessica McKellar 151fbd832c do_update_message: use is_admin to check who can edit a topic.
(imported from commit e96245506c7eecc8aed3fbdb6dfb7c44aca3234e)
2013-11-19 14:31:02 -05:00
Jessica McKellar d1619b3f3c Use a more accurate "is admin?" check.
UserProfile.show_admin was intended to be a check for users that have
administrative rights in other realms, which we've harmlessly but
erroneously been using to check if they are an admin in their realm.

Use the more straightforward check instead, with a more intuitive
name.

(imported from commit d81050c7dbbb19e59c5e31750be303a4630e1456)
2013-11-19 14:31:02 -05:00
Jessica McKellar 2c841042ae Allow admins to rename any topic.
(imported from commit 5b557e8244e5196c9aa0ee29d4efb00986434528)
2013-11-19 14:31:02 -05:00
Zev Benjamin 15a837d12e [manual] socket: Send explicit ACKs
There will be browser errors on staging when this is deployed due to the socket
protocol changing.

(imported from commit f1eda5b5c2ec9c60c23b3ca96277a61debadf5bb)
2013-11-19 11:06:14 -05:00
Zev Benjamin 7870b4d158 socket: Fix a traceback on server restart
I believe there may also be others.  I'm still not sure why clients would be
sending open requests without session or csrf values in their cookies, though.

(imported from commit 7e9660c1c4d5c2abf55ff21b433ba0117180eb82)
2013-11-19 11:06:13 -05:00
Tim Abbott c66113104c Clean up logging of send times to not waste a log line.
(imported from commit 824488a323a4361ef058f27da6e0768dffc43b6d)
2013-11-18 18:05:19 -05:00
Tim Abbott 26f7b783a2 logging: Fix request processing time to not count initialization.
Previously, we counted not just the time required to process a
particular request, but also the time required to import+find the view
function via urls.py.  The latter is usually fast, but when a new
Django thread starts up, it can take significant time, resulting in us
flagging slow requests on each server restart and also when a new
Django thread starts up on prod to handle requests.

This change means that we no longer include that startup time as part
of request processing time -- but we still log it in the case that it
was more than 5ms, so that we can identify why a particular request
was slower than expected if high startup times become a problem.  We
annotate the time in log lines as "+start" rather than just "start" to
make clear that it's not counted in the total.

(imported from commit c677682e23b26005060390d85d386234f4f463ad)
2013-11-18 18:05:19 -05:00
Tim Abbott d44c6636c6 Add setting to enable profiling of all requests.
This is useful for the occasional case where we cannot figure out what
is causing a particular problem, but it can be easily reproduced on
staging.

(imported from commit 8b51184a8b686814f2c6ff103ba355538463ceb0)
2013-11-18 18:05:19 -05:00
Tim Abbott 74c304ae40 Don't send heartbeat events to clients that don't request them.
(imported from commit 1147814b22fb9737a807057ddbdbe0e9554086e0)
2013-11-18 13:57:01 -05:00
Tim Abbott 14f6625569 Don't send server restart events to clients that don't request them.
(imported from commit b3381e904704c18918fcce97d2493241e49004be)
2013-11-18 13:57:01 -05:00
Kevin Mehall b78fa0857f Allow overriding the default avatar image
(imported from commit 66d413682a822e0019f28033f19908bdd9fa0156)
2013-11-18 11:48:53 -05:00
Kevin Mehall a63f4284f0 Allow enterprise deployments to disable the use of Gravatar.
(imported from commit 49c14cc7629f2ffe6cedaab5d42ad5bf7f6569a4)
2013-11-18 11:48:53 -05:00
Jessica McKellar 9cba43d49c GitHub: Always report the topic as 'GitHub' for customer14.invalid.
(imported from commit d9d35f4dcabf6246b1c9bc623a01bc68e1142b35)
2013-11-18 11:44:25 -05:00
Zev Benjamin 5c6a85f99a socket: Change path for 'not yet authenticated' error messages
(imported from commit 826d3a0ea9084644810a00a14f2f19936e21118c)
2013-11-18 11:42:57 -05:00
Zev Benjamin 319852c60e socket: Fix keyword argument name for error logging
(imported from commit e61eace1aa48fe17d5d2338f7990e32d3404d390)
2013-11-18 11:42:57 -05:00
Tim Abbott f3fa78d30c Rename do_[rd]activate to do_[rd]activate_user.
For similarity with do_activate_user.

(imported from commit 2874af84dbe1ce666de10e0d8ffe2daa8bad9731)
2013-11-16 11:35:26 -05:00
Tim Abbott a78ec1d0d3 get_members_backend: Report a bit more data on users.
(imported from commit af1c2a30abed4aa2796f0babe311f993965a008b)
2013-11-16 11:35:26 -05:00
Steve Howell 1144e0b3f9 Update active_user_dicts_in_realm cache when touching is_active flag.
(imported from commit c9407e2c18dcfcc7a4b1ec79c471f825dff04b1e)
2013-11-16 11:35:25 -05:00
Steve Howell 0b16dfc999 Add /json/users/<email>/reactivate endpoint.
(imported from commit 7afa29f7718430ea2df7c489ab2af4d93d4ce497)
2013-11-16 11:35:25 -05:00
Steve Howell bdfd3ed9c2 Add do_reactivate() action.
(imported from commit fc73d0fdd3a6125b3b31a75c3b108ceb266e528b)
2013-11-16 11:35:25 -05:00
acrefoot bafb6f8dc3 fixup day1/day2 email templates
(imported from commit 30846fc298d04ac763025e82a60731d158840462)
2013-11-15 21:51:37 -05:00
acrefoot 1a904185f2 fix path for do_confirm redirect
(imported from commit d61d8f155fc06fbadc68155f32f510e212adf6c0)
2013-11-15 21:31:37 -05:00
acrefoot 9616ea7afd remove enqueue_followup_emails management command
(imported from commit 20ce0b698cf795a6e1c7ff5ba7b546901e1fd8a4)
2013-11-15 21:31:37 -05:00
acrefoot e77d534e78 remove ALLOW_ARBITRARY_SENDERS_LOCAL_EMAIL
(imported from commit 7a374959516d8505685466293f146d95094a7ea7)
2013-11-15 21:31:37 -05:00
acrefoot daffe049ad Don't use hardcoded noreply@zulip.com, zulip@zulip.com, or https://zulip.com
(imported from commit 1132553b63ae23ebcca746f0f65205b97bfee7dc)
2013-11-15 21:31:37 -05:00
Tim Abbott 4116e06c88 Disable signups for realms that exist as part of enterprise deployments.
(imported from commit 4200b44c7153d1dba674982916ef0470c75bdf6d)
2013-11-15 19:36:17 -05:00
Jessica McKellar 30e4de6767 Freshdesk: fix erroring on unknown statuses by hardcoding FlightCar's.
(imported from commit 0a4b8ccaa883048fdc7a7d7712cc528194775d89)
2013-11-15 17:43:55 -05:00
Tim Abbott 337c22f9e1 Fix redirects landing newly registered users at :8888/accounts/do_confirm.
This is similar to the related issue we had with the remote_user_sso
codepath.

(imported from commit 5c2c99be9699a1bce88c4a7de15dae4348fc7967)
2013-11-15 15:04:13 -05:00
Steve Howell 220678ae40 Support emojis/bolding/etc. in single-line /me messages.
(imported from commit c62ae8cf26117e30a029e025021cc4a3a67f4a83)
2013-11-15 14:34:38 -05:00
Kevin Mehall fe0dcd4313 Disable camo on enterprise.
CUSTOMER13 doesn't want it, and there's currently no nginx config
or configurable Camo URI, so it wouldn't work if image preview
were enabled.

(imported from commit 615d4a32acbc4d4d590f88cf4e7d45d8f49db1d3)
2013-11-15 14:27:16 -05:00
Jessica McKellar b0209fec05 Don't puke on non-ASCII characters when shelling out to html2text.
(imported from commit a407c9fb2a090075d5e26b5db00388f4f81de1f5)
2013-11-15 12:28:30 -05:00
Jessica McKellar 545e2539f8 Use non-ASCII characters in Freshdesk tests, to catch encoding bugs.
(imported from commit 0cc3ebf3548b28c018d75d51e7e66de5dbb59a0b)
2013-11-15 12:28:30 -05:00
Leo Franchi 7f2936a985 Allow enterprise customers to disable name changes
(imported from commit 1f2039f3e88a4ec0cc48dba75f714563c1de4af8)
2013-11-15 11:26:10 -05:00
Kevin Mehall 53c76aa657 Move enterprise-registration to zilencer/ from zerver/
(imported from commit d8a58913040376dbdbc9dcee13ab8a7910733da7)
2013-11-15 11:21:52 -05:00
Tim Abbott 52ca432745 remote_user_sso: Redirect to EXTERNAL_HOST, rather than a relative /.
This fixes a problem where the desktop app would attempt to load
https://zulip.akam.ai:8888/ after authenticating the user, which fails
with CSS issues.

We should probably, separately, change our Django-under-apache to only
serve the one URL that it needs and redirect the rest back to
Django-under-nginx.

(imported from commit 3e3251863618269790f61b371e88af57b6cfb272)
2013-11-15 11:10:19 -05:00
Steve Howell ee28e5e2f6 Relax 80-char limit on status messages (/me).
(imported from commit e9de2cb6c394f5b764e988e279f0fb3cfd38c6e8)
2013-11-14 13:51:07 -08:00
Steve Howell 6ddfa35a49 Remove detailed "At risk users" tab
(imported from commit d5630fa3ae5a35d238e3c947a01e1a648668817f)
2013-11-14 14:07:24 -05:00
Tim Abbott 8b64833b8a Give the first user in a realm admin privileges.
(imported from commit 9d4c598f76cdbf5cc3b79f1498e9fec2005f08fa)
2013-11-14 12:39:36 -05:00
acrefoot f991fbff9e Fix clear_followup_emails_queue on Zulip Enterprise.
(imported from commit bf211b205bc39a08340306d06fbb76479a02ed9e)
2013-11-14 11:32:29 -05:00
acrefoot 54d72d9a55 Fix Invitations on ONLY_SSO deploys (Zulip Enterprise)
(imported from commit 6807adbd39682ba91a5746e8a75d7ce53f632ab3)
2013-11-14 11:32:29 -05:00
Kevin Mehall b469066e66 Fix emoji on enterprise.
static/ doesn't exist on enterprise, so we can't get the list from the
files there.

(imported from commit ce34a62478abf541feb013da4f970dac3c09d98a)
2013-11-14 11:18:23 -05:00
Tim Abbott c24addf2d5 Build internal bots in the zulip.com domain.
Otherwise do_create_realm can't actually send the notifications.

(imported from commit 4fa9a53f1d3d8a2e26d7b89401e7dfa77f2f7533)
2013-11-14 11:16:16 -05:00
Tim Abbott e2537ade44 Create the admin realm using do_create_realm.
That way, we get the first-user message sent automatically.

(imported from commit 70be26a8152676055a94c363706c35964284a3de)
2013-11-14 11:16:16 -05:00
Tim Abbott ce2da6c18a Use NOTIFICATION_BOT for communicating with users.
(imported from commit 98afc575259a4487a7fefbd3e8bd91a2a46cc9c9)
2013-11-14 11:16:15 -05:00
Leo Franchi 5fd97e48c3 Show a SSO login page for SSO users that just has a login button
(imported from commit 0004bf8710491f4e2d967b4367b37d57833845ee)
2013-11-14 10:56:07 -05:00
Tim Abbott 870ae09aae Add setting for disabling inline image preview.
(imported from commit 2321390eb14cfe5701347861b9ae5ad6fdac0cbb)
2013-11-14 08:47:11 -05:00
Tim Abbott be99b4438c Don't send stream invite notifications to bots.
(imported from commit b45ef40b056f451c5085e5fb2afec4bbb68fa3f5)
2013-11-14 08:19:20 -05:00
Tim Abbott af2da58fd0 Set default default streams for enterprise installations.
(imported from commit 87b9fdc6ef19a88a2abda4ba5cdfe2a5b35d581d)
2013-11-13 21:42:21 -05:00
Tim Abbott 4078b8bb6c Move set_default_streams from zilencer to zerver.
We'll want to use it for setting up local server instances.

(imported from commit 47c60c349ba3cebad58506f439013def4c40708b)
2013-11-13 21:08:14 -05:00
Tim Abbott e64472cd32 Rename enterprise template variable to not_enterprise.
The problem here is that some error-related templates render without
the context managers that we specify, and so we want the handling of
"the context was not set" to default to the enterprise case (because
the enterprise version will work basically fine on !enterprise, but
the opposite is not true because the enterprise distribution doesn't
even have the templates for certain !enterprise pages that may be
linked to).

(imported from commit 7547311d87e048d33221587f44b82fe0ba320ca1)
2013-11-13 20:10:33 -05:00
Allen Rabinovich ca4e6a0ff8 Updates to stream list
(imported from commit 426a8035e9661598f9bbfa6ae83883ca3ac6106e)
2013-11-13 14:59:07 -08:00
Luke Faraone 8120382b12 Fake authenticate users if they have previously authed and settings.ONLY_SSO is set
(imported from commit d5f4bf400c4bdcaf8b858bd17a0082e5bc62419d)
2013-11-13 17:57:33 -05:00
Luke Faraone 4b8a770825 Don't prompt for a password if password auth is disabled
(imported from commit d696c9f6de2008c177fa3282383257de15aaeb29)
2013-11-13 17:57:33 -05:00
Luke Faraone d19ffd67a7 Don't make enterprise users agree to the ToS
(imported from commit 2d01de949210a14edb5bef949d59a8495136ecac)
2013-11-13 17:57:32 -05:00
Kevin Mehall 53520b85e6 Change our login links to go to the SSO login page on SSO sites.
(imported from commit 2bccde3846dafd3373db89f507cf63f394d6d7cf)
2013-11-13 17:54:43 -05:00
acrefoot b6751d2119 additional lowercase situations in clear_followup_emails
(imported from commit c0c031e7abb2a166636075596fb0d5ed21a5822c)
2013-11-13 17:53:37 -05:00
Jessica McKellar 338de6715d Fix broken html to markdown conversion on Linux.
(imported from commit 1b62d382e4f2b60972384a6b4b4173161ea58b73)
2013-11-13 17:47:28 -05:00
Tim Abbott bf991dac94 enterprise: Create feedback_bot as a bot.
(imported from commit 8bd985f82aa80380188a644869c55bc54b6f7977)
2013-11-13 17:26:30 -05:00
acrefoot 6d38285a2e fixup supervisor oops related to postmaster config
(imported from commit 8b5c39f0d13abb5e1def9f88a2ab82cfa67b42f6)
2013-11-13 17:15:55 -05:00
Tim Abbott 81156cf2f5 Clean up initialize_enterprise_db and fix domain.
(imported from commit af6f20c7705720c0043817516fdb3c21777796bb)
2013-11-13 16:47:37 -05:00
acrefoot b134ecc102 add print_email_delivery_backlog for nagios reasons
(imported from commit c1c1edb8614913c7fff63e175423ee5701465223)
2013-11-13 16:41:36 -05:00
acrefoot f5199081d5 Add the deliver_email management command
This command should be run continuously via supervisor. It periodically
checks for new email messages to send, and then sends them. This is for
sending email that you've queued via the Email table, instead of mandrill
(as is the case for our localserver/development deploys).

(imported from commit a2295e97b70a54ba99d145d79333ec76b050b291)
2013-11-13 16:41:36 -05:00
acrefoot f7b5a10da0 [schema] Add ScheduledJob table, and update mandrill related code
ScheduledJobs with type Email displace the usual mandrill codepaths
in the Zulip Enterprise deploys

* Email-specific helper functions will appear in deliver_email.py
* 0058_auto__add_scheduledjob.py

(imported from commit 8db08d8a279600322acfdbed792dc1a676f7a0ab)
2013-11-13 16:41:36 -05:00
Jessica McKellar f5fc59e3e0 email mirror: remove some TODOs enterprise users don't need to see.
These should live in tickets anyway.

(imported from commit 9c2a9445640278d251a99c68c0074c138b832c60)
2013-11-13 16:28:30 -05:00
Jessica McKellar 3b4303598a email mirror: use the correct API host locally.
In particular, EXTERNAL_HOST doesn't specify the protocol, which gets
coerced to HTTPS.

(imported from commit 53f2e8106cf33114dcdd2ad17e09b41609641e71)
2013-11-13 16:28:29 -05:00
Jessica McKellar 8382e074fe Move use of html2text to a subprocess call.
(imported from commit 36e8a6f030d75196c28fbdc0e58c6968952d95ff)
2013-11-13 16:28:29 -05:00
Kevin Mehall 98caa8eaf1 Add option to disable error reporting
(imported from commit 3621aa6e7a5badd21b22891026285099db393df0)
2013-11-13 16:22:21 -05:00
Kevin Mehall 08cc6378af Remove old email error reporting handler
Broken out into an independent commit for easy revert if necessary.

(imported from commit d83619c431a0e656f2e644d1eccb156a63c2169c)
2013-11-13 16:22:21 -05:00
Kevin Mehall f7f2ec0aca [puppet] Report enterprise and prod errors to staging.
Errors are sent to a queue processor that posts them to staging,
just like the feedback bot.

(imported from commit 4a8d099672a1b3e48a8bc94148d8b53db73d2c64)
2013-11-13 16:22:21 -05:00
Jessica McKellar 76e1c80ac5 Add an enterprise registration page.
(imported from commit 5888f588ad219ba25b235477a7137853e5954bb5)
2013-11-13 16:20:42 -05:00
Jessica McKellar 5c0a624f9e Don't notify on stream messages by default for LevelUp.
(imported from commit c0c21047698612dbcee5eee9e858f37a8f8e29bd)
2013-11-13 16:14:36 -05:00
Tim Abbott c70adde1cd Send users whose sessions have expired to the login page.
(imported from commit 9ffdc414b9a0874d2cd6f7a4f91596b82390ab38)
2013-11-13 15:35:45 -05:00
Tim Abbott a5d64e4288 sso: Fix missing context instance.
(imported from commit dd4116282bd57e1682d9b3fb3ace66c2ab9b58c1)
2013-11-13 15:23:09 -05:00
Leo Franchi 691c861c85 Guard against creating a realm that is already an alias to another realm
(imported from commit 365c79148a1a3af190d2eab449d735525554657b)
2013-11-13 14:17:44 -05:00
Leo Franchi 62ba16a829 [schema] Allow a realm to have aliases for multiple other domains
(imported from commit 5d0340afd4c77f50db63550a3ec8d81e885c285c)
2013-11-13 14:17:43 -05:00
Steve Howell 761c0a0266 Support !avatar syntax in bugdown.
(imported from commit 72551c5df96f5b383d3593c9618cc82413d5d95d)
2013-11-13 13:45:09 -05:00
Steve Howell 2086ee8979 Rename Gravatar class to Avatar in bugdown.
(imported from commit 97f1fb52f2582694f5ba43c24649fc58152d3486)
2013-11-13 13:45:09 -05:00
Steve Howell 2d5a19ad1b Have !gravatar markdown serve up /avatar/<email>.
The !gravatar markdown no longer hard codes to Gravatar, but
instead it serves up our generic avatar URL.

(imported from commit 4e3e2baeb3374bcf025a18ff27a8452b975c22b7)
2013-11-13 13:45:08 -05:00
Steve Howell 2238807e59 Add /avatar/<email> URL.
The /avatar/<email> URL redirects to the appropriate
avatar URL for an email, whether it's hosted by Gravatar
or Zulip.  (This will work even for external users, as
it falls through to Gravatar.)

(imported from commit 7e6f226659cb2e5a7f6426da0be8aa9bae9cff14)
2013-11-13 13:45:08 -05:00
Tim Abbott 79ef54d6fa Fix remote_user_to_email argument.
(imported from commit f3a7fbf071cd7da1a4d55c6842207a054412feb3)
2013-11-13 12:07:16 -05:00
Tim Abbott 1eca4027fa Support filling memcached caches with no messages.
(imported from commit 3dfcdce60f84bfa99820a52b74c637ad849930a8)
2013-11-13 12:07:16 -05:00
Tim Abbott 6bcd5a7ffc Update installation instructions to include configuring the app.
(imported from commit 89395815c32416ec0636efcff12eb76f5d890bbd)
2013-11-13 12:02:50 -05:00
Tim Abbott e18a08c69e settings: Move hardcoded API super users into local_settings.py.
(imported from commit fea7550a771c837db0fb948238488f778bedf73a)
2013-11-13 12:02:49 -05:00
Leo Franchi 300cceb3e4 Create feedback bot in enterprise installs
(imported from commit 0c0a6919bd29e12484d520f80789b39b203099b0)
2013-11-13 11:18:03 -05:00
Leo Franchi 6274c33f86 Allow disabling of feedback system in UI
(imported from commit ce16b2916784e9cf10a230cb47515ffc65888778)
2013-11-13 11:18:02 -05:00
Leo Franchi 306ce65ea3 Only create initial passwords for local dev setups
(imported from commit 2ef33ebbab0fe21486acbb1a3a78ed434abac2db)
2013-11-12 22:42:05 -05:00
Leo Franchi d7b823f017 Point email mirror to staging for zulip.com in non-localserver, and prod otherwise
(imported from commit 3076df1e68e0200af06b79a8cdeb9822bbf4c10c)
2013-11-12 22:22:13 -05:00
Steve Howell 0fe751425a Always enable SlowQueryWorker.
(imported from commit 05aa98d60c34e95df0b41fe9d25d909fea547ddc)
2013-11-12 20:19:42 -05:00
Steve Howell e93215693a Always drain the slow_queries queue.
(imported from commit e11c25116529fb402d82d349a67fb1dfc40f510c)
2013-11-12 20:19:42 -05:00
Steve Howell cf79e77347 Extract process_one_batch() in SlowQueryWorker.
By extracting the function, we eliminate a redundant sleep
call.

(imported from commit 24d4485019f96ae10e9a00244643b77ff2a7db57)
2013-11-12 20:10:23 -05:00
Luke Faraone 046c2927ab Redirect to / instead of the login page on successful login.
(imported from commit 9bb61dc48861c580baf170dbdbdc2564e177e8a5)
2013-11-12 19:18:35 -05:00
Luke Faraone 74b6a940e8 Actually log the user in when they authenticate via SSO
(imported from commit aa33e8781d08f7a2793a3738e44e09701122e10c)
2013-11-12 19:18:35 -05:00
Luke Faraone fafa14db9a Patch out references to zilencer so the app runs without it on ENTERPRISE
(imported from commit bd4fe1ff47e1b4dc9038f800ee8aa2980bd00fdf)
2013-11-12 18:43:06 -05:00
Zev Benjamin cf8cf1fe03 socket: Fix non-rabbitmq codepath
(imported from commit 3ccdcbfb3283fc57ca502878e9c8d6068e7bce40)
2013-11-12 16:42:15 -05:00
Tim Abbott 3dadb5b76a Update comments to rename Local Server => Enterprise.
(imported from commit 82bf89aa1148a78ce11ead203a0bc16243d1fca8)
2013-11-12 15:57:02 -05:00
Tim Abbott 21f1058fd2 Rename local_server=>enterprise in DB initialization script.
(imported from commit 76e26f43858e3baa6ed1b38d67973ed41acf04f3)
2013-11-12 15:57:02 -05:00
Tim Abbott 5293cdebe8 Rename LOCAL_SERVER to ENTERPRISE.
(imported from commit 7edf353eefe6c9e7aac74b7bbc37b923cac1b913)
2013-11-12 15:57:01 -05:00
Tim Abbott 5d5e662c08 Disable event logs on local server.
(imported from commit eafbd645ae7ce8d868de2fb8c6548325a05b1340)
2013-11-12 15:57:01 -05:00
Kevin Mehall a593a798f8 Move send_stats management command back to zerver/
It's not analytics, and it's needed for restart-server.

(imported from commit 979fa15715ea437cbbc5d986c859ee4d6c668da8)
2013-11-12 15:50:08 -05:00
Zev Benjamin 673f497a6f socket: Only deregister connections that have been registered
(imported from commit bfaed299a129bac1e901883f5c6e3339f5a8b688)
2013-11-12 15:24:30 -05:00
Zev Benjamin eec195f421 socket: Use our full logging infrastructure
We also now separate out the times for the socket overhead, the
request service time, and the queuing delays.

(imported from commit e1683f7f28b968b86ebb701b0ac29b00ac6d67c3)
2013-11-12 15:24:30 -05:00
Zev Benjamin 6ff8ff0f3f Make all the work of the logging middleware not depend on Request or Response objects
(imported from commit ce13909d338230a931cb09405d54bb872b2ff0a6)
2013-11-12 15:24:30 -05:00
Zev Benjamin 32ed5f9f42 Move flushing the display recipient cache to its own middleware
(imported from commit 27a6935a5830ef986b18de169d66dd86d273d064)
2013-11-12 15:24:30 -05:00
Zev Benjamin 53ec292022 Store logging data in a dict instead of individual attributes
(imported from commit f7d76670428d5d8298c572a23cbfffc1d9695f23)
2013-11-12 15:24:30 -05:00
Zev Benjamin 24ee4a5d57 socket: Build a real Request object to send through our full stack, including middleware
One quirk here is that the Request object is built in the
message_sender worker, not Tornado.  This means that the request time
only counts time taken for the actual sending and does not account
for socket overhead.  For this reason, I've left the fake logging in
for now so we can compare the two times.

(imported from commit b0c60a3017527a328cadf11ba68166e59cf23ddf)
2013-11-12 15:24:29 -05:00
Leo Franchi ffbadf61df Restore original desktop_home redirect
Without it, a reverse lookup on zerver.views.home would return /desktop_home

(imported from commit 037bd532162441ca070bcb90a86d372048518cd4)
2013-11-12 15:02:18 -05:00
Steve Howell 56c39728ba Support /me syntax.
If a user types "/me runs to the store", we put "runs to the store"
in bold after their name.

(imported from commit fbc11e99244e1c8fa1c03e4753e706957fcd449e)
2013-11-12 10:49:10 -05:00
Kevin Mehall 59757b37e2 Get user API key without password when SSO is the only login option
(imported from commit 195ff68cc54cd2e7d200702c699bb3a258d3e868)
2013-11-12 10:37:33 -05:00
Kevin Mehall 4a6b7cb20b Disable password change when SSO is the only login option
(imported from commit fd1a14237e2d6ea574331ed178bfc0db5beb18c6)
2013-11-12 10:37:33 -05:00
Leo Franchi cc2d17d7c0 Allow omission of EMAIL_GATEWAY_BOT and stream emails
(imported from commit 51412d2a46bbacd6537ef892e7b6bdf33ac94079)
2013-11-12 10:32:34 -05:00
Jessica McKellar 59117f0e03 Display Freshdesk's inline images in notifications.
(imported from commit b40de8282ac26e7b77e6d9de439b521bbe7adbe2)
2013-11-12 10:24:26 -05:00
Jessica McKellar 30151eff92 Add tests for the Freshdesk webhook.
(imported from commit 5b745ef1a590812d4b3c1adbba7d43d25983c4ad)
2013-11-12 10:24:26 -05:00
Jessica McKellar 3adb9c6d80 Add a basic Freshdesk webhook.
The Freshdesk API is bonkers, but we do the best we can with it to
support notifications on ticket creation and ticket updates.

(imported from commit 2023622b274ef83f4e1544d0df286fe2e68581b3)
2013-11-12 10:24:26 -05:00
Tim Abbott 64c3a9a0bd initialize_local_server_db: Improve success output.
(imported from commit 7ac45876e639b7af5a283fb60b134ec13438a313)
2013-11-12 09:38:43 -05:00
Tim Abbott 96918e30f9 initialize_local_serverd_db: Create the realm for ADMIN_DOMAIN.
(imported from commit e13e73e54871c106cd4fd465b74c645657899dce)
2013-11-12 09:38:42 -05:00
Tim Abbott b0dc882f7e localserver: Add support for not having an APNS_CERT_FILE.
(imported from commit 42d8caebb3035bd9e6e19db6359cc33e8ab4f317)
2013-11-12 09:34:25 -05:00
Leo Franchi 7126610298 Add a generate_204 method to our backend for the desktop app
(imported from commit 3fa61b7e09884c83a27740087abba25dbcd8a9cb)
2013-11-08 14:13:44 -05:00
Tim Abbott 2e833613c3 [Django 1.6] update monkeypatching for CursorDebugWrapper.
(imported from commit cb4b44a2bb6ba6efbd1fb5710da2df7c1dec7f81)
2013-11-08 08:22:04 -05:00
Steve Howell 7bde1f7716 Add activity.short_huddle_name().
(imported from commit e3f0389298631fd06169dbc9559691470ac19d00)
2013-11-07 16:54:13 -05:00
Steve Howell 9adcba1e6d Add activity.huddle_fraction_present().
Add a method that lets us know what percentage of a huddle is
present.  (We can use this later to set the opacity of huddles
in the UI.)

(imported from commit 8a2383951807d7bfbf9d730a8980d977cf23b379)
2013-11-07 16:54:13 -05:00
Tim Abbott ba15333df9 Add temporary debug logging around Tornado handler protocol.
This logging is kinda excessive since it adds like 4 log lines per
recipient, so I expect we'll end up reverting it once we've debugged
the proximal issue.

(imported from commit 5e6ab3e230f32b65ad9cf0d95f20ffbc0fe7397e)
2013-11-07 15:44:19 -05:00
Tim Abbott 3b41e79074 get_events: Log queue ID in home and get_events requests.
(imported from commit 8be1427c6c9ec3d1eb4a02f3c6ad5c2726542596)
2013-11-07 15:44:19 -05:00
Zev Benjamin 24ae5998e5 socket: Request the status of pending requests on reconnect
This will hopefully help with the send dialog being stuck on
"sending" as well as allowing us to not show errors to the user on
reconnect.

(imported from commit 31ee889853f348e486863073dc130cdfb4e1338d)
2013-11-07 11:43:34 -05:00
Zev Benjamin 48a25211fa socket: Record the request status in redis
(imported from commit 6c3f6dc37d1abdcacf105f865ac24483717438ca)
2013-11-07 11:43:34 -05:00
Zev Benjamin 87fc182645 socket: Move `req_id` parameter to top level of protocol payload
(imported from commit 271d84a0b44a2623bec290f64a83a0423698a1ef)
2013-11-07 11:43:34 -05:00
Zev Benjamin 4595143023 socket: Switch to client ids from connection ids
Clients can only have one connection at a time, anyway, so we can
just keep track of a client id, instead.  This makes reconnections
easier.

It's a little funny to use queue ids for the client id, but we know
they should exist by the time the client is connecting and they are
guaranteed to already be unique and authenticatable.  We will also
eventually be integrating the event system and the socket code closer
anyway.

(imported from commit 1f60e06fb16d31d6c121deafd493fb304d19a6c2)
2013-11-07 11:43:34 -05:00
Zev Benjamin 63924ea742 socket: Reduce code duplication in authentication error cases
(imported from commit e7900b1374c3c0e5ea994ff315d281833e7ecdc6)
2013-11-07 11:37:00 -05:00
Zev Benjamin e0fece4082 socket: Log the transport type on the authentication line
(imported from commit 7b3ae3ab38da35cbd60aca991665d40b41a7f78f)
2013-11-07 11:31:06 -05:00
Kevin Mehall d93c7545f6 Revert rendering window changes related to summarization
This reverts commit c10d9c1a0d23891acce88bf8d79866c08cb75681.
This reverts commit 9259a246946cd968a8725c38ff5ef2d4b4793717.

(imported from commit 50e9e0136c2487cc63d75ae2b78df0c70a1b0be1)
2013-11-07 11:04:27 -05:00
Kevin Mehall 57aabc112d Add debug for a possible way get_events might forget a request
(imported from commit ca3ac5b942ffdcc8f175cc6b690cb2555e170836)
2013-11-06 18:34:50 -05:00
Leo Franchi 9a0faf9ca8 Clean periods for our domain statsd keys
(imported from commit d89b860566a7845774f470a215a3f3697b871d3c)
2013-11-06 15:45:03 -05:00
Leo Franchi 591d06cb24 Only log valid stats to statsd
(imported from commit 449b7f5e750913c04e4df8f2a895274ded99ddd9)
2013-11-06 15:41:46 -05:00
Tim Abbott 4aa7ce3bd2 Also display the time until new work is scheduled after rendering.
(imported from commit 33562f105d5dd6ed81ca60d0517277d908ec2ffd)
2013-11-06 15:35:49 -05:00
Tim Abbott f670fdc717 logging: Also log the end-to-end receive time for messages we sent.
This is the amount of time between when it is sent, and when it is
rendered into the user's home view.

(imported from commit 468c28e77ba16c7256c359e90ab5aacf9d497585)
2013-11-06 15:35:49 -05:00
Jessica McKellar d51ac058e2 alert words: add multi-word and non-ascii words to tests.
(imported from commit 9c9c7b6ec255970e7e396cf6185af07c7677753c)
2013-11-06 11:43:35 -05:00
Leo Franchi 8dd4bf8f00 [puppet] Log endtoend send time on a per-realm basis as well as aggregate
(imported from commit 07226b20081d203af1f52776475228d9b6783869)
2013-11-06 11:25:00 -05:00
Jessica McKellar 74d1a56c68 Do not notify on stream messages by default for CUSTOMER19.
(imported from commit 7f737b9068ec39fc53678aa5c0976d3da908ce00)
2013-11-06 10:40:28 -05:00
Luke Faraone 3daca0ca9c Fix rebasing errors that rightfully made the linter sad
(imported from commit fbed798c7d752ea2b058aeebb5ae31a620684a3a)
2013-11-05 17:52:53 -05:00
Leo Franchi 980dc8345a Strip unicode chars from statsd path
(imported from commit 1c5829be7f89ad1e26be52b416a51da63e2a94cf)
2013-11-05 17:47:15 -05:00
Luke Faraone 00e72cd97d Switch url parameter to full_name from service-specific gafyd_name
(imported from commit 21541da29d2846cfd912d19b73e239e96606f9e5)
2013-11-05 16:17:06 -05:00
Luke Faraone c11b65590b SSO / REMOTE_USER support
(imported from commit 4f4fad7af5d3c6099cac95d7708338c182626d72)
2013-11-05 16:14:13 -05:00
Luke Faraone b4ad8d2a5a Factor out Google Apps user-not-registered logic
(imported from commit ba1d9da60df01f063cbfc0374130b655b7555b4a)
2013-11-05 16:14:13 -05:00
Steve Howell 5ff6bc7330 Move activity reports to zilencer.
This commit moves the view code and the URLs.  It doesn't touch
the templates yet.

(imported from commit dbef5eafe4956b29154c1134c05aa586c9e417b2)
2013-11-05 15:41:03 -05:00
Steve Howell 4fb4e04501 Add activity.full_huddle_name().
(imported from commit 304e47ac88d7497fcde49f448912a2e063dd0bd1)
2013-11-05 15:34:29 -05:00
Steve Howell e628efff6c Fix people_dict in activity.js tests.
The simulated people_dict in the activity.js test was not
matching the production code, and going forward, we'll want to
share the people_dict setup for all of our tests.

(imported from commit fc21a02216b9422130b9fe9c11bcf80590612844)
2013-11-05 15:34:28 -05:00
Steve Howell 6d511486cb Add activity.process_loaded_messages() and get_huddles().
Activity.js now has the capability to track huddles that
come through in loaded messages and return them in reverse
chronological order by their most recent message.  Right
now this only connected to a unit test, not any production
code.

(imported from commit 59957086fa2e454e5711472df091f178217aed2b)
2013-11-05 15:34:28 -05:00
Tim Abbott e06722657a [manual] Remove /messages/latest API and related legacy code.
This requires doing a puppet apply on our servers to take effect
properly.

(imported from commit 19dc56f071f07a5d2571eef49dd835121b2e82b6)
2013-11-05 14:19:40 -05:00
Leo Franchi 2551968966 Log end-to-end send time to statsd
(imported from commit 5a085b2cc72eaa69ca5dd704e3b33df895144b95)
2013-11-05 11:47:48 -05:00
Steve Howell d0722b6962 Remove dead code related to /activity.
(imported from commit ebec4ddb8727c16dc04ebd32829389e5594d49f5)
2013-11-05 11:00:59 -05:00
Steve Howell bd84d1305e Clean up titles in activity reports.
(imported from commit e516bbfaff7b3615059b4aafb3304e31db85edcc)
2013-11-05 08:13:00 -05:00
Steve Howell 23cd4016f4 Look for send_messages_backend in /activity page.
The main Activity page counts users as active if they have either
sent a message or updated a pointer.  In the unlikely event that
somebody sent a message but never updated their pointer, we were
undercounting them, if they went through send_messages_backend.

(imported from commit 5f112be87a239980c38a18c13f9cd68e90d2e905)
2013-11-05 08:12:59 -05:00
Tim Abbott 792b283dcd Report end-to-end sending times as experienced by clients.
This should help with determining the prevalence of slow sends as
experienced by users.

(imported from commit f00797679315c928af3c87ad8fdf0112f1dfa900)
2013-11-04 18:32:34 -05:00
Leo Franchi 0bcc8db924 Give the initial bots themselves as owners
(imported from commit aca5565a3705aa6c6d55eb8afb5ca84f0efc9a0c)
2013-11-04 17:36:14 -05:00
Tim Abbott 97e9615921 Add script to replace populate_db for local server.
(imported from commit ca51391fc1d8ed13c0fcd36e17c875a085c78eb0)
2013-11-04 17:01:41 -05:00
Leo Franchi 6765ec0795 Use a site-specific Zulip Admin email in django error pages
(imported from commit 2d5415d7cd81befc3051b5de3835c0cd258b6375)
2013-11-04 16:35:50 -05:00
Tim Abbott 87271b57cd Fix feedback check to correctly use the recipients list.
Even for a PM, the "recipients" list is 2 people -- the sender and the
receiver.

(imported from commit 5503e0ee2abb643601a0a4e61366127914808245)
2013-11-04 12:58:40 -05:00
Leo Franchi fe1313ad76 Split management commands for internal use into zilencer/
(imported from commit 3fd81bfc7e987fc88bd1d632546850eebbb92234)
2013-11-04 11:58:52 -05:00
Tim Abbott 54871853b1 Remove obsolete Tornado-internal user pointer cache.
It is from before we were caching UserProfile objects.

(imported from commit 5335728bf0c62efb330fa29a6e08efc43eb86691)
2013-11-04 11:51:18 -05:00
Tim Abbott 2a77cecc7a Remove several unnecessary TODO notes.
(imported from commit 1292d048d63c056af69f62352cf8cab283ef5792)
2013-11-04 11:51:18 -05:00
Tim Abbott 68dcc760c3 Clean up some unused imports.
(imported from commit 0c5d8e2a55ba1b8909ba807fee3afe863dcdc226)
2013-11-04 11:51:17 -05:00
Steve Howell 0c505c9b80 Exclude "desktop" from Client tab of /realm_activity.
The "desktop" counts aggregate all desktop clients, but on the
Clients tab, we are only interested in specific versions.

(imported from commit eea2d8da584a6fa32fa1f3a2bae71ef5daaba738)
2013-11-04 10:24:55 -05:00
Steve Howell 7a67fb34b0 Rename: queue_followup_emails -> enqueue_followup_emails.
(imported from commit c44e790de5b694f8d98b03608231f7a284856254)
2013-11-04 10:20:59 -05:00
Steve Howell c4141eeeb0 Rename: queue_digest_emails -> enqueue_digest_emails.
(imported from commit a72fdf849814ff974117c55bf1b155c494a1b160)
2013-11-04 10:20:59 -05:00
Tim Abbott 03c5ae44a4 Remove unnecessary transaction in message flag updating.
We only needed a transaction here to workaround problems associated
with not having database-level autocommit.

(imported from commit 240ba05a4a4a846a7ff62e6e59e403ab0d78ab11)
2013-11-04 07:31:39 -05:00
Tim Abbott 0ae03eb655 Remove transaction management hacks in get_client.
I'm pretty sure this code was a hack to workaround the fact that
without database-level autocommit, .get_or_create is racy.

(imported from commit bfdd476a354aee439feeaa0030ae59cc43c165b9)
2013-11-04 07:31:39 -05:00
Tim Abbott 29aef33c53 Remove transaction management hacks in workers.
(imported from commit 33b9349bd139907755b52474df8a0da13b73b80d)
2013-11-04 07:31:39 -05:00
Tim Abbott 2de31ee287 [schema] Remove the UserMessage.archived field.
This was a precursor to UserMessage.flags.read that never got used
because we decided to use django-bitfield.

(imported from commit 868754723c07ee9b85ae951aee785e571ccfef97)
2013-11-04 07:31:11 -05:00
Steve Howell 0e0272220b Ignore internal records in /realm_activity.
(imported from commit ba0387cefe53d3a766f539cabdc1252b2d749839)
2013-11-02 17:58:34 -04:00
Steve Howell 54a25b065a Add show_admins management command.
(imported from commit f16e118fa5203408b99f0a41ff7cecbffb821fa7)
2013-11-02 11:37:27 -04:00
Steve Howell 406c4f172a Add realm.get_admin_users() method.
(imported from commit b1cb465f0c81eb9f56ad1486b92cd39a8d001474)
2013-11-02 11:37:27 -04:00