Commit Graph

4832 Commits

Author SHA1 Message Date
Aine
8efdfaf854
synapse-admin v0.10.3-etke17: add Contact support menu item 2024-09-25 19:15:48 +03:00
Aine
a541f51944
enable hookshot outbound webhooks 2024-09-25 15:25:31 +03:00
Aine
338e6d91c3
synapse-admin v0.10.3-etke16: Upgrade to react-admin v5, restrict actions on specific users (#3543)
* synapse-admin v0.10.3-etke15: Upgrade to react-admin v5

* v0.10.3-etke16

* fix linter

* add _auto and _custom vars

* Use 2 spaces before #noqa var-naming

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-09-24 16:58:17 +03:00
renovate[bot]
7cbef06c4f
Update vectorim/element-web Docker tag to v1.11.78 2024-09-24 13:18:25 +00:00
Slavi Pantaleev
032809a053 Adjust default openai model id for baibot (gpt-4o -> gpt-4o-2024-08-06)
`gpt-4o` will point to `gpt-4o-2024-08-06` after 2nd of October 2024
anyway. At that time, we can revert to pointing to `gpt-4o`.

The reason `gpt-4o-2024-08-06` was chosen now instead of `gpt-4o`:

- the `max_response_tokens` configuration was set to 16k, which matches
  `gpt-4o-2024-08-06`, but is too large for `gpt-4o` (max 4k)

- baibot's own configs for dynamically created agents, as well as static
  config examples use `gpt-4o-2024-08-06` and the larger
  `max_response_tokens` value
2024-09-22 12:20:26 +03:00
Slavi Pantaleev
be96be8b3c Pin baibot to v1.1.1 and add default prompt for all statically-defined agents
The playbook did not use to define a prompt for statically-defined
agents.

Since prompt variables support landed in v1.1.0
(see 2a5a2d6a4d)
it makes sense to make use of it for a better out-of-the-box experience
(see https://github.com/etkecc/baibot/issues/10).
2024-09-22 12:04:42 +03:00
David Mehren
c89c356e53
Add a global config option for Docker network MTU (#3502)
* Add a global config option for Docker network MTU

* Upgrade systemd_docker_base (v1.2.0-0 -> v1.3.0-0)

The new version includes `devture_systemd_docker_base_container_networks_driver_options`
due to 3cc7d12396

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3502

* Switch from passing matrix_playbook_docker_network_mtu to respecting devture_systemd_docker_base_container_networks_driver_options

Related to:
- 3cc7d12396
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3502

* Update all roles to versions that respect `devture_systemd_docker_base_container_networks_driver_options`

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-09-18 16:20:27 +03:00
Slavi Pantaleev
4d52880170 Upgrade matrix-alertmanager-receiver (2024.8.28 -> 2024.9.18)
Supersedes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3539

Related to https://github.com/metio/matrix-alertmanager-receiver/pull/42
2024-09-18 14:48:25 +03:00
Aine
14a31e3e40
synapse-admin v0.10.3-etke14: bulk registration works again, add ability to change avatars 2024-09-18 09:19:39 +03:00
renovate[bot]
34634f144c
Update joseluisq/static-web-server Docker tag to v2.33.0 2024-09-17 23:06:37 +00:00
Slavi Pantaleev
cf5763978b Upgrade synapse-s3-storage-provider (1.3.0 -> 1.5.0) and adapt configuration
1.3.0 fails to work against the new Synapse (v1.115.0) image.
See: https://github.com/matrix-org/synapse-s3-storage-provider/pull/114

Related to: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3535
2024-09-17 21:25:15 +03:00
renovate[bot]
605d054549
Update ghcr.io/element-hq/synapse Docker tag to v1.115.0 2024-09-17 15:15:35 +00:00
Slavi Pantaleev
aee7d2ca6c Do not use command_prefix = default for Meta bridges anymore
Seems like `default` is not a supported value and will not
make the bridge autoconfigure itself with the correct prefix anymore.

A value of `default` would be taken literally.
2024-09-17 16:16:48 +03:00
Slavi Pantaleev
d3b1060428 Fix Gmessages regression (missing homeserver.address and homeserver.domain configuration)
f9705b3323 reworked the configuration and missed wiring
these to the existing variables.
2024-09-17 16:04:39 +03:00
Slavi Pantaleev
53f3c94bef Enable backfilling for mautrix-gmessages, mautrix-signal and mautrix-slack
We'be already been going against upstream defaults and have been
enabling backfilling for a few other bridges (Messenger, Instagram, Telegram, Twitter).

Now I'm enabling backfilling by default for the remaining ones, for
consistency.
2024-09-17 09:39:35 +03:00
Slavi Pantaleev
f9705b3323 Upgrade mautrix-gmessages (v0.4.3 -> v0.5.0) and adapt configuration
Related to:
- https://github.com/mautrix/gmessages/releases/tag/v0.5.0
- https://mau.fi/blog/2024-09-mautrix-release/

It seems like the new version does not support a `/metrics` endpoint.
We skip keep the Ansible variables, but they're not doing anything.
2024-09-17 09:39:35 +03:00
Slavi Pantaleev
01e5514c4b Upgrade mautrix-meta (v0.3.2 -> v0.4.0) and adapt configuration
Related to:
- https://github.com/mautrix/meta/releases/tag/v0.4.0
- https://mau.fi/blog/2024-09-mautrix-release/

It seems like the new version does not support a `/metrics` endpoint.
We skip keep the Ansible variables, but they're not doing anything.
2024-09-17 09:39:35 +03:00
Slavi Pantaleev
626a851c82 Fix username_template potentially not being taken into account for mautrix-slack
While working on upgrading the Meta bridges to bridgev2, I've noticed
that {% raw %} and {% endraw %} on lines like that (immediately
preceding `username_template` may cause YAML indentation issues.
2024-09-17 09:39:35 +03:00
Slavi Pantaleev
52018c652f
Merge pull request #3530 from spantaleev/renovate/dock.mau.dev-mautrix-signal-0.x
Update dock.mau.dev/mautrix/signal Docker tag to v0.7.1
2024-09-17 06:36:02 +03:00
renovate[bot]
ca0abda581
Update dock.mau.dev/mautrix/slack Docker tag to v0.1.1 2024-09-16 13:07:41 +00:00
renovate[bot]
7507383a90
Update dock.mau.dev/mautrix/signal Docker tag to v0.7.1 2024-09-16 13:07:37 +00:00
renovate[bot]
3622d71d09
Update ajbura/cinny Docker tag to v4.2.1 2024-09-14 15:40:47 +00:00
Aine
97cf596683
Synapse-Admin: Add UI option to block deleted rooms from being rejoined 2024-09-14 11:06:33 +03:00
renovate[bot]
71abb52d59
Update matrixdotorg/dendrite-monolith Docker tag to v0.13.8 2024-09-13 16:39:54 +00:00
renovate[bot]
9ac29e7055
Update matrixdotorg/mjolnir Docker tag to v1.7.0 2024-09-12 18:34:27 +00:00
Slavi Pantaleev
00910248d2 Add baibot preset for Mistral 2024-09-12 21:33:39 +03:00
Slavi Pantaleev
1851973734 Add support for baibot
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3369
2024-09-12 15:19:46 +03:00
Aine
951c9c97a8
fix synapse-admin image prefix (#3521)
* fix synapse-admin image prefix

* fix typo
2024-09-12 15:14:12 +03:00
Aine
9cb3ca2f2d
add missing prefix to synapse-admin version 2024-09-12 12:13:02 +03:00
Aine
73d338d9d1
Switch Synapse-Admin to etke.cc fork (#3519)
* switch to synapse-admin fork

* Fix typo

* Close unclosed ) and reword sentence

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-09-12 11:31:12 +03:00
Slavi Pantaleev
5778e84925 Make use of media_path setting to fix media URLs for Heisenbridge
Related to:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3518
- https://github.com/hifi/heisenbridge/issues/294

With this patch, when `matrix_heisenbridge_path_prefix` is the default
one we use (`/heisenbrdige`), URLs like this are constructed:

https://matrix.DOMAIN/heisenbridge/_heisenbridge/media/SERVER_NAME/MEDIA_ID/CHECKSUM/FILENAME

If `matrix_heisenbridge_path_prefix` is set to `/`, URLs like this are constructed:

https://matrix.DOMAIN/_heisenbridge/media/SERVER_NAME/MEDIA_ID/CHECKSUM/FILENAME

Our Traefik labels support handling both cases correctly.
2024-09-12 07:48:27 +03:00
Daniel A. Maierhofer
716177d5bc Add temp suffix for container name to avoid conflict 2024-09-11 23:40:10 +02:00
renovate[bot]
a482b95149
Update ajbura/cinny Docker tag to v4.2.0 2024-09-11 14:48:21 +00:00
renovate[bot]
15127c6f52
Update vectorim/element-web Docker tag to v1.11.77 2024-09-10 16:00:59 +00:00
renovate[bot]
f98caedd98
Update ghcr.io/etkecc/honoroit Docker tag to v0.9.26 2024-09-09 08:23:59 +00:00
Slavi Pantaleev
165b24bea3 Fix container image in renovate annotation for schildichat-web
`matrix_client_schildichat_docker_image` was adjusted to use the
Github Container Registry in 171f5f84a2, but the Renovate marker was not adjusted.

Related to: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3485
2024-09-07 02:45:11 +03:00
Slavi Pantaleev
283dd6494f Switch all etke.cc links (from Gitlab to Github)
Related to https://etke.cc/news/d3uw4utq4t3_rpxicrrfqqou_ynmptqjgk95pt-3n2s/
2024-09-07 02:43:00 +03:00
Slavi Pantaleev
05b79057aa Do not add quotes around already-backtick-quoted Traefik rules
As reported in https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3451#issuecomment-2331316593

Likely the solution to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3451
2024-09-05 14:58:43 +03:00
Slavi Pantaleev
d19f93349a Upgrade Synapse (v1.113.0 -> v1.114.0) 2024-09-02 21:34:37 +03:00
renovate[bot]
98ca534ff6
Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2024.8.28 2024-08-28 06:06:35 +00:00
renovate[bot]
ced0b05925
Update vectorim/element-web Docker tag to v1.11.76 2024-08-27 13:32:49 +00:00
renovate[bot]
f94df58e9a
Update dock.mau.dev/maubot/maubot Docker tag to v0.5.0 2024-08-24 09:37:56 +00:00
Catalan Lover
3eae4384dc
Add Authenticated Media configuration options 2024-08-23 16:35:14 +02:00
Aine
d887e08376
buscarron v1.4.3 - migrated to github 2024-08-21 23:08:17 +03:00
Aine
5fac2b65cd
honoroit v0.9.25 - migrate to github 2024-08-21 21:16:49 +03:00
renovate[bot]
6def6d2887
Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2024.8.21 2024-08-21 08:17:13 +00:00
Aine
5bd11f8175
postmoogle v0.9.21 (#3489)
* postmoogle v0.9.21

* update postmoogle source code url

* update postmoogle renovate comment
2024-08-21 08:47:40 +03:00
Aine
cdc0c0e7af
fix schildichat docker image 2024-08-20 22:35:48 +03:00
renovate[bot]
335108fb8e
Update vectorim/element-web Docker tag to v1.11.75 2024-08-20 14:10:22 +00:00
Aine
171f5f84a2
migrate schildichat docker image 2024-08-20 16:30:36 +03:00
renovate[bot]
1d145e86b8
Update ghcr.io/element-hq/hydrogen-web Docker tag to v0.5.0 2024-08-20 10:47:58 +00:00
Slavi Pantaleev
e15d09819e Fix displayname_template for mautrix-slack containing {% endraw % %}
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3479#issuecomment-2294956958
2024-08-17 23:02:54 +03:00
Slavi Pantaleev
dabe46cf2f Add missing document start to matrix-appservice-double-puppet/defaults/main.yml 2024-08-17 22:55:30 +03:00
Slavi Pantaleev
2086e3efe0 Add appservice-double-puppet double-puppeting support to beeper-linkedin
Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
2024-08-17 21:25:52 +03:00
Slavi Pantaleev
48bab2f0ea Add appservice-double-puppet double-puppeting support to mautrix-gmessages
Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
2024-08-17 21:22:35 +03:00
Slavi Pantaleev
9b8fe6eadc Add appservice-double-puppet double-puppeting support to mautrix-googlechat
Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
2024-08-17 21:22:24 +03:00
Slavi Pantaleev
08c602b19c Add appservice-double-puppet double-puppeting support to mautrix-twitter
Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
2024-08-17 21:11:28 +03:00
Slavi Pantaleev
f0479dbd9e Add appservice-double-puppet double-puppeting support to mautrix-telegram
Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
2024-08-17 21:08:28 +03:00
Slavi Pantaleev
d3831ba3a5 Add appservice-double-puppet double-puppeting support to mautrix-whatsapp
Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
2024-08-17 21:04:09 +03:00
Slavi Pantaleev
fbd25ae9e9 Add appservice-double-puppet double-puppeting support to mautrix-meta-messenger/mautrix-meta-instagram
Shared Secret Auth double puppeting still works for these bridges, but
is deprecated and will go away in the future.
2024-08-17 19:31:04 +03:00
Slavi Pantaleev
77c59aaea0 Add appservice-double-puppet double-puppeting support to mautrix-discord
Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
2024-08-17 19:31:04 +03:00
Slavi Pantaleev
1722e4bd83 Switch mautrix-slack double-puppeting method (shared secret auth -> appservice-double-puppet)
Since upgrading mautrix-slack (and pinning to v0.1.0) in e4b54c37fe,
we expect double-puppeting to require the new appservice double-puppeting method.

This commit switches the mautrix-slack bridge to it.
2024-08-17 19:03:38 +03:00
Slavi Pantaleev
999f2bf8dd Switch mautrix-signal double-puppeting method (shared secret auth -> appservice-double-puppet)
Since upgrading mautrix-signal (v0.6.3 -> v0.7.0) in 76fec0b863,
we expect double-puppeting to require the new appservice double-puppeting method.

This commit switches the mautrix-signal bridge to it.
2024-08-17 19:01:43 +03:00
Slavi Pantaleev
111fa65e44 Add appservice-double-puppet service for better bridge double-puppeting
Bridges will be switched to this new method in future patches.
2024-08-17 19:00:20 +03:00
Slavi Pantaleev
e4b54c37fe Upgrade mautrix-slack, pin to v0.1.0 and adapt configuration
Related to:
- https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3479
- https://github.com/mautrix/slack/releases/tag/v0.1.0
- https://mau.fi/blog/2024-08-mautrix-release/
2024-08-17 16:43:35 +03:00
Slavi Pantaleev
76fec0b863 Upgrade mautrix-signal (v0.6.3 -> v0.7.0) and adapt configuration
Related to:
- https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3479
- https://github.com/mautrix/signal/releases/tag/v0.7.0
- https://mau.fi/blog/2024-08-mautrix-release/

It seems like the new version does not support a `/metrics` endpoint.
We skip keep the Ansible variables, but they're not doing anything.

Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3481
2024-08-17 15:58:38 +03:00
renovate[bot]
e3d489c5fe
chore(deps): update nginx docker tag to v1.27.1 2024-08-15 23:04:44 +00:00
Aine
70cbf3d5ae
add synapse-auto-compressor workaround, fixes #3397 (#3473)
* add synapse-auto-compressor workaround, fixes #3397

* Clarify what the PG-prefixed variables are for

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-08-15 11:36:48 +03:00
Slavi Pantaleev
48e021e446
Merge pull request #3469 from Michael-Hollister/michael/mmr-signing-key
Automated MMR signing key generation process
2024-08-15 09:26:55 +03:00
Slavi Pantaleev
05e813a846
Default matrix_media_repo_generate_signing_key to false in the matrix-media-repo role
No need to duplicate the same logic as in `group_vars/matrix_servers`.

Having it disabled by default in the role itself and overriding it at the playbook level (based on the selected homeserver implementation) makes more sense.
2024-08-15 09:25:08 +03:00
renovate[bot]
8a2bd345fd
chore(deps): update joseluisq/static-web-server docker tag to v2.32.2 2024-08-14 00:43:39 +00:00
Michael Hollister
56b0a72000 Apply PR feedback 2024-08-13 14:22:14 -05:00
Slavi Pantaleev
1691eaa7e5
Merge pull request #3475 from spantaleev/renovate/vectorim-element-web-1.x
chore(deps): update vectorim/element-web docker tag to v1.11.74
2024-08-13 22:19:24 +03:00
renovate[bot]
b022004adf
chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.113.0 2024-08-13 17:13:32 +00:00
renovate[bot]
e1354d505f
chore(deps): update vectorim/element-web docker tag to v1.11.74 2024-08-13 17:13:29 +00:00
Slavi Pantaleev
6bef71ebb8 Make ansible-lint happy 2024-08-10 06:37:48 +03:00
Slavi Pantaleev
9d11271d59 Initial (not yet enabled) work on Heisenbridge handling media requests at matrix.DOMAIN/heisenbridge/*
Related to:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3470
- https://github.com/hifi/heisenbridge/releases/tag/v1.15.0

During testing, it appears that Heisenbridge generated media URLs
that look like this: `{media_url}/_matrix/media/v3/download/DOMAIN/FILE_ID/FILE_NAME`.

This seems off. We were expecting `{media_url}/_heisenbridge/media/something`
(e.g. `https://matrix.DOMAIN/heisenbridge/_heisenbridge/media/something`, leading to its own media proxy),
but Heisenbridge still seems to be generating URLs destined for the homeserver's Media API.

Until we figure out why that is, `media_url` remains pointed to the homeserver URL (just like before),
so that the bot can continue operating like before.
2024-08-10 06:22:59 +03:00
renovate[bot]
5323bcc906
chore(deps): update hif1/heisenbridge docker tag to v1.15.0 2024-08-10 02:41:18 +00:00
Michael Hollister
c3fd33566d Automated MMR signing key generation process 2024-08-09 13:43:26 -05:00
Slavi Pantaleev
1184b3df02 Upgrade matrix-corporal (2.8.0 -> 3.0.0) 2024-08-08 11:59:07 +03:00
Chasethechicken
4d46b625ff
Draupnir proxy (#3313)
* Allow redircting abuse-reports to draupnir

* Document redirecting abuse-reports to draupnir via traefik

* Apply suggestions from code review

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Rename variable

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-08-08 06:41:45 +03:00
renovate[bot]
9967165722
chore(deps): update vectorim/element-web docker tag to v1.11.73 2024-08-06 15:13:31 +00:00
renovate[bot]
95e400b571
chore(deps): update ajbura/cinny docker tag to v4.1.0 2024-08-04 12:48:06 +00:00
renovate[bot]
b5473b3bd0
chore(deps): update ghcr.io/t2bot/matrix-media-repo docker tag to v1.3.7 2024-07-31 00:06:21 +00:00
Slavi Pantaleev
5f121a9fdb Upgrade Synapse (v1.111.1 -> v1.112.0) 2024-07-30 20:39:51 +03:00
Slavi Pantaleev
69ec437f82
Merge pull request #3457 from spantaleev/renovate/vectorim-element-web-1.x
chore(deps): update vectorim/element-web docker tag to v1.11.72
2024-07-30 19:50:13 +03:00
renovate[bot]
aee6101f95
chore(deps): update vectorim/element-web docker tag to v1.11.72 2024-07-30 16:26:26 +00:00
renovate[bot]
9c3c25419e
chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.111.1 2024-07-30 16:26:21 +00:00
Slavi Pantaleev
ba04bace6d
Merge pull request #3453 from spantaleev/renovate/registry.gitlab.com-etke.cc-postmoogle-0.x
chore(deps): update registry.gitlab.com/etke.cc/postmoogle docker tag to v0.9.20
2024-07-27 22:11:45 +03:00
renovate[bot]
af089b89d1
chore(deps): update registry.gitlab.com/etke.cc/postmoogle docker tag to v0.9.20 2024-07-27 18:46:39 +00:00
renovate[bot]
880daf55af
chore(deps): update registry.gitlab.com/etke.cc/honoroit docker tag to v0.9.24 2024-07-27 18:46:34 +00:00
Slavi Pantaleev
035b1c3c04 Upgrade Coturn (4.6.2-r10 -> 4.6.2-r11) 2024-07-26 15:15:51 +03:00
Slavi Pantaleev
4d9de7d58a Add matrix_synapse_usage_exporter_hostname and matrix_synapse_usage_exporter_path_prefix
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3442
2024-07-25 20:24:40 +03:00
Michael Hollister
55f869254b
Created role for synapse-usage-exporter (#3442)
* Created role for synapse-usage-exporter

* Apply suggestions from code review

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Renaming docker variables and moving synapse stats config location

* Respect devture_systemd_docker_base_docker_service_name

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-07-25 20:19:08 +03:00
renovate[bot]
e29b5323df
chore(deps): update ajbura/cinny docker tag to v4.0.3 2024-07-25 11:31:33 +00:00
Slavi Pantaleev
57eeb1be33 Upgrade Cinny (v3.2.0 -> v4.0.0) and adapt our custom nginx configuration with the new URL rewrites
Cinny includes nginx configuration which does URL rewrites now, as seen
here: https://raw.githubusercontent.com/cinnyapp/cinny/dev/docker-nginx.conf

That said, we have our own nginx configuration for Cinny, because we'd
like to run ngin as non-root and on a non-privileged port (80 -> 8080).

For this reason, we override `/etc/nginx/nginx.conf` and need to
duplicate what we see in `/etc/nginx/conf.d/default.conf` with our own
`server` block (which listens on port 8080).
2024-07-24 21:54:06 +03:00
Michael Hollister
f1dbbd3106 Added new fields to MMR config template 2024-07-23 11:29:19 -05:00
Slavi Pantaleev
18f4b8a0b6
Merge pull request #3440 from spantaleev/renovate/registry.gitlab.com-etke.cc-honoroit-0.x
chore(deps): update registry.gitlab.com/etke.cc/honoroit docker tag to v0.9.23
2024-07-23 14:25:19 +03:00
Aine
91f5731287
buscarron v1.4.2 (#3437)
* buscarron v1.4.2

* Add more spaces before comments

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-07-23 14:21:32 +03:00
renovate[bot]
98f5f1c200
chore(deps): update registry.gitlab.com/etke.cc/honoroit docker tag to v0.9.23 2024-07-23 11:21:13 +00:00