Commit graph

4461 commits

Author SHA1 Message Date
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
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 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 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 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