Commit Graph

28574 Commits

Author SHA1 Message Date
Tim Abbott
2eebacf2dc push_notifications: Lazily import APNS libraries.
The APNS client libraries (especially the hyper.http20 one) were
determined via profiling to take significant time during the import
process, so we move them to be lazily imported in order to optimize
the overall Zulip import process.  This save up to about 100ms in
import time.

These libraries are only used in certain Django processes inside
zulipchat.com, and so are unnecessary both in development as well as
for self-hosted Zulip servers.
2018-10-17 11:59:33 -07:00
Tim Abbott
ec9f6702d8 manage.py: Sabotage importing pika.adapters.twisted_connection.
This is a performance optimization; see the comment.  This fixes part
of #9953.

Eventually, we should do the same thing for importing Tornado as well,
but it's less important because Tornado is a much smaller library.
2018-10-17 11:50:08 -07:00
Tim Abbott
704967faa4 email_mirror: Don't import talon unless we're using it.
Talon is an expensive import; on my system, deferring this import
saves 28ms on the import time for Zulip.
2018-10-17 11:25:38 -07:00
Tim Abbott
d58e5b8c16 requirements: Use a forked version of libthumbor for performance.
This optimizes the import performance of Zulip by using a fork of
pkgresources.  The fork just has a single commit, which replaces
libthumbor's use of pkgresources (which is really slow to import) with
a direct query to the version number.

This fixes part of #9953.
2018-10-17 11:21:29 -07:00
Rishi Gupta
d76f728dda api docs: Rename webhook-walkthrough to incoming-webhooks-walkthrough. 2018-10-16 21:07:00 -07:00
Rishi Gupta
6a352ab249 api docs: Add script and plugin integrations to integrations-overview. 2018-10-16 21:07:00 -07:00
Rishi Gupta
df20f1a47f api docs: Rename integration-guide.md to non-webhook-integrations.md. 2018-10-16 21:07:00 -07:00
Rishi Gupta
cd81b0766a api docs: Move references to integration-guide to integrations-overview. 2018-10-16 21:06:59 -07:00
Rishi Gupta
a8e1225a6b api docs: Update integration-guide. 2018-10-16 21:06:59 -07:00
Rishi Gupta
c3eb922559 api docs: Move general advice to incoming webhooks guide.
One of the bullets does reference APIs, which aren't relevant to incoming
webhooks, but decided to leave it as is.
2018-10-16 21:06:59 -07:00
Rishi Gupta
decc5352aa api docs: Update webhook-walkthrough. 2018-10-16 21:06:59 -07:00
Rishi Gupta
47cddf4acf api docs: Update incoming-webhooks-overview.md. 2018-10-16 21:06:59 -07:00
Rishi Gupta
4abce1783f api docs: Restructure integrations section and add an overview. 2018-10-16 21:06:59 -07:00
dipu989
ef2345414d settings: Change username label. 2018-10-16 17:09:21 -07:00
dipu989
ea5bb4a150 settings: Interchange Username and Bot Type positions. 2018-10-16 17:09:20 -07:00
Steve Howell
fd22687cd2 refactor: Split out buddy_list_conf().
This moves us closer to having a generic widget that
we can use for other things like stream settings.
2018-10-16 16:53:47 -07:00
Steve Howell
653aa40384 Extract buddy_list_create().
This makes buddy_list look more similar to other modules
where we don't indent within the boilerplate IIFE.
2018-10-16 16:53:47 -07:00
Tim Abbott
78a15dd715 slack import: Fix obscure email address for Slackbot.
Since we know what slackbot is, we don't need to give it a crazy hash
as its email address.
2018-10-16 16:33:41 -07:00
Aditya Bansal
436bcd121b zthumbor: Fix thumbor behaviour when using it with s3 storage. 2018-10-16 16:00:47 -07:00
Aditya Bansal
8324e2c976 thumbnails: Return original path if url is not supposed to be thumbnailed. 2018-10-16 16:00:47 -07:00
Aditya Bansal
5d68bd92ad thumbnails: Extract user_uploads_or_external as a function.
This is a prepartory commit for the upcoming changes. It was meaningful
to extract this one out because this function is essentially a condition
check on whether a given url is one of the user_uploads or an external
one. Based on its value we decide whether a url must be thumbnailed or
not and thus this function will also be used in an upcoming commit
patching lib/thumbnail.py to do the same check before thumbnail url
generation.
2018-10-16 16:00:47 -07:00
Aditya Bansal
9a411a5765 thumbnails: Stop thumbnailing urls other than external or user_uploads.
We are basically adding a check for url's to be external (belonging
to some 3rd party web site hosting the image) or be one of the
user uploaded files. User uploaded files are served by a separate
endpoint which is /user_uploads/. Any other local url such as
/user_avatars/ or /static/ should never be sent to thumbor for
thumbnailing.
Not sending /user_avatars/ to thumbor for thumbnailing makes sense
because they are already properly thumbnailed and stored properly.
/static/ urls host very few images we use for demo and can be safely
be excluded from thumbnailing.
2018-10-16 16:00:47 -07:00
Tim Abbott
e4813e462b tornado: Rename async_request_{restart,stop} to mention timer.
Previously, these timer accounting functions could be easily mistaken
for referring to starting/stopping the request.  By adding timer to
the name, we make the code easier for the casual observer to read and
understand.
2018-10-16 15:39:10 -07:00
Tim Abbott
a7d7d181ea install: Ensure that sudo is installed.
We use it to drop privileges from root to other users in the installer
process (which ideally, we would remove, but it will take some
annoying refactoring).

This should generally be safe to do, since the default sudo
permissions only allow root to use it anyway.

See https://github.com/zulip/zulip/issues/10036 for the follow-up
issue of removing the need to do this.
2018-10-16 15:34:04 -07:00
Tim Abbott
50be5ceae3 docs: Document our now-official production Docker image. 2018-10-16 15:27:03 -07:00
Tim Abbott
3039f11dd4 docs: Document installing Zulip from GitHub.
This has been unofficially supported for a long time, and is handy for
common use cases, so worth documenting.
2018-10-16 15:19:51 -07:00
Tim Abbott
05b29ea47c docs: Remove production overview page.
This page didn't really add any value over the "Installation" page
after the refactorings we've done in recent time.
2018-10-16 15:10:28 -07:00
Tim Abbott
cc5dfa0c60 docs: Remove links to production/overview article.
We're planning to remove that article as unnecessary.
2018-10-16 15:06:35 -07:00
Tim Abbott
1a0e9fe2f9 restart-server: Restart tornado early.
This dramatically reduces the Tornado downtime when restarting a Zulip
server, which is generally the most significant source of user-facing
bad experiences.
2018-10-16 15:04:07 -07:00
Cynthia Lin
f03d7d29b5 styles: Convert named colors to HSL values. 2018-10-16 13:14:19 -07:00
Cynthia Lin
cbb6b3a1af styles: Normalize differences in previous hex-to-HSL conversion. 2018-10-16 13:14:19 -07:00
synicalsyntax
672aa2c2a4 tools: Add stylelint rule for eliminating hex values in CSS.
Fixes #9689.
2018-10-16 13:14:19 -07:00
Cynthia Lin
5869cc3b6d emails: Convert hex values to HSL values. 2018-10-16 13:14:19 -07:00
Cynthia Lin
89d81b37d4 styles: Convert background properties to background-color. 2018-10-16 13:14:19 -07:00
Cynthia Lin
67b705207e styles: Convert 3-digit hex values to HSL values. 2018-10-16 13:14:19 -07:00
Cynthia Lin
926365dc89 styles: Convert 6-digit hex values to HSL values. 2018-10-16 13:14:19 -07:00
Shubham Dhama
3e0b420423 settings: Extend settings_checkbox for dependent checkboxes.
This deduplicate code for the checkboxes which are dependent on other
parameters and it makes no sense changing them when that parameter is
false.  For example, changing `message_content_in_email_notifications`
makes sense only when `enable_offline_email_notifications` is true.
2018-10-16 13:08:55 -07:00
Shubham Dhama
d1c62369b7 templates: Add is_false handlebars helper.
There is need for such a helper because `unless` executes to be true even
when we haven't passed the context variable on which we are checking the
conditional statement.
2018-10-16 13:07:53 -07:00
Eeshan Garg
0292ffe04b webhooks/taiga: Add test for when a task is moved between stories.
This commit adds a test for the payload that is generated when
a Task is moved from one user story to another on Taiga's Sprint
Taskboard UI.

This commit also gets up this webhook's test coverage up to 100%.
2018-10-16 13:06:20 -07:00
Eeshan Garg
48fe5ae5b2 webhooks/taiga: Stop catching KeyErrors for 'change' events.
I generated multiple payloads and verified that there are no
`change` event payloads that will not contain the values in
question, so it is useless to catch these KeyErrors. If there are
any anomalies still, it is better to be notified about them than
to silently ignore them.
2018-10-16 13:06:20 -07:00
Tim Abbott
6487d956fe api docs: Fix typo in URL for bulk-mark-as-read. 2018-10-16 13:03:59 -07:00
Yago González
029d815be7 api docs: Document the /dev_fetch_api_key endpoint. 2018-10-16 12:47:12 -07:00
Yago González
3eeec94d03 api docs: Document the POST /users/me/subscriptions/properties endpoint. 2018-10-16 12:38:27 -07:00
Tim Abbott
8481a2fd2d api docs: Fix confusing discussion of "dev server".
The Zulip API is to be used on both development and production
servers, and really we just need to talk about zuliprc files.

There's a similar issue for the JS docs, but we need to fix the
copy/paste issues with those as well.
2018-10-16 12:23:23 -07:00
Yago González
3d2b3f8fa4 api docs: Document the POST /messages/flags endpoint. 2018-10-16 12:19:24 -07:00
Yago González
7a4103eee6 api docs: Document POST /mark_(all|stream|topic)_as_read. 2018-10-16 12:12:05 -07:00
Tim Abbott
5272ac8c39 api docs: Fix a broken linkification filters link. 2018-10-16 12:03:38 -07:00
Tim Abbott
d13bd6e8d3 linkifiers: Rename articles to current feature name.
These were previously called "linkification filters", but we now want
to consistently refer to them as "linkifiers" in the UI and API docs.
2018-10-16 12:01:17 -07:00
Yago González
3bdc8f9946 api: Document the GET /realm/emoji endpoint. 2018-10-16 11:51:48 -07:00
Yago González
7a7b507e86 api docs: Document DELETE /realm/filters/<filter_id>. 2018-10-16 11:51:48 -07:00