Commit Graph

3036 Commits

Author SHA1 Message Date
Greg Price ff32d51700 push_notifs: Support APNs token auth, as well as cert auth.
This will make it possible to send notifications to multiple
distinct app IDs over the same connection.
2023-11-16 12:03:30 -08:00
Alex Vandiver 9ba5fe2805 Update version and changelog after 7.5 release. 2023-11-16 18:58:45 +00:00
David Rosa 0f157e7e2b docs: Update Spanish translation for "Narrow to".
The word "Filtrar" is ambiguous in this context since it can be
interpreted as "filter out" which is the opposite of what we want
here. "Buscar solo" is a better phrase that we can use unambiguously
and consistently for all instances of "Narrow to".
2023-11-16 09:15:54 -08:00
Alya Abbott 681097fd43 docs: Update server roadmap documentation. 2023-11-15 12:46:10 -08:00
Alya Abbott cc4c672773 docs: Improve Mobile push notification service documentation. 2023-11-14 17:16:31 -08:00
Tim Abbott ffaa8b9ced changelog: Simplify mobile push notification service links. 2023-11-14 17:16:31 -08:00
Tim Abbott 6af9a91b9d docs: Improve billing testing docs.
You don't need to run any other test suites for this, so this should
be a lot faster.
2023-11-09 12:04:14 -08:00
Lauryn Menard e72a9fb814 docs: Update API and contributor documentation for new macro.
Updates API and contributor documentation for writing integrations
for the new `generate-integration-url.md` macro. Removes all
refrences to `create-bot-construct-url.md`, which was removed in
the previous commit.
2023-11-08 14:19:05 -08:00
Greg Price 9072ddda05 push_notifs: Remove remaining references to ZULIP_IOS_APP_ID setting. 2023-11-07 16:19:42 -08:00
Viktor 74b2d884c8 translating: Add guidelines for gender-inclusive language in German. 2023-11-06 14:54:14 -08:00
Viktor d7989417d5 translating: Update Private message → Direct message in German guide. 2023-11-06 14:54:14 -08:00
Viktor 1cefe9117b translating: Fix contradictory or obsolete German notes. 2023-11-06 14:54:14 -08:00
Anders Kaseorg b8acfe08a4 user_pill: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-01 21:39:05 -07:00
Anders Kaseorg f8aac58a6a docs: Update Ruff badge and links.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-26 15:51:46 -07:00
Aman Agrawal e4ae826a47 inbox: Improve look of empty inbox view. 2023-10-20 17:13:33 -07:00
Karl Stolley 4a8f2773a8 icons: Add remaining views icons. 2023-10-20 12:27:19 -07:00
Aman Agrawal da7a75d8ca popover_menu: Add thirdparty docs for icons used. 2023-10-18 22:02:38 -07:00
Hardik Dharmani 31b3f8762f gear_menu: Add new SVGs.
These icons are used in the gear menu.
Added thirdparty after talking with Vlad.
2023-10-18 22:02:38 -07:00
Mateusz Mandera baf06fe8a7 docs: Rename references to stats.js to stats.ts in the analytics doc.
That file has been migrated to typescript.
2023-10-15 19:50:43 -07:00
Mateusz Mandera cda25e8a4a docs: Use `code` syntax in analytics subsystem doc for readability.
This doc was using a lot of references of to class names etc. without
putting them in `<code>`, making it harder to read.
2023-10-15 19:50:43 -07:00
Greg Price 4b4279b450 docs: Document stream `#translation/fr`. 2023-10-13 15:31:27 -07:00
Tam Le f8a74831b0 run-dev: Add flag to allow JSON requests through HTTPS proxy. 2023-10-12 17:59:29 -07:00
Alya Abbott 63d0c551bf docs: Document additional screenshot and gif software. 2023-10-12 12:58:20 -07:00
Alex Vandiver 9fe7029b53 docs: Remove an out-of-date TemplateView reference.
No use of TemplateView passes a context anymore.
2023-10-11 17:13:01 -07:00
Dinesh c453a784e2 typing_data: Rename get_all_typists to get_all_direct_message_typists.
We use this function to show who's typing in the
direct messages narrow.

Renamed it because, with the addition of stream typists to
`typist_dct` in the next commit, this might be confusing.

This commit addresses the discussed issue by renaming
'get_all_typists()' to 'get_all_direct_message_typists'.
2023-10-10 17:36:55 -07:00
Anders Kaseorg 820dcc50a0 sent_messages: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-10 17:18:37 -07:00
Anders Kaseorg 835ee69c80 docs: Fix grammar errors found by mwic.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-09 13:24:09 -07:00
Anders Kaseorg 4cb2eded68 typos: Fix typos caught by typos.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-09 11:55:16 -07:00
Anders Kaseorg 7b4a74cc4d codespell: Fix typos caught by codespell.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-09 11:55:15 -07:00
Tim Abbott 756b465b47 bootstrap: Remove last vestiges of bootstrap-tooltip library.
Everything but this sliver of CSS has been deleted previously as part
of our migration off Bootstrap.
2023-10-09 11:39:12 -07:00
Tim Abbott 1db00be871 docs: Update changelog to cover changes already staged for 8.0. 2023-10-06 10:56:59 -07:00
Anders Kaseorg 9c70f92514 reload: Move initialize to new reload_setup module.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-06 08:34:39 -07:00
Simon Michalke b6a25840a1 zerver: Implement ldap group synchronization.
Fixes #9957.

Co-authored-by: Mateusz Mandera <mateusz.mandera@zulip.com>
2023-10-05 16:12:52 -07:00
Moazzam Moriani 2789dd4e85 translation: Add Urdu translation guide. 2023-10-04 11:14:01 -07:00
Anders Kaseorg 1db4174319 docs: Remove long-obsolete REALMS_HAVE_SUBDOMAINS documentation.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-03 14:14:12 -07:00
ecxtacy 61b9cff89b docs: Fix HTTP methods for /users endpoint.
Correct the `PUT` to `POST` in the
`/docs/tutorial/life-of-a-request.md` to match it with the actual code
in `zproject/urls.py` route: '/users'. (The HTTP method changed at
some point).

Tested by tabbott using:

curl -v -X HEAD https://chat.zulip.org/api/v1/users
2023-10-03 12:43:49 -07:00
xpufx e1283f6dc3 docs: Add instructions for configuring the Authentik SAML IdP. 2023-10-02 09:19:25 -07:00
Arnold Mwesigye 54d2215f1b
docs: Improve punctuation on remote.md. 2023-10-01 18:31:34 -07:00
Mateusz Mandera 19a253c47b ldap: Improve doc on AUTH_LDAP_ADVANCED_REALM_ACCESS_CONTROL.
This fixes the explanation of the setting's syntax to be more precise
(which doesn't mean "easily understandable" - because the setting is
a bit tricky) as well as an example to illustrate it.
2023-09-28 17:26:57 -07:00
Karl Stolley b70dc23a47 view_labels: Change 'Direct messages' to 'All direct messages'. 2023-09-27 12:48:06 -07:00
David Rosa e60a4c4d01 help: Document `unarchive_stream` management command.
- Adds "Unarchiving archived streams" section to "Archive a stream".
- Adds `./manage.py unarchive_stream` to contributor docs.
2023-09-19 15:04:07 -07:00
Tim Abbott a4e0abb216 version: Update version and changelog after 7.4 release. 2023-09-15 18:04:42 -07:00
Karl Stolley c49ab123b2 icons: Remove unused move and source icons.
These were early candidates in the hover-controls work, but were
superseded by their "alt" counterparts.
2023-09-15 13:17:22 -07:00
Karl Stolley 3fe6cc18ff icons: Remove last vestiges of ellipsis-v-solid.
The deleted CSS around the `.zulip-icon-ellipsis-v-solid` class
has no impact on the hover controls, as flexbox and grid are
handling baseline alignment, not this one-off line-height.
2023-09-15 13:17:22 -07:00
Anders Kaseorg 2665a3ce2b python: Elide unnecessary list wrappers.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-09-13 12:41:23 -07:00
Karl Stolley f4fdc5c97c thirdparty: Add Feather Icon credits.
All of these files were introduced in #26283.
2023-09-12 13:08:18 -07:00
Karl Stolley b5bd439769 thirdparty: Use hyphen in date ranges.
While an en dash--as replaced here with a hyphen--is sounder
typographically, the other ranges in the file use a hyphen, which
is arguably also more interoperable in a plain-text file such as
this (though other en dashes live on in the file, as part of the
original licensing text).
2023-09-12 13:08:18 -07:00
Karl Stolley d870f2af24 thirdparty: Add period after Twitter, Inc.
This makes all shortened forms of "incorporated" uniform across
the file, and matches how "Twitter, Inc." is presented in the files
in question, e.g., atop `web/third/bootstrap/js/bootstrap.js`.
2023-09-12 13:08:18 -07:00
Karl Stolley 0d3f475a91 thirdparty: Uniformly present copyright years without commas.
While the spec permits forms both with and without a comma,
https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#copyright-field,
this corrects a small number of licensing lines in the file to
match the comma-less form used in the majority of other lines.
2023-09-12 13:08:18 -07:00
Karl Stolley 0c9701b921 thirdparty: Update current year on Kandra copyright. 2023-09-12 13:08:18 -07:00
Karl Stolley 8c0c2c7da6 thirdparty: Add missing comma after Kandra Labs. 2023-09-12 13:08:18 -07:00
Karl Stolley 35730f0291 thirdparty: Alphabetize entries by path. 2023-09-12 13:08:18 -07:00
Anders Kaseorg 9abb850cd9 docs: Use MyST syntax for Sphinx metadata.
https://myst-parser.readthedocs.io/en/latest/faq/index.html#sphinx-specific-page-front-matter

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-09-12 10:34:03 -07:00
Anders Kaseorg 31b5879242 docs: Remove obsolete mentions of reStructuredText.
Commit b53e676860 (#19600) removed the
last of our reST.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-09-09 01:56:16 -07:00
Mateusz Mandera b6cce494a8 docs: Add a warning about restarting individual services.
restart-server is almost always the way to go, so we can be clearer
about it.
2023-09-08 16:22:50 -07:00
Anders Kaseorg 48a3588cdb docs: Fix typos caught by ‘typos’.
https://github.com/crate-ci/typos

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-09-06 18:59:05 -07:00
Alex Vandiver 5ca15a36ba version: Update version and changelog after 7.3 release. 2023-08-25 18:21:10 +00:00
Lauryn Menard 29bb346480 typing: Update main typing notifications protocol documentation.
Updates the main description of the `api/set-typing-status` endpoint
for the new fields in the register response for the typing start,
stop, expired time intervals. Previously these were hardcoded by
the client side code and not the server side code.

Also updates the developer documentation for typing indicators in
the subsystems docs. This refreshes a few parts of that doc that
were already out of date, as well as adds the information about
the new register response fields noted above.
2023-08-23 16:38:59 -07:00
Greg Price bb6fe0385e docs: Consistently say "18 months" on compatibility, no specific version numbers.
Previously I've wanted to have this page spell out the concrete
version number that our clients support, rather than the policy we
use for determining that version number, because that's the sort of
question that I feel like as a user I'd want a straight answer to
and would be annoyed if I couldn't get one.

But as the text stands, it's come to look more like it's the policy
(something that's heavyweight to change) than like the value that
the policy currently happens to work out to.  Also, because this page
is kind of chaotically organized (and fixing that is a bigger yak
than I want to shave right now), it repeats the 18-month rule in
three separate places and the current value (version 4.0) is in
a fourth separate place, so it looks internally inconsistent.

Let's therefore take a different tack: like in those other three
spots on this page, state just the policy instead of the value it
currently works out to; but also add a link to help the reader
pin down for themselves what value that does work out to.

This also means we no longer need to update this page as old releases
age and that value advances.

Also fix a typo, and cut the reference to working degraded on
older releases.  Starting earlier this year we finally started
hard-refusing such connections:
  https://github.com/zulip/zulip-mobile/issues/5102
  https://github.com/zulip/zulip-mobile/pull/5633
(which was because there were some swathes of compatibility code
that we could only cut if we completely broke the handling of
ancient servers, and so we preferred to have the app communicate
that break clearly up front.)
2023-08-22 11:29:19 -07:00
shu.chen 321776ac49
provision: Add provision support for Fedora 38.
Tweaked provision script to run successfully in Fedora 38 and
included a script to build the groonga libs from source because
the packages in Fedora repos are outdated.

There is a major version jump from the last supported version (F34)
which is EOL so references and support for older versions were
removed.

Fixes: #20635
2023-08-22 11:26:29 -07:00
bjorn3 78176d8982 openapi: Move description from SuccessDescription to JsonSuccessBase.
Almost all users of JsonSuccessBase seem to also include
SuccessDescription. /server_settings used a different description from
the rest of the JsonSuccessBase users, but the difference is small
enough that using the generic description of the former
SuccessDescription is fine.
2023-08-21 11:26:19 -07:00
Lauryn Menard 5e29e025c5 email-templates: Add zulip_onboarding_topics email templates.
The "followup_day2" email template name is not clear or descriptive
about the purpose of the email. Creates a duplicate of those email
template files with the template name "zulip_onboarding_topics".

Because any existing scheduled emails that use the "followup_day2"
templates will need to be updated before the current templates can
be removed, we don't do a simple file rename here.
2023-08-18 16:25:48 -07:00
Alex Vandiver ae3458a294 docs: Fix link to "Uprading PostgreSQL" section. 2023-08-14 22:57:59 +00:00
David Rosa d205850d54 docs: Update .html links pointing to "Upgrade Zulip" or "Modify Zulip".
Follow-up to #24089.
2023-08-11 16:49:32 -07:00
Lauryn Menard 3d997c4af2 docs: Add multiple-organizations.md to production section of TOC.
Adds the existing article about hosting multiple Zulip organizations
to the production section of the table of contents.
2023-08-11 11:11:44 -07:00
Steve Howell 51db22c86c per-request caches: Add per_request_cache library.
We have historically cached two types of values
on a per-request basis inside of memory:

    * linkifiers
    * display recipients

Both of these caches were hand-written, and they
both actually cache values that are also in memcached,
so the per-request cache essentially only saves us
from a few memcached hits.

I think the linkifier per-request cache is a necessary
evil. It's an important part of message rendering, and
it's not super easy to structure the code to just get
a single value up front and pass it down the stack.

I'm not so sure we even need the display recipient
per-request cache any more, as we are generally pretty
smart now about hydrating recipient data in terms of
how the code is organized. But I haven't done thorough
research on that hypotheseis.

Fortunately, it's not rocket science to just write
a glorified memoize decorator and tie it into key
places in the code:

    * middleware
    * tests (e.g. asserting db counts)
    * queue processors

That's what I did in this commit.

This commit definitely reduces the amount of code
to maintain. I think it also gets us closer to
possibly phasing out this whole technique, but that
effort is beyond the scope of this PR. We could
add some instrumentation to the decorator to see
how often we get a non-trivial number of saved
round trips to memcached.

Note that when we flush linkifiers, we just use
a big hammer and flush the entire per-request
cache for linkifiers, since there is only ever
one realm in the cache.
2023-08-11 11:09:34 -07:00
Steve Howell 031e3ae3f0 caching docs: Tweak a few things.
Some claims seemed a little exaggerated or overly
precise.
2023-08-11 10:57:42 -07:00
Sahil Batra c843600d76 docs: Fix get_user function in caching documentation.
This commit fixes the get_user function code to be same
as that of the original function in models.py.
2023-08-10 17:35:43 -07:00
Anders Kaseorg b386cb5347 setup-recommended: Fix typographical issues.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-08-07 13:04:01 -07:00
n0099 2b1d250154 nginx: Switch from `$host` to `$http_host` for HTTP/3 compatibility.
nginx sets the value of the `$http_host` variable to the empty string
when using http/3, as there is technically no `Host:` header sent:
https://github.com/nginx-quic/nginx-quic/issues/3

Users with a browser that support http/3 will send their first request
to nginx with http/2, and get an expected HTTP 200 -- but any
subsequent requests will fail with am HTTP 400, since the browser will
have upgraded to http/3, which has an empty `Host` header, which Zulip
rejects.

Switch to the `$host` variable, which works for all HTTP versions.

Co-authored-by: Alex Vandiver <alexmv@zulip.com>
2023-07-25 18:20:34 -04:00
Ishita Gupta aa86533f22 UI redesign: more-less message interaction.
This commit encompasses the following changes:
* Replace the [More...] link with a button titled "Show more".
* Replace the [Show Less...] link with a button titled "Show less".
* Add various on-hover interactions to the buttons.
* In the condensed view, add fading to the bottom of the message to
  visually communicate that the message is truncated.
* Update /help/ description.

Fixes #22801.

Co-authored-by: Evy Kassirer <evy.kassirer@gmail.com>
2023-07-24 17:42:08 -07:00
Anders Kaseorg b285813beb error_notify: Remove custom email error reporting handler.
Restore the default django.utils.log.AdminEmailHandler when
ERROR_REPORTING is enabled.  Those with more sophisticated needs can
turn it off and use Sentry or a Sentry-compatible system.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-07-20 11:00:09 -07:00
Alex Vandiver d957559371 uploads: Allow uploads to set storage class.
Uploads are well-positioned to use S3's "intelligent tiering" storage
class.  Add a setting to let uploaded files to declare their desired
storage class at upload time, and document how to move existing files
to the same storage class.
2023-07-19 16:19:34 -07:00
Alex Vandiver 5a26237b54 wal-g: Support alternate S3 storage classes. 2023-07-19 10:55:18 -07:00
Anders Kaseorg 052984bc14 utils: Remove make_safe_digest wrapper.
It’s unclear what was supposed to be “safe” about this wrapper.  The
hashlib API is fine without it, and we don’t want to encourage further
use of SHA-1.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-07-19 10:54:05 -07:00
nimish c238327899 settings: Change "Display settings" to "Preferences".
This includes changing the URL to #settings/preferences, with a
transparent redirect so that existing links, like the one from Welcome
Bot, continue to work.
2023-07-12 07:09:03 -07:00
Alex Vandiver a7b9e67c06 docs: Mention the PostgreSQL upgrade in the release upgrade section.
Users can, quite understandably, assume that upgrading Zulip upgraded
the underlying PostgreSQL version.  Though it is mentioned at the top
of the page, mentioning it here clarifies that it is an additional
step.
2023-07-11 17:27:57 -07:00
Aman Agrawal 9dc66f35da architecture_simple: Use 400 instead 500 for font-weight.
Since https://zulip.readthedocs.io/ doesn't render 500 font-weight
and falls back to 400 for for rendering, it makes sense to just
keep them at 400.
2023-07-06 17:57:37 -07:00
Alex Vandiver 9bd340957f changelog: Retitle sections, to allow section anchors. 2023-07-06 16:16:11 -07:00
Alex Vandiver e18d0e3331 docs: Reference PostgreSQL version in "Restoring backups" section.
This extends 8ede54fb1b, in the specific backups section, rather
than just in the overview.
2023-07-05 14:53:24 -07:00
Mateusz Mandera 8c530f30e3 docs: Update SCIM doc to not mention add_scim_client.
add_scim_client was removed in 55342efd33.
2023-07-05 14:36:22 -07:00
Alex Vandiver 76b767b154 version: Update version and changelog after 7.2 release. 2023-07-05 20:27:54 +00:00
Karl Stolley 0b596159c1 docs: Adjust wording and phrasing for clarity. 2023-06-27 09:43:22 -05:00
Karl Stolley 2720e0e35a docs: Correct minor wording and mechanics. 2023-06-27 09:43:22 -05:00
Matthew Volpe 466db56118
docs: Fix missing space in setup-recommended.md.
Previously, there was a missing space in setup-recommended.md that I noticed when reading it.
2023-06-26 11:10:29 -07:00
David Rosa ca4e73b663 docs: Rename private message -> direct message in Spanish style guide.
- Updates instances of "private message" and "PM", improving wording
  and translating to Spanish where needed.
2023-06-26 11:02:34 -07:00
David Rosa 513eb510aa docs: Rename "private message" -> "direct message".
- Updates instances of "private message", "PM", and "private_message",
  excluding historical references in `overview/changelog.md`.
- Also excludes `/docs/translating` since we would need new
  translations for "direct messages" and "DMs".
2023-06-23 14:36:16 -07:00
Alex Vandiver d46279c41e docs: Clarify that trust of X-Fowarded-Proto is also necessary.
Previously, `X-Forwarded-Proto` did not need to be set, and failure to
set `loadbalancer.ips` would merely result in bad IP-address
rate-limiting and incorrect access logs; after 0935d388f0, however,
failure to do either of those, if Zulip is deployed with `http_only`,
will lead to infinite redirect loops after login.  These are
accompanied by a misleading error, from Tornado, of:

    Forbidden (Origin checking failed - https://zulip.example.com does not match any trusted origins.): /json/events

This is most common with Docker deployments, where deployments use
another docker container, such as nginx or Traefik, to do SSL
termination.  See zulip/docker-zulip#403.

Update the documentation to reinforce that `loadbalancer.ips` also
controls trust of `X-Forwarded-Proto`, and that failure to set it will
cause the application to not function correctly.
2023-06-23 10:47:14 -07:00
Alex Vandiver e222b53d8a version: Update version and changelog after 7.1 release. 2023-06-13 18:17:04 +00:00
Anders Kaseorg 639efc5ce1 docs: Update Transifex URLs.
https://help.transifex.com/en/articles/7171815-web-application-s-domain-change

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-06-12 17:38:41 -07:00
Alex Vandiver f4b20337a7 docs: Document supported versions of PostgreSQL.
Fixes: #25853.
2023-06-12 16:37:55 -07:00
Alya Abbott 9ee5a5a70e docs: Add a guide on suggesting features and improvements.
Similar to the guide on reporting bugs.
2023-06-12 16:04:00 -07:00
Alya Abbott 052a109ba4 docs: Improve instructions for reporting bugs.
- Create a dedicated "Reporting bugs" page to learly document
where and how bugs should be reported.
- Drop "Reporting issues" section from the Contributing guide.
- Delete "Bug report guidelines" page.
2023-06-12 14:31:45 -07:00
Alex Vandiver bd217ad31b puppet: Read resolver from /etc/resolv.conf.
04cf68b45e make nginx responsible for downloading (and caching)
files from S3.  As noted in that commit, nginx implements its own
non-blocking DNS resolver, since the base syscall is blocking, so
requires an explicit nameserver configuration.  That commit used
127.0.0.53, which is provided by systemd-resolved, as the resolver.

However, that service may not always be enabled and running, and may
in fact not even be installed (e.g. on Docker).  Switch to parsing
`/etc/resolv.conf` and using the first-provided nameserver.  In many
deployments, this will still be `127.0.0.53`, but for others it will
provide a working DNS server which is external to the host.

In the event that a server is misconfigured and has no resolvers in
`/etc/resolv.conf`, it will error out:
```console
Error: Evaluation Error: Error while evaluating a Function Call, No nameservers found in /etc/resolv.conf!  Configure one by setting application_server.nameserver in /etc/zulip/zulip.conf (file: /home/zulip/deployments/current/puppet/zulip/manifests/app_frontend_base.pp, line: 76, column: 70) on node example.zulipdev.org
```
2023-06-12 20:18:28 +00:00
Tim Abbott 6ca5130cd8 docs: Improve troubleshooting overview intro. 2023-06-12 13:01:50 -07:00
Alya Abbott 582e88544c docs: Clarify instructions for getting help with self-hosting. 2023-06-12 13:01:50 -07:00
Zixuan James Li 4a18552ff8 docs: Document and advocate systemd for WSL 2.
systemd makes it a lot convenient to run services required for Zulip's
development environment on WSL 2. Once enabled, `tools/start_service`
becomes unnecessary.

More info:
https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2023-06-12 10:58:11 -07:00
Lauryn Menard dfb34875f1 docs: Update first point in outreach prioritization section. 2023-06-12 10:54:32 -07:00
Tim Abbott 5e5d151c0c docs: Tweak a few details on the release checklist. 2023-06-07 12:48:25 -07:00
Alex Vandiver bad600e731 docs: Clarify access to port 25 is needed for local email delivery. 2023-06-07 08:56:01 -07:00
Tim Abbott 0a7d3d3fe2 Update version following 7.0 release. 2023-05-31 13:04:44 -07:00
Tim Abbott b00ce1bad1 Release Zulip Server 7.0. 2023-05-31 08:48:02 -07:00
Alex Vandiver 9a6529f86a docs: Add language to code blocks. 2023-05-31 08:18:03 -07:00
Alex Vandiver adb30c4d18 docs: Remove unused link references. 2023-05-31 08:18:03 -07:00
Alex Vandiver 8212dccc91 docs: Fix missing and typo'd link references. 2023-05-31 08:18:03 -07:00
Alex Vandiver 679591ccce docs: Document postgresql.missing_dictionaries. 2023-05-31 08:18:03 -07:00
Alya Abbott 660ccccf68 docs: Add section about mentioning others to commit discipline doc. 2023-05-30 14:55:09 -07:00
Karl Stolley 38c8c374d5 docs: Introduce headings on commit discipline. 2023-05-30 14:54:49 -07:00
Alex Vandiver d058188fa8 docs: Update documentation for deploy hooks.
ecfb12404a updated how values were passed to hooks, but did not
update the documentation.
2023-05-30 14:52:01 -07:00
Alex Vandiver 9ca4574fae docs: Document zulip_notify deploy hook. 2023-05-30 14:52:01 -07:00
Alex Vandiver f45a6a6d99 docs: Add missing link in Sentry deploy docs. 2023-05-30 11:25:43 -07:00
Alex Vandiver 54590e67f2 docs: Fix link to sentry deploy hook. 2023-05-30 11:25:43 -07:00
Anders Kaseorg dc158b18f2 release-checklist: Purge unneeded beta branch.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-05-29 18:07:54 -07:00
Anders Kaseorg e3e2691124 Update version following 7.0-beta3 release.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-05-29 17:14:15 -07:00
Tim Abbott 1af16642d9 Release Zulip Server 7.0-beta3. 2023-05-29 16:35:59 -07:00
Tim Abbott 5f7727888c docs: Fix changelog link to preferred markdown style. 2023-05-29 16:35:19 -07:00
Tim Abbott 00accdc86b docs: Update changelog for changes since 7.0-beta2. 2023-05-29 16:27:29 -07:00
Tim Abbott e26f9180c1 docs: Remove a duplicate changelog line.
This same line appears near the end of the 7.0 list.
2023-05-29 12:25:47 -07:00
Karl Stolley 4bfbec48dd docs: Clarify where labels are noted.
This will prevent curious readers from scrolling in search of a list
of labels below (as I did initially).
2023-05-29 11:21:51 -07:00
Karl Stolley a164173acf docs: Close up instances of 'codebase'. 2023-05-29 11:21:51 -07:00
Alya Abbott fc0f73c1db docs: Link to new PR review process doc from /contributing/reviewable-prs.md. 2023-05-25 13:16:56 -07:00
Alya Abbott 1456691d56 docs: Link to new PR review process doc from /contributing/code-reviewing.md.
Also drop redundant points in "Asking for a code review" section.
2023-05-25 13:16:56 -07:00
Alya Abbott afc016c0f0 docs: Add a page documenting review process for pull requests.
- Move the "Submitting a pull request" and "Stages of a pull
request" sections of the contributing guide to a dedicated page.
- Add more detail.
2023-05-25 13:16:56 -07:00
Karl Stolley 30782f7aa4 docs: Remove zid reference.
@timabbott note that it's been years since this has posed any problems:
https://github.com/zulip/zulip/pull/25733#discussion_r1203144805
2023-05-24 12:31:11 -07:00
Karl Stolley 04656bf16f docs: Provide an example of dynamic styling. 2023-05-24 12:31:11 -07:00
Karl Stolley ee7b6f476d docs: Add testing example and supporting links. 2023-05-24 12:31:11 -07:00
Karl Stolley fe1b7a9bb3 docs: Integrate HTML and CSS style with subsystem doc. 2023-05-24 12:31:11 -07:00
Karl Stolley 735618b9db docs: Restructure CSS introduction.
This better presents the CSS organization for readers, and also
removes a stale reference and link to Bootstrap.

Because postcss-nesting's spec-aligned syntax has tripped up some
contributors, the mention of PostCSS now includes a link to the
postcss-nesting README and the CSS Nesting spec from the W3C, which
PostCSS Nesting attempts to adhere to.
2023-05-24 12:31:11 -07:00
Karl Stolley 3fd621b608 docs: Correct stale Chrome and Handlebars links. 2023-05-24 12:31:11 -07:00
Karl Stolley 3443e1d479 docs: Make surface edits to dangerous constructs. 2023-05-24 12:31:11 -07:00
Karl Stolley bb78c21fda docs: Rewrite and update JavaScript guidance. 2023-05-24 12:31:11 -07:00
Karl Stolley 5ff853fa71 docs: Update Python guidance in code style. 2023-05-24 12:31:11 -07:00
Karl Stolley 72b16e2fe7 docs: Edit and tighten opening sections. 2023-05-24 12:31:11 -07:00
Karl Stolley 761ae28551 docs: Rewrite and restructure introduction to code style. 2023-05-24 12:31:11 -07:00
Karl Stolley 827dd22fe1 docs: Restructure and rewrite style and conventions headings. 2023-05-24 12:31:11 -07:00
Karl Stolley c7c9322651 docs: Reorganize code style and conventions doc.
This commit represents an in-place reordering of the document. No
headings or content has been changed (that will happen in subsequent
commits).

The goal is to open the document with generic advice and guidance
applicable to all Zulip developers across all languages:

1. Consistency, enforced by linters and automated tests, opens the
   document.
2. General, largely language-neutral advice about line length,
   third-party code, translation, paths, and secrets come next.
3. Next up is language-specific advice and conventions: Python,
   followed by JavaScript and TypeScript, followed by HTML and CSS
   (although the HTML and CSS will be moved in a subsequent commit
   to their own file).
4. Closing the file, rather than opening it, is the section on
   Dangerous constructs. Some of these are fairly specialized, so
   it makes sense not to ask readers to read through them before
   presenting, say, our philosophy on line length.

Finally, in trying to come up with a sensible order for all sections
of this document, the "More arbitrary style things" heading has been
removed.
2023-05-24 12:31:11 -07:00
Mateusz Mandera 8fb0fe96c6 saml: Save SessionIndex in session and use when making a LogoutRequest.
This is a useful improvement in general for making correct
LogoutRequests to Idps and a necessary one to make SP-initiated logout
fully work properly in the desktop application. During desktop auth
flow, the user goes through the browser, where they log in through their
IdP. This gives them a logged in  browser session at the IdP. However,
SAML SP-initiated logout is fully conducted within the desktop
application. This means that proper information needs to be given to the
the IdP in the LogoutRequest to let it associate the LogoutRequest with
that logged in session that was established in the browser. SessionIndex
is exactly the tool for that in the SAML spec.
2023-05-23 13:01:15 -07:00
Mateusz Mandera 5dd4dcdebb saml: Make SP-initiated SLO work in the desktop application. 2023-05-23 13:01:15 -07:00
Mateusz Mandera 3f55c10685 saml: Rework SP-initiated logout config to support IdP-level config.
This gives more flexibility on a server with multiple organizations and
SAML IdPs. Such a server can have some organizations handled by IdPs
with SLO set up, and some without it set up. In such a scenario, having
a generic True/False server-wide setting is insufficient and instead
being able to specify the IdPs/orgs for SLO is needed.
2023-05-23 13:01:15 -07:00
Mateusz Mandera 0bb0220ebb saml: Implement SP-initiated Logout.
Closes #20084

This is the flow that this implements:
1. A logged-in user clicks "Logout".
2. If they didn't auth via SAML, just do normal logout. Otherwise:
3. Form a LogoutRequest and redirect the user to
https://idp.example.com/slo-endpoint?SAMLRequest=<LogoutRequest here>
4. The IdP validates the LogoutRequest, terminates its own user session
and redirects the user to
https://thezuliporg.example.com/complete/saml/?SAMLRequest=<LogoutResponse>
with the appropriate LogoutResponse. In case of failure, the
LogoutResponse is expected to express that.
5. Zulip validates the LogoutResponse and if the response is a success
response, it executes the regular Zulip logout and the full flow is
finished.
2023-05-23 13:01:15 -07:00
Alex Vandiver 68722e7d3c release-checklist: Add a mastodon announce step. 2023-05-19 16:55:30 -07:00
Alex Vandiver 68c37c9d7b release-checklist: Adjust for the blogs being in Astro. 2023-05-19 16:55:30 -07:00
Alex Vandiver e6b1384a05 version: Update version and changelog after 6.2 release. 2023-05-19 16:58:55 -04:00
Toyam Cox 650cdc474d docs: Also set X-Forwarded-Proto in proxies.
Django 4.0 and higher began checking the `Origin` header, which made
it important that Zulip know accurately if the request came over HTTPS
or HTTP; failure to do so would result in "CSRF verification failed"
errors.

For Zulip servers which are accessed via proxies, this means that
`X-Fowarded-Proto` must be set accurately.  Adjust the documentation
for the suggested configurations to add the header.

Fixes: #24599.

Co-authored-by: Alex Vandiver <alexmv@zulip.com>
2023-05-18 17:17:35 -04:00
Alex Vandiver a95b796a91 supervisor: Drop minfds back down from 1000000 to 40000.
1c76036c61 raised the number of `minfds` in Supervisor from 40k to
1M.  If Supervisor cannot guarantee that number of available file
descriptors, it will fail to start; `/etc/security/limits.conf` was
hence adjusted upwards as well.  However, on some virtualized
environments, including Proxmox LXC, setting
`/etc/security/limits.conf` may not be enough to raise the
system-level limits.  This causes `supervisord` with the larger
`minfds` to fail to start.

The limit of 1000000 was chosen to be arbitrarily high, assuming it
came without cost; it is not expected to ever be reached on any
deployment.  262b19346e already lowered one aspect of that
changeset, upon determining it did come with a cost.  Potentially
breaking virtualized deployments during upgrade is another cost of
that change.

Lower the `minfds` it back down to 40k, partially reverting
1c76036c61, but allow adjusting it upwards for extremely large
deployments.  We do not expect any except the largest deployments to
ever hit the 40k limit, and a frictionless deployment for the
vanishingly small number of huge deployments is not worth the
potential upgrade hiccups for the much more frequent smaller
deployments.
2023-05-18 13:04:33 -07:00
Anders Kaseorg 12310189ed install: Support Debian 12.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-05-18 11:52:22 -07:00
Alex Vandiver 0117d751c2 docs: Explain Zulip Cloud branch in release lifecycle docs.
Partial fix for #25482.
2023-05-15 14:44:11 -07:00
Alex Vandiver 6cb570f3f0 docs: Upgrade to zulip-cloud-current before exporting to Zulip Cloud.
Partial fix for #25482.
2023-05-15 14:44:11 -07:00
Alex Vandiver e0c05825ed docs: Importing from Zulip Cloud exports should use zulip-cloud-current.
Partial fix for #25482.
2023-05-15 14:44:11 -07:00
Alex Vandiver f4683de742 puppet: Switch the `rolling_restart` setting to use the bool values.
2c5fc1827c standardized which values are "true"; use them.
2023-05-11 15:54:15 -07:00