Jason Michalski
75d1366ae1
Fixes how user input is escaped in stream and topic regexes
...
NarrowBuilder.by_stream and NarrowBuilder.by_topic for mit users uses a
regex to search by stream and topic. Python's re.escape escapes unicode
in a format that postgres can not parse. We escape unicode as '\uXXXX'
for postgres.
(imported from commit d2c27d4514c31fdc6ef1fea898fe721a6f0ab069)
2014-01-10 21:38:59 -05:00
Zev Benjamin
3720cb1c33
Move message-related views into their own file
...
(imported from commit 2c71cc1b5d3f0210c98767888c461d5c6d046b49)
2014-01-10 21:38:59 -05:00
Jessica McKellar
d3f6c4ef36
Log the actual sending of digest emails in addition to queuing possible ones.
...
(imported from commit e43ac59e71620fe715db462347db228d5a950aed)
2014-01-10 21:38:59 -05:00
Tim Abbott
0e7e6610ce
Augment Tornado logging about failed user_profile loads.
...
(imported from commit 94fb3d6ce3eb8565b8c55eaf281a3ee7df6061f7)
2014-01-10 21:38:58 -05:00
Steve Howell
7d23bffa42
Replace "ios" with "ZulipiOS" in process_client().
...
(imported from commit 72b4f5ded6dbb86fe67884d6fe8da1ee2146c4c5)
2014-01-10 21:38:58 -05:00
Steve Howell
17adab9a5d
DRY up process_client() by extracting get_client_name().
...
Avoid repeating request.client = get_client(foo) 5 times, and
decouple the logic for determining the client name from how
we represent the client as an ORM object and piggyback it on the
Django request.
(imported from commit efdf81cbaf9599a5606da18e06d7ffe9b88aaf6f)
2014-01-10 21:38:58 -05:00
Steve Howell
d043c373b4
Refactor process_client() to avoid double negative.
...
The "else" branch used to execute when it was not the case
case that HTTP_USER_AGENT was not in request.META. Now
it's more readable.
(imported from commit ea0664e89d8b3d94cd1c0f8667047461b149ba41)
2014-01-10 21:38:58 -05:00
Steve Howell
7f668463ac
Add an ZulipiOS tab to /activity.
...
(imported from commit 09f609e340a8fb7838e74d558eb3e397ea5f1f7b)
2014-01-10 21:38:57 -05:00
Steve Howell
0b9eb74f93
Remove Pure API tab from /activity.
...
(imported from commit 32ec22de7746637a18c98f93903661851e367bc8)
2014-01-10 21:38:57 -05:00
Tim Abbott
2c87cb5101
Fix OurAuthenticationForm return value for invalid accounts.
...
(imported from commit 10461554bec5d86d2ab768177762f11cd905e0f3)
2014-01-09 11:08:41 -05:00
Tim Abbott
47500d8352
[schema] Add a bit for whether inactive users are mirror dummies.
...
(imported from commit bb21bb2c62ac09742484d7a4ca8907e7d864b982)
2014-01-09 11:08:35 -05:00
Jessica McKellar
8e3911269e
Strip whitespace from emails before looking up DB entries in a few places.
...
(imported from commit eafdce98450d16c0ca51c4cb17a139811a6124bc)
2014-01-07 20:24:21 -05:00
Jessica McKellar
0e120c9bbf
Show users in deactivated realms an error page when they try to log in.
...
(imported from commit 6de839ae944b8c76715361c2211cd759d78f4f1a)
2014-01-07 20:24:21 -05:00
Jessica McKellar
33e8822165
Don't send digest e-mails to users in deactivated realms.
...
(imported from commit dca53af9beac80242a5a96857595e99ccb75cf77)
2014-01-07 20:24:21 -05:00
Jessica McKellar
32549ec135
Show new users an error page when they try to sign up for a deactivated realm.
...
(imported from commit 1696a6a5d26ec92b881cd3fda43e6b262e2fbfa5)
2014-01-07 20:24:21 -05:00
Jessica McKellar
511e1a12e3
Add a management command to deactivate old realms.
...
(imported from commit f6b1d0cb5b10f91683afcffea88b23b1a75a9ad2)
2014-01-07 20:24:20 -05:00
Jessica McKellar
a06b5bd720
[schema] Add a deactivated field to Realm.
...
(imported from commit 8b873296d45dbacc0865c8d101a872be0b65ed46)
2014-01-07 20:24:20 -05:00
Tim Abbott
e0c9397c62
Fix query count for test_bulk_message_fetching.
...
(imported from commit 1f5aaa05aa97e3c07688b8f91b4b45ca39dcc614)
2014-01-07 17:59:56 -05:00
Leo Franchi
c7836626ea
Accept a pass-through local_id option in send_message
...
(imported from commit 3f7b8e862a92d8a11b68da9ff23f711b6b25b5e2)
2014-01-07 17:33:34 -05:00
Leo Franchi
685ab1a583
Add message_list.remove_and_rerender
...
(imported from commit 68da0ad74f797fae3257577bbf415fd1fe9488a6)
2014-01-07 17:33:33 -05:00
Leo Franchi
76892c52aa
Send realm filters to clients
...
(imported from commit a3ba31701baa4d515ea3bf36c39d7255f1dd20d6)
2014-01-07 17:33:33 -05:00
Leo Franchi
4a15f9a2cc
Add avatar_url to page_params
...
(imported from commit e78eeb83ffa0928a624ea54b590cbd42c32b1bc4)
2014-01-07 17:33:33 -05:00
Jason Michalski
175d47f104
Added tests for the rename_stream api
...
Two tests were added.
1) That that name of the stream is changed.
2) That realm admin is required.
(imported from commit f8fd482c653c983182b96d53c30d731e272f96cd)
2014-01-07 17:15:43 -05:00
Jason Michalski
9d7ee674c6
Add tests for deactivate_stream_backend
...
deactivate_stream_backend was untested now we test
1) That subscriptions are removed
2) That the realm admin is required
(imported from commit eedb1c4fc0e363df58721302e9f8fbedf78389a9)
2014-01-07 17:15:43 -05:00
Jason Michalski
2a8f0b4b3b
Fixed expected_messages in casper tests
...
expected_messages was ltriming headings but we had a newline at the end
innerText. The ltrim was changed to a trim to correct this.
(imported from commit 5e411c5fc46a2cb675c1268041e95bbb2522c8f9)
2014-01-07 12:32:52 -05:00
Jessica McKellar
5f7c3a959e
Enable digest emails for all but special-case domains.
...
(imported from commit 6f5c8c6c1dcd0f7ba040e86edd7b1bd41ac0dc1e)
2014-01-06 17:32:56 -05:00
Jessica McKellar
b082c99267
digest: send e-mails on Fridays.
...
(imported from commit 2080b98b4d67cfdefa124e2115b2c67b8ef975ce)
2014-01-06 17:32:55 -05:00
Luke Faraone
df4b2d9f85
Break out non-Twisted email mirror code into separate library
...
(imported from commit 45c3e70ba81cdb44f1e9db4f162e5f2d2fe5ead6)
2014-01-06 13:36:53 -05:00
Luke Faraone
266c0f4886
Remove duplicate validation in email_mirror
...
We already have a try-except earlier in the file about email_gateway_user, so we don't
need to check for it again.
(imported from commit 2d9fa357fab2605916c5c5cb61961c0a121b1211)
2014-01-06 13:36:53 -05:00
Steve Howell
badeb70be2
Allow admins to change public/private on streams.
...
This is the UI piece that finishes the features to let admins
make streams private or public.
(imported from commit 1a193165a6304dc358982e9850a75965fb3a03fd)
2014-01-06 11:59:48 -05:00
Steve Howell
654ce3e0c7
Add make_stream_private endpoint.
...
(imported from commit b504c24fd651ecf8814e64725a9f303dc085b14e)
2014-01-06 11:59:47 -05:00
Steve Howell
e0c62c5eda
Add make_stream_public endpoint.
...
(imported from commit 03d4cff5587d0aa149997f2f6ae28ec4ede95d7a)
2014-01-06 11:59:47 -05:00
Steve Howell
34af2b0828
Extract subscription_setting_icon.handlebars
...
(imported from commit 574f43d8479e066687312a7a232f243347bd1d7f)
2014-01-06 11:59:47 -05:00
Steve Howell
b3d307b465
Extract subscription_type.handlebars
...
(imported from commit 1a16ed0d51dae23f830043f52046c8fb50f91a48)
2014-01-06 11:59:47 -05:00
Steve Howell
2079cb995a
Improve unit test for subscription template.
...
(imported from commit 607524b47d5fec7bd8630158b1060f0855d845aa)
2014-01-06 11:59:47 -05:00
Steve Howell
492159c312
s/allow_rename/is_admin/ in subscription.handlebars
...
(imported from commit e5af8d97d0bcd63efd85e5745a8bb131b091f752)
2014-01-06 11:59:47 -05:00
Steve Howell
12b921c9a3
[verify after deploy] Fix API endpoint docs.
...
After deploying to both staging and prod, double check the docs
are correct here. This fixes the API docs on prod, which had
"POST /api/v1/messages", despite "/api" not being part of the
prod path. Prod docs are here:
https://zulip.com/api/endpoints/
(imported from commit a2c4d316128f88171f4a76074314be64d9bc9728)
2014-01-03 19:10:01 -05:00
Zev Benjamin
fb602da502
Don't log exceptions that we know aren't bugs when adding events to event queues
...
(imported from commit 55074e68603119bd11cc5218453a4e1eab710feb)
2014-01-03 14:40:55 -05:00
Jessica McKellar
692ad53941
freshdesk: log payload on webhook errors.
...
(imported from commit 42bdf56248cbfa1d0b2d39151dd99bdd8a807734)
2014-01-02 10:58:42 -05:00
Leo Franchi
72bfc12f18
Expose a users/me/presence API endpoint
...
(imported from commit 770310284e91ae20d766cd9a52dd1005b5e47e6b)
2014-01-01 17:02:01 -06:00
Jessica McKellar
30367d0c0f
digest: don't include automated messages in hot conversation accounting.
...
(imported from commit ab8db46c644b3cf66a4bc654d204d870b8fae91f)
2013-12-31 16:45:21 -05:00
Jessica McKellar
8091634814
Move sent_by_human check to a method on the Message class.
...
(imported from commit 2ef49051932f9633ad11130952591c5c5b147f12)
2013-12-31 16:42:38 -05:00
Jessica McKellar
a20894d847
digest: fix generator bug not producing correct deployment comparison.
...
(imported from commit 33c34d71320fa1f8cd095a6d9f10b2397eeeda2f)
2013-12-31 16:34:52 -05:00
Steve Howell
8c15b89278
Fix handlebars.handlebars typo.
...
This was my fault. It is just a label for test output, so it
was harmless.
(imported from commit aff11f411bc14275cb9b8ce339b7100eaebeb49d)
2013-12-26 11:07:01 -05:00
Steve Howell
5dc3d9abce
Log internal queries if they are >= 5s.
...
(imported from commit ee88fcd6292a177e02bfe5e5bca5480b0e474030)
2013-12-26 09:23:18 -05:00
Steve Howell
eb6868704f
Give higher threshold for webathena kerberos queries.
...
These are mostly out of our control, so they are not very actionable.
(imported from commit ef342ec1edbff0fa1a934413a7f19ed14817a502)
2013-12-26 09:20:59 -05:00
Steve Howell
f61740551c
Bump slow query threshold to 1.2s
...
(imported from commit 8d97fc22d208274bc57b884828957dacf396348a)
2013-12-26 09:16:49 -05:00
Steve Howell
89f3a7c72f
Break up conditional in is_slow_query().
...
(imported from commit c7ca42965e917a0386069c915c0225cefc218c3e)
2013-12-26 09:13:00 -05:00
Steve Howell
e0a1841b1c
Extract middleware.is_slow_query() and add tests.
...
(imported from commit 60902244a420800f558fdf2f1c38b4ed736c1286)
2013-12-26 09:09:15 -05:00
Jessica McKellar
7b3d9255bc
GitHub integrations: use the branch in the topic for Via Delivers.
...
(imported from commit 65d009eeba82c24f20eb4241575515e217cb4603)
2013-12-23 11:02:25 -05:00
Jessica McKellar
61103d8349
digest: On an app server, only send digest emails for domains it manages.
...
(imported from commit 9aea636a19eb6fdefacdc7dc393bf075a05862c5)
2013-12-20 12:50:23 -05:00
acrefoot
0d08acaa1b
Transition from tables to divs for the message list.
...
This breaks our casperjs tests.
(imported from commit c63181c73a24eed4a80bfa56966d1f0871c5edb2)
2013-12-19 18:28:11 -05:00
Tim Abbott
b5754758a7
Don't alert on slow queries for /user_activity and /realm_activity.
...
(imported from commit 8b08ad47138477068f432ff15c56b2ba93ac2db6)
2013-12-19 17:41:36 -05:00
Leo Franchi
9918b8f039
Whitelist mac clients with Mac UAs
...
(imported from commit a602dba099e1651996c1fb2ad1f01edf4a82dab8)
2013-12-19 17:23:38 -05:00
Tim Abbott
2264a07c03
Update server-side app checks to handle the new app names.
...
(imported from commit da7b2c06b413add1881b2d80a89794d0db9c810f)
2013-12-19 17:21:26 -05:00
Tim Abbott
66e72d4705
Ignore slow queries on certain non-customer-facing URLs.
...
(imported from commit c3f53883d93a75d805b15f617f391ccd1a492ce8)
2013-12-19 17:20:43 -05:00
Tim Abbott
e77b34ed82
api: Extract client strings from UserAgent.
...
(imported from commit 22468dd0eb06bb52ed7273f3067ae3e2461ee0a5)
2013-12-19 17:20:43 -05:00
Tim Abbott
453a05996e
Update client strings for webhooks to match UserAgent style.
...
(imported from commit 0bbed9b0f37e7d57fd7a1607d6fd0e938349e586)
2013-12-19 17:20:43 -05:00
Tim Abbott
8c8c5337ef
UserPresenceTests: Fix use of API auth with json view.
...
While it does work, it's more an accident than intentional behavior
and not something we want to be encouraging (and it's messier code).
(imported from commit 3797147fc21836135a6304412bd3f958873a0576)
2013-12-19 17:20:43 -05:00
Leo Franchi
0e8fc2a26a
Match new User-Agent format for the desktop app in discrimination
...
(imported from commit 51c296570f506f2280556956b3bf9c26e95cc2f8)
2013-12-19 16:53:45 -05:00
Tim Abbott
a70072f5cf
socket: Don't throw traceback when sessions are expired.
...
(imported from commit 16c876b5bbd0c6ecd5ef48369a7f71ca74d1183f)
2013-12-19 16:52:53 -05:00
Tim Abbott
2ca5f43f05
Report json format 500 errors from all json format views.
...
Previously, we only did this via rest_dispatch.
(imported from commit b0edfdccea294378292b64677a64d5b01f936b08)
2013-12-19 16:48:51 -05:00
Tim Abbott
b30afe432e
Return a nice JSON error when CSRF errors happen in JSON views.
...
(imported from commit 916166c115f9b3ba0fdc93f8d917ff37ae22c2ae)
2013-12-19 16:48:51 -05:00
Tim Abbott
014b5e8a91
Add a per-request realm filters cache.
...
This avoids doing hundreds of memcached queries in get_old_messages.
(imported from commit 8b64cac3e4e91d46762a13d6812bd3c6f517e9ef)
2013-12-19 14:04:55 -05:00
Tim Abbott
c91415f318
Improve names for per-request display recipient cache.
...
It incorrectly advertises itself as per-process.
(imported from commit faf7ca7374d020058e80249bb16a4c6afbcb3e44)
2013-12-19 14:04:55 -05:00
Steve Howell
7cded2a956
Show realm history on the main activity page.
...
This shows the number of messages sent by humans for the last
eight 24-hour periods, for each realm. "Messages sent" isn't a
perfect metric of activity, but it's easier to query with our
current data model than certain other statistics.
(imported from commit 9de3c479640a0b9dbc017b245dda21d951f4efa4)
2013-12-18 16:01:44 -05:00
Steve Howell
ab9f6b301f
Validate msg_ids in messages_in_narrow_backend.
...
(imported from commit fde39d8766b2de9e41dee52e3372ce4aa27c353b)
2013-12-18 16:00:16 -05:00
Steve Howell
ea42d0bb16
Validate narrow in events_register_backend.
...
(imported from commit 5b873846fece98f7fbf0b6cb6ed5c098e72ac7f4)
2013-12-18 16:00:16 -05:00
Steve Howell
f7ec8cccc7
Validate subscriptions in add_subscriptions_backend.
...
(imported from commit 3d4b669ade135dfa85c01238db110a5e4c1362b2)
2013-12-18 16:00:16 -05:00
Steve Howell
48319f9763
Validate subscriptions in remove_subscriptions_backend.
...
(imported from commit 9cbbaf35791b204c78a56d7598cff9775901c5ed)
2013-12-18 16:00:16 -05:00
Steve Howell
28b5b175a3
Validate messages in update_message_flags.
...
(imported from commit e4905fb0f56f56e5486828eb177493c42a0792f2)
2013-12-18 16:00:16 -05:00
Jessica McKellar
0d7ea7353f
Don't show broken images in digest and missed PMs emails.
...
(imported from commit 92297b4c8f020e30b5c00e93bf32df6e19069dd8)
2013-12-18 14:31:04 -05:00
Jessica McKellar
96ea91056e
Support displaying emoji in digest and missed PM emails.
...
(imported from commit b440da2501ccb6dd95dc79c3fbce1e81b17c38f4)
2013-12-18 14:31:04 -05:00
Jessica McKellar
2f59f69a1f
digest: tweak sender information.
...
(imported from commit fafc54d4b9c9cda447c42f2bd24845aee62624c2)
2013-12-18 14:31:03 -05:00
Steve Howell
be1857ceb3
Add blank line to check_list (cosmetic).
...
(imported from commit 20a9eed98846e976c7fa2cfdb43e25e1c43c850d)
2013-12-18 12:47:32 -05:00
Steve Howell
9df608c612
Validate muted_topics variable in json_set_muted_topics.
...
(imported from commit 1f6250bb170212af9b5f79a4ef07d57cdaab641d)
2013-12-18 12:45:30 -05:00
Steve Howell
6f573feaeb
Add "length" option to check_list validator.
...
(imported from commit 4f8e203f964d1c936fe548b2f77a2e4aae745ae9)
2013-12-18 12:45:29 -05:00
Steve Howell
b2bffc26f9
Validate alert_words is a list of strings.
...
(imported from commit f6776c17ce4fcc84b9a6a75858154837c6122789)
2013-12-18 12:45:28 -05:00
Steve Howell
e7a42ffd02
Add test for /json/set_alert_words.
...
(imported from commit 307d87331870a89713030e8178b1aa14a31cfdfd)
2013-12-18 12:45:28 -05:00
Luke Faraone
0311bf8e4b
Don't crash if prereg_user doesn't have default streams set
...
(imported from commit 8d24ecd1bac801f3b8502116933ed4470f4fad9e)
2013-12-18 11:33:34 -05:00
Steve Howell
b764bb427b
Validate invitee_emails better in json_bulk_invite_users().
...
(imported from commit a446a361677bcb0501d9a340f7b5bb3614c7481b)
2013-12-17 16:24:59 -05:00
Steve Howell
94e3c02649
Add test_bulk_invite_users().
...
(imported from commit bc8ab756dae0fd82e73b5b2a9655974c5fc839b0)
2013-12-17 16:24:59 -05:00
Tim Abbott
3b7bf691e7
Add tool to query our usage stats as of a given date.
...
This contains the various fixes that needed to be made in order to get
accurate statistics.
Most notably, the active_users_between function in the previous
version of zerver/lib/statistics.py was broken for end dates in the
past, because it used the UserActivity table to get its data -- so in
fact it really was querying "users last active between".
This commit isn't super clean, but I figure we're probably better off
having our latest code for historical usage data in git so it doesn't
bitrot and anyone can improve on it.
(imported from commit 24ff2f24a22e5bdc004ea8043d8da12deb97ff2f)
2013-12-17 15:34:44 -05:00
Steve Howell
1c67fdb95d
Move user list unread-count logic to templates.
...
When we rebuild the user list from scratch, set the unread
counts in the templates to avoid multiple DOM updates.
(imported from commit 2d0c9b0fb99b382332e464ba7c3caad95e05363e)
2013-12-17 10:59:25 -05:00
Jessica McKellar
a8cd91d6c7
digest: send emails if you've been active for slightly less than a day.
...
That way if all you do is briefly check Zulip because you got the
email, we'll send you another one tomorrow.
(imported from commit fcbbd264c5e5fea7352f0fee6989e000af7b7bed)
2013-12-17 10:47:17 -05:00
Jessica McKellar
6b64ef6be3
digest: log when we enqueue emails.
...
(imported from commit 1b34e05bc2eebedb818673a4c9a3944e1db15c6d)
2013-12-17 10:47:17 -05:00
Jessica McKellar
71f5b4e0ae
Enable digest emails for zulip.com.
...
(imported from commit f676f96c2b516b33269b8f5c72deaf5c985e8ccd)
2013-12-17 10:47:17 -05:00
Jessica McKellar
1d11e2cce0
digest: don't show new users for MIT.
...
(imported from commit b7453cb30e6fcf5b36a5e3e53f67faeb17e74048)
2013-12-17 10:47:16 -05:00
Tim Abbott
150ca939b1
Disable some buttons in embedded widget.
...
(imported from commit 7d6d4725b139ea71c579dfd7d19c38d7bb11ee44)
2013-12-16 17:46:02 -05:00
Tim Abbott
2276c6e524
Add support for loading a narrows-only embedded Zulip window.
...
Features:
* Only shows messages in the narrow
* New messages in the narrow will arrive as they are sent
* Works even for streams you're not subscribed to
* Automatically subscribes you to a stream on send
* Doesn't update your pointer
* All searches etc. automatically have the narrow added
(imported from commit 2e12b76849f6ca0f53dda5985dad477a04f7bbac)
2013-12-16 17:46:02 -05:00
Tim Abbott
7c829c4024
Extract adding clients to the various dicts to a function.
...
(imported from commit 667e5736710c23becdf4ebe5688a31421ac632f5)
2013-12-16 17:46:02 -05:00
Tim Abbott
af347acf99
Fix narrow stream event queues with all event types.
...
(imported from commit 69c2f6f1be3dd864b5da85104b83235f0dd4df50)
2013-12-16 17:46:02 -05:00
Tim Abbott
28c03e3f0d
Simpify interface for editing/accessing unencoded page_params.
...
(imported from commit c7c7dce2ecc886f4bd9e5da798b1007887e77642)
2013-12-16 17:46:01 -05:00
Tim Abbott
1ca8804468
Fix renaming streams.
...
(imported from commit 63c41d7f1175f132dc835e76362d679f00800d3f)
2013-12-16 10:32:55 -05:00
Steve Howell
3b0a563730
Use REQ(validator=) style for update_subscriptions_backend.
...
(imported from commit 48e16695f7ab9f32b10370751c528dc27583ada7)
2013-12-13 18:23:40 -05:00
Steve Howell
cc2779c80e
Use REQ(validator=) style for event_types in events_register_backend.
...
(imported from commit 3af787fcc87355866107d197ef2c9e9552151a8a)
2013-12-13 18:23:40 -05:00
Steve Howell
a20270dbc7
Use REQ(validator=) style for principals in add_subscriptions_backend.
...
(imported from commit 307ce32cc0c56f8a226244cf1128b1c0633852f7)
2013-12-13 18:19:10 -05:00
Steve Howell
bfb54b5a4d
Add validator support to REQ and has_request_variables.
...
Validators are similar to converters, but they don't have
to parse JSON, and they are told the name of the request
variable to help format error messages.
(imported from commit 3c33e301892519c67e70675006d5686d9f013353)
2013-12-13 18:19:10 -05:00
Steve Howell
60917c83d6
Add test_REQ_converter.
...
(imported from commit 4425c68a532dc8a6db3b76397156c4e9d92a5b44)
2013-12-13 18:19:10 -05:00
Steve Howell
668c0ab529
Validate principals in add_subscriptions_backend.
...
Make sure that principles is a list a of strings (unless it
is None). This includes a unit test.
(imported from commit c2e3f1c0cafc207ceca67d5a174ef4e29a32c6ca)
2013-12-13 18:19:10 -05:00