Commit graph

5879 commits

Author SHA1 Message Date
Daniel Gultsch 3350ea8b5b
ensure we are in session accepted when processing content-modify 2023-10-15 08:51:15 +02:00
Daniel Gultsch 01b44948c1
support data extraction rules
Data Extraction Rules have replaced Backup Content on Android 12
2023-10-15 08:51:14 +02:00
Outbreak2096 55551610ec Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (970 of 970 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-14 14:13:59 +00:00
Outbreak2096 26fbde5608 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-conversations/zh_Hans/
2023-10-14 14:13:59 +00:00
Outbreak2096 8edf835872 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (13 of 13 strings)

Translation: Conversations/Android App (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-conversations/zh_Hans/
2023-10-14 14:13:59 +00:00
Outbreak2096 67b10504e3 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (970 of 970 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-14 14:13:59 +00:00
nautilusx b5e7a9e7f9 Translated using Weblate (German)
Currently translated at 100.0% (970 of 970 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/de/
2023-10-14 14:13:59 +00:00
Outbreak2096 01053d1ad2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-quicksy/zh_Hans/
2023-10-14 14:13:59 +00:00
Outbreak2096 1543dee6e6 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-conversations/zh_Hans/
2023-10-14 14:13:59 +00:00
Outbreak2096 73f1c93863 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (9 of 9 strings)

Translation: Conversations/Android App (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-quicksy/zh_Hans/
2023-10-14 14:13:59 +00:00
Outbreak2096 6ab58fe1f7 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (13 of 13 strings)

Translation: Conversations/Android App (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-conversations/zh_Hans/
2023-10-14 14:13:59 +00:00
Outbreak2096 ffde9336c7 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-14 14:13:59 +00:00
Daniel Gultsch 49b0550d9b
Do not export EventReceiver
Conversations only listens for system events which do not need the receiver to
be exported.
2023-10-14 10:44:03 +02:00
Daniel Gultsch 73994bebd2
support themable icons on Android 13
closes #44
2023-10-13 22:15:03 +02:00
Daniel Gultsch 9a922ffe5d
quietly ignore mediated invites from blocked contacts 2023-10-13 17:36:12 +02:00
Daniel Gultsch 5b2444ea13
implement see-other-host stream error 2023-10-13 08:29:23 +02:00
Daniel Gultsch a40d244bf5
remove unnecessary in resolver 2023-10-12 11:59:21 +02:00
Outbreak2096 e5b915d8b4
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-12 04:08:46 +00:00
random_r 1392250ede
Translated using Weblate (Italian)
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-quicksy/it/
2023-10-11 13:53:17 +00:00
Outbreak2096 da413b3771
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-quicksy/zh_Hans/
2023-10-11 13:53:17 +00:00
Outbreak2096 1f63ec97f6
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-conversations/zh_Hans/
2023-10-11 13:53:16 +00:00
ghose 0c23f8e33a
Translated using Weblate (Galician)
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-quicksy/gl/
2023-10-11 13:53:16 +00:00
Outbreak2096 e30e0ef583
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (13 of 13 strings)

Translation: Conversations/Android App (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-conversations/zh_Hans/
2023-10-11 13:53:16 +00:00
Outbreak2096 d1b6a3ccca
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-11 13:53:16 +00:00
random_r c8b511deab
Translated using Weblate (Italian)
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/it/
2023-10-11 13:53:16 +00:00
butterflyoffire 5db067d09d
Translated using Weblate (French)
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/fr/
2023-10-11 13:53:16 +00:00
butterflyoffire 336e454f2c
Translated using Weblate (Arabic)
Currently translated at 64.6% (626 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/ar/
2023-10-11 13:53:16 +00:00
Daniel Gultsch 788565b299
upgrade to 'both' upon accepting recvonly content-add 2023-10-11 11:38:09 +02:00
Daniel Gultsch dbf71e5d54
handle senders modification via content-modify
Dino uses this to enable/disable video when a video content is already present
2023-10-10 18:47:29 +02:00
hamburger1024 8cb802e7c1
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-10 07:37:46 +00:00
Outbreak2096 458cd4bf8d
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-10 07:37:46 +00:00
Outbreak2096 3104cee602
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (13 of 13 strings)

Translation: Conversations/Android App (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-conversations/zh_Hans/
2023-10-10 07:37:46 +00:00
hamburger1024 138462f13f
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-10 07:37:46 +00:00
Outbreak2096 72aca8941a
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-10 07:37:46 +00:00
alextecplayz 7d59a2da42
Translated using Weblate (Romanian)
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/ro/
2023-10-10 07:37:46 +00:00
SomeTr 1bd6defd53
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/uk/
2023-10-10 07:37:46 +00:00
Eryk Michalak f5a57574e6
Translated using Weblate (Polish)
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/pl/
2023-10-10 07:37:46 +00:00
ghose a1edb1804e
Translated using Weblate (Galician)
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/gl/
2023-10-10 07:37:46 +00:00
gallegonovato 4121b9746d
Translated using Weblate (Spanish)
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/es/
2023-10-10 07:37:45 +00:00
nautilusx 1e898b022f
Translated using Weblate (German)
Currently translated at 100.0% (969 of 969 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/de/
2023-10-10 07:37:45 +00:00
Daniel Gultsch 39194d111c
QR code scan: take disabled accounts into consideration
when making register or add contact decision
2023-10-10 09:36:08 +02:00
Daniel Gultsch c53e035935
do not use JMI if any rtp capable device does not support it 2023-10-09 16:23:02 +02:00
Daniel Gultsch 8f014d5525
implement Private DNS (DoT)
due to limitations in the MiniDNS library this does not work when
'Validate hostname with DNSSEC' is enabled in the expert settings
2023-10-09 13:27:44 +02:00
Daniel Gultsch d3d582759f
support omemo verification in non stub transport content modifications
Dino (and this is probably correct behaviour) expects a fingerprint in the
content-add message. (and not a stub transport as indicated in the examples).

however if we start to include them we also need to encrypt and verify them
properly.
2023-10-09 13:19:26 +02:00
SomeTr 48bd845323 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-quicksy/uk/
2023-10-09 06:31:38 +00:00
Outbreak2096 1ef40377ce Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-09 06:31:38 +00:00
Arne-Brün Vogelsang 1a7e75235a Update src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java
just a space
2023-10-08 18:25:47 +00:00
Arne-Brün Vogelsang 77631c97a7 Update src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java
Add Fairphone 4 to AEC Blacklist to fix Echo problems: https://github.com/iNPUTmice/Conversations/issues/4439
2023-10-08 18:25:20 +00:00
Daniel Gultsch 1c5a1b8c71
keep order of rtp contents 2023-10-06 12:34:41 +02:00
Daniel Gultsch 541c8ba80d
modify mime type detection for shared files
add support for audiobooks
2023-10-06 12:34:13 +02:00
Daniel Gultsch 95aea4291e
don't attempt to figure out file path on Android 11+
fixes #117
2023-10-05 20:29:42 +02:00
ghose d9c9baf516
Translated using Weblate (Galician)
Currently translated at 50.0% (1 of 2 strings)

Translation: Conversations/App Store Metadata (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-quicksy/gl/
2023-10-05 14:31:26 +00:00
nautilusx 6f0ff17665
Translated using Weblate (German)
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-quicksy/de/
2023-10-05 14:31:26 +00:00
licaon-kter 8a1aa41263
Translated using Weblate (Romanian)
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-quicksy/ro/
2023-10-05 14:31:26 +00:00
licaon-kter 9ecfb7a765
Translated using Weblate (Romanian)
Currently translated at 100.0% (2 of 2 strings)

Translation: Conversations/App Store Metadata (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/app-store-metadata-conversations/ro/
2023-10-05 14:31:26 +00:00
Daniel Gultsch 601a8cb3bc
process content-modify for pending content-adds 2023-10-05 16:23:43 +02:00
Daniel Gultsch a8241c72df
use url safe jingle session ids
Movim does not like slashes (/) in jingle session ids.
When proposing a session called 'wBKabx1kRIfkgNxAShip/w' Movim will
accept (proceed) a session called 'wBKabx1kRIfkgNxAShip' which the initiator of course does not know about. (Conversations will get stuck at ringing/discovering devices)

This is likely because a click on 'Reply' (accept call) in Movim opens upa pop up window where both the full jid as well as the session id are transmitted as part of the URL.

(Full jids can contain more than on slash btw)
2023-10-04 13:30:53 +02:00
Daniel Gultsch 1b5d2151d0
warn early when SDP is likely to be invalid 2023-10-04 13:07:28 +02:00
Daniel Gultsch 6bc3cad7de
apply ice-options when adding content or restarting ice 2023-10-04 10:43:45 +02:00
Outbreak2096 a98738ae9d
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-10-04 06:42:34 +00:00
Daniel Gultsch af0f9bfd78
add fastlane description for Quicksy 2023-10-04 08:37:01 +02:00
Daniel Gultsch ef80b92c88
create fastlane folders per flavor 2023-10-04 08:30:57 +02:00
Daniel Gultsch 1aeae9c7f6
set local-only flag on ongoing call notification 2023-10-03 14:16:48 +02:00
random_r b689b46fa8 Translated using Weblate (Italian)
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/it/
2023-10-03 10:57:08 +00:00
Daniel Gultsch 8570c9f912
use more aggressive reconnect intervals during rtp session 2023-10-03 12:56:10 +02:00
Daniel Gultsch fd4b8ba188
bring back ICE Renomination via negotiation 2023-10-03 12:55:44 +02:00
Daniel Gultsch 17856a47db
hold back candidates until after content-add 2023-10-02 13:54:36 +02:00
Daniel Gultsch 7e9980d997
catch illegal state exception in TrackWrapper 2023-10-02 11:48:03 +02:00
Daniel Gultsch 09993b8319
fetch local description on its own executor 2023-10-02 11:03:08 +02:00
Daniel Gultsch 0dca7f8a5a
JMI: send 'ringing' and receipts only for contacts
fixes #110
2023-10-01 08:05:40 +02:00
Daniel Gultsch ac3ce93c56
fix stun url generation 2023-10-01 08:02:55 +02:00
Daniel Gultsch c9b80254e4
add more logging to unroutable jingle messages 2023-09-30 15:56:06 +02:00
Daniel Gultsch 860723810b
support per-app language settings 2023-09-30 10:02:22 +02:00
Daniel Gultsch 6660877bcf
jingle: trim media attribute values
Movim has trailing whitespace around some of their media attributes

<source ssrc="1892824964" xmlns="urn:xmpp:jingle:apps:rtp:ssma:0">
  <parameter name="msid" value="{a98821d7-b298-4130-925a-ff6c510734c0} {f45dfc5c-2fa7-42b4-85e5-935e786b3feb} " xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"/>
  <parameter name="cname" value="{63b1042b-5cb5-4411-b2a5-bdff92ae45be}" xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"/>
</source>

our WebRTC doesn’t like that. We trim the value even though this seems to be a Movim bug.
2023-09-30 07:55:08 +02:00
Daniel Gultsch 86f46ece83
revert back to AAC for voice messages
iOS can not do opus out of the box
2023-09-29 18:42:31 +02:00
ghose 503b04e8e0 Translated using Weblate (Galician)
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/gl/
2023-09-29 16:21:43 +00:00
Daniel Gultsch 05c79ff29d
version bump webrtc to m117 2023-09-29 16:19:01 +02:00
Daniel Gultsch 3e9c08a4aa
include date in backup file name
since `account.ceb` might have previously been created by a different application
(for example f-droid and user is on play now) or copied over via the file
manager Conversations might not have permission to write over an existing file.

we include the date so we always get a new file

fixes #105
2023-09-25 10:56:24 +02:00
Daniel Gultsch 2adff4a92c
catch rare instances of foreground service not allowed to start 2023-09-25 09:22:29 +02:00
hamburger1024 205472bcc7
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/zh_Hans/
2023-09-24 12:53:09 +00:00
licaon-kter 1750811978
Translated using Weblate (Romanian)
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/ro/
2023-09-24 12:53:09 +00:00
SomeTr 5eafc26392
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/uk/
2023-09-24 12:53:09 +00:00
Eryk Michalak bc4fb100fa
Translated using Weblate (Polish)
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/pl/
2023-09-24 12:53:09 +00:00
gallegonovato caec09ec7e
Translated using Weblate (Spanish)
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/es/
2023-09-24 12:53:09 +00:00
nautilusx 78298a2df3
Translated using Weblate (German)
Currently translated at 100.0% (968 of 968 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/de/
2023-09-24 12:53:09 +00:00
Daniel Gultsch 8ba90f266e
add explicit error message for outdated backup files 2023-09-20 17:00:04 +02:00
Daniel Gultsch b4c3334d7e
add a few TODOs wrt tie breaks 2023-09-14 14:39:32 +02:00
Daniel Gultsch fdd7f2926f
support 'ringing' jingle message 2023-09-14 11:22:19 +02:00
Daniel Gultsch 00ae1ca762
fix group chat shortcuts 2023-09-11 16:38:57 +02:00
Daniel Gultsch c6501a3ad4
fix UUIDv4 calculation 2023-09-08 14:19:18 +02:00
Stephen Paul Weber 11e6cb9693
Use conversation notifications
Allows for per-conversation priority and sound
2023-09-07 13:08:23 +02:00
SomeTr 51a8877475 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (9 of 9 strings)

Translation: Conversations/Android App (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-quicksy/uk/
2023-09-06 11:48:26 +00:00
botorfj 585c5151a1 Translated using Weblate (Turkish)
Currently translated at 100.0% (9 of 9 strings)

Translation: Conversations/Android App (Quicksy)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-quicksy/tr/
2023-09-06 11:48:26 +00:00
botorfj cb9a52dfb3 Translated using Weblate (Turkish)
Currently translated at 100.0% (13 of 13 strings)

Translation: Conversations/Android App (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-conversations/tr/
2023-09-06 11:48:26 +00:00
botorfj 610877cd41 Translated using Weblate (Slovak)
Currently translated at 84.6% (11 of 13 strings)

Translation: Conversations/Android App (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-conversations/sk/
2023-09-06 11:48:26 +00:00
botorfj a509e6f887 Translated using Weblate (Greek)
Currently translated at 100.0% (13 of 13 strings)

Translation: Conversations/Android App (Conversations)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-conversations/el/
2023-09-06 11:48:26 +00:00
botorfj 033bdfa58f Translated using Weblate (Turkish)
Currently translated at 97.9% (947 of 967 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/tr/
2023-09-06 11:48:26 +00:00
Nikita Karamov 24280959e3 Translated using Weblate (Russian)
Currently translated at 99.8% (966 of 967 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/ru/
2023-09-06 11:48:26 +00:00
ghose a4e5ad8684 Translated using Weblate (Galician)
Currently translated at 100.0% (967 of 967 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/gl/
2023-09-06 11:48:26 +00:00
SomeTr e3d8e54c93 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (967 of 967 strings)

Translation: Conversations/Android App (shared)
Translate-URL: https://translate.codeberg.org/projects/conversations/android-app-shared/uk/
2023-09-06 11:48:26 +00:00