Commit graph

5925 commits

Author SHA1 Message Date
Daniel Gultsch 018e0d9edf add (inactive) channel binding end-point code 2022-09-07 11:08:54 +02:00
Daniel Gultsch d4ec1eaf38 refactor processFailure and processChallange into methods 2022-09-07 10:31:11 +02:00
Daniel Gultsch e8bce17940 add scram-sha256 and 512 in their plus variants 2022-09-06 17:39:58 +02:00
Daniel Gultsch 789d1dc225 support tls-unique for TLSv1.2 2022-09-06 17:01:57 +02:00
Daniel Gultsch 6d3d9dfe26 support channel binding with tls-exporter 2022-09-06 16:43:51 +02:00
Daniel Gultsch 5da9f5b3a3 refactor ScramMechanism to support PLUS 2022-09-06 16:28:28 +02:00
Daniel Gultsch b78acb6fca extract channel binding types via XEP-0440 2022-09-06 14:53:12 +02:00
Daniel Gultsch a210568a9c refactor SASL choice into factory; remove unused TagWriter 2022-09-06 09:25:23 +02:00
Millesimus 562ffd2003 preserve new lines when quoting. fixes #3876 2022-09-05 12:19:17 +02:00
Daniel Gultsch 22f4129262 increase quoting depth to 2 2022-09-05 12:17:13 +02:00
Daniel Gultsch eee14a822a add todos 2022-09-05 11:07:25 +02:00
Daniel Gultsch e0bd1d168c do not attempt resume when already in smacks session 2022-09-04 09:28:00 +02:00
Daniel Gultsch 052c58f377 rudimentary bind 2 implementation 2022-09-03 20:17:29 +02:00
Daniel Gultsch e204457c31 show toast warning about unavailable calls when using tor
closes #4103
2022-09-03 15:51:15 +02:00
Daniel Gultsch eb49a7f5e5 fix crash in buggy connection manager. fixes #4368 2022-09-03 12:33:27 +02:00
Daniel Gultsch 00dd9a8058 remove support for sm:2 2022-09-03 12:16:06 +02:00
Daniel Gultsch cb1d7c69a1 remove comment 2022-09-03 11:05:27 +02:00
Daniel Gultsch 4f92ba880b process authorization id in case full jid changes 2022-08-30 09:31:06 +02:00
Daniel Gultsch 3fac7d4992 fix very rare NPE (race condition) 2022-08-30 08:21:32 +02:00
Daniel Gultsch 8f76084a43 add sm-failed processing 2022-08-29 19:44:39 +02:00
Daniel Gultsch 7ea4f64ce4 code clean up for resumed processing 2022-08-29 19:30:03 +02:00
Daniel Gultsch f6ab3dd068 support resume via sasl 2.0 2022-08-29 19:22:25 +02:00
Daniel Gultsch 928a16d31d abort on 'continue' - no client support 2022-08-29 18:53:34 +02:00
Daniel Gultsch 6202cbe26b minor code clean up for tag and element 2022-08-29 18:40:49 +02:00
Daniel Gultsch 5fc8ff899a support logging in via SASL 2 2022-08-29 17:09:52 +02:00
Daniel Gultsch a717917b3d explicitly search for namespaces when processing stream features 2022-08-29 15:09:53 +02:00
Daniel Gultsch b792563fad use non-custom missed called 2022-08-29 14:04:33 +02:00
Daniel Gultsch f8b9e15634 fixups for missed call notifications 2022-08-29 13:01:20 +02:00
Dmitry Markin a6b88ba9e9
Add missed call notifications
Co-authored-by: Daniel Gultsch <daniel@gultsch.de>
2022-08-29 12:41:35 +02:00
Daniel Gultsch e2612709af pulled translations from transifex 2022-08-25 19:26:18 +02:00
Daniel Gultsch e439c223ee add overflow menu action to delete own avatar 2022-08-25 19:22:40 +02:00
Daniel Gultsch ddd08bfe5f issue self ping + rejoin on muc status code 333 2022-08-25 17:12:39 +02:00
Daniel Gultsch d584ffee7d try to improve 'sync bookmarks' description 2022-08-25 07:54:01 +02:00
Daniel Gultsch 7b9cf7bb28 pulled translations from transifex 2022-08-22 11:33:16 +02:00
Daniel Gultsch e8736d5f1b bump guava library 2022-08-22 11:29:04 +02:00
Daniel Gultsch c2d37f4359 use custom libwebrtc (m104) for playstore release 2022-08-22 11:17:30 +02:00
Daniel Gultsch 8111460913 minor code clean up 2022-08-22 10:01:15 +02:00
Stephen Paul Weber 56a6b17e7e
Use the same mechanism for link copying and linkification (#4357)
Prevents copying something different from what was linked, such as in the
message "fine.gif https://example.com"
2022-08-22 09:50:26 +02:00
Daniel Gultsch 41d98da17d set immutable flags for backup notifications 2022-08-12 11:02:22 +02:00
Daniel Gultsch 4fbe2deffc skip empty uris on attach 2022-08-12 10:22:45 +02:00
Daniel Gultsch e9816a7f90 pulled translations from transifex 2022-08-12 10:02:07 +02:00
Daniel Gultsch 7cc96e704e do not retrieve media attributes from encrypted files
fixes #4353
2022-08-12 09:58:35 +02:00
Daniel Gultsch 150f8313a0 make launch conversation and launch tor pending intents immutable 2022-08-11 14:31:27 +02:00
Daniel Gultsch 5a8d70a1f0 pulled translations from transifex 2022-08-11 13:27:25 +02:00
Daniel Gultsch e559b14729 pulled translations from transifex 2022-08-10 19:11:58 +02:00
Daniel Gultsch fe3433e427 do not accept empty credentials as ice-restart 2022-08-10 09:11:09 +02:00
Daniel Gultsch 508e1ac1bd add immutable flag to pending alarm intents 2022-08-09 19:43:10 +02:00
Licaon_Kter cc80a2a758 Fix typo 2022-08-09 17:27:50 +02:00
Daniel Gultsch b3a3f2b930 try to detect if a container contains video or audio
fixes #4321
2022-08-09 09:40:04 +02:00
Daniel Gultsch 5aeed63844 request bluetooth connect permission
fixes #4338
2022-08-08 21:08:32 +02:00
Daniel Gultsch 52ff6f446c add permission checks to appRTCBluetoothManager 2022-08-05 10:56:19 +02:00
Daniel Gultsch 50ba165746 bump targetSdk to 32 2022-08-05 10:52:00 +02:00
Daniel Gultsch d41020ccf3 ignore race condition after reject from notification
fixes #4351
fixes #4261
2022-08-05 10:46:15 +02:00
Daniel Gultsch 67f021426b remove null bytes from strings before creating sql statements in backup 2022-08-04 11:31:58 +02:00
Daniel Gultsch 62a379862e jingle rtp: improve logging and error reporting 2022-08-01 10:14:49 +02:00
Daniel Gultsch 78c3b1f527 pulled translations from transifex 2022-07-22 16:54:18 +02:00
Daniel Gultsch 8027b3be24 parse pep events only from bare jid 2022-07-22 10:39:18 +02:00
Daniel Gultsch dd30951dfb every device is 21+ now 2022-07-22 10:14:01 +02:00
Daniel Gultsch abfe1f1dbd do not show toast when activity is gone. fixes #4335 2022-07-09 14:46:51 +02:00
Daniel Gultsch e455ed4f1a fix orbot detection 2022-07-09 14:46:51 +02:00
Daniel Gultsch 2364d7c46d pulled translations from transifex 2022-07-09 14:46:51 +02:00
Licaon_Kter 4985105711 Here too
...but why was that function created elsewhere if here you just compare this?
2022-07-09 09:21:46 +02:00
Licaon_Kter b97e2deaa2 Show battery dialogue always 2022-07-09 09:21:46 +02:00
Daniel Gultsch d8fd59394c fix array out of bounds. fixes #4334 2022-07-01 15:54:56 +02:00
Daniel Gultsch 73c7d76bd6 add local only flag to foreground service 2022-07-01 15:54:55 +02:00
Daniel Gultsch 65daeff112 pulled translations from transifex 2022-07-01 15:54:55 +02:00
Stephen Paul Weber 84e08933f9 A Quicky user can be a stranger
At some point a refactor changed this check from checking that the quicksy
domain itself is talking to you, to checking that anyone using quicksy is
talking to you, which breaks the notifications from strangers setting for
quicksy users.
2022-06-30 09:30:55 +02:00
Daniel Gultsch d9fa535f00 pulled translations from transifex 2022-06-22 08:02:59 +02:00
Daniel Gultsch 42bd8e6d61 minor code clean up 2022-06-22 07:56:44 +02:00
Daniel Gultsch 17b9ca9dec use item id 'current' for nick as fallback as per XEP-0060 §12.20 2022-06-22 07:18:07 +02:00
Daniel Gultsch 30dff9ac05 pulled translations from transifex 2022-06-14 08:48:04 +02:00
Daniel Gultsch a9dd5a3c76 support sasl/temporary-auth-failure
if the server is unable to query the database throwing a temporary-auth-failure
might be more appropriate
2022-06-14 08:39:58 +02:00
Daniel Gultsch d5ac6e35fc bump agp 2022-05-13 08:28:06 +02:00
Daniel Gultsch 86bb3df8d4 pulled translations from transifex 2022-05-02 08:32:58 +02:00
Daniel Gultsch 85f06f1cd6 do not merge failed decryptions
fixes #4314
2022-05-02 08:29:54 +02:00
Daniel Gultsch 3274baee95 pulled translations from transifex 2022-04-21 17:11:55 +02:00
Daniel Gultsch 544b46ffe1 Revert "flush stanzas in batches"
This reverts commit 6bd552f6a3.

fixes #4313

This turned out to be a rather unnecessary optimization that might cause
problems with wake locks (the app is no longer awake after the 400ms timeout)
2022-04-21 17:05:25 +02:00
Daniel Gultsch d7637192e2 fix NPE during bookmark creation
closes #4312

fixes #4211

thank you @singpolyma
2022-04-21 17:03:26 +02:00
Daniel Gultsch eb9f6653ad null check axolotl service when getting trust 2022-04-08 15:55:16 +02:00
Daniel Gultsch bf8afe0396 check domain name against DNSName to avoid rare crashes 2022-04-08 15:54:53 +02:00
Daniel Gultsch ec02e8a198 work around platform bug when getting restrict background
fixes #4305
2022-04-07 10:47:25 +02:00
Daniel Gultsch 9f3e328f54 pulled translations from transifex 2022-04-07 08:05:12 +02:00
Daniel Gultsch 95e3a6769d retrieve uncompressed file size in HEAD request 2022-03-30 18:45:18 +02:00
Daniel Gultsch eadb1e127b disable knownFileSize on re-download for pgp encrypted files 2022-03-30 09:59:42 +02:00
Daniel Gultsch 09cf5feefa limit posh files to 10k 2022-03-30 09:25:05 +02:00
Daniel Gultsch 7e762eb799 ensure downloaded file does not exceed Content-Length reported by HEAD 2022-03-30 09:03:19 +02:00
Daniel Gultsch de7eb2b5c7 remove footnote hint in translations 2022-03-26 08:43:25 +01:00
Daniel Gultsch 36756fbd41 catch two rare exceptions to fix crash 2022-03-26 08:25:45 +01:00
Daniel Gultsch 8834bc5084 pulled translations from transifex 2022-03-24 17:53:32 +01:00
Daniel Gultsch fbf1cacae3 remove hint about yearly fee for server 2022-03-24 17:53:18 +01:00
Daniel Gultsch 7c6ab7febc fix ability to use GoogleMaps ShareLocationPlugin 2022-03-22 11:45:43 +01:00
Daniel Gultsch 89428b0ad3 pulled translations from transifex 2022-03-14 09:08:27 +01:00
Daniel Gultsch ed98860506 pulled translations from transifex 2022-03-13 07:37:41 +01:00
Daniel Gultsch 7731a864fd catch security exception when importing backup 2022-03-12 17:57:32 +01:00
Daniel Gultsch 1969a23726 pulled translations from transifex 2022-03-11 15:24:10 +01:00
Daniel Gultsch 3c1550b208 show jid only for incoming calls during ringing 2022-03-10 18:40:30 +01:00
Stephen Paul Weber 78048bbd3d Enable WebRTC-BindUsingInterfaceName/Enabled/
This makes 464XLAT networks (such as T-Mobile LTE) work.

https://bugs.chromium.org/p/webrtc/issues/detail?id=10707
2022-03-10 16:29:00 +01:00
Daniel Gultsch 330980391c pulled translations from transifex 2022-03-10 16:14:26 +01:00
Daniel Gultsch 5c4eccec13 be smarter about what files can be deleted 2022-03-10 15:54:23 +01:00
Daniel Gultsch 56f01c29b9 allow deletion of all files 2022-03-10 12:39:43 +01:00
Daniel Gultsch ceceead505 show 'using account …' in incoming call screen 2022-03-07 13:10:57 +01:00
Daniel Gultsch 2f07fccfce show contact jid in call screen
closes #4071
2022-03-07 12:44:33 +01:00
Daniel Gultsch f95ed284b5 bump copyright year 2022-03-07 12:44:33 +01:00
Kim Alvefur aef5292567 Add handling of status code 333
This is used when something goes wrong with a MUC, e.g. a connection
error made the MUC kick you out. In this case you generally want to try
to rejoin.
2022-03-07 09:39:45 +01:00
Daniel Gultsch eb6ae5b03c increase default pw length 2022-03-07 09:18:35 +01:00
Daniel Gultsch 4a5e27130c pulled translations from transifex 2022-03-07 08:42:40 +01:00
Daniel Gultsch 372078629b fix ice candidate sending when different credentials are used 2022-02-25 17:26:36 +01:00
Daniel Gultsch 1f772df74f remove security check that ensures rtp connection was properly finished
this only causes race conditions
2022-02-25 16:24:16 +01:00
Daniel Gultsch d311e39569 code clean up 2022-02-25 14:44:46 +01:00
Daniel Gultsch 9b6a570939 bump agp 2022-02-24 12:41:32 +01:00
Daniel Gultsch be1fcfe4f9 store encrypted pgp files in private cache dir 2022-02-23 16:59:40 +01:00
Daniel Gultsch a3085fbf1f do not restart wakelock if activity is finishing 2022-02-23 15:57:29 +01:00
Daniel Gultsch 35c54f0ae9 delete pre lolipop weOwnFile() 2022-02-23 12:16:49 +01:00
Daniel Gultsch 48f8c1a6a0 use try with resources. remove unused methods 2022-02-23 11:37:48 +01:00
Daniel Gultsch ad493938a0 bump appcompat, migrate to emoji2 and get rid of emoji flavor 2022-02-23 10:37:03 +01:00
Daniel Gultsch 4129ca6af8 fix rare npe 2022-02-23 09:40:47 +01:00
Daniel Gultsch 0b470534f1 store recordings and documents in their respective folders 2022-02-23 09:40:38 +01:00
Daniel Gultsch c03a8b784f write photos to DCIM/Camera 2022-02-22 17:25:48 +01:00
Daniel Gultsch 282109db01 add openkeychain to queries 2022-02-22 17:24:03 +01:00
Daniel Gultsch 6fb465f91a don’t query packages before attaching something 2022-02-22 16:23:51 +01:00
Daniel Gultsch 2cc49e5ba6 bump targetSdk 2022-02-22 16:05:24 +01:00
Daniel Gultsch d6be6ddd18 use full file name for all new files 2022-02-22 16:05:02 +01:00
Daniel Gultsch 8abacd23e8 use new storage location for backup and recordings 2022-02-22 15:14:00 +01:00
Daniel Gultsch 60617618b8 rename method that expand filename 2022-02-22 12:29:40 +01:00
Daniel Gultsch 6bd552f6a3 flush stanzas in batches 2022-02-14 11:46:57 +01:00
Daniel Gultsch cdc239b040 code clean up in TagWriter 2022-02-14 10:27:12 +01:00
Millesimus 2553895300 Fix #4249. 2022-02-13 10:24:01 +01:00
Daniel Gultsch 12463911f1 allow verification of own omemo keys via uri 2022-02-13 10:22:31 +01:00
Daniel Gultsch d7f38a3e5a fix precondition for timeout handling 2022-02-12 10:19:54 +01:00
Daniel Gultsch f2a67f899b pulled translations from transifex 2022-02-09 12:17:29 +01:00
Daniel Gultsch b6442c0bd4 add Samsung S4 to hardware aec blacklist
fixes #4267
2022-01-18 11:30:23 +01:00
Daniel Gultsch eed5c5e743 add additional logging to image compression 2022-01-18 09:49:10 +01:00
Daniel Gultsch 666ca485db pulled translations from transifex 2022-01-13 20:58:47 +01:00
Daniel Gultsch 51db83d629 pulled translations from transifex 2022-01-08 11:14:29 +01:00
Daniel Gultsch db834a1f07 indicate call reconnect in notification 2021-11-19 12:26:11 +01:00
Daniel Gultsch f8a94161db don't play tone going from connect->reconnect->connect 2021-11-19 12:25:27 +01:00
Daniel Gultsch 5d526a77e3 include uncertainty into shared geo uri 2021-11-18 11:24:10 +01:00
Daniel Gultsch a508a81553 externalize rtc config generation into seperate method 2021-11-17 11:33:15 +01:00
Daniel Gultsch 61fb38cd84 clean up some error handling error ICE restarts 2021-11-17 10:49:16 +01:00
Daniel Gultsch 1bf2d5dd8f video calls: leave full screen mode during reconnect 2021-11-16 22:01:48 +01:00
Daniel Gultsch 0a18c8613f assume credentials are the same for all contents when restarting ICE 2021-11-16 17:08:34 +01:00
Daniel Gultsch abb671616c synchronize setDescription calls 2021-11-16 15:17:12 +01:00
Daniel Gultsch 297a843b9c use implicit rollback (needed to be enabled on libwebrtc) 2021-11-16 13:17:10 +01:00
Daniel Gultsch 0698fa0d8c store peer dtls setup for later use in ice restart 2021-11-16 11:21:11 +01:00
Daniel Gultsch 70b5d8d81a set proper peer dtls setup on ice restart received 2021-11-15 21:49:31 +01:00
Daniel Gultsch 0a3947b8e3 terminate with application failure when failing to apply ICE restart
This is fairly unlikely to happen in practice
2021-11-15 17:18:45 +01:00
Daniel Gultsch 3f402b132b respond with tie-break to prevent ICE restart race 2021-11-15 13:03:04 +01:00
Daniel Gultsch 5b80c62a63 treat transport-info w/o candidates and changed credentials as offer 2021-11-14 18:22:18 +01:00
Daniel Gultsch 717c83753f delay discovered ice candidates until JingleRtpConnection is ready to receive
otherwise setLocalDescription and the arrival of first candidates might race
the rtpContentDescription being set
2021-11-11 21:02:17 +01:00
Daniel Gultsch b6dee6da6a reverse: webrtc: include oldState in onConnectionChange
turns out we don’t need it and a better way is for RtpConnection to keep track of *all*
states in the current generation
2021-11-11 17:05:36 +01:00
Daniel Gultsch 9c3f55bef2 use stopwatch to keep track of jingle rtp session duration 2021-11-11 16:52:18 +01:00
Daniel Gultsch 9843b72f6f always use Camera2Enumerator 2021-11-11 15:23:45 +01:00
Daniel Gultsch 61851e5f84 do not automacially hang up failed webrtc sessions 2021-11-11 14:40:15 +01:00
Daniel Gultsch 4ec0996dff webrtc: include oldState in onConnectionChange 2021-11-11 11:19:37 +01:00
Daniel Gultsch fda45a7c86 use implicit descriptions for WebRTC
using the parameter-free form of setLocalDescription() solves some potential race conditions
that can occur - especially once we introduce restartIce()
2021-11-10 16:40:24 +01:00
Daniel Gultsch d4cbf2e11e take intent type into account when sharing with conversations 2021-11-07 11:35:00 +01:00
Daniel Gultsch 7d7e158fd7 code clean up for LocationProvider 2021-11-03 16:00:26 +01:00
Daniel Gultsch bae9fc45c2 make rtcpMux optional 2021-10-31 10:20:58 +01:00
Daniel Gultsch ba4a47204b fixed IndexOutOfBounds when rendering quotes 2021-10-31 10:20:34 +01:00
Daniel Gultsch 226eb739bd make custom 'xmpp' protocol in address book case insensitve
fixes #4215
2021-10-31 08:35:44 +01:00
Daniel Gultsch 2ca00265db bump speed dial version to something that uses AndroidX 2021-10-20 09:52:10 +02:00
Daniel Gultsch 3706981645 fix mime type detection in urls that have query params or an anchor 2021-10-14 17:30:55 +02:00
Daniel Gultsch 6d2e406ee5 attempt to parse Link header from https url scanned from welcome screen 2021-10-07 09:48:49 +02:00
Daniel Gultsch 495537d087 minor code cleanup in UriHandlerActivity 2021-10-06 12:18:58 +02:00
Daniel Gultsch 20e4d108d4 fixed regression of not handling jingle content map parsing failures 2021-10-05 15:43:05 +02:00
Daniel Gultsch d0af5a002e leave code comment about xmpp vs jabber vcard entry 2021-10-04 15:18:37 +02:00
Daniel Gultsch 86de21f6a8 allow encrypted backups. fixes #4190 2021-10-04 14:17:01 +02:00
Daniel Gultsch e664a27cd0 fix typo in action matcher 2021-10-03 18:51:18 +02:00
Daniel Gultsch 4a6df90f0c attempt to read both jabber and xmpp IM fields from address book 2021-10-03 17:26:24 +02:00
Daniel Gultsch f8c59a7b75 support imto://xmpp intents 2021-10-03 17:01:32 +02:00
Daniel Gultsch f182fe6697 use PM on direct reply if last message in notifacation stack is PM 2021-10-03 16:38:30 +02:00
Daniel Gultsch b8eec6ae5b pulled translations from transifex 2021-10-02 16:59:39 +02:00
Daniel Gultsch 3ede2d00bd remove logging 2021-10-02 16:54:19 +02:00
Daniel Gultsch d2a387e82f correctly calculate socks destination 2021-10-02 16:44:36 +02:00
Daniel Gultsch da14f83a42 ensure all bytes are read in socks handshake. fixes #4188 2021-10-02 14:24:36 +02:00
Daniel Gultsch 586fff5485 Quicksy: theme choose country activity 2021-09-29 10:51:25 +02:00
Daniel Gultsch ea9b73c1fe Quicksy: fix drawables not being styled in enter phone number screen 2021-09-29 10:42:26 +02:00
Daniel Gultsch e791e19265 ignore non letters when parsing action from xmpp uri 2021-09-27 11:15:56 +02:00
Daniel Gultsch 3de8147b41 pulled translations from transifex 2021-09-27 10:48:04 +02:00
Daniel Gultsch 90a0d36362 fix not recognizing message as download. fixes #4178 2021-09-24 09:15:21 +02:00
Daniel Gultsch bd4d939a29 backport requireActivity method 2021-09-21 11:55:37 +02:00
Daniel Gultsch 64a6edd3fb Revert "Migrate Fragments to AndroidX"
This reverts commit 231d97ea81.

Migrating to AndroidX Fragments seems to have some unforseen side effects
and no clear benefits
2021-09-21 11:41:35 +02:00
Daniel Gultsch 75c20a7a2b handle on-device contacts with unstable system uri
on device contacts (contacts not synced) have an unstable system uri.
For quicksy.im contacts we can identify the contact based on the phone number
instead.

fixes #4174
2021-09-21 10:20:23 +02:00
Daniel Gultsch d5994a8d65 add to address book should add phone number for Quicksy+quicksy.im
fixes #4165
2021-09-21 10:19:09 +02:00
Daniel Gultsch 572b9c2dc6 pulled translations from transifex 2021-09-20 11:29:35 +02:00
Daniel Gultsch f9f994c540 Intent.EXTRA_ALLOW_MULTIPLE is now supported by minSdk 2021-09-20 10:08:11 +02:00
Daniel Gultsch ba9596b37d catch rare exception around execute pending fragment transactions 2021-09-20 10:07:38 +02:00
Daniel Gultsch b01bca74fd fix some linter warnings 2021-09-20 09:54:42 +02:00
Daniel Gultsch bfc8668803 bump appcompat version 2021-09-20 09:27:40 +02:00
Alexei Sorokin 951d84f404 make sure messages_index is always cleaned up fully. fixes #4170 2021-09-20 06:26:35 +00:00
Ashique Bava 231d97ea81
Migrate Fragments to AndroidX 2021-09-20 06:22:55 +00:00
Daniel Gultsch 73000962fe bump transcoder version
fixes #4167
2021-09-15 21:54:03 +02:00
Daniel Gultsch 3075833ab3 swap out transcoder library
the transcoder library we used hasn’t been updated in years

this commit switches to a maintained fork https://natario1.github.io/Transcoder/
2021-09-15 11:38:06 +02:00
Daniel Gultsch 68d8e2b9cf delete targe file after unsuccessful image compression 2021-09-11 09:55:44 +02:00
Daniel Gultsch c195e8b3d2 run file observer on its own thread. fixes #4164 2021-09-10 19:07:57 +02:00
Daniel Gultsch 25f137441b catch security exception when viewing file from media preview 2021-09-10 18:46:37 +02:00
Daniel Gultsch d436c5f856 catch exception when trying to read display name. fixes #4163 2021-09-10 18:46:10 +02:00
Daniel Gultsch 8d9c51d755 pulled translations from transifex 2021-09-10 10:25:31 +02:00
Daniel Gultsch 2957bccb33 Revert "Fixing trailing characters treated as part of URI error (#3938)."
This reverts commit 8d45cc5827.
2021-09-08 21:30:21 +02:00
Daniel Gultsch 3135550b83 pulled translations from transifex 2021-09-08 20:53:11 +02:00
Millesimus 4d36231fa5 >.< should be quoteable (bugfix). 2021-09-08 16:29:01 +00:00
Millesimus dfeeaff74c >.< should not be rendered as quote (bugfix). 2021-09-08 16:29:01 +00:00
Daniel Gultsch 63f5f8c89d modify TODOs in JingleRtpConnection upon better understanding of the WebRTC stack 2021-09-08 10:47:34 +02:00
Millesimus ca08c27eef Parse IPv6 URIs (#3841). 2021-09-07 15:14:09 +00:00
Millesimus 4040d5f647 Treat dollar signs as URI chars (fixing #3859). 2021-09-07 15:14:09 +00:00
Millesimus 8d45cc5827 Fixing trailing characters treated as part of URI error (#3938). 2021-09-07 15:14:09 +00:00
Daniel Gultsch 96f0a09a5d pulled translations from transifex 2021-09-07 16:56:24 +02:00
Maximilian Weiler 38a77dbba6 Fix ImportBackupActivity not covered by screenshot prevention feature 2021-09-07 14:50:50 +00:00
Daniel Gultsch 8b817b3bd8 add database migration for new fts scheme 2021-09-07 16:47:40 +02:00
Alexei Sorokin 754773be55 match messages from the full-text index by rowid
"uuid" is a primary key in "messages" but not in "messages_index",
the implication of that is very slow matching by UUID.

What can be done instead is matching messages_index.rowid to messages.rowid,
that is, an always-present clustered index.

This not only improves performance of full-text search but also of just
updating messages in any shape or form.
2021-09-07 16:19:49 +02:00
Alexei Sorokin 4f362aafac make the fulltext index for search more space-efficient
It now uses the data from the messages table instead of having a copy of each
message.

The message UUIDs are no longer part of the index.
2021-09-07 16:19:40 +02:00
Daniel Gultsch ea0dc558cb use androidx ExifInterface to parse rotation. fixes #4154 2021-09-05 16:29:24 +02:00
Daniel Gultsch 2819545a43 click on action bar title should open chat details screen 2021-08-25 20:04:47 +02:00
Daniel Gultsch 9526456d75 pulled translations from transifex 2021-08-25 18:57:20 +02:00
Daniel Gultsch f975b5ddac executePendingTransactions before trying to access secondary_fragment
If we don’t executePendingTransactions we might still access the overview fragment
while a replacement operation is in the works. This will lead to two
conversationfragments opening.
2021-08-25 18:54:03 +02:00
Daniel Gultsch af42e34654 Revert "Always show Quote as last action"
This reverts commit e528b9f5df.

I was originally convinced by the argumentation (quote always in same place)
but testing this out for a while really seems to break 'last correct' for me.

I use that way more frequently that quote
2021-08-24 16:53:23 +02:00
Daniel Gultsch 0495470ca8 pulled translations from transifex 2021-08-24 15:32:10 +02:00
Daniel Gultsch 6c88a4b4fa reset affiliation when inviting someone not currently in group. fixes #4146 2021-08-24 14:42:50 +02:00
Daniel Gultsch 88d7ddf124 PIP aspect ratio should match video aspect ratio. fixes #4077 2021-08-24 14:40:12 +02:00
Licaon_Kter bf3c1d573b Avoid description repetition screenshots 2021-08-24 11:00:43 +00:00
Maximilian Weiler 06fbb06aee Remove unused import 2021-08-24 07:15:30 +00:00
Maximilian Weiler ef8f10cc13 Optionally prevent taking screenshots
- Add setting to prevent screenshots
- Enforce using FLAG_SECURE in onResume for each activity
2021-08-24 07:15:30 +00:00
Millesimus b6fe1898e7 Minor duplication fix. 2021-08-24 07:14:34 +00:00
Millesimus 955a6f3fe1 Bugfix for 6cc06bcb98acc05c7677c642adf8ded90ffc8372. 2021-08-24 07:14:34 +00:00
Millesimus a0529a4e1e On quoting, translate French quotes to XEP-0393 quotes. 2021-08-24 07:14:34 +00:00
Millesimus 2db2ca95ce Move differentiation between XEP-0393 quotes and French quotes to QuoteHelper. 2021-08-24 07:14:34 +00:00
Millesimus a0bca08997 Rewrite QuoteHelper to integrate French quotes logics. Also reallow QuoteChars not followed by whitespace as indicated in XEP-0393. 2021-08-24 07:14:34 +00:00
Millesimus 748443cd4e Fixing message preview. 2021-08-24 07:14:34 +00:00
Millesimus 3921f3a940 QUOTING_MAX_DEPTH=1 for transitory compatibility with older versions. QUOTE_MAX_DEPTH=7 for performance testing and hiding of a rerendering bug occuring when two adjacent messages are merged. 2021-08-24 07:14:34 +00:00
Millesimus c81c8a62b3 Small refactoring for a more intuitive config. 2021-08-24 07:14:34 +00:00
Millesimus e850900b40 Quoting quotes, limited by nesting depth. 2021-08-24 07:14:34 +00:00
Millesimus 74d60d0131 Implement nested quotes through iteration. 2021-08-24 07:14:34 +00:00
Millesimus 65a72827bc New helper to help with quotes. 2021-08-24 07:14:34 +00:00
Millesimus 309082a9b3 Fixing xmpp:uri bug in channel details. #4139 2021-08-12 08:28:43 +00:00
Licaon_Kter e528b9f5df Always show Quote as last action 2021-08-12 08:28:36 +00:00
Daniel Gultsch 1e1dad780b add .opus file extension to mime table 2021-07-28 16:57:57 +02:00
Alexei Sorokin b99f9d4f1c make search case-insensitive not only for ASCII 2021-05-26 06:16:20 +00:00
Daniel Gultsch 7466d12505 ring during device discovery 2021-05-22 19:37:20 +02:00
Daniel Gultsch 98ffadd87d log exception when file is not a ceb 2021-05-18 10:11:35 +02:00
Daniel Gultsch af33a57bf2 add description for text/plain 2021-05-17 16:00:00 +02:00
Daniel Gultsch 87f99d3570 Transferables interface needs to differentiate between 0 and null file size 2021-05-17 15:51:21 +02:00
Daniel Gultsch b025265f91 execute status code check on HEAD 2021-05-16 16:17:06 +02:00
Daniel Gultsch 0f3181555a FileParams indicate unavailable file size as null
since 0 is a valid file size we should use null to indicate absence
2021-05-16 15:32:57 +02:00
Daniel Gultsch e02aaed7d2 call SVGs 'vector graphic' instead of 'image' 2021-05-14 08:37:42 +02:00
Daniel Gultsch 2b9862adea update some libraries 2021-05-13 10:27:05 +02:00
Daniel Gultsch 56535e07ff show black bars in video call when video orientation doesn’t match screen orientation
fixes #4056
2021-05-10 09:24:20 +02:00
Daniel Gultsch 67e5f839f1 ignore crypto callbacks when rtp session has already been terminated 2021-05-08 11:50:18 +02:00
Daniel Gultsch 89012b0f8b synchronize startRinging() to not create multiple vibrate futures 2021-05-08 11:49:24 +02:00
Daniel Gultsch 7476dccc0e do not fetch keys before making call 2021-05-08 11:21:33 +02:00
Daniel Gultsch 9182a300c5 report fingerprint missmatch as securiy exception 2021-05-08 10:35:07 +02:00
Daniel Gultsch faa4c87b5f build omemo session when encountering unknown on RTP proceed 2021-05-08 09:25:51 +02:00
Daniel Gultsch 8d391753d7 encrypt rtp map as future 2021-05-08 08:45:31 +02:00
Daniel Gultsch 337aa4a110 consider Config.REQUIRE_RTP_VERIFICATION on decrypt. fail as future 2021-05-07 22:55:20 +02:00
Daniel Gultsch ddf597e0d3 invoke x509 verification upon receiving prekey message in rtp session 2021-05-06 18:40:35 +02:00
Daniel Gultsch e2324209ed make sure omemo sessions are verified if the the respective config flag is set 2021-05-04 19:04:01 +02:00
Daniel Gultsch 9544b994dc invoke omemo trust/fetch activity when triggering phone call in require_verification mode 2021-05-04 17:52:17 +02:00
Daniel Gultsch 3b25fb9038 encrypt to inactive and untrusted devices in jingle
encrypting to untrusted devices means no degradition of security
compared to not encrypting at all. Trust status display (shield) is made
independently at a later stage.
2021-05-04 10:49:45 +02:00
Daniel Gultsch 48156dd27f a/v calls: seperate out SECURITY error from APP_FAILURE
until now problems with verifying the call (omemo or DTLS missing) would
just be another app failure. This commit displays verifications problems as
their own thing.
2021-05-04 10:10:34 +02:00
Daniel Gultsch 905489e237 bump firebase-messaging libray version 2021-05-04 09:47:09 +02:00
Daniel Gultsch a5ad2b7fc6 version bump to 2.9.13 + changelog 2021-05-03 16:21:10 +02:00
Daniel Gultsch 5d3ad6e36b pulled translations from transifex 2021-05-03 13:14:09 +02:00
Daniel Gultsch 6d91551f59 use onAddTrack instead of deprecated onAddStream 2021-05-03 13:06:42 +02:00
Daniel Gultsch 0717f9ba18 upgrade libwebrtc to m90 and enable extmap-allow-mixed 2021-05-03 09:48:46 +02:00
Daniel Gultsch ac7855a332 show domains in manual cert accept dialog 2021-05-03 08:28:03 +02:00
Daniel Gultsch c5e90199c3 trigger registration dialog on roster;ibr=y only if no accounts are configured
fixes #4065
2021-04-30 11:32:42 +02:00
Daniel Gultsch 53908dd56e pulled translations from transifex 2021-04-30 11:00:03 +02:00
Daniel Gultsch 9d9514a091 Add User-Agent to all HTTP calls 2021-04-30 10:54:36 +02:00
Daniel Gultsch bc58fb0fbd Always verify hostname/domain
There might be corner cases where it is required to use self signed
certificates. However there should be no corner cases where it is
required to use a wrong domain name. This commit swaps out the
MemorizingHostnameVerifier that let users accept wrong domains with the
standard XmppDomainVerifier.

closes #4066
2021-04-30 09:55:22 +02:00
Daniel Gultsch ec061bedc1 always show contact permission explain dialog on Quicksy
Until now Conversations and Quicksy would only disply the dialog that explains
why we want contact read permissions after the user rejected the request once

(following Android design guidelines and `shouldShowRequestPermissionRationale()`)

However for PlayStore policy this is no longer enough and the app needs to
explain and ask for consent before starting to upload the data.

This commit now displays the explain dialog immediately before asking for the
first time.
2021-04-24 08:20:30 +02:00
Daniel Gultsch 8aed588405 ensure vibration future is canceled when scheduling a new one 2021-04-18 16:09:36 +02:00
Daniel Gultsch ea2acc2963 use new hasInternet() API only on Android Q+
some VPN apps are broken on Android 7.1 (and below?)

fixes #4058
2021-04-18 15:47:31 +02:00
Daniel Gultsch 2760f07307 disable read timeout for HTTP Upload
fixes #4057
2021-04-18 15:46:47 +02:00
Daniel Gultsch c469b2dc22 pulled translations from transifex 2021-04-09 15:50:11 +02:00
Daniel Gultsch 202bde46ed properly error out if upload fails. fixes #4052 2021-04-09 15:49:33 +02:00
Daniel Gultsch 37ce311764 do not attempt to play ringtone if none was found 2021-04-08 10:53:01 +02:00
Daniel Gultsch 9fc04c4b1e when receiving out-of-order session-init in terminal state do not move to terminal again
fixes #4049
2021-04-08 10:23:39 +02:00
Daniel Gultsch 5f020af2cc pulled translations from transifex 2021-04-08 09:34:16 +02:00
Daniel Gultsch 55b2f2656d fix HTTP up/download for users that dont trust system CAs 2021-04-08 08:56:58 +02:00
Daniel Gultsch 0fc191d004 migrate hasInternetConnection() to new api
Thank you to @ailicic for figuring out the new API.

Closes #4050
2021-03-29 10:58:15 +02:00
Daniel Gultsch 30c9e7399e log track class in onAddTrack 2021-03-29 10:57:56 +02:00
Daniel Gultsch 08f27ddcf8 don’t show video call button if no camera is available 2021-03-26 14:04:36 +01:00
Daniel Gultsch 1822a71c2a Do not crash when receiving video call on device w/o camera
Upon accepting a video call on a device that can not establish a video track on
its own (for example by not having a camera), displaying the video enable/disable
button would fail. This commit defaults this button to disabled.
2021-03-26 12:54:26 +01:00
Daniel Gultsch 77f448692c catch security exception when reading file 2021-03-24 10:47:50 +01:00
Daniel Gultsch 9cc95d4cc2 pulled translations from transifex 2021-03-24 09:59:12 +01:00
Daniel Gultsch ff756647a9 clear dns cache on network switch 2021-03-23 21:03:58 +01:00
Daniel Gultsch 9a7fc3d9b8 disable omemo by default for *.covid.monal.im domains 2021-03-23 11:52:34 +01:00
Daniel Gultsch d37140ebf0 pulled translations from transifex 2021-03-23 11:48:17 +01:00
Daniel Gultsch aad34783ad remove logging from needsUploading() 2021-03-22 19:05:46 +01:00
Daniel Gultsch 914ea9c398 use http proxy below android 7.1 2021-03-22 18:03:25 +01:00
Daniel Gultsch 02b16063c6 show popup dialog when backup has been started. fixes #4031 2021-03-22 15:40:22 +01:00
Daniel Gultsch 4ac64f3a3b clean up code for posh cache 2021-03-22 15:15:35 +01:00
Daniel Gultsch 8b90c1c498 port POSH code to OkHttp 2021-03-22 14:32:31 +01:00
Daniel Gultsch 70fc08314f remove unused method 2021-03-22 11:14:35 +01:00
Daniel Gultsch ce7f59a76c use okhttp to fetch captcha 2021-03-22 10:39:53 +01:00
Daniel Gultsch 1cd95aefa6 migrate redirection urls to HttpUrl 2021-03-22 10:12:53 +01:00
Daniel Gultsch 739d20428a optimize imports 2021-03-21 21:39:04 +01:00
Daniel Gultsch a6244d986a use settable futures for slot requester 2021-03-21 20:45:26 +01:00
Daniel Gultsch 8ac97b0027 disable extmap_allow_mixed by default 2021-03-21 19:40:52 +01:00
Daniel Gultsch 7a115cb967 pulled translations from transifex 2021-03-21 19:36:21 +01:00
Daniel Gultsch d1195d21ae pulled translations from transifex 2021-03-20 11:58:43 +01:00
Daniel Gultsch 72828c6c4e fix 'checking file size' status display 2021-03-20 11:21:48 +01:00
Daniel Gultsch 38ef69a926 do not display toast for cancelled downloads 2021-03-20 11:00:20 +01:00
Daniel Gultsch aaac8296b3 only overwrite body in text messages 2021-03-19 19:51:13 +01:00
Daniel Gultsch e217551a82 migrate to OkHttp instead of HttpUrlConnection
OkHttp gives us more fine grained control over the HTTP library and frees us from any platform bugs
2021-03-19 14:57:20 +01:00
Daniel Gultsch b09a1432a3 Stanza.getErrorCondation only ever needs the tag name 2021-03-18 11:35:41 +01:00
Daniel Gultsch 6f1b71970d parse extmap-allow-mixed 2021-03-16 18:52:38 +01:00
Daniel Gultsch 3baacf8862 switch to unified plan 2021-03-16 18:52:38 +01:00
Daniel Gultsch 2681ad82e1 complain if mLineIndex can not be found when receiving candidates 2021-03-16 18:52:25 +01:00
Daniel Gultsch 8764d11cce kill pending queries when archiving conversation 2021-03-16 10:22:52 +01:00
Daniel Gultsch 3c60de54cb minor code clean up 2021-03-16 08:16:07 +01:00
Daniel Gultsch 859f3b2a1d fix NPE after race condition. fixes #4033 2021-03-13 11:13:19 +01:00
Daniel Gultsch bf25b24967 modify away when locked behaviour to locked || screen off
this new behaviour still takes care of not going online when quickly
checking for the time but it also includes systems that don’t have a
lock screen or incorrectly report being unlocked.
2021-03-13 10:52:06 +01:00
Daniel Gultsch 7c53dcc4f4 fixed NPE when service isnt bound 2021-03-13 10:51:41 +01:00
Daniel Gultsch 813b07e18d pulled translations from transifex 2021-03-09 09:58:33 +01:00
Daniel Gultsch 0fa06d65b5 overwrite body for plaintext group chat messages only 2021-03-07 09:59:09 +01:00
Daniel Gultsch e947a3f808 modify boyy on muc reflection 2021-03-06 12:43:59 +01:00
Daniel Gultsch b34f6e0720 null check weak reference value 2021-03-06 09:45:42 +01:00
Daniel Gultsch b8c61b795e use different top margin for vert and land for duration display 2021-03-06 09:45:13 +01:00
Daniel Gultsch cf68c544aa pulled translations from transifex 2021-03-06 08:58:28 +01:00
Christopher Vollick ef24d2050b Remove Renomination from WebRTC Options
This is a feature of WebRTC that's [not standardized][1] and only
supported by libwebrtc. Since there's no support in jingle for passing
this capability from one peer to another, we're currently hard-coding
this option into both the local candidate and also the remote candidate
so they can use it.

But I'm trying to call a user that isn't using WebRTC, and renomination
is causing the call to stay in "connecting..." state for 10 or 20
seconds, sometimes longer, while both sides wait for the other to
nominate something based on their individual beliefs about the standards
they're using.

Removing this seems to make connecting relatively instantaneous.

If we want to reintroduce this feature, we should probably make a XEP so
the peers can negotiate honestly about it, and only use it if both sides
truely support the feature.

[1]: https://datatracker.ietf.org/doc/html/draft-thatcher-ice-renomination-01
2021-03-04 08:26:52 +00:00
Daniel Gultsch 4a175f915d version bump to 2.9.8-beta 2021-03-04 09:25:20 +01:00
Daniel Gultsch 5848013a1e handle pre key messages in dtls verification 2021-03-03 14:03:08 +01:00
Daniel Gultsch c5f801c1fe do not push empty candidates to backlog 2021-03-03 13:12:10 +01:00
Daniel Gultsch d52c46d582 use omemo verification only if omemo is enabled in conversation 2021-03-03 12:55:27 +01:00
Daniel Gultsch e81fb1b24e pulled translations from transifex 2021-03-03 09:48:29 +01:00
Daniel Gultsch 3ee70b1d48 show verified shield in rtp session activity 2021-03-03 09:41:05 +01:00
Daniel Gultsch e4b2bb4a42 throw exception when unable to encrypt 2021-03-03 08:22:21 +01:00
Daniel Gultsch 8a6430ae29 ground work for omemo dtls verification 2021-03-02 21:13:49 +01:00
Daniel Gultsch 47a904b4fc pulled translations from transifex 2021-02-26 10:18:59 +01:00
Daniel Gultsch d889c02a0a make ascii armor parsing more resiliant 2021-02-24 11:05:11 +01:00
Daniel Gultsch 073b6a998a pulled translations from transifex 2021-02-24 10:35:46 +01:00
Daniel Gultsch 9450d49b0b do not vibrate when in DND mode 2021-02-24 10:35:33 +01:00
Daniel Gultsch 5e0c158cde fix default ringtone for incoming call setting 2021-02-22 13:59:07 +01:00
Daniel Gultsch 16b1c561d4 pulled translations from transifex 2021-02-22 09:31:13 +01:00
Daniel Gultsch 24f2f52512 limit http upload / download to 4 parallel connections 2021-02-22 09:24:41 +01:00
Daniel Gultsch e98ec40b7f pulled translations from transifex 2021-02-21 14:15:33 +01:00
Daniel Gultsch f92ea5c70b resend <propose/> only if server has stream mgmt 2021-02-21 13:37:08 +01:00
Daniel Gultsch 638f30b902 pulled translations from transifex 2021-02-20 10:16:56 +01:00
Daniel Gultsch 0812bae1ab do not run alpha check on jpegs 2021-02-20 10:08:43 +01:00
Daniel Gultsch 6bfe16f044 replace away when screen off with away when locked
fixes #3978
2021-02-19 15:59:56 +01:00
Daniel Gultsch 53da64b7e2 do not attempt to play 'none' ringtone
trying to play 'none' ringtone resulted in the default ring tone being played
2021-02-19 15:31:01 +01:00
Daniel Gultsch ebb38d7d75 consume volume down event 2021-02-18 22:16:28 +01:00
Daniel Gultsch 484f633180 let Conversations (not Android) play ringtone and vibration
fixes #3972 fixes #3801 fixes #3931
2021-02-18 20:55:31 +01:00
Daniel Gultsch 78c89664c4 moved translations into new resource on transifex
the 'strings' resource on transifex was in the internal 'Android 1' format
instead of the more modern 'Android 2' format.

This according to transifex support caused some weird issues…

The only work around (apparently) was to create a new resource (now call
main-strings) and use that instead.

I hope we didn’t mess anything up in the process.

Let's be extra careful with the next release
2021-02-18 16:56:59 +01:00
Daniel Gultsch 90270069da pulled translations from transifex 2021-02-18 11:05:02 +01:00
Daniel Gultsch 49992f300b repharse omemo fingerprint description 2021-02-18 10:35:10 +01:00
Daniel Gultsch 72e268e6b1 add TODO comments wrt to missing <retract/> parsing 2021-02-18 09:36:51 +01:00
Daniel Gultsch 78901e3339 use detached signatures 2021-02-17 22:47:40 +01:00
Daniel Gultsch 149224a073 do not deduplicate disco queries
Conversations used to deduplicate disco queries based on their hash.
However that relies on the first query to go through (device to actually
respond) and to respond properly (hash matches).

Creating a proper retry behaviour for this is actually quite challanging.
(which one would you try next, how long do you wait?)
2021-02-17 18:14:18 +01:00
Daniel Gultsch db447f845e resend session proposal on rebind 2021-02-12 11:36:44 +01:00
Daniel Gultsch 6cab0ad496 make rtp proposal tracked by SM. fixes #3983 2021-02-12 10:35:13 +01:00
Daniel Gultsch 9f869d3895 slightly change wording of sync_with_contacts_long 2021-02-11 18:55:27 +01:00
Daniel Gultsch 7330d8a7f0 fixed race conditions around PROCEED state. fixes #3989 2021-02-11 16:56:57 +01:00
Daniel Gultsch 6e3dc0eef6 fix up for last commit. (re-add \n) 2021-02-11 09:05:29 +01:00
Daniel Gultsch 3847ab8465 paramaterize app name in more places 2021-02-10 15:56:02 +01:00
Daniel Gultsch deee31e517 pulled translations from transifex 2021-02-10 14:29:36 +01:00
mimi89999 ab17f935c3 Fix formatting of openkeychain_required_long message 2021-02-10 13:16:56 +00:00
mimi89999 d51b4380d7 Add variable app name in res strings
Closes #3988
2021-02-10 11:35:49 +00:00
Daniel Gultsch b6d62c13ef use ascii notation for punycode domains in SNI 2021-02-07 09:38:55 +01:00
Daniel Gultsch b76b60df5c verify against IDN variant of domain 2021-02-04 11:15:59 +01:00
Daniel Gultsch 358c70828f close inputstream in image meta data analysers 2021-01-31 10:13:20 +01:00
maxim432 156c4da2b3 Fix couple of leaks 2021-01-30 17:56:54 -08:00
Daniel Gultsch ca496fd39f look at only subset of pixels to check for alpha 2021-01-30 01:50:03 +01:00
Daniel Gultsch 53a038d90e fix rtp offline discovery 2021-01-30 01:47:03 +01:00
Daniel Gultsch 2155a50875 do not compress images with alpha channels 2021-01-29 21:25:00 +01:00
Daniel Gultsch 4a9dfb9567 fix copy url to clipboard action for undownloaded files 2021-01-28 17:49:34 +01:00
Daniel Gultsch 10382e83bf remove unused methods 2021-01-28 17:40:58 +01:00
Daniel Gultsch c11ac40df4 use 'missed call' as label for missed call status 2021-01-28 11:00:27 +01:00
Daniel Gultsch 0a2c753620 do not use offline fallback rtp capability if account is disabled 2021-01-26 09:35:03 +01:00
Daniel Gultsch d907d590d9 pulled translations from transifex 2021-01-26 08:39:26 +01:00
Daniel Gultsch 8e57a7622c use DayNight theme for splas screen
it doesn’t seem to be possible to make the splash screen use the configured
theme but we can follow the system’s theme on supported Android versions
2021-01-26 08:34:45 +01:00
Daniel Gultsch 247998ff81 add libwebrtc to library list 2021-01-24 08:38:56 +01:00
Daniel Gultsch 1068f16473 time flies 2021-01-24 08:29:38 +01:00
Daniel Gultsch 15a33adaae pulled translations from transifex 2021-01-24 08:27:27 +01:00
Daniel Gultsch 619af9c6c5 back button should not end call if call is connected. fixes #3975 2021-01-23 18:42:34 +01:00
Daniel Gultsch bc97d0b0bb pulled translations from transifex 2021-01-23 11:43:55 +01:00
Daniel Gultsch 9c9a953281 pluralize x_unread_conversations string 2021-01-23 11:25:22 +01:00
Daniel Gultsch 8ce7bfb95e automated code clean up 2021-01-23 09:25:34 +01:00
Daniel Gultsch 582aee4718 do not use empty display name for /me command 2021-01-22 12:51:01 +01:00
Daniel Gultsch 3b43cb0bda do not offer share button when file hasnt been downloaded. fixes #3971 2021-01-22 08:24:19 +01:00
Daniel Gultsch e711b3d294 remember last rtp capability 2021-01-22 08:24:19 +01:00
Daniel Gultsch e087b594ff do not include own phone number in sycn
fixes #3960
2021-01-22 08:24:19 +01:00
Daniel Gultsch 9c087b9dd4 pulled translations from transifex 2021-01-22 08:24:19 +01:00
Molly Miller ebbf1ff6b1 Use the account's display name (if set) when rendering /me messages in one-to-one chats. 2021-01-22 07:23:58 +00:00
Daniel Gultsch 20d0206859 pulled translations from transifex 2021-01-20 08:23:24 +01:00
Daniel Gultsch 9db0808306 show self contact with display name 2021-01-20 08:15:06 +01:00
Daniel Gultsch eea484af01 move SMS receiver into its own BroadcastReceiver 2021-01-20 08:14:36 +01:00
Daniel Gultsch 47d619b28e Quicksy: accept http status code 201 for account creation 2021-01-19 22:26:27 +01:00
Daniel Gultsch 26a4598f3c automatically receive Quicksy SMS. fixes #3962
requires new version of QuicksyServer
2021-01-19 15:45:43 +01:00
Daniel Gultsch 624bb565a8 code clean up in tos activity 2021-01-19 13:53:47 +01:00
Daniel Gultsch 87e9b8037e request input focus in VerifyActivity 2021-01-19 13:31:49 +01:00
Daniel Gultsch 49d0558da1 fix tab height in StartConversation screen 2021-01-19 12:58:05 +01:00
Daniel Gultsch 260b203ea3 Revert "just xmpp things"
This reverts commit d0a2f1f45f.
2021-01-19 08:55:22 +01:00
Daniel Gultsch 91cc8f5011 bump various libraries that have been waiting for androidx 2021-01-18 21:49:31 +01:00
Ferdinand Pöll 453ca7c0ed Migrate from Android Support Library to AndroidX
Unignored gradle.properties since androidX requires additions there
See also https://developer.android.com/jetpack/androidx/migrate
2021-01-18 20:49:35 +01:00
Daniel Gultsch 55fd0b8504 pulled translations from transifex 2021-01-18 09:32:20 +01:00
Daniel Gultsch bfccfba00e fix in call notification being shown twice 2021-01-15 13:03:54 +01:00
Daniel Gultsch 5b48b4027e code clean up 2021-01-15 10:45:03 +01:00
Daniel Gultsch 41c045d779 pulled translations from transifex 2021-01-11 11:30:53 +01:00
Daniel Gultsch b0584137b4 pulled translations from transifex 2021-01-07 09:12:11 +01:00
Daniel Gultsch d0a2f1f45f just xmpp things 2021-01-06 11:46:09 +01:00
Daniel Gultsch 372ddbfb49 Revert "offline presences aborts session proposals. fixes #3943"
This reverts commit f23016c967.
2021-01-06 09:03:42 +01:00
Emmanuel Gil Peyrot 17c697eed9 add 'id' attribute to outgoing ICE-UDP candidates
this attribute is mandatory as per the XEP.
2021-01-03 16:32:28 +00:00
Daniel Gultsch 2bec5459c5 properly null check ufrag and pwd before whitespace checking. fixes #3956 2021-01-03 16:05:17 +01:00
Daniel Gultsch 8eb685a7eb pulled translations from transifex 2021-01-02 09:09:23 +01:00
Daniel Gultsch adb5a2b2c2 pulled translations from transifex 2020-12-31 10:41:14 +01:00
Daniel Gultsch 0569febf67 minor code clean up in XmppConnection class 2020-12-31 10:27:06 +01:00
Daniel Gultsch 0e54d8a2cf implement SCRAM-SHA512 2020-12-31 09:32:05 +01:00
Daniel Gultsch 2a57c92f63 rewrote scram cache implementation 2020-12-30 22:01:08 +01:00
Daniel Gultsch 692ee6c9fb SCRAM remove cache. made digest and hmac non static
DIGEST and HMAC were static variables. Those are initialized by
what ever concrete implementation gets executed first.

(Perform SCRAM-SHA1 first and those variables got initialized with
SHA1 variants)

For subsequent SHA256 executions those variables contained wrong
values.
2020-12-30 15:57:44 +01:00
Daniel Gultsch f23016c967 offline presences aborts session proposals. fixes #3943 2020-12-22 17:50:26 +01:00
Daniel Gultsch b4db2e5284 make ongoing call check null safe. fixes #3951 2020-12-22 14:30:54 +01:00
Daniel Gultsch 39229c34f6 cancel touch event after opening context menu in search view 2020-12-18 21:18:09 +01:00
Daniel Gultsch 090b3b18d0 don’t check for inRoster when doing jingle with oneself. fixes #3947 2020-12-11 14:25:56 +01:00
Daniel Gultsch d1490673bb work around race condition after opening easy invite dialog 2020-12-11 11:29:23 +01:00
Daniel Gultsch e38aa30a84 minor code clean up 2020-12-11 11:05:08 +01:00
Daniel Gultsch f584179f2f store avatars in cache folder 2020-12-10 19:05:04 +01:00
Daniel Gultsch 07e965f8f3 pulled translations from transifex 2020-12-10 18:47:23 +01:00
Daniel Gultsch 9c67e8fec2 fix long pressing on a textview with link 2020-12-08 07:10:54 +01:00
Daniel Gultsch 849968107e remove unused CopyTextView
after removing the ability to select and copy text the transformation methods
provided by CopyTextView are no longer necessary.
2020-12-08 07:08:59 +01:00
Daniel Gultsch 7179d72f7e pulled translations from transifex 2020-12-07 16:14:25 +01:00
Daniel Gultsch 261207a4c0 ignore whitespace when trying to detect provisioning json
fixes #3940
2020-12-07 09:03:05 +01:00
Daniel Gultsch 303e205276 if file extension doesn’t exist. try to guess from content type. fixes #3939 2020-12-06 19:22:36 +01:00
Daniel Gultsch 99cb23fe14 share xmpp uri if landing url is not available 2020-12-06 17:57:55 +01:00
Daniel Gultsch 528f192f76 stop parsing random strings as xmpp addresses when scanning uris 2020-12-02 08:19:06 +01:00
Daniel Gultsch 778cfa846b implement stub easy onboarding activity for quicksy 2020-12-02 07:21:50 +01:00
Daniel Gultsch 00e1a93014 fixed typo in easy invites request code 2020-12-01 22:39:56 +01:00
Daniel Gultsch 1f392a688d initial (untested) support for easy onboarding invites 2020-12-01 20:31:30 +01:00
Daniel Gultsch 35316ad93a pulled translations from transifex 2020-11-25 07:43:47 +01:00
Daniel Gultsch 600f243797 pulled translations from transifex 2020-11-16 12:22:50 +01:00
Daniel Gultsch 36f5f77c30 disable autofill for password field when not in init mode
maybe fixes #3924
2020-11-16 12:08:10 +01:00
Daniel Gultsch c7ec6a9dae let media scanner scan backup file. fixes #3913
note that the ROMs I tested this on don’t require scanning for it
to appear on MTP. However it certainly don’t hurt either.
2020-11-15 10:43:21 +01:00
eta 0c563134da Enable the android:largeHeap flag
- With large accounts (such as mine), Conversations starts hitting up against
  the default heap limit pretty quickly, at which point it grinds to a halt as
  GC pause times increase.
- Furthermore, it's impossible to complete a backup with such an account, since
  Conversations will just run out of memory before the backup can complete.
- Enabling the `android:largeHeap` flag asks the OS for a bit more memory, which
  hopefully alleviates the problem for larger accounts.
2020-11-14 12:55:30 +00:00
Daniel Gultsch 6485c77e09 pulled translations from transifex 2020-11-14 12:01:28 +01:00
Daniel Gultsch 1fafe4287d don’t send origin-ids to rooms that support stable-ids. fixes #3905 2020-11-14 11:59:35 +01:00
Daniel Gultsch 16c4e3eec7 keep conversation bold (unread) after responding to a call. fixes #3926 2020-11-14 09:55:43 +01:00
Daniel Gultsch afb2fb1326 use CoW data structure for read markers. fixes #3904 2020-11-13 20:37:32 +01:00
Daniel Gultsch 952387cb5a use lower margins on between in-call buttons on small displays
hopefully fixes #3890
2020-11-13 16:11:41 +01:00
Christoph Scholz 386b224123 fix escapeing in local channel discovery 2020-11-13 13:35:46 +00:00
Alexei Sorokin 501cdd5edf do not prepend asterisks before words in search
An asterisk is a special FTS4 operator when appended to a word but has no
special meaning when prepended.
2020-11-13 12:43:18 +00:00
Daniel Gultsch b327548c85 show toast if no application found to attach 2020-11-13 12:50:05 +01:00
Daniel Gultsch aaebb3a536 bump gradle and targetSdk 2020-11-13 12:24:42 +01:00
Daniel Gultsch 5ad054617b use instead of message id for receipt processing 2020-11-12 13:33:27 +01:00
Daniel Gultsch ff13cc2766 extracting chat state for chat with self should not cause markRead event. fixes #3906 2020-10-20 10:20:58 +02:00
Daniel Gultsch dc72bc5bc3 extend logging for not finding query 2020-10-08 20:21:53 +02:00
eta 364502d1a3 Fix various memory leaks reported by LeakCanary
- In some places, we weren't nulling out references to destroyed objects. This
  fixes that.
- (These were all discovered via LeakCanary instrumentation, and the fixes are
  hopefully rather straightforward-looking.)
2020-10-05 11:33:29 +00:00
eta b4805ac2c5 Remove the ListSelectionManager / message body selection (fixes memory leak!)
- When the `viewHolder.messageBody` `TextView` created by a `MessageAdapter` is
  set to selectable, it leaks an `android.widget.Editor` (because that editor
  registers a view observer that never gets unregistered).
  - This memory leak is really quite problematic, as the message adapter is used
    a lot!
- Having the text be selectable is useless anyway, though; there isn't any way
  to select it (because long pressing just opens the context menu anyway).
  - It looks like the ListSelectionManager was meant to track selections across
    multiple messages. However, I'm not sure this feature ever gets used.
- Accordingly, this commit removes the entire feature, thus fixing the memory
  leak (since no `Editor` objects are ever created).
  - It should also reduce memory usage in general, since we aren't attaching an
    `Editor` to every single textview we create.
  - A `TextView` only allocates an `Editor` if you ask it to do certain things,
    like make the text selectable or register custom selection callbacks.
2020-10-05 11:33:12 +00:00
Daniel Gultsch ce1b707837 pulled translations from transifex 2020-09-09 10:47:48 +02:00
Daniel Gultsch 7fb617e39a disable 'leave before join'
leaving a MUC before joining it was a work around for servers that did not treat a
<x/> join as a full join and didn’t send the full user list if they thought the user was
still in the room.
this happens if Conversations restarts after an inproper disconnect. The MUC will think
the user is still in the room.

however nowadays most modern servers will treat <x/> joins as full joins. on the user hand
leave before join would trigger flood prevention on ejabberds and race the first message
with the actual join (making the message arrive before the user is considered in the room)
2020-09-02 10:14:02 +02:00
Daniel Gultsch 9db0c85cda rename 'add to favorites' to 'pin to top' 2020-09-02 10:13:10 +02:00
Daniel Gultsch 27c89e487a restructure conversation menu
we don’t want 'manage accounts' and 'settings' to show up when within a conversation.
we also move out disable notifications and add to favorites into an overflow overflow
to make the menu shorter (after adding 'Search messages' it became very crowded)
2020-09-01 16:50:28 +02:00
Daniel Gultsch 73dac680e5 show notification if message failed to deliver. closes #3540 2020-09-01 14:04:38 +02:00
Daniel Gultsch aa792a3af6 pulled translations from transifex 2020-09-01 11:41:16 +02:00
Daniel Gultsch 8d64e101c9 provide content description for fab in start conversation 2020-08-31 18:06:24 +02:00
Daniel Gultsch 3281a93dc3 use content description for play/pause button in audio player 2020-08-31 17:42:03 +02:00
Daniel Gultsch 81985ca7d7 shorten 'close conversation' string 2020-08-31 17:33:37 +02:00
Daniel Gultsch f76ef17494 provide content descriptions for call screen 2020-08-31 17:30:54 +02:00
Daniel Gultsch 4b12033bd3 pulled translations from transifex 2020-08-31 17:12:41 +02:00
Daniel Gultsch ce81123112 use content description in search fields 2020-08-31 17:12:31 +02:00
Daniel Gultsch 2de8f3d35b change title of lock icon when changing encryption 2020-08-31 16:56:23 +02:00
Daniel Gultsch 97fe9fa01f parse error messages from MAM results 2020-08-31 14:38:48 +02:00
Daniel Gultsch 6590dc922f homogenize accessibility traversal in sent and received messages 2020-08-31 13:20:17 +02:00
Daniel Gultsch c48499253b set content description for all avatars 2020-08-31 13:05:10 +02:00
Daniel Gultsch 3c0773c6e7 use darker accent color in light theme 2020-08-31 11:19:27 +02:00
Daniel Gultsch 064264c20b parse 'received' carbon-copied error messages. fixes #3803 2020-08-31 11:06:26 +02:00
Daniel Gultsch 3dcb36a417 persist presence name (pep, nick in subscribe) to DB. fixes #3856 2020-08-31 09:03:54 +02:00
Daniel Gultsch 35af8894d2 search individual conversations. fixes #3243 2020-08-29 08:16:08 +02:00
Daniel Gultsch d158eeaf72 terminate jingle call when regular call starts 2020-08-24 12:47:54 +02:00
Daniel Gultsch 91e94db747 extend isBusyState to check phone state as well 2020-08-24 09:51:26 +02:00
Daniel Gultsch 15b323ee69 fix crash after session-accept failed and session-accept contained candidates
Conversations would attempt to feed any candidates found in the session-accept into
WebRTC; even if the session wasn’t setup correctly.

this commit processes the candidates only if the session was setup correctly

fixes #3867
2020-08-22 08:12:28 +02:00
Daniel Gultsch f3362ebde5 add start/install orbot to error notification if applicable. fixes #3846 2020-08-19 15:29:25 +02:00
Daniel Gultsch 70c10fd0de listen to orbot events instead of using intent result to reconnect account 2020-08-19 13:57:33 +02:00
Daniel Gultsch 1958cded23 improve logging for app server failures. change wording to include 'push' 2020-08-19 13:18:27 +02:00
Daniel Gultsch 7d2a7d536d fix attachments getting lost when switching to chat during call
fixes #3854
2020-08-05 21:31:56 +02:00
Daniel Gultsch 129f43a349 verify hostname is valid before letting user save it 2020-08-01 15:03:20 +02:00
Daniel Gultsch 637c0cb15a fixed rare race condition when receiving transport info right after WebRTCWrapper closes
fixes #3849
2020-08-01 14:18:03 +02:00
Daniel Gultsch 1ae7d6be16 recover from pre-jingle connection states (discover etc) into full fledged jingle connection
fixes #3847
2020-08-01 09:50:54 +02:00
Daniel Gultsch f22e33e3ea fixed race condition of WebRTCWrapper being closed before transitioning into terminal state
JingleRTPConnection shuts down the WebRTCWrapper before transitioning into a terminal state.
(This allows us to make sure it is actually closed when reaching that state);
However that means that, when we get a UI redrawn inbetween closing and transitioning we might
still be in SESSION_ACCEPTED but with no PeerConnection. This traditionally has triggered
an IllegalStateException on getting the EndUserState.
This commit catches the ISE and returns 'ENDING' instead.
Chances are that this is only visibiliy for a very brief time in the UI before the transition
triggers the UI to redraw with the proper state.

fixes #3848
2020-08-01 08:20:10 +02:00
Daniel Gultsch 5ecd250565 pulled translations from transifex 2020-07-30 13:02:25 +02:00
Daniel Gultsch f5f9075da2 FileObserver: start monitoring new directories when they are created 2020-07-30 12:55:19 +02:00
Daniel Gultsch 9cd4e1d581 show toast when correction fails 2020-07-26 17:03:51 +02:00
Daniel Gultsch 6941d5edd1 ignore IQ result when MAM query had been killed 2020-07-26 16:39:48 +02:00
Daniel Gultsch 1c66772202 rename DnD to Busy in settings. fixes #3839 2020-07-26 16:30:02 +02:00
Daniel Gultsch 9bec186292 ignore RTP session logs when looking for LMC. fixes #3843 2020-07-26 13:46:01 +02:00
Daniel Gultsch 16300727d1 try to guess mime type via extension in display name 2020-07-21 10:19:21 +02:00
Daniel Gultsch 28856aaf9f add icons for gpx files 2020-07-19 21:27:43 +02:00
Daniel Gultsch 32d55346cc ensure server triggered jingle iq-errors get routed properly 2020-07-18 16:14:39 +02:00
Daniel Gultsch 994fd9ecad restore backup in one transaction 2020-07-16 11:25:25 +02:00
Daniel Gultsch fd68bfb8ca pulled translations from transifex 2020-07-13 17:34:49 +02:00
Daniel Gultsch 9e6f7237af use smaller image previews on narrow screens 2020-07-12 12:31:13 +02:00
Daniel Gultsch 7aeb2b2740 pulled translations from transifex. re-enabled some linter warnings 2020-07-12 10:15:51 +02:00
Daniel Gultsch 590deef8e9 use ctrl+arrow up to correct last message. fixes #3806 2020-07-12 09:45:27 +02:00
Daniel Gultsch c9e6653e33 fixups and code clean up for 'Ctrl+Enter' 2020-07-12 08:28:09 +02:00
Marcin Mielniczuk e7e04837b6
Support sending messages with ctrl+enter
Currently Conversations lacks any keyboard shortcut to send a message if enter_is_send is disabled.

KeyboardListener has been extended to include the original KeyEvent as an argument.

fixes #3829
2020-07-12 05:18:40 +00:00
Daniel Gultsch aa47e53584 pulled translations from transifex 2020-07-11 12:48:20 +02:00
Daniel Gultsch c3fa1d5d30 show switch to chat button during audio call. fixes #3825 2020-07-10 19:30:16 +02:00
Daniel Gultsch bab9dd4893 make sure intent is only set to retracted if something was retracted. fixes #3826 2020-07-10 16:10:40 +02:00
Daniel Gultsch bf85a55930 catch NPE when detecting camera facing. fixes #3820 2020-07-09 20:11:09 +02:00
Daniel Gultsch 1107529f56 ask for contact permission before adding to contact to phone book. fixes #3808 2020-07-09 20:03:02 +02:00
Daniel Gultsch 6a6c9fb3bf ignore race condition when toggling fixes #3822 2020-07-09 19:14:28 +02:00