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
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
e791e19265
ignore non letters when parsing action from xmpp uri
2021-09-27 11:15:56 +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
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
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
2957bccb33
Revert "Fixing trailing characters treated as part of URI error ( #3938 )."
...
This reverts commit 8d45cc5827
.
2021-09-08 21:30:21 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
d889c02a0a
make ascii armor parsing more resiliant
2021-02-24 11:05:11 +01:00
Daniel Gultsch
9450d49b0b
do not vibrate when in DND mode
2021-02-24 10:35:33 +01:00
Daniel Gultsch
24f2f52512
limit http upload / download to 4 parallel connections
2021-02-22 09:24:41 +01:00
Daniel Gultsch
f92ea5c70b
resend <propose/> only if server has stream mgmt
2021-02-21 13:37:08 +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
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
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