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
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
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
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
619af9c6c5
back button should not end call if call is connected. fixes #3975
2021-01-23 18:42:34 +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
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
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
26a4598f3c
automatically receive Quicksy SMS. fixes #3962
...
requires new version of QuicksyServer
2021-01-19 15:45:43 +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
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
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
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
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
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
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
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
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
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
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
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
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
3281a93dc3
use content description for play/pause button in audio player
2020-08-31 17:42:03 +02:00
Daniel Gultsch
f76ef17494
provide content descriptions for call screen
2020-08-31 17:30:54 +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
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
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
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
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
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
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
Daniel Gultsch
71a56002fe
fix emojis not rendering correctly with trailing variant selector. fixes #3819
2020-07-09 17:43:30 +02:00
Daniel Gultsch
13d8eb1c7e
dismiss notification only if displayed id matches last remote id
2020-06-24 12:12:35 +02:00
Daniel Gultsch
fada3a63c9
store entire transport info for after session was accepted. fixes #3790
2020-06-22 18:07:27 +02:00
Daniel Gultsch
a5430d5ce1
retract call when user presses home button or back; not on stop. fixes #3802
2020-06-22 15:37:22 +02:00
Daniel Gultsch
57135e1a59
do not update recent quick action when recording voice mail. fixes #3799
2020-06-21 16:28:57 +02:00
Daniel Gultsch
15489547b7
add account provisioning via QR code to welcome screen
2020-06-21 15:40:51 +02:00
Andrey Tikhomirov
203e248a14
Fix screen blinking during the call for some Samsung phones ( #3800 )
2020-06-21 06:56:51 +00:00
Daniel Gultsch
dddb7ece25
show app failure instead of crashing when egl fails to init. fixes #3795
2020-06-18 20:37:56 +02:00
Daniel Gultsch
169ee99afa
do not attempt to reject call if session had already ended. fixes #3798
2020-06-18 20:32:58 +02:00
Daniel Gultsch
7bcb29c482
be more liberal in 0167 payload-type parameter parsing
...
some implementations will transform the following SDP coming from Firefox
m=audio 12346 RTP/AVP 101
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
to
<payload-type channels="1" name="telephone-event" clockrate="8000" id="101">
<parameter value="0-15" xmlns="urn:xmpp:jingle:apps:rtp:1"/>
</payload-type>
While a missing name attribute is not legal according to the XEP; and 0-15 are
technically not just one value the following commit will accept it if there is
just one paramater.
2020-06-17 21:15:12 +02:00
Daniel Gultsch
47804205b6
clear pending photo uri only when also clearing activity result
...
on some phones the onBackendConnected finishes prior to the onActivityResult()
leading to the pending photo uri being cleared before processing the result.
this leads to 'Take photo' not working.
but we probably don’t need to clear the photo uri if there is to activiyResult
to clear as well
2020-06-17 17:58:25 +02:00
Dmitry Markin
4493f6cc13
Leave the incoming call notification category as CATEGORY_CALL ( #3792 )
2020-06-16 19:07:01 +00:00
Daniel Gultsch
c8f23aef4e
error response to sending the jingle ft hash should not file the transfer
2020-06-15 21:33:32 +02:00
Daniel Gultsch
98e1044bdd
use Jid.ofLocalAndDomainEscaped when transforming account with locked domain
2020-06-15 19:17:21 +02:00
Daniel Gultsch
20286ea8d2
fixed concurrent modification when displaying read markers
2020-06-14 19:09:55 +02:00
Daniel Gultsch
1f77d5e115
pass selected audio device to proximity sensor toggle
2020-06-14 16:22:53 +02:00
Daniel Gultsch
16bc210211
fix regression for fixed domain
2020-06-14 11:28:25 +02:00
Daniel Gultsch
c3b9a4dabc
parse jmi proposals from MAM reloads. fixes #3778
2020-06-14 10:34:40 +02:00
Daniel Gultsch
ccdc91a497
remove check that would ensure you use jingle only with full jids
2020-06-14 09:01:47 +02:00
Daniel Gultsch
400c8461fc
fix feature discovery in jingle file transfer for empty resources
2020-06-13 22:53:24 +02:00
Daniel Gultsch
fda9e7b51c
make presence selector work with empty resources (bare jid)
2020-06-13 09:59:39 +02:00
Daniel Gultsch
0dba9f560c
rework quicksy domain checks
2020-06-13 08:26:32 +02:00
Daniel Gultsch
56ea9647cd
null check quicksy domain
2020-06-13 08:10:04 +02:00
Daniel Gultsch
971bb60f42
add more logging to caps fetching
2020-06-12 20:06:49 +02:00
Daniel Gultsch
0ba4892d3e
RTP: write log message on background thread
2020-06-12 09:08:09 +02:00
Daniel Gultsch
b7f3b4333e
show help button on certain error conditions in RTP session. fixes #3770
2020-06-12 08:26:33 +02:00
Daniel Gultsch
644ad99520
create rtp end user state for connection lost. fixes #3769
2020-06-12 07:57:11 +02:00
Daniel Gultsch
552e17e39a
remember terminal RTP session state
...
if the activity is not connected during finish it won’t receive the last end user state.
this code remembers it even if the actual session is already gone. so when activity reconnects and
we can’t find the real rtp session we can look up the last state instead.
2020-06-11 21:17:15 +02:00
Daniel Gultsch
7e2d87f39c
recover if attachImage can’t generate scalled down version of image. fixes #3773
2020-06-09 21:08:27 +02:00
Daniel Gultsch
1853242c66
do not throw when finishing jingle ft twice. fixes #3765
...
the state machine in jingle file transfer does not prevent that the connection
is being finished twice
2020-06-07 15:00:00 +02:00
Daniel Gultsch
b78d45c7cc
fix Jingle FT candidate selection for equal priority. fixes #3771
2020-06-07 12:47:03 +02:00
Daniel Gultsch
4bc43af690
improve logging in export backup service. closes #3672
2020-06-02 07:59:46 +02:00
Daniel Gultsch
637c208f55
ask for resource and use jingle direct init when JMI is not available. fixes #3751
2020-05-30 14:56:12 +02:00
Daniel Gultsch
8edfc61346
fixed concurrent modification when iterating over presences
2020-05-30 10:57:22 +02:00
Daniel Gultsch
8603d24bcb
add record voice mail button to busy screen. fixes #3754
2020-05-30 10:30:57 +02:00
Daniel Gultsch
59d1a2982e
RtpSessionActivity: throw instead of finish when session wasn’t found
2020-05-28 09:22:58 +02:00
Daniel Gultsch
63ba21a512
catch ISE cause by race when displaying video track. fixes #3752
2020-05-27 15:53:05 +02:00
Daniel Gultsch
5e3aab3abe
ensure that finishConnection succeeds
2020-05-27 13:54:35 +02:00
Daniel Gultsch
575ada3b27
fix scram crash for broken metronome servers
2020-05-27 13:53:28 +02:00
Daniel Gultsch
1c625e55a0
set candidate gathering to continually. fixes #3719
...
This should be good enough to survive some network switches where both networks are online at the same time to allow for some handover
(for example when enabling wifi the 3G connection will usually (probably depends on OS) live on for a moment
2020-05-25 11:11:29 +02:00
Daniel Gultsch
8475a28dc5
control voice call volume when playing audio through earpiece. fixes #3705
2020-05-25 10:43:56 +02:00
Daniel Gultsch
7ca543e42f
replace /me when quoting messages. fixes #3669
2020-05-24 10:52:34 +02:00
Daniel Gultsch
88cc097732
fail pending messages on policy violation. fixes #3735
2020-05-22 18:23:53 +02:00
Daniel Gultsch
ed4d7bff92
reset tone manager after reaching NULL status
2020-05-22 16:25:29 +02:00
Daniel Gultsch
550fbc6d2c
make sure automatic jmi responses are sent before ack
2020-05-22 13:22:22 +02:00
Daniel Gultsch
685e01e83f
give TonManager control over audio mode to play dial tones on earpiece. fixes #3738
2020-05-21 15:39:59 +02:00
Daniel Gultsch
a2a7256682
disable hardware AEC on some devices. fixes #3734
2020-05-21 11:13:46 +02:00
Daniel Gultsch
de941f6036
use escaped jid for invites
2020-05-21 08:41:04 +02:00
Daniel Gultsch
574bccfc59
avoid unnecessary call to Jid.ofDomain()
2020-05-21 07:57:57 +02:00
Daniel Gultsch
aa1e69d277
use escaped jid for EXTRA_ACCOUNT
2020-05-20 20:14:13 +02:00
Daniel Gultsch
304411fc09
return audio mode to normal (instead of previous mode) after call ended
2020-05-20 19:40:26 +02:00
Daniel Gultsch
bfeebc141f
invalide options menu after pinning/unpinning. fixes #3745
2020-05-19 19:39:05 +02:00
Daniel Gultsch
dd0f354b62
publish pep bookmarks 1.0 to an item called 'current'
2020-05-19 19:39:05 +02:00
Daniel Gultsch
f8fedf0059
sasl prep password before hashing. fixes #1893
2020-05-19 15:28:12 +02:00
Daniel Gultsch
22f3aac465
fix media browser for escapbed jids
2020-05-18 11:48:24 +02:00
Daniel Gultsch
3ca10b8fa9
show escaped jids when it comes to account selection
2020-05-18 09:35:35 +02:00
Daniel Gultsch
df3273a6fc
fix jid.withResource() for domain jids
2020-05-18 09:14:57 +02:00
Daniel Gultsch
a0920b83e2
use Account.getDomain() for direct access to domain jid
2020-05-17 10:24:46 +02:00
Daniel Gultsch
b347d57848
don’t escape jids when parsing from uri
2020-05-17 08:53:44 +02:00
Daniel Gultsch
1da490f77a
do not request storage permission for attaching location
2020-05-16 17:51:14 +02:00
Daniel Gultsch
4dd3b0c2aa
allow to pin conversations on top. fixes #3480
2020-05-16 12:10:26 +02:00
Daniel Gultsch
7a21b2c5ed
fixed parsing of unescaped jids with @ in local part
2020-05-16 10:40:26 +02:00
Daniel Gultsch
2195bce303
don’t allow escaped usernames in magic create
2020-05-16 08:55:13 +02:00
Daniel Gultsch
78a82a74bc
use unescaped jid in ManageAccount
2020-05-15 20:20:22 +02:00
Daniel Gultsch
dc29cf27a3
validate conference jid on input
2020-05-15 19:22:15 +02:00
Daniel Gultsch
198a7db954
use escaped jid in more places
2020-05-15 18:44:55 +02:00
Daniel Gultsch
ef7d4fca86
show escaped jid in most of the UI
...
for historical reasons we store unescaped variants in DB and use them in intents.
2020-05-15 18:22:04 +02:00
Daniel Gultsch
b6703dbe38
switch xmpp-addr to jxmpp-jid
2020-05-15 17:06:16 +02:00
Daniel Gultsch
1b4f9cc8ab
allow 'login with certificate' from welcome screen. fixes #3724
2020-05-13 13:52:05 +02:00
Daniel Gultsch
36d2ecfcfa
always use private key for TLS connection when one is configured
2020-05-13 09:38:30 +02:00
Daniel Gultsch
2c4788b7c7
send retract when unable to setup webrtc as initiator. fixes #3717
2020-05-11 12:20:32 +02:00
Daniel Gultsch
b845c601d0
include senders in jingle file offer
2020-05-11 11:09:18 +02:00
Daniel Gultsch
90526efbd4
fixed destination calculation for direct socks candidates. fixes #3715
2020-05-11 11:08:45 +02:00
Daniel Gultsch
46579550e4
fixed weird ToneGenerator crash. fixes #3712
...
obviously tones won’t work then anymore
2020-05-10 17:54:16 +02:00
Daniel Gultsch
4d3d3a7038
tie breaking racing jingle message proposals. fixes #3698
2020-05-10 14:09:16 +02:00
Daniel Gultsch
2c5bed61a1
introduce extra RTP state to handle going from sending proceed to receiving retract
2020-05-09 21:35:21 +02:00
Daniel Gultsch
f4247379bd
catch UnsatisfiedLinkError when trying to init libwebrtc. fixes #3707
2020-05-09 19:48:54 +02:00
Daniel Gultsch
92fc22b313
show call duration in audio calls. fixes #3708
2020-05-09 11:14:39 +02:00
Daniel Gultsch
6daaca496b
externalize time passed utils
2020-05-09 09:42:33 +02:00
Daniel Gultsch
072edc5a62
hide microphone button in video-only calls. fixes #3700
2020-05-08 21:15:54 +02:00
Daniel Gultsch
bd0234ba4d
dismiss incoming call notification on crash. fixes #3701
2020-05-08 19:34:20 +02:00
Daniel Gultsch
abfa4eae08
remove white space before parsing omemo bundle base64
2020-05-08 19:33:49 +02:00
Daniel Gultsch
285c750e69
throw IllegalStateException when trying to finish from a non terminal state
2020-05-08 18:36:52 +02:00
Daniel Gultsch
350fc57d87
properly wrap IPv6 addresses
2020-05-08 17:52:41 +02:00
Daniel Gultsch
5af4c865a7
make sure we finsh() the connection after transitioning into terminal state
2020-05-08 17:22:27 +02:00
Daniel Gultsch
1b237e4ea0
pulled translations from transifex
2020-05-06 21:46:11 +02:00
Daniel Gultsch
fb57ef47bc
catch IllegalStateException around acceptCall()
...
this can happen when the UI races a call retrection
2020-05-05 09:37:27 +02:00
Daniel Gultsch
c159bbfc81
play dial sounds on wrong track to make them play in silent mode. fixes #3697
2020-05-03 23:15:21 +02:00
Daniel Gultsch
476fb23656
show timestamp for missed incoming calls. fixes #3692
2020-05-03 18:36:15 +02:00
Daniel Gultsch
3c3f5d8e6f
mark missed calls as unread (bold) in overview. fixes #3687
2020-05-03 18:07:00 +02:00
Daniel Gultsch
3577afea4e
fixed crash caused by race when dedecting if mic is on
2020-05-03 11:54:58 +02:00
Daniel Gultsch
e70b6eec98
do not mirror back camera. fixes #3693
2020-05-03 11:54:58 +02:00
Daniel Gultsch
5a5f887229
code cleanup in bundle parsing
...
also switch to guavas base64 parser to avoid potential ROM bugs
2020-05-03 11:54:58 +02:00
Daniel Gultsch
abb33b048a
fixed crash after accepting voice calls on devices that don’t have an earpiece (tablets)
...
fixes #3682
2020-05-02 18:06:56 +02:00
Daniel Gultsch
63ddd97b6b
add button to switch cameras during video call
...
RIP symmetry :-(
fixes #3683
2020-05-02 17:15:50 +02:00
Daniel Gultsch
e4b906ebeb
fix crash on unknown sasl mechanims
2020-05-02 10:20:18 +02:00
Daniel Gultsch
48163a5604
show proposal as ongoing call
2020-05-02 09:50:17 +02:00
Daniel Gultsch
f7a0d2031a
disable TLS cert validation for stun/turn server
...
turns out libwebrtc doesn’t use the system root CA store but comes with only a few default CAs.
in anyway we will probably only use tcp/443 to bypass firewalls and not to actually secure anything.
2020-05-01 20:17:23 +02:00
Daniel Gultsch
58429c42ee
lower case protocol; we have seen upper case in the wild for some reason
2020-05-01 20:15:09 +02:00
Daniel Gultsch
7ac5e8e828
properly close WebRTCWrapper even when init failed
2020-05-01 13:56:24 +02:00
Daniel Gultsch
eab4ac017f
minor code clean up
2020-05-01 07:58:58 +02:00
Daniel Gultsch
86b2631449
revert commit that attempted to do bare jid matching for LMC
...
That commit never worked because there were other checks in place later down the stream.
Allowing other clients (resources) to correct messages introduces the potential for nasty race conditions.
Furthermore we also have a check in place that would check that the OMEMO fingerprint is the same for security reasons. Removing that check is currently undesirable. Therefor correcting a message from another client would only work for plain text messages (and maybe PGP); this only adds confusion for users for very little benefit.
2020-05-01 07:45:00 +02:00
Daniel Gultsch
8374df84aa
do not change intent to retracted if end card had already been reached
2020-04-30 09:06:43 +02:00
Daniel Gultsch
deae2b109f
do not crash UI after ignoring improperly formatted jingle init
2020-04-29 15:54:02 +02:00
Daniel Gultsch
8a586527c4
check if setting local description was succesful
2020-04-29 15:32:27 +02:00
Daniel Gultsch
a49d69c878
parse candidates from session-init and session-accept
2020-04-29 10:36:54 +02:00
Daniel Gultsch
54ca3fb020
release video after end card reached. fixes video call retry
2020-04-29 09:22:49 +02:00
Daniel Gultsch
333f509e53
synchronize public WebRTCWrapper methods so closes don’t race
2020-04-29 09:10:15 +02:00
Daniel Gultsch
0d4b175760
better failure behaviour after direct init from jitsi
2020-04-29 08:51:38 +02:00
Daniel Gultsch
f93bac6d73
catch ISE around peerconnection.dispose()
2020-04-28 20:15:23 +02:00
Daniel Gultsch
faf1ff365d
modify call connected tone
2020-04-28 11:22:42 +02:00
Daniel Gultsch
8183c54ba0
use stanza-id for display markers in group chats
2020-04-28 08:25:21 +02:00
Daniel Gultsch
27bf871472
play beep when voice call connects
2020-04-28 07:30:27 +02:00
Daniel Gultsch
418cecad11
remove XEP-0357 support for group chats
2020-04-28 06:50:04 +02:00
Daniel Gultsch
fc4397e5b9
play busy and dial tones
2020-04-27 17:51:38 +02:00
Daniel Gultsch
07911b2094
indicate ongoing call. fixes #3675
2020-04-27 11:53:31 +02:00
Daniel Gultsch
9fbf73d1ea
do not log failed calls that never rang
2020-04-26 10:38:19 +02:00
Daniel Gultsch
006d7447a3
put version code into crash report
2020-04-25 20:13:20 +02:00
Daniel Gultsch
c41033e83c
only take udp candidates from transport-info
2020-04-25 20:13:08 +02:00
Daniel Gultsch
a5beaaed9d
null reference to rtpconnection when end card is reached
...
this will make re-init work if for example retry end card had been reached and we get another call
2020-04-24 21:27:03 +02:00
Daniel Gultsch
cacd85b4f1
catch ISE when entering PIP
2020-04-24 10:37:46 +02:00
Daniel Gultsch
4f5415ecba
terminated rtp connection do not count as busy
2020-04-24 09:41:54 +02:00
Daniel Gultsch
c0036b4ca6
increase busy timeout to 30s
2020-04-24 09:16:59 +02:00
Daniel Gultsch
96f6ae2b49
additional null check in case to is null
2020-04-23 20:11:45 +02:00
Daniel Gultsch
80cac3bd69
disable tcp candidates
2020-04-23 19:51:58 +02:00
Daniel Gultsch
d7a8519ad6
do not continue to accept call if reinit() caused activity to finish
2020-04-23 12:52:02 +02:00
Daniel Gultsch
cfb9368edb
check if pip feature is available on top of doing version check
2020-04-23 12:14:45 +02:00
Daniel Gultsch
60cea03dce
do not attempt retract if onStop was faster than backend connect
2020-04-23 10:13:10 +02:00
Daniel Gultsch
a008993d06
add 20s busy timeout to incoming calls
2020-04-22 21:59:20 +02:00
Daniel Gultsch
892d913e2c
parsing iq erros also need to finish the connection
2020-04-22 18:42:07 +02:00
Daniel Gultsch
9fa9ca9cbc
catch securityException when parsing rtp description
2020-04-22 16:35:08 +02:00
Daniel Gultsch
9afac21b0b
don’t throw when user double taps accept button
2020-04-22 14:49:48 +02:00
Daniel Gultsch
876b1149d5
avoid double termination after failed connection
2020-04-21 22:59:54 +02:00
Daniel Gultsch
e0cb127005
retract call when pressing home or power button during ringing
2020-04-21 22:46:46 +02:00
Daniel Gultsch
3c0b3f4b94
allow dnd overwrite for incoming calls
2020-04-21 18:13:09 +02:00
Daniel Gultsch
442b952700
add jingle message init namespace to features
2020-04-21 14:59:03 +02:00
Daniel Gultsch
5b12e23382
improve logging for throws from native callbacks
2020-04-21 12:00:13 +02:00
Daniel Gultsch
eb911b8196
show 215 status in server info
2020-04-21 11:40:05 +02:00
Daniel Gultsch
d5e3d13158
do not just assume rtcp-mux
2020-04-21 09:11:17 +02:00
Daniel Gultsch
7898ba65cd
extend extended webrtcwrapper logging
2020-04-20 17:05:27 +02:00
Daniel Gultsch
23d1ee5e41
render contact’s avatar during incoming call
2020-04-20 15:57:31 +02:00
Daniel Gultsch
187dff3df9
put contact picture in incoming call notification
2020-04-20 15:57:31 +02:00
Daniel Gultsch
df2ef0eeb0
automatically reject/ignore calls from strangers if the setting is set
2020-04-20 15:57:31 +02:00
Daniel Gultsch
e661d5b7ad
provide deep link from settings into call notification settings
2020-04-20 15:57:31 +02:00
Daniel Gultsch
1cc0dfad84
move sdp logging to different tag
2020-04-20 15:57:31 +02:00
Daniel Gultsch
5a0979b41e
store 'ended call' when ended from proceed
2020-04-20 15:57:31 +02:00
Daniel Gultsch
f7f0dc99a7
launch calls in new task
2020-04-20 15:57:31 +02:00
Daniel Gultsch
c7269bc0aa
check microphone availability on background thread
2020-04-20 15:57:31 +02:00
Daniel Gultsch
31dfb0c704
cache useTor information in activity
2020-04-20 15:57:31 +02:00
Daniel Gultsch
a12760300c
ensure that rtp connection is registered with connection manager
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c20c40a807
ensure webrtc connection gets closed after connection failure
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7dfd47a5c4
better crash than leave WebRTCWrapper unclosed
2020-04-20 15:57:30 +02:00
Daniel Gultsch
934b98d199
add microphone availability check
2020-04-20 15:57:30 +02:00
Daniel Gultsch
48f752366b
paint local mic off button in pip
2020-04-20 15:57:30 +02:00
Daniel Gultsch
644e5aa856
remove video sinks when calling onStop. otherwise going in and out foreground will give us endless sinks
2020-04-20 15:57:30 +02:00
Daniel Gultsch
16d34c2ba0
parse turns and stuns (regression from earlier commit)
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ab2681640a
allow pip during connecting
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2f437ea845
ignore iq errors if session has already been terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
fa3ef07580
be more strict with ice candidate parsing
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0a18ab35c0
fixed 215 credential detection
2020-04-20 15:57:30 +02:00
Daniel Gultsch
8472712b3e
play notification sound pre notification categories
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e545e95d39
getMedia() would throw null pointer when called after going from proposed to some error state
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ea2ed85ed7
support picture in picture for video calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
21e412ef6f
only show remote video when connected
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0c4f0c074d
improve busy behaviour with multiple devices
2020-04-20 15:57:30 +02:00
Daniel Gultsch
4558b9a7b0
select proper media for retry
2020-04-20 15:57:30 +02:00
Daniel Gultsch
45d5d1f635
capture in ~1920 resolution when available
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b95d406e61
use more approriate reason when failing because of parse errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ec6bcec849
use different aspect ratio for landscape
2020-04-20 15:57:30 +02:00
Daniel Gultsch
36e117979a
put 'video' in ongoing video call notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d7e93e18e5
add a couple of todos to RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f995965dea
parse 0339 source groups from sdp
2020-04-20 15:57:30 +02:00
Daniel Gultsch
01a9a52990
show enable/disable video in video calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
445009c558
request camera permissions
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5a20faaf0f
show 'incoming video cal' notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d4788fc1f4
display video call based on availability
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b4df19177f
make seperate menu items for audio and video calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
17d9b02f41
properly paint local video over remote
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d057ae3439
transmit media from proposal to actual session
2020-04-20 15:57:30 +02:00
Daniel Gultsch
8c273e7eee
parse media from session proposal
2020-04-20 15:57:30 +02:00
Daniel Gultsch
1489dba44f
release resource. stop caputuring when webrtc ends
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b20b00e77f
use toolbar to display status text in RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
339bdaea06
rudimentary video caputuring
2020-04-20 15:57:30 +02:00
Daniel Gultsch
bfb9a6267a
complete list of reasons
2020-04-20 15:57:30 +02:00
Daniel Gultsch
dd42a6b850
don’t transition when calling endCall and session was already terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
65b43661dd
RtpConnection: synchronize all externally call methods to guard state transitions
2020-04-20 15:57:30 +02:00
Daniel Gultsch
172d2c693f
depulicate 'propose's when doing mam catchup
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e16e0d895e
cancle ongoing jingle sessions on xmpp rebind
2020-04-20 15:57:30 +02:00
Daniel Gultsch
493ca68464
add <rtcp-mux/> in description
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ef22071bd1
turn proximity wake lock and/off depending on speaker configuration
2020-04-20 15:57:30 +02:00