It is more likely that a user for whose language no translation exists
can read english than danish.
The fallback to english was apparently introduced in c58ce845, though it
is possible that `best_match` did that internally before.
Fixes#131.
`nc` (from netcat) is required for the healthcheck. In
c1cf6ab1e5, the installation was
erroneously moved to the builder image, instead of the final image, so
it was missing since then from the actual application image, causing it
to always show as unhealthy.
Fixes#126.
Dependencies are not necessarily packaged for all architectures. In some cases
(such as aiohttp, and others, on ARM) pip will attempt to compile the
dependency from scratch. Since switching to multi-stage builds, we have been
installing these without a compiler present which caused the build to fail on
ARM architectures.
This commit temporarily installs build-essential packages while running pip,
then removes them again afterwards.
This allows user agents to do smart things like filling in the current
password only where it makes sense or integrate nicely with a password
manager.
Fixes#94.
It was found during testing that some user agents cache aggressively
even between switches of the UI language. To properly indicate that the
pages actually depend on that information, we add the correct Vary
header.
Fixes#106.
Forgetting to run that causes weblate (or other translation tools) to
show outdated strings and not import new strings, which is bad for the
collaboration.
Fixes#118.
Dependency versions are generally not useful, unless you are developing
or otherwise outside of a normal release situation: If you are on a
normal release, we can figure out the dep versions by looking at the
docker image.
To reduce the amount of information displayed and the amount of
information which needs to be conveyed in case of problems, we only show
the web portal and prosody versions to admins, unless debug mode is
enabled.
The behaviour that versions are only shown to logged in admins (unless
debug mode is enabled) remains unchanged.
Fixes#115.
This is more robust, as it indicates the request was successfully
authenticated and processed, but that there is no data to export. This is
different from the URL not existing (which would also happen if the module was
unavailable, which should be a notable error instead).
Found in production. Yes really. Due to some borked LXC integration, my
snikket host reports
```
MemTotal: 9007199254740991 kB
MemFree: 9007199254690591 kB
MemAvailable: 9007199254690591 kB
```
That is more than 1024 TiB, so it tries to go further up in the scale,
which then causes a Guru Meditation because of the uncaught IndexError.