snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
This commit is contained in:
33
templates/zerver/config_error/apple.html
Normal file
33
templates/zerver/config_error/apple.html
Normal file
@@ -0,0 +1,33 @@
|
||||
{% extends "zerver/config_error/social-container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
You are attempting to use the <strong>Apple auth backend</strong>, but it is
|
||||
not properly configured. To configure, please check the following:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
You have registered
|
||||
<code>{{ root_domain_url }}/complete/apple/</code> as the callback URL
|
||||
for your Services ID in Apple’s developer console. You can enable “Sign
|
||||
in with Apple” for an app at
|
||||
<a href="https://developer.apple.com/account/resources/">Certificates,
|
||||
Identifiers & Profiles</a>.
|
||||
</li>
|
||||
<li>
|
||||
You have set <code>SOCIAL_AUTH_APPLE_SERVICES_ID</code>,
|
||||
<code>SOCIAL_AUTH_APPLE_APP_ID</code>,
|
||||
<code>SOCIAL_AUTH_APPLE_TEAM</code>, and
|
||||
<code>SOCIAL_AUTH_APPLE_KEY</code> in
|
||||
<code>{{ auth_settings_path }}</code>
|
||||
and stored the private key provided by Apple at
|
||||
<code>/etc/zulip/apple-auth-key.p8</code> on the Zulip server, with
|
||||
proper permissions set.
|
||||
</li>
|
||||
<li>
|
||||
Navigate back to the login page and attempt the “Sign in with Apple”
|
||||
flow again.
|
||||
</li>
|
||||
</ul>
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
34
templates/zerver/config_error/container.html
Normal file
34
templates/zerver/config_error/container.html
Normal file
@@ -0,0 +1,34 @@
|
||||
{% extends "zerver/portico.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{ _("Configuration error") }} | Zulip</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block portico_content %}
|
||||
<div id="config_error_page" class="flex full-page">
|
||||
<div class="new-style">
|
||||
<div class="pitch">
|
||||
<h1>
|
||||
{{ _("Configuration error") }}
|
||||
</h1>
|
||||
</div>
|
||||
<div class="white-box">
|
||||
<div class="errorbox config-error">
|
||||
<div class="errorcontent">
|
||||
{% block error_body %}
|
||||
<p>
|
||||
{% block error_content %}
|
||||
{% endblock %}
|
||||
</p>
|
||||
|
||||
<p>After making your changes, remember to restart the Zulip server.</p>
|
||||
|
||||
<p><a href="">Refresh</a> to try again or
|
||||
<a href="{{ go_back_to_url }}">go back to {{ go_back_to_url_name }}</a>.</p>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
23
templates/zerver/config_error/dev_not_supported.html
Normal file
23
templates/zerver/config_error/dev_not_supported.html
Normal file
@@ -0,0 +1,23 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
You attempted to use the <code>DevAuthBackend</code> authentication method,
|
||||
which is used for logging in without a password in the Zulip development
|
||||
environment.
|
||||
</p>
|
||||
<p>This backend is not available for this realm, either because:</p>
|
||||
<ul>
|
||||
<li>This Zulip server is configured as a production server.</li>
|
||||
<li>
|
||||
<code>DevAuthBackend</code> is disabled in
|
||||
<code>AUTHENTICATION_BACKENDS</code> in
|
||||
<code>{{ auth_settings_path }}</code>.
|
||||
</li>
|
||||
<li>
|
||||
You disabled this authentication backend in
|
||||
<a href="/help/configure-authentication-methods">this realm’s
|
||||
authentication settings</a>.
|
||||
</li>
|
||||
</ul>
|
||||
{% endblock %}
|
||||
28
templates/zerver/config_error/discord.html
Normal file
28
templates/zerver/config_error/discord.html
Normal file
@@ -0,0 +1,28 @@
|
||||
{% extends "zerver/config_error/social-container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
You are attempting to use the <strong>Discord auth backend</strong>, but it
|
||||
is not properly configured. To configure, please check the following:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
You have added
|
||||
<code>{{ root_domain_url }}/complete/discord/</code> as the callback URL
|
||||
in the OAuth application in Discord Developer Portal. You can register
|
||||
OAuth apps at <a href="https://discord.com/developers/applications">Discord
|
||||
Developer Portal</a>.
|
||||
</li>
|
||||
<li>
|
||||
You have set <code>{{ client_id_key_name }}</code> in
|
||||
<code>{{ auth_settings_path }}</code> and
|
||||
<code>social_auth_discord_secret</code> in
|
||||
<code>{{ secrets_path }}</code> with the values from your OAuth
|
||||
application.
|
||||
</li>
|
||||
<li>
|
||||
Navigate back to the login page and attempt the Discord auth flow again.
|
||||
</li>
|
||||
</ul>
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
28
templates/zerver/config_error/github.html
Normal file
28
templates/zerver/config_error/github.html
Normal file
@@ -0,0 +1,28 @@
|
||||
{% extends "zerver/config_error/social-container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
You are attempting to use the <strong>GitHub auth backend</strong>, but it
|
||||
is not properly configured. To configure, please check the following:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
You have added
|
||||
<code>{{ root_domain_url }}/complete/github/</code> as the callback URL
|
||||
in the OAuth application in GitHub. You can create OAuth apps from
|
||||
<a href="https://github.com/settings/developers">GitHub’s developer
|
||||
site</a>.
|
||||
</li>
|
||||
<li>
|
||||
You have set <code>{{ client_id_key_name }}</code> in
|
||||
<code>{{ auth_settings_path }}</code> and
|
||||
<code>social_auth_github_secret</code> in
|
||||
<code>{{ secrets_path }}</code> with the values from your OAuth
|
||||
application.
|
||||
</li>
|
||||
<li>
|
||||
Navigate back to the login page and attempt the GitHub auth flow again.
|
||||
</li>
|
||||
</ul>
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
28
templates/zerver/config_error/gitlab.html
Normal file
28
templates/zerver/config_error/gitlab.html
Normal file
@@ -0,0 +1,28 @@
|
||||
{% extends "zerver/config_error/social-container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
You are attempting to use the <strong>GitLab auth backend</strong>, but it
|
||||
is not properly configured. To configure, please check the following:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
You have added
|
||||
<code>{{ root_domain_url }}/complete/gitlab/</code> as the callback URL
|
||||
in the OAuth application in GitLab. You can register OAuth apps at
|
||||
<a href="https://gitlab.com/profile/applications">GitLab
|
||||
applications</a>.
|
||||
</li>
|
||||
<li>
|
||||
You have set <code>{{ client_id_key_name }}</code> in
|
||||
<code>{{ auth_settings_path }}</code> and
|
||||
<code>social_auth_gitlab_secret</code> in
|
||||
<code>{{ secrets_path }}</code> with the values from your OAuth
|
||||
application.
|
||||
</li>
|
||||
<li>
|
||||
Navigate back to the login page and attempt the GitLab auth flow again.
|
||||
</li>
|
||||
</ul>
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
31
templates/zerver/config_error/google.html
Normal file
31
templates/zerver/config_error/google.html
Normal file
@@ -0,0 +1,31 @@
|
||||
{% extends "zerver/config_error/social-container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
You are attempting to use the <strong>Google auth backend</strong>, but it
|
||||
is not properly configured. To configure, please check the following:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
You have created a Google OAuth2 client and enabled the Identity Toolkit
|
||||
API. You can create OAuth2 apps at
|
||||
<a href="https://console.developers.google.com">the Google developer
|
||||
console</a>.
|
||||
</li>
|
||||
<li>
|
||||
You have configured your OAuth2 client to allow redirects to your
|
||||
server’s Google auth URL:
|
||||
<code>{{ root_domain_url }}/complete/google/</code>.
|
||||
</li>
|
||||
<li>
|
||||
You have set <code>{{ client_id_key_name }}</code> in
|
||||
<code>{{ auth_settings_path }}</code> and
|
||||
<code>social_auth_google_secret</code> in
|
||||
<code>{{ secrets_path }}</code>.
|
||||
</li>
|
||||
<li>
|
||||
Navigate back to the login page and attempt the Google auth flow again.
|
||||
</li>
|
||||
</ul>
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
9
templates/zerver/config_error/ldap.html
Normal file
9
templates/zerver/config_error/ldap.html
Normal file
@@ -0,0 +1,9 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
{% trans %}
|
||||
You are trying to log in using LDAP without creating an
|
||||
organization first. Please use EmailAuthBackend to create
|
||||
your organization and then try again.
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
8
templates/zerver/config_error/oidc.html
Normal file
8
templates/zerver/config_error/oidc.html
Normal file
@@ -0,0 +1,8 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
{# TODO: Improve the config error page for OIDC #}
|
||||
<p>
|
||||
The OpenID Connect backend is not configured correctly.
|
||||
</p>
|
||||
{% endblock %}
|
||||
92
templates/zerver/config_error/proxy.html
Normal file
92
templates/zerver/config_error/proxy.html
Normal file
@@ -0,0 +1,92 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
{% macro setting() -%}
|
||||
{%- if helm_config -%}
|
||||
<code>zulip.environment.LOADBALANCER_IPS</code> in your Helm values
|
||||
{%- elif docker_config -%}
|
||||
<code>LOADBALANCER_IPS</code> in your Docker image's environment
|
||||
{%- else -%}
|
||||
<code>ips</code> in the <code>[loadbalancer]</code> section of <code>/etc/zulip/zulip.conf</code>
|
||||
{%- endif -%}
|
||||
{%- endmacro %}
|
||||
|
||||
{% block error_body %}
|
||||
|
||||
{% if not current_proxies and not x_forwarded_for %}
|
||||
|
||||
<p>
|
||||
You have not configured any reverse proxies in {{ setting() }},
|
||||
and an HTTP request was received without any reverse proxy
|
||||
headers. Zulip requires that all client traffic to it be over
|
||||
HTTPS. Since you have configured Zulip itself to be served over
|
||||
HTTP, it must be placed behind a proxy which does TLS termination.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You must configure a reverse proxy in front of Zulip which serves
|
||||
traffic over HTTPS, and configure Zulip to trust that proxy, by
|
||||
adding its IP to {{ setting() }}. See our <a href="https://zulip.readthedocs.io/en/stable/production/reverse-proxies.html"
|
||||
>documentation about deploying behind reverse proxies</a> for more
|
||||
details.
|
||||
</p>
|
||||
|
||||
{% elif not current_proxies %}
|
||||
|
||||
<p>
|
||||
You have not configured any reverse proxies in {{ setting() }},
|
||||
but reverse proxy headers were detected in a request from
|
||||
<code>{{ remote_addr }}</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Add <code>{{ remote_addr }}</code> to {{ setting() }} and restart
|
||||
your Zulip server. See
|
||||
our <a href="https://zulip.readthedocs.io/en/stable/production/reverse-proxies.html"
|
||||
>documentation about deploying behind reverse proxies</a> for more
|
||||
details.
|
||||
</p>
|
||||
|
||||
{% elif not x_forwarded_proto %}
|
||||
|
||||
<p>
|
||||
You have configured reverse proxies (<code>{{ current_proxies }}</code>),
|
||||
and traffic is being served through them, but the remote proxy did
|
||||
not send an <code>X-Forwarded-Proto</code> header.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please read our <a href="https://zulip.readthedocs.io/en/stable/production/reverse-proxies.html"
|
||||
>documentation about configuring your reverse proxy</a>, and
|
||||
configure your proxy to send an <code>X-Forwarded-Proto</code>
|
||||
header.
|
||||
</p>
|
||||
|
||||
{% else %}
|
||||
|
||||
<p>
|
||||
You have configured reverse proxies (<code>{{ current_proxies }}</code>),
|
||||
but this request did not come from a matching IP address -- it
|
||||
came from <code>{{ remote_addr }}</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You should update {{ setting() }} to include <code>{{ remote_addr }}</code>,
|
||||
and restart your Zulip server. See our <a href="https://zulip.readthedocs.io/en/stable/production/reverse-proxies.html"
|
||||
>documentation about deploying behind reverse proxies</a> for more
|
||||
details.
|
||||
</p>
|
||||
|
||||
{% endif %}
|
||||
|
||||
<hr />
|
||||
|
||||
<h2>Request headers:</h2>
|
||||
|
||||
<pre>
|
||||
{% for item in all_headers -%}
|
||||
{% if item[1] != "" -%}
|
||||
{{ item[0] }}: {{ item[1] }}
|
||||
{% endif -%}
|
||||
{% endfor -%}
|
||||
</pre>
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,9 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
{% trans doc_url="https://zulip.readthedocs.io/en/latest/production/mobile-push-notifications.html" %}
|
||||
This server is not configured to use push notifications. For instructions on how to
|
||||
configure push notifications, please see the
|
||||
<a href="{{ doc_url }}">documentation</a>.
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,8 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
Authentication via the REMOTE_USER header is
|
||||
disabled in `/etc/zulip/settings.py`.
|
||||
</p>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,7 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
The REMOTE_USER header is not set.
|
||||
</p>
|
||||
{% endblock %}
|
||||
15
templates/zerver/config_error/saml.html
Normal file
15
templates/zerver/config_error/saml.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
SAML authentication is either not enabled or misconfigured. Have a look at
|
||||
our <a href="https://zulip.readthedocs.io/en/latest/production/authentication-methods.html#SAML">setup guide</a>.
|
||||
</p>
|
||||
{% if development_environment %}
|
||||
<p>
|
||||
See also the
|
||||
<a href="https://zulip.readthedocs.io/en/latest/development/authentication.html#saml">SAML guide</a>
|
||||
for the development environment.
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
26
templates/zerver/config_error/smtp.html
Normal file
26
templates/zerver/config_error/smtp.html
Normal file
@@ -0,0 +1,26 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
<p>
|
||||
It appears there are problems with the
|
||||
email configuration.
|
||||
</p>
|
||||
{% if not development_environment %}
|
||||
<p>
|
||||
See <code>/var/log/zulip/errors.log</code> for more
|
||||
details on the error.
|
||||
</p>
|
||||
<p>
|
||||
You may also want to test your email configuration,
|
||||
as described in the
|
||||
<a href="https://zulip.readthedocs.io/en/latest/production/email.html">Production installation docs</a>.
|
||||
</p>
|
||||
{% else %}
|
||||
<p>
|
||||
Please have a look at our
|
||||
<a target="_blank" rel="noopener noreferrer" href="https://zulip.readthedocs.io/en/latest/subsystems/email.html#development-and-testing"> setup guide</a>
|
||||
for forwarding emails sent in development
|
||||
environment to an email account.
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
17
templates/zerver/config_error/social-container.html
Normal file
17
templates/zerver/config_error/social-container.html
Normal file
@@ -0,0 +1,17 @@
|
||||
{% extends "zerver/config_error/container.html" %}
|
||||
|
||||
{% block error_content %}
|
||||
{% if development %}
|
||||
<p>
|
||||
For more information, have a look at the
|
||||
<a href="https://zulip.readthedocs.io/en/latest/development/authentication.html#{{ social_backend_name }}">authentication setup guide</a>
|
||||
for the development environment.
|
||||
</p>
|
||||
{% else %}
|
||||
<p>
|
||||
For more information, have a look at our
|
||||
<a href="https://zulip.readthedocs.io/en/latest/production/authentication-methods.html">authentication setup guide</a>
|
||||
and the comments in <code>{{ settings_comments_path }}</code>.
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user