Commit Graph

760 Commits

Author SHA1 Message Date
Infi da62bba946 feat: move voice chat to experiments and improve UI, schemas
Signed-off-by: Infi <infi@infi.sh>
2025-10-12 14:21:37 +02:00
Infi 5c49d95880 fix: update changelog url for new repo
Signed-off-by: Infi <infi@infi.sh>
2025-10-12 01:22:56 +02:00
Infi 249733a5a6 fix: crash if changelog cannot be reached
Signed-off-by: Infi <infi@infi.sh>
2025-10-12 01:22:42 +02:00
Infi c64d4e9602 feat: include cloudflare trust anchor
Signed-off-by: Infi <infi@infi.sh>
2025-10-12 01:22:23 +02:00
Infi ba577e8e08 fix: do not include /app for STOAT_WEB_APP
Signed-off-by: Infi <infi@infi.sh>
2025-10-12 00:36:33 +02:00
Infi 0b80f648c5 feat: optimise logo placement
Signed-off-by: Infi <infi@infi.sh>
2025-10-05 20:23:37 +02:00
Infi d49f2fc291 feat: rebrand
Signed-off-by: Infi <infi@infi.sh>
2025-10-05 19:10:49 +02:00
Infi ffb4886a79 fix: crash when user card avatar cannot be loaded
Signed-off-by: Infi <infi@infi.sh>
2025-10-05 19:10:02 +02:00
Infi 37aaa8f49e fix: rename default theme to stoat
Signed-off-by: Infi <infi@infi.sh>
2025-10-05 19:08:25 +02:00
Infi 8a01d595fb feat: rename
Signed-off-by: Infi <infi@infi.sh>
2025-10-03 15:39:34 +02:00
Infi c1730c3a17 feat(telecom): init
Signed-off-by: Infi <infi@infi.sh>
2025-09-24 00:24:05 +02:00
Infi 14353c7f7c feat(labs): fm test screen/-s
Signed-off-by: Infi <infi@infi.sh>
2025-08-24 04:16:57 +02:00
Infi f8c9127d15 feat: set the stage for the third and final markdown library
Signed-off-by: Infi <infi@infi.sh>
2025-08-22 00:41:40 +02:00
Infi 9cd738fdce fix: use proper name
Signed-off-by: Infi <infi@infi.sh>
2025-08-21 19:43:25 +02:00
Infi e4d58120aa fix: only use vm strict mode in debug
Signed-off-by: Infi <infi@infi.sh>
2025-08-21 19:37:46 +02:00
Infi 6ea094e1b5 feat: apply vm strict mode
log penalty, may be adjusted as needed

Signed-off-by: Infi <infi@infi.sh>
2025-08-21 19:35:36 +02:00
Infi 79dca0074d feat(labs): mystery card sandbox
Signed-off-by: Infi <infi@infi.sh>
2025-08-02 20:50:30 +02:00
Infi d71650225b fix: unbounded array accesses in channelscreen
Signed-off-by: Infi <infi@infi.sh>
2025-08-02 20:49:20 +02:00
Infi d80b6c8529 feat: use text autosize in user card
Signed-off-by: Infi <infi@infi.sh>
2025-08-02 19:34:47 +02:00
Infi 9eb985d243 fix: crash for unknown licence
Signed-off-by: Infi <infi@infi.sh>
2025-08-02 00:47:49 +02:00
Infi a92a07e2ed feat: geo support
Signed-off-by: Infi <infi@infi.sh>
2025-07-26 07:12:29 +02:00
Infi e0decd0d7c feat: update icon set
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 15:48:46 +02:00
Infi 6bfe417b92 feat: update system messages design
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 04:32:26 +02:00
Infi 3cf7b84442 chore: remove media conversations variates
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 03:28:20 +02:00
Infi 684970ca32 chore: take out voice chat
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 03:09:05 +02:00
Infi dafb23daed chore: reconcile vc 2.0 and dev
Signed-off-by: Infi <infi@infi.sh>
2025-07-23 02:49:51 +02:00
Infi efa103c5e5 Merge branch 'feat/voice-chats-2.0' into dev
# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/chat/revolt/api/internals/Permissions.kt
#	app/src/main/java/chat/revolt/screens/chat/views/FriendsScreen.kt
2025-07-23 02:23:36 +02:00
Infi 168356afdc fix: use non-truncated ULIDs as notification tags and constant notification IDs
This means there is now a zero chance of collision.

Signed-off-by: Infi <infi@infi.sh>
2025-07-07 23:33:55 +02:00
Infi 73a2d6cf17 feat: retry on 5xx and exceptions
Signed-off-by: Infi <infi@infi.sh>
2025-07-07 21:45:48 +02:00
Infi 2d8e9c3804 feat(experiment): server identity options
Signed-off-by: Infi <infi@infi.sh>
2025-07-02 23:34:03 +02:00
Infi 62a9a6c022 feat: mass and role mentions
Signed-off-by: Infi <infi@infi.sh>
2025-07-02 02:57:53 +02:00
Infi a9e22bcb98 fix(UserOverview): better display name detection
Signed-off-by: Infi <infi@infi.sh>
2025-06-28 03:14:41 +02:00
Infi c6cd473bd5 feat: support interactions
Signed-off-by: Infi <infi@infi.sh>
2025-06-28 03:11:07 +02:00
Infi a8065151af feat: SettingsIcon composable
will be useful later

Signed-off-by: Infi <infi@infi.sh>
2025-06-28 02:30:17 +02:00
Infi 1b63b04fde feat: role mentions
Signed-off-by: Infi <infi@infi.sh>
2025-06-28 02:29:03 +02:00
Infi 0d2b037a6f feat: adding friends
Signed-off-by: Infi <infi@infi.sh>
2025-06-13 03:27:42 +02:00
Infi a11864ba0d chore: remove stray (log-)cat
Signed-off-by: Infi <infi@infi.sh>
2025-06-11 04:32:46 +02:00
Infi a7c1a20fbc feat: spoilered images (send and recv)
Signed-off-by: Infi <infi@infi.sh>
2025-06-11 04:31:15 +02:00
Infi 740d693be4 feat: basic livekit/voice chat impl
Signed-off-by: Infi <infi@infi.sh>
2025-05-31 21:51:13 +02:00
Infi afba6f9ecf feat: permission management for voice chat
Signed-off-by: Infi <infi@infi.sh>
2025-05-31 20:15:23 +02:00
Infi 2b752fefbc feat: full edge to edge in chat router
Signed-off-by: Infi <infi@infi.sh>
2025-05-29 21:32:21 +02:00
Infi ade9e03a9d fix: deduplicate messages during grouping
Signed-off-by: Infi <infi@infi.sh>
2025-05-29 20:03:14 +02:00
Infi 9563ea6cce fix: tint meta key with content colour
in physical keyboard spark

Signed-off-by: Infi <infi@infi.sh>
2025-05-17 09:18:48 +02:00
Infi 14522fd6f3 feat: basic implementation of voice channel overlay
Signed-off-by: Infi <infi@infi.sh>
2025-05-04 04:58:22 +02:00
Infi aab658eccc Merge branch 'dev' into feat/voice-chats-2.0 2025-05-04 02:27:19 +02:00
Infi bdd706fda5 fix: skip partially expanded for user card sheet from overview
Signed-off-by: Infi <infi@infi.sh>
2025-05-04 02:25:22 +02:00
Infi 2c233d30ca feat: join call route
Signed-off-by: Infi <infi@infi.sh>
2025-04-27 20:24:06 +02:00
Infi fd8d22b170 feat: early definition of ready event with voice state
Signed-off-by: Infi <infi@infi.sh>
2025-04-27 20:23:53 +02:00
Infi 12b08edaf0 chore: add (temporary) api url property and LK compose components
Signed-off-by: Infi <infi@infi.sh>
2025-04-27 20:23:00 +02:00
Infi 88619b044a feat: use livekit compatible root schema
Signed-off-by: Infi <infi@infi.sh>
2025-04-26 00:59:01 +02:00
Infi 8156a5b28c feat: show swipe to reply spark to upgrading users
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 22:39:32 +02:00
Infi c7791716c5 feat: forgot password & reverify links in login
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 22:14:50 +02:00
Infi 47b64bdf39 fix: clear typing users on reconnect
if they are no longer typing by the time we reconnected they will show as typing indefinitely

Signed-off-by: Infi <infi@infi.sh>
2025-04-25 21:59:03 +02:00
Infi a8ce409b54 fix: do not show swipe to reply if drawer is present and open
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 21:49:34 +02:00
Infi 3c5c7bc30a feat: for server owners, add a temporary shortcut to the web app for server settings
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 21:21:55 +02:00
Infi ddb010cf55 fix: make whole server overview sheet scrollable, not just info & description
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 21:02:25 +02:00
Infi b0b7bbad1e fix: make server overview sheet scrollable
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 20:59:45 +02:00
Infi 6ab8dccc11 fix: skip partially expanded state for server overview
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 20:59:29 +02:00
Infi 48e63e549a feat: new add server sheet with server creation
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 20:55:13 +02:00
Infi 67816d9cfe fix: issue with draft content not applying correctly
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 16:49:11 +02:00
Infi 47890e3e02 fix: remove debug-only logs that are no longer useful
Signed-off-by: Infi <infi@infi.sh>
2025-04-25 16:45:45 +02:00
Infi defe13288d feat: use new cdn url
Signed-off-by: Infi <infi@infi.sh>
2025-04-24 23:12:28 +02:00
Infi 5f70da854e style: rename .components to .composables
Compose convention is to say composables; previous name is a holdover from React

Signed-off-by: Infi <infi@infi.sh>
2025-04-17 00:58:20 +02:00
Infi c88391e5f0 fix: make some modal sheets always-expanded
Signed-off-by: Infi <infi@infi.sh>
2025-04-17 00:54:49 +02:00
Infi 79d83f3be2 feat: use different wording for quick reply none
Signed-off-by: Infi <infi@infi.sh>
2025-04-13 16:32:13 +02:00
Infi 47d4ecd0a6 feat: swipe to reply spark (not used yet)
Signed-off-by: Infi <infi@infi.sh>
2025-04-13 16:31:49 +02:00
Infi e2f6b6d697 feat: new strings for upcoming spark
Signed-off-by: Infi <infi@infi.sh>
2025-04-11 21:28:57 +02:00
Infi 4bd2072f2d fix: error handling for user buttons
Signed-off-by: Infi <infi@infi.sh>
2025-04-11 21:05:41 +02:00
Infi 5724680c54 fix: websocket disconnect due to missing field
used to crash because status was claimed to not be optional (when status = "None" is is however absent)

Signed-off-by: Infi <infi@infi.sh>
2025-04-11 20:57:50 +02:00
Infi f680ad9a7c fix: index out of bounds when friends open on startup
Signed-off-by: Infi <infi@infi.sh>
2025-04-11 20:56:17 +02:00
Infi 4acc42294c feat: tweak slide to reply animation
Signed-off-by: Infi <infi@infi.sh>
2025-04-11 18:37:16 +02:00
Infi 5b8333490b style: extract easing tokens into separate file
Signed-off-by: Infi <infi@infi.sh>
2025-04-03 00:21:35 +02:00
Infi 5d5744e180 feat: finish swipe-to-reply impl
Signed-off-by: Infi <infi@infi.sh>
2025-03-29 03:44:57 +01:00
Infi df3a1ab26f feat: swipe to reply
Signed-off-by: Infi <infi@infi.sh>
2025-03-27 03:03:52 +01:00
Infi 922ca6b874 fix: newly arrived messages dont show
Signed-off-by: Infi <infi@infi.sh>
2025-03-27 02:02:18 +01:00
Infi f01074b126 fix: default should be false here
Signed-off-by: Infi <infi@infi.sh>
2025-03-26 23:43:42 +01:00
Infi 5cd247c2f3 feat(polar): begin convo screen
Signed-off-by: Infi <infi@infi.sh>
2025-03-25 00:57:05 +01:00
Infi 189df69580 fix: hardcoded string where it shouldve been a resource
Signed-off-by: Infi <infi@infi.sh>
2025-03-24 23:01:40 +01:00
Infi 8f4037830e fix: marking channels as unread
Signed-off-by: Infi <infi@infi.sh>
2025-03-24 13:07:36 +01:00
Infi 11439bf987 feat: show restart hint when toggling some experiments
Signed-off-by: Infi <infi@infi.sh>
2025-03-24 12:58:16 +01:00
Infi c3a4c5654a feat: build basic UI skeleton
Signed-off-by: Infi <infi@infi.sh>
2025-03-24 12:49:57 +01:00
Infi 29b6e45cb2 fix:
Signed-off-by: Infi <infi@infi.sh>
2025-03-23 05:26:25 +01:00
Infi 5d3ac27f54 chore: it appears we unironically had an unused screen all this time
Signed-off-by: Infi <infi@infi.sh>
2025-03-23 05:24:57 +01:00
Infi 0eaa272054 feat: add polar experiment
Signed-off-by: Infi <infi@infi.sh>
2025-03-23 04:35:33 +01:00
Infi d0ccb4b568 fix: socket related crash
Signed-off-by: Infi <infi@infi.sh>
2025-03-22 22:47:19 +01:00
Infi 3130840957 feat: autofill in register screen
Signed-off-by: Infi <infi@infi.sh>
2025-03-21 20:21:22 +01:00
Infi 8b495f78dd feat: autofill in login screen
Signed-off-by: Infi <infi@infi.sh>
2025-03-21 20:17:20 +01:00
Infi 79836c82ad chore: upgrade dependencies
Signed-off-by: Infi <infi@infi.sh>
2025-03-21 20:17:08 +01:00
Infi 2ea495f401 chore: do not show "today" next to today timestamps
Signed-off-by: Infi <infi@infi.sh>
2025-03-21 18:57:34 +01:00
Infi 879ddf03d6 fix: colour related out of bounds crashes
Signed-off-by: Infi <infi@infi.sh>
2025-03-11 00:44:32 +01:00
Infi 34bb7bd96b chore: remove invalid kb link
Signed-off-by: Infi <infi@infi.sh>
2025-03-09 22:47:29 +01:00
Infi a40e677c64 feat: add a splash colour on ancient devices
Signed-off-by: Infi <infi@infi.sh>
2025-03-08 22:34:07 +01:00
Infi aae63df08e fix: fix splashscreen issues by removing it on Android<12
Signed-off-by: Infi <infi@infi.sh>
2025-03-08 22:23:56 +01:00
Infi e117bf4b74 feat: compose-ify the message field
Signed-off-by: Infi <infi@infi.sh>
2025-03-08 22:23:56 +01:00
Infi 6918f7b9fc feat(labs): new sandboxes
Signed-off-by: Infi <infi@infi.sh>
2025-03-08 22:23:56 +01:00
Revolt CI 32398e8d99
Translations update from Weblate (#9)
* chore: update translations [no ci]

Co-authored-by: Abdo El-Sayed <3bdosaid12@gmail.com>
Co-authored-by: Chauchau cat <tesutoero@gmail.com>
Co-authored-by: Derek Steven FLores <31_fd141233@dist60.net>
Co-authored-by: DxrkUp <hothotmail7@gmail.com>
Co-authored-by: GGLVXD <gglvmax@gmail.com>
Co-authored-by: Matheus Lydio <mateuslydio2014@gmail.com>
Co-authored-by: Matias Vaz <vaz.mmv@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.revolt.chat/projects/revolt/android/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/ar/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/es/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/ja/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/lv/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/mwl/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/nl/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/pt/
Translation: Revolt/Android

* Deleted translation using Weblate (1337 (leet))

---------

Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Abdo El-Sayed <3bdosaid12@gmail.com>
Co-authored-by: Chauchau cat <tesutoero@gmail.com>
Co-authored-by: Derek Steven FLores <31_fd141233@dist60.net>
Co-authored-by: DxrkUp <hothotmail7@gmail.com>
Co-authored-by: GGLVXD <gglvmax@gmail.com>
Co-authored-by: Matheus Lydio <mateuslydio2014@gmail.com>
Co-authored-by: Matias Vaz <vaz.mmv@gmail.com>
Co-authored-by: Infi <weblate@infi.sh>
2025-03-08 22:23:41 +01:00
Revolt CI ec7872105a
chore: update translations [no ci] (#8)
Translate-URL: https://translate.revolt.chat/projects/revolt/android/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/ar/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/be/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/bn/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/ca/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/da/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/de/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/el/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/es/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/fa/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/fil/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/fr/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/gl/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/id/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/it/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/ja/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/leet/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/lt/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/lv/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/mwl/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/pl/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/pt/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/pt_BR/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/ro/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/ru/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/tr/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/uk/
Translate-URL: https://translate.revolt.chat/projects/revolt/android/zh_Hans/
Translation: Revolt/Android

Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: 3124 <pxe1801@gmail.com>
Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
Co-authored-by: Adrián <adrigamer2950@gmail.com>
Co-authored-by: Alexandra Glazko <lenify@tutanota.com>
Co-authored-by: Andiv <div2005.kk@gmail.com>
Co-authored-by: Axinux <theaxinux@gmail.com>
Co-authored-by: Bread-Chan <bread-chan@users.noreply.translate.revolt.chat>
Co-authored-by: Clevor <weblate.synopsis918@passinbox.com>
Co-authored-by: Clément <clementjudoboy@gmail.com>
Co-authored-by: Cynycal2003 <soumyajitdas2712@gmail.com>
Co-authored-by: Deo Dorqnt <yigitcankocabiyik@gmail.com>
Co-authored-by: DevEvil <devevil99@gmail.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Evgeny Dolgov <mgdolgov@mail.ru>
Co-authored-by: Francisco Silva <fidde_2003@hotmail.com>
Co-authored-by: GGLVXD <gglvmax@gmail.com>
Co-authored-by: Hokiper <Hokiper@users.noreply.weblate.insrt.uk>
Co-authored-by: Illy The Magical Sorcerer <caioaguiarmendes74@gmail.com>
Co-authored-by: Infi <weblate@infi.sh>
Co-authored-by: John Doe <rosenkvarts@proton.me>
Co-authored-by: João Victhor <joangarcez2100@protonmail.com>
Co-authored-by: Kasahe <anissaa4648@gmail.com>
Co-authored-by: Kelcey <kolb.rodrigue@gmail.com>
Co-authored-by: Keriz Alper <kerizalper@gmail.com>
Co-authored-by: Lantos Devment <huskar-cortezz2020@mail.ru>
Co-authored-by: Leo Lacarota <leolacarota@gmail.com>
Co-authored-by: LisoMandiy <lisomandiy@gmail.com>
Co-authored-by: Loïc Bréard <hades785@gmail.com>
Co-authored-by: Matheus Lydio <mateuslydio2014@gmail.com>
Co-authored-by: Matias Vaz <vaz.mmv@gmail.com>
Co-authored-by: Matisse <gwendolinelebouedec@gmail.com>
Co-authored-by: Maxim <justanobody@internet.ru>
Co-authored-by: Mehmet Yavuz <luw1337@gmail.com>
Co-authored-by: Melih DUMAN <melihdmn1864@gmail.com>
Co-authored-by: Mevlüt ŞAHİN <mevltxsahnexe@gmail.com>
Co-authored-by: Mevlüt ŞAHİN <mevlutxsahn.exe@gmail.com>
Co-authored-by: Musab z <izmusabz@gmail.com>
Co-authored-by: Nicolai <nilarsen@proton.me>
Co-authored-by: Paul P <ghostcode920mail@gmail.com>
Co-authored-by: Paweł B <mail@pawelek.ml>
Co-authored-by: Romain NEIL <contact@romain-neil.fr>
Co-authored-by: Roni <roniibusiness@gmail.com>
Co-authored-by: Sergei <fantiksquad@pubgm-game.ru>
Co-authored-by: Thomas Widyantoko <thomaswidy123@gmail.com>
Co-authored-by: Umut <umutandvassy61@gmail.com>
Co-authored-by: VEYSEL KÜÇÜK YILDIRIM <veyselkckyldrm@gmail.com>
Co-authored-by: Vallmer <Valmerka@yandex.ru>
Co-authored-by: Vinnscher <dvetisyachipyat@gmail.com>
Co-authored-by: Víctor Z <bellzebu@hotmail.com>
Co-authored-by: Zee <mainedcm22@yahoo.com>
Co-authored-by: _0x90#8633 <unknowncommand01@gmail.com>
Co-authored-by: arceus <arceusxx@protonmail.com>
Co-authored-by: deluxghost <deluxghost@gmail.com>
Co-authored-by: fame <rulitbara@gmail.com>
Co-authored-by: kevans <albaapazpi@gmail.com>
Co-authored-by: mexish <mexish@duck.com>
Co-authored-by: oupson <aymeric.serra@proton.me>
Co-authored-by: rei <rei.giga1725@gmail.com>
Co-authored-by: searinminecraft <scripterrookie12@gmail.com>
Co-authored-by: shreef <hoseen4games@gmail.com>
Co-authored-by: yococo <yococo2@gmail.com>
Co-authored-by: Дмитрий <matrx_1989@mail.ru>
2025-02-18 10:16:47 +01:00
Infi b9d89c017a feat: remove outdated experiment
Signed-off-by: Infi <infi@infi.sh>
2025-02-13 23:53:58 +01:00
Infi 016fb34ee5 feat: adjust changelog logic
Signed-off-by: Infi <infi@infi.sh>
2025-02-13 22:57:44 +01:00
Infi 9f1916d438 fix: android app links
Signed-off-by: Infi <infi@infi.sh>
2025-02-08 17:09:52 +01:00