Commit graph

4352 commits

Author SHA1 Message Date
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
Daniel Gultsch 9bc264bd73 do not use proximity wake lock on speaker phone 2020-04-20 15:57:30 +02:00
Daniel Gultsch 981aeaf264 make mute and speaker button work 2020-04-20 15:57:30 +02:00
Daniel Gultsch b924a63d01 copy audio manager from AppRTCDemo 2020-04-20 15:57:30 +02:00
Daniel Gultsch 5b98107e9a put jingle messages in MAM and parse call log during catchup 2020-04-20 15:57:30 +02:00
Daniel Gultsch 9a41d11aed do not show context menu for call logs 2020-04-20 15:57:30 +02:00
Daniel Gultsch 4be2309202 more conditions under which to print call log 2020-04-20 15:57:30 +02:00
Daniel Gultsch 3439f40411 show call log messages in conversation stream 2020-04-20 15:57:30 +02:00
Daniel Gultsch 1dc88f38ca avoid terminating twice 2020-04-20 15:57:30 +02:00
Daniel Gultsch 82f9a77777 be more conservative when parsing rtp content 2020-04-20 15:57:30 +02:00
Daniel Gultsch deaa76b5ca when using onNewIntent make sure to store intent otherwise onBackground might just overwrite it again 2020-04-20 15:57:30 +02:00
Daniel Gultsch 609120c0d8 only ever create one wake lock in rtpsessionactivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch c9f7e174f7 use foreground service for ongoing call notification 2020-04-20 15:57:30 +02:00
Daniel Gultsch c6db651322 allow all jingle states to transition into terminated 2020-04-20 15:57:30 +02:00
Daniel Gultsch 5eea961155 improved strategy for ignoring self addressed jingle messages 2020-04-20 15:57:30 +02:00
Daniel Gultsch 7b382d2ba5 include more human readable text in application errors 2020-04-20 15:57:30 +02:00
Daniel Gultsch 07e671d7c3 do not offer jingle calls when using Tor 2020-04-20 15:57:30 +02:00
Daniel Gultsch 9d83981f2c respond with busy if there is anthor rtp session 2020-04-20 15:57:30 +02:00
Daniel Gultsch d19b5e0634 show notification during ongoing call 2020-04-20 15:57:30 +02:00
Daniel Gultsch 2e8b91665b improvements to RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 14d008d89d turn screen off during call 2020-04-20 15:57:30 +02:00
Daniel Gultsch 0302eacac1 back button rejects or ends call 2020-04-20 15:57:30 +02:00
Daniel Gultsch f5c4de8770 make retry work 2020-04-20 15:57:30 +02:00
Daniel Gultsch 2ba84bd32e no need to be careful about Int parsing in session description; just fail 2020-04-20 15:57:30 +02:00
Daniel Gultsch 6884e427ef require dtls and ensure procceds get tracked 2020-04-20 15:57:30 +02:00
Daniel Gultsch 0661c1bd37 add state transitions for iq service-unavailable errors and timeouts 2020-04-20 15:57:30 +02:00
Daniel Gultsch 39e3791345 incude human readable text in some session-terminates 2020-04-20 15:57:30 +02:00
Daniel Gultsch 6a1df0538e request recording permission when making or accepting audio calls 2020-04-20 15:57:30 +02:00
Daniel Gultsch 7749a7ce22 fixed rotation issues in RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 268eedad89 proper iq tracing (handling of errors); responding to all iqs 2020-04-20 15:57:30 +02:00
Daniel Gultsch 15a2491d7b correctly parse turn server 2020-04-20 15:57:30 +02:00
Daniel Gultsch 845b3d8a0e properly parse transport info and apply ice candidates after direct init 2020-04-20 15:57:30 +02:00
Daniel Gultsch 3e5e4e813b reject call from proceed state; and deal with direct inits 2020-04-20 15:57:30 +02:00
Daniel Gultsch 0bf991d95c make jingle->sdp parsing fail on some obvious errors 2020-04-20 15:57:30 +02:00
Daniel Gultsch ca9b95fc9c discover stun server 2020-04-20 15:57:30 +02:00
Daniel Gultsch 859bc0bef3 send and receive session terminates 2020-04-20 15:57:30 +02:00
Daniel Gultsch 00f273b0c0 show retry button after failed call 2020-04-20 15:57:30 +02:00
Daniel Gultsch f7d1e02d4b parse 'accept' messages 2020-04-20 15:57:30 +02:00
Daniel Gultsch 9edadc9835 process retract jingle messages 2020-04-20 15:57:30 +02:00
Daniel Gultsch a11d506bf0 support reject 2020-04-20 15:57:30 +02:00
Daniel Gultsch 7909a72d43 make retract jingle messages work 2020-04-20 15:57:30 +02:00
Daniel Gultsch e2f1cec2e5 prepare more state transitions 2020-04-20 15:57:30 +02:00
Daniel Gultsch ccfc55e9b6 show proper notification on incoming call 2020-04-20 15:57:30 +02:00
Daniel Gultsch 4c6ee9693a use appbarlayout in RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 0e88b56eb4 display status information in ui 2020-04-20 15:57:30 +02:00
Daniel Gultsch a9a35fb74b show status in RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch f8c0328416 dummy Jingle activity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 22c755c5ce implement session accept 2020-04-20 15:57:30 +02:00
Daniel Gultsch 9dfa9df790 implement sending of session-accept 2020-04-20 15:57:30 +02:00
Daniel Gultsch ac9a1a773e receive candidates/transport-info 2020-04-20 15:57:30 +02:00
Daniel Gultsch 885ec0febe a couple of bug fixes for SessionDescription.toString() 2020-04-20 15:57:30 +02:00
Daniel Gultsch f264ef9f8b create sdp string and set on peer connection 2020-04-20 15:57:30 +02:00
Daniel Gultsch b1c0e93b34 rudimentary rtpmap to session converter 2020-04-20 15:57:30 +02:00
Daniel Gultsch 2591a96945 sdp candidate to transport-info 2020-04-20 15:57:30 +02:00
Daniel Gultsch 4d70855b4c sdp to ice transport conversion 2020-04-20 15:57:30 +02:00
Daniel Gultsch b44a3aeac6 parse sdp to jingle (yet w/o transport) 2020-04-20 15:57:30 +02:00
Daniel Gultsch ef51ec2c1d create objects for ssma (xep-0339) 2020-04-20 15:57:30 +02:00
Daniel Gultsch 28ead10ca4 sdp media to description parsing 2020-04-20 15:57:30 +02:00
Daniel Gultsch 18059345c8 payload-type and rtp-hdrext sdp parsing 2020-04-20 15:57:30 +02:00
Daniel Gultsch 5b1d86d67e dummy code to get sdp out of (non-working) libwebrtc 2020-04-20 15:57:30 +02:00
Daniel Gultsch 3b857e6894 create temporary RtpSessionPropsoal as placeholder before we can create actual session 2020-04-20 15:57:30 +02:00
Daniel Gultsch e2e4390d51 untested sdp parser 2020-04-20 15:57:30 +02:00
Daniel Gultsch 766d1d603e show preliminary call button if contact supports it 2020-04-20 15:57:30 +02:00
Daniel Gultsch 4e13893662 create stub objects for most of what’s in description and transport 2020-04-20 15:57:30 +02:00
Daniel Gultsch 43cf1783a4 support multiple jingle contents 2020-04-20 15:57:30 +02:00
Daniel Gultsch b2aa0e3352 use final varible to mark initiator once connection object has been created 2020-04-20 15:57:30 +02:00
Daniel Gultsch 5b15348f13 process message inits 2020-04-20 15:57:30 +02:00
Daniel Gultsch 385692ea28 route jingle message inits 2020-04-20 15:57:30 +02:00
Daniel Gultsch a4acfb2a19 clean iq callback code in XmppConnection 2020-04-20 15:57:30 +02:00
Daniel Gultsch f9650b95d8 create stub JingleRTPConnection 2020-04-20 15:57:30 +02:00
Daniel Gultsch 963ddd11c2 refactor jingle code to use objects for TransportInfo 2020-04-20 15:57:29 +02:00
Daniel Gultsch eb22bd0499 create 'Description' object 2020-04-20 15:57:29 +02:00
Daniel Gultsch 7538e387ec fixed bug in ibb delivery introduced in earlier refactoring 2020-04-20 15:57:29 +02:00
Daniel Gultsch 34f42c73bc cleaned JinglePacket and Content element 2020-04-20 15:57:29 +02:00
Daniel Gultsch 23ebb6ae80 rename JingleConnection to JingleFileTransferConnection; use ID tuple to identify sessions 2020-04-20 15:57:29 +02:00
Daniel Gultsch b40a65652f disable HTTP upload during jingle development
we are going to refactor jingle a lot. in order to better spot potential
bugs in the Jingle File Transfer implementation we are going to disable
HTTP upload during development.
2020-04-20 15:57:29 +02:00
Daniel Gultsch 1d62cb0024 pdf renderer might throw security exception on password protected pdf 2020-04-20 15:57:06 +02:00
Daniel Gultsch c5da699afe dont crash when fields names in caps are null 2020-04-20 15:53:52 +02:00
Daniel Gultsch 62934e6487 change wording of previous commit 2020-03-31 19:49:08 +02:00
Daniel Gultsch ff18ea452d display toast when trying to join channel with no enabled accounts 2020-03-31 19:46:05 +02:00
Daniel Gultsch 3d0138506d fixed typo. closes #3667 2020-03-31 11:18:16 +02:00
Daniel Gultsch 4e33ebb308 close FileInputStream in MTM. fixes #1150 2020-03-26 08:25:22 +01:00
Daniel Gultsch 41ada3480c add jfif and jif as jpeg mime types 2020-03-12 21:28:54 +01:00
Daniel Gultsch 00191e2b60 explicitly use BouncyCastle for file crypto 2020-03-09 19:12:30 +01:00
Daniel Gultsch 257de4b51e fixed typo 2020-03-09 15:06:21 +01:00
Daniel Gultsch aecb771ab5 use 16 byte IVs for http upload files larger than 768KiB
Ever since Android 9+ switched to Conscrypt we can no longer efficiently
encrypt (and decrypt) large files with AES-GCM. We did’t notice this before
because when using 16 byte IVs even modern Androids will fall back to bouncy
castle. However the 'bug'/'feature' in Conscrypt surfaced when we switched over
to 12 byte IVs (which uses Conscrypt on Android 9+)
Switching back entirely to 16 byte IVs is undesirable as this would break
compatibility with Monal. So we end up with a weird compromise where we use
12 byte for normale plain text OMEMO messages and 'small' files where the
inefficiencies aren’t a problem.

The result of this commit is that Monal won’t be able to receive our files
larger than 768KiB. However the alternative is that Conversations would always
OOM when attempting to send larger files (where large depends on the available
RAM.)

fixes #3653
2020-03-08 13:13:19 +01:00
Daniel Gultsch 788b0f7f2d momentarily go back to 16 byte IVs
The Crypto provider used from Android P onwards (conscrypt) has a weird bug
that when 12 bytes IVs are used it will decrypt or encrypt the entire file
in RAM instead of streaming it. That will cause OOM for 'larger' files on http
upload. (both downloads and uploads are effected)

It is currently unclear why this is happening and why Conscrypt is put into a
different mode.
We are only observing that Android versions below P are fine and using 16 bytes
is fine on all Android versions.
2020-03-07 18:33:29 +01:00
Daniel Gultsch b2e9a954ab avoid bundled source selection that comes with ImageCropper on Android 10 2020-03-05 13:17:18 +01:00
Daniel Gultsch 7b5d0e034e when setting moderated also set non standard field to not make users participants by default 2020-03-02 11:11:23 +01:00
Daniel Gultsch 08bc3ca0d5 do not merge oob messages 2020-03-02 11:10:38 +01:00
genofire d353372768
fix typo (#3646)
sorry, this makes me crazy
2020-02-29 15:02:36 +01:00
Daniel Gultsch 0f40e7e73b fixed typo in resolver that cause hostnames not to be marked as authenticated (with DNSSec)
usually this wasn’t a problem as this is only the fallback after no IPs
have been discovered.

this also isn‘t a security issue as worst case is the hostname doesn’t get
accepeted as fallback in cert validation.

thanks @genofire for spotting this
2020-02-29 12:55:54 +01:00
genofire 5dd666257d
[BUGFIX] crash on resolve.toString if hostname is null (#3635) 2020-02-29 10:14:52 +01:00
Daniel Gultsch d6ae9d8d14 switch to sending 12 byte IVs 2020-02-17 11:13:38 +01:00
Daniel Gultsch e4685ad47a hide local part of group chat xmpp address 2020-02-17 11:10:41 +01:00
Daniel Gultsch d37aeef182 prevent sharing of xmpp uri for group chat bookmarks 2020-02-16 17:30:54 +01:00
Daniel Gultsch 9b55d90705 do not warn user if bookmark already exists
fixes #3631
2020-02-16 16:04:45 +01:00
Daniel Gultsch d64bc1776b show pdf previews in media browser
fixes #3639
2020-02-14 16:02:15 +01:00
Daniel Gultsch c34d40ebff fix user adapter view recycling bug 2020-02-14 12:04:11 +01:00
Daniel Gultsch a06eb10ed8 fixed rendering of transparent pdfs; white overlay for very dark pdf 2020-02-12 09:09:34 +01:00
Daniel Gultsch fc2b27c3b4 create pdf overlay for pdf thumbs 2020-02-11 19:55:31 +01:00
Daniel Gultsch 2aee26c49a display PDF previews 2020-02-11 17:41:54 +01:00
Daniel Gultsch 09dff6310d fix button alignment on Andrid <4.4
fixes #3625
2020-01-24 10:38:54 +01:00
Daniel Gultsch 843d7fe12d evict cached previews when file gets deleted 2020-01-20 10:54:55 +01:00
Daniel Gultsch 66da5ffb6c fixed download of previously deleted omemo files 2020-01-20 10:43:17 +01:00
Daniel Gultsch 9af056bb16 temporarily go back to 16 byte iv for imminent bug fix release 2020-01-19 13:40:48 +01:00
Daniel Gultsch c62d5ebcb3 added failure logging to http download 2020-01-19 11:36:26 +01:00
Daniel Gultsch c502503994 pass omemo decrypt up to higher layers to count as download error. decrypt all encrypted files 2020-01-19 10:01:43 +01:00
Daniel Gultsch 581eb5556f make theme depend on dark/night mode on android 10+
closes #3611
2020-01-18 14:14:43 +01:00
Daniel Gultsch e38a9cd729 omemo changes: use 12 byte IV, no longer accept auth tag appended to payload 2020-01-18 12:08:03 +01:00
Daniel Gultsch b56f6fbf4c updated screenshots 2020-01-18 09:12:50 +01:00
Daniel Gultsch 0fe47e5e4f removed logging that accidentally got commited earlier 2020-01-16 20:46:45 +01:00
Daniel Gultsch c8b5b96af9 support xmpp uris with single 'omemo' parameter for fingerprint (w/o sid) 2020-01-16 18:54:56 +01:00
Daniel Gultsch 724f30bcc5 fixed adding omemo encrypted images to gallery 2020-01-15 14:19:17 +01:00
ChaosKid42 f1d4127ace simplify osm attribution (#3613) 2020-01-11 15:25:58 +01:00
Daniel Gultsch f57a28ca32 add scan qr button to welcome screen
closes #2920
2020-01-11 14:06:35 +01:00
Daniel Gultsch 9653d68bdd parse install referrer from gplay 2020-01-10 12:51:04 +01:00
Daniel Gultsch 6025e5de28 make registration uris work with fixed usernames 2020-01-09 20:10:19 +01:00
Daniel Gultsch e57bd477a9 preselect proper account in create contact dialog after following invite 2020-01-09 17:42:02 +01:00
Daniel Gultsch 6205574bcb support ?roster;ibr=y xmpp uris 2020-01-09 17:42:02 +01:00
Daniel Gultsch d039c4870f support registration via pars tokens 2020-01-09 17:42:02 +01:00
Daniel Gultsch 80e83f77a7 pulled translations from transifex 2020-01-08 19:05:12 +01:00
Daniel Gultsch 4e0f05f0a1 refactored xmpp uri parsing to expose all params 2020-01-08 10:51:18 +01:00
Daniel Gultsch 9ccb5fdb46 show edit display name in all flavors 2020-01-05 15:59:54 +01:00
Daniel Gultsch 83e1d0d0a5 make checkmark icon more material 2020-01-05 13:30:26 +01:00
Anjan Momi 0ddfc51d6c show number of participants in a MUC
fixes #3447
2020-01-05 11:22:39 +01:00
Anjan Momi 0315b3b5c2 added openstreetmap copyright notice to maps
fixes #3588
2020-01-04 20:44:05 +01:00
Daniel Gultsch 42d69fd5e3 don’t crash when long pressing invalid geo-uris 2019-12-30 00:23:44 +01:00
Daniel Gultsch af3c106dc8 reset file to normal message when attempting re-download after delete
fixes: #3604
2019-12-30 00:14:55 +01:00
Daniel Gultsch 2b375877eb extend omemo auto expiry to 42 days (6 weeks)
closes #3584
2019-12-29 15:34:06 +01:00
Daniel Gultsch ed4a73e1c7 persist file size across aborts
fixes #3601
2019-12-26 19:01:01 +01:00
Daniel Gultsch a60e29d4f4 removed c style array 2019-12-26 17:36:16 +01:00
Daniel Gultsch 9bcef7a8e7 display '#' in generated channel avatars 2019-12-22 19:30:58 +01:00
Marc Schink 5117956648 Add missing space in debug output 2019-12-21 13:16:22 +01:00
Marc Schink 92cf221a2b Implement download resumption for OMEMO encrypted files 2019-12-21 13:16:18 +01:00
Marc Schink cae124d93f createOutputStream(): allow to disable decryption 2019-12-20 19:17:55 +01:00
Daniel Gultsch ef98a24bf6 add .heic to list of known mime types
fixes #3598
2019-12-12 18:54:46 +01:00
Daniel Gultsch 8d245fc754 don’t use secure delete when migrating edit column 2019-12-08 11:33:09 +01:00
Daniel Gultsch 00361e1e3d make + in e164 pattern not optional 2019-12-06 11:16:33 +01:00
Daniel Gultsch a3d639747a fixups for last commit 2019-12-05 14:03:54 +01:00
Daniel Gultsch 8263fb73e9 jingle ibb: wait to receive ibb
previously we signalled succesfull file reception after receiving enough bytes on ibb;
however that causes us to race with the session-info file hash. now the recipient will wait for
<close/> and the sender will make sure to send the session-info before sending close.

closes #3500
2019-12-05 13:28:14 +01:00
Daniel Gultsch 8a5d658b2a reduce cursor size back to 4m; now that the cause is fixed 2019-12-04 20:46:22 +01:00
Daniel Gultsch cc79d8f6b3 properly restore LMC edits. switch to LMC v1.1
fixes #3566

closes #3592
2019-12-04 19:20:24 +01:00
Daniel Gultsch b3c00d7163 use Base64.NO_WRAP instead of trim() 2019-12-04 17:35:06 +01:00
Daniel Gultsch 83520ad8e7 show jabber accounts from local address in Quicksy flavor 2019-12-02 13:50:58 +01:00
Daniel Gultsch b135486bb4 prevent crash when deleting account on servers that don't support omemo 2019-12-02 13:21:18 +01:00
Daniel Gultsch a99d7a7400 increase cursor window size on Android P when restoring messages 2019-12-02 13:20:53 +01:00
Daniel Gultsch 10c5d151d3 delete cached posh file after not being able to verify 2019-11-18 19:12:04 +01:00
Daniel Gultsch eb943619af do not crash when audio file reports zero length 2019-11-10 11:30:58 +01:00
Daniel Gultsch 97745bdfbe prevent crash when counterpart in message was null 2019-11-10 11:30:31 +01:00
Daniel Gultsch 79e174743e check if sender is in contact list before accepting jingle file 2019-11-09 22:58:02 +01:00
Daniel Gultsch 8d6fdfbde7 disable local server disco on Quicksy flavor 2019-11-09 10:20:58 +01:00
Daniel Gultsch f6724e405e allow jingle state transition for fallback after proxy failure 2019-11-09 09:31:35 +01:00
Daniel Gultsch 8e42d0d39c make jingle state transitions less error prone 2019-11-08 22:27:14 +01:00
Daniel Gultsch aa50f8da9d move foreground setting and backup setting to main settings screen 2019-11-08 14:14:28 +01:00
Daniel Gultsch 7cc2478f5c remove 'send indicate' setting and default to true 2019-11-08 12:23:06 +01:00
Daniel Gultsch b320dea4d9 fixed spinning wheel when switching between local and jabber.network discovery 2019-11-08 12:18:39 +01:00
Daniel Gultsch abc1cb5a89 remove 'indicate received' setting and default to true 2019-11-08 12:06:38 +01:00
Daniel Gultsch 7f25d91d33 do not validate port if hostname is empty. closes #3578 2019-11-03 22:03:46 +01:00
Daniel Gultsch f7b7464a65 fixed links in privacy warning in channel discovery. fixes #3577 2019-11-02 17:00:23 +01:00
Daniel Gultsch 07786d4576 optionally search local muc rooms instead of jabber.network 2019-11-02 09:43:37 +01:00
Daniel Gultsch adfbe59e57 mark silent notifications as local only
this will prevent silent notifications (for example those supressed by grace
period) showing up on my smart watch
2019-11-01 11:03:58 +01:00
Daniel Gultsch ecad9cbe3c catch security exception when passing on share intent that didn’t give us permission 2019-11-01 10:40:17 +01:00
Daniel Gultsch 2bed0dad12 attempt to fix some rare crashes 2019-10-26 13:23:27 +02:00
Daniel Gultsch db3ca3f165 store message bodies up to 1MB 2019-10-23 22:34:43 +02:00
Daniel Gultsch ab516299e7 catch all exceptions when closing closable 2019-10-23 22:34:25 +02:00
Daniel Gultsch 2f59d66fd1 catch dead system exception when creating error notification 2019-10-23 22:33:51 +02:00
Daniel Gultsch 9bea8074ab fixed loading channel results from cache 2019-10-11 19:39:45 +02:00
Daniel Gultsch e0b5010f24 don’t mark pgp encrypted files received from dino as deleted 2019-10-11 15:37:41 +02:00
Daniel Gultsch ddffe198c6 change background if no results found in channel search. fixes #3559 2019-10-10 12:54:43 +02:00
Daniel Gultsch 2ab65609e4 always show 'contact details' on avatar long press in non-anon 2019-10-09 20:40:56 +02:00
Daniel Gultsch 8578af2b2b flush on socks connection 2019-10-07 22:02:36 +02:00
Daniel Gultsch 799fffcb4a Revert "pulled translations from transifex"
This reverts commit ea633f3d8f.
2019-10-07 21:58:57 +02:00
Daniel Gultsch 79c3135b4d properly guard bookmarks2 deletion 2019-10-07 13:49:39 +02:00
Daniel Gultsch 077e695f68 trigger omemo self healing for live msgs on server w/o MAM 2019-10-07 13:38:56 +02:00
Daniel Gultsch 4df8343b05 set autojoin=true after following invite 2019-10-07 09:51:03 +02:00
Daniel Gultsch b96ef1e591 update ui after bookmark change 2019-10-07 09:37:12 +02:00
Daniel Gultsch f530e395ca bookmarks2. introduce #compat namespace 2019-10-07 09:37:12 +02:00
Daniel Gultsch 94c592f213 leave/join on bookmark modifactions 2019-10-07 09:37:12 +02:00
Daniel Gultsch f26e0720c6 support for purge and delete 2019-10-07 09:37:12 +02:00
Daniel Gultsch 95bf66ca7d Bookmarks2: support retraction 2019-10-07 09:37:12 +02:00
Daniel Gultsch f1aa5f2cab support for delete bookmarks2 2019-10-07 09:37:12 +02:00
Daniel Gultsch 6923b2898c WIP Bookmarks 2 support 2019-10-07 09:37:12 +02:00
Daniel Gultsch ea633f3d8f pulled translations from transifex 2019-10-07 09:36:15 +02:00
ChaosKid42 af898b3bc4 LMC: find replacedMessages based on bare JID (#3548) 2019-10-05 20:18:42 +00:00
Daniel Gultsch 6155938623 show reason in error message 2019-10-05 22:14:38 +02:00
Daniel Gultsch 01fc78d2a5 disable context menu on failed jingle files. fixes #3556 2019-10-05 22:05:03 +02:00
Daniel Gultsch d6835101b9 fixes for previous commit 2019-10-05 21:58:21 +02:00
Daniel Gultsch 7ce7a505a0 mark cancelled jingle ft as such on both sides
fixes #3554
2019-10-05 21:30:15 +02:00
Daniel Gultsch 6776603b90 fully read port in socks connection
incoming direct connections in receive mode wouldn’t clear the entire
destination from the input stream; thus adding a leading 0x00 to the file

fixes #3557
2019-10-03 20:47:31 +02:00
Daniel Gultsch 3d332f6f35 set shorter timeouts when using direct candidates 2019-10-03 09:37:01 +02:00
Marcin Mielniczuk c7bbfaf061 Use a more meaningful name for old status (#3552) 2019-10-01 19:42:05 +00:00
Daniel Gultsch 322352ccbf use new jabber.search.network endpoint 2019-10-01 12:42:12 +02:00
Daniel Gultsch 37b87e18ee fix NPE when using channel search and DOMAIN_LOCK closes #3458 2019-10-01 12:24:57 +02:00
Daniel Gultsch f8bd4284a5 report not-acceptable on jingle errors 2019-10-01 11:31:15 +02:00
Daniel Gultsch d2d9bbe3da improved jingle debugging 2019-09-29 13:32:45 +02:00
Daniel Gultsch aef394c9f0 ability to open files from media preview. fixes #3521 2019-09-29 02:00:06 +02:00
Daniel Gultsch 618d892ae7 account deletion: only attempt to delete omemo id when connected 2019-09-29 01:40:40 +02:00
Daniel Gultsch 7b160a358e do not add 'quote' when sharing own msgs 2019-09-28 23:56:29 +02:00
Daniel Gultsch 863ac7f2e5 show resource prompt when sending uncompressed video 2019-09-28 23:56:02 +02:00
Daniel Gultsch 9276eff1db delete omemo keys when deleting account 2019-09-28 21:52:07 +02:00
Daniel Gultsch 11736ce48c make list selection manager work with app compat 2019-09-26 23:47:55 +02:00
Daniel Gultsch 6c5b71440f channel search result long press to show join dialog 2019-09-24 17:29:34 +02:00
Daniel Gultsch 75d35c357e print emoji only status messages larger 2019-09-22 11:39:34 +02:00
Daniel Gultsch 426090c301 do not parse invites from type=groupchat 2019-09-22 10:00:09 +02:00
Daniel Gultsch 3820950408 show context menu in channel search to share uri 2019-09-21 10:51:05 +02:00
Daniel Gultsch ed46d12115 close correct socket after faulty jingle socks connection 2019-09-20 10:00:57 +02:00
Daniel Gultsch abe01f18f2 improved logging for messages waiting for join 2019-09-19 10:00:50 +02:00
Daniel Gultsch af74c3604c fixed R8 weirdness 2019-09-18 11:04:36 +02:00
Daniel Gultsch 02351dc0fb fixed direct invites after adhoc 2019-09-18 09:55:18 +02:00
Daniel Gultsch 4c92d1b755 cancel spinning wheel on muclumbus error 2019-09-18 09:17:47 +02:00
Daniel Gultsch 2ec1d0cc09 warn when using _only_ ambiguous cyrillic 2019-09-16 15:13:53 +02:00
Daniel Gultsch d963d95e30 fixed some minor NPE 2019-09-16 14:20:15 +02:00
Daniel Gultsch ab57c59838 clear notifications when deleting account 2019-09-15 12:23:56 +02:00
Daniel Gultsch 4cd652884c do not finish or repair sessions for untrusted senders
finishing (sending a key transport message in response to pre key message) as
well as reparing sessions will leak resource and availability and might in
certain situations in group chat leak the Jabber ID.

Therefor we disable that. Leaking resource might not be considered harmful by
a lot of people however we have always doing similar things with receipts.
2019-09-15 11:49:58 +02:00
Daniel Gultsch be4953b1e4 parse LMC 1.1 2019-09-13 16:38:15 +02:00
Daniel Gultsch e395da18bf when parsing omemo messages ensure we only find one element 2019-09-12 12:43:11 +02:00
Daniel Gultsch a7c47a33fa inherit language from parent message when finding localized body 2019-09-12 12:42:42 +02:00
Daniel Gultsch 9bf5fb98ac show language in message bubble if multiple language variants were received
XML and by inheritence XMPP has the feature of transmitting multiple language
variants for the same content. This can be really useful if, for example, you
are talking to an automated system. A chat bot could greet you in your own
language.

On the wire this will usually look like this:

```xml
<message to="you">
  <body>Good morning</body>
  <body xml:lang="de">Guten Morgen</body>
</message>
```

However receiving such a message in a group chat can be very confusing and
potentially dangerous if the sender puts conflicting information in there and
different people get shown different strings.

Disabeling support for localization entirely isn’t an ideal solution as on
principle it is still a good feature; and other clients might still show a
localization even if Conversations would always show the default language.

So instead Conversations now shows the displayed language in a corner of the
message bubble if more than one translation has been received.

If multiple languages are received Conversations will attempt to find one in
the language the operating system is set to. If no such translation can be
found it will attempt to display the English string.

If English can not be found either (for example a message that only has ru and
fr on a phone that is set to de) it will display what ever language came first.

Furthermore Conversations will discard (not show at all) messages with with
multiple bodies of the same language. (This is considered an invalid message)

The lanuage tag will not be shown if Conversations received a single body in
a language not understood by the user. (For example operating system set to
'de' and message received with one body in 'ru' will just display that body as
usual.)

As a guide line to the user: If you are reading a message where it is important
that this message is not interpreted differently by different people (like a
vote (+1 / -1) in a chat room) make sure it has *no* language tag.
2019-09-12 10:12:51 +02:00
Daniel Gultsch a39fff5c8e fixed 2 issues reported by new linter 2019-09-11 15:42:43 +02:00
Daniel Gultsch 8b69f8ae50 include ticker information in notification. fixes #3532 2019-09-08 17:58:15 +02:00
Daniel Gultsch dd9777a6b7 do not include scope in ipv6 annoucment 2019-09-08 17:44:26 +02:00
Daniel Gultsch 9129c9acde JET uses plain text file size 2019-09-06 13:11:37 +02:00
Daniel Gultsch 0e1c26c569 do not include link local in direct candidates 2019-09-05 13:17:45 +02:00
Daniel Gultsch 571c29f92a make Tor connections work with direct TLS 2019-09-05 12:08:58 +02:00
Daniel Gultsch 7ec1b443ab implemented support for for jingle encrypted transports (XEP-0396) 2019-09-04 16:14:01 +02:00
Daniel Gultsch ff4d127b6f use higher priority for proxy on receiving end 2019-09-02 08:51:50 +02:00
Daniel Gultsch 90e669313e send fallback to ibb after proxy activation failed 2019-09-01 21:41:28 +02:00
Daniel Gultsch 10b1365264 also reply with direct connections on response 2019-09-01 20:42:07 +02:00
Daniel Gultsch 1c413edf06 bare minimum direct connections 2019-09-01 15:06:59 +02:00
Daniel Gultsch 783ed53d3a order canditates by priority before attempting to connect 2019-09-01 11:34:36 +02:00
Daniel Gultsch 7d6bd540d9 version bump to 2.5.7 + changelog 2019-08-29 12:14:01 +02:00
Daniel Gultsch 29d0bed38b when sharing text from Conversations to Conversations use quotes 2019-08-26 13:40:47 +02:00
Daniel Gultsch 219ae65ef7 more ibb fixes (include sid in transport-accept) 2019-08-22 14:47:30 +02:00
Daniel Gultsch 98eb49904c fixed unlikely race between enabling carbons and discovering last MAM id 2019-08-22 09:57:39 +02:00
Daniel Gultsch c84a89924e include pgp sig and status in presence to non anon muc 2019-08-19 14:27:11 +02:00
Daniel Gultsch f11adf4c02 do not put default nick into bookmark if none has been set before 2019-08-19 13:55:52 +02:00
Daniel Gultsch fddd974412 do not put version info into disco
This will reduce traffic by limiting the variety of different caps version hashes.
It might also improve privacy by not leaking fdroid vs playstore vs self build information
2019-08-18 13:03:58 +02:00
Daniel Gultsch daf7e6224f fixed pgp decryption of automatically accepted jingle ft 2019-08-16 15:29:58 +02:00
Daniel Gultsch d3ccba445a increased reconnection interval after policy violation 2019-08-16 15:00:26 +02:00
Daniel Gultsch 0770914edf refactored filename and extension parsing 2019-08-16 14:09:42 +02:00
Daniel Gultsch c039ffcf35 clean up logging 2019-08-14 18:44:57 +02:00
Daniel Gultsch 195988398e removed dead code in location activity 2019-08-14 17:04:45 +02:00
Daniel Gultsch e735be323e catch npe on participants context menu 2019-08-14 17:04:31 +02:00
Daniel Gultsch 6e1394ab40 make config flag for leave before join 2019-08-14 12:04:27 +02:00
Daniel Gultsch ed95dd64ad create empty disco result on error to fire advance stream features event 2019-08-13 21:18:32 +02:00
Daniel Gultsch 8ac042418b fixes #3514 2019-08-11 16:54:00 +02:00
Daniel Gultsch 011bdd8ef6 fixed send_multiple share intent with empty extras. fixes #3512 2019-08-05 21:32:20 +02:00
Daniel Gultsch 238df77a1e catch IllegalArgumentException when reading backup file 2019-07-25 17:01:43 +02:00
Daniel Gultsch f597fc46da implement time out for waiting on voice recording 2019-07-23 17:31:56 +02:00
Daniel Gultsch a4665d4657 made domain verifier case insensitive. fixes #3495 2019-07-20 17:51:37 +02:00
Daniel Gultsch c87e43eb92 put initial xmpp uri into signup intent 2019-07-20 15:58:05 +02:00
Daniel Gultsch c1589d76b5 resetToWaiting should include http uploaded files 2019-07-20 12:15:06 +02:00
Daniel Gultsch 3837ec8122 do not include DNS servers from networks know to be inactive
* we still include DNS servers from VPNs because of edge cases where the XMPP server is hosted in the VPN
* on older Android versions we don’t know if a network is active or not (activeNetwork == null)

fixes #3465
2019-07-18 11:24:33 +02:00
Daniel Gultsch b68851b719 create share button in backup done notification 2019-07-15 19:11:00 +02:00
Daniel Gultsch 97598c63dc split on first dot when using domain instead of black listed local part 2019-07-15 19:09:53 +02:00
Daniel Gultsch bc3e5f1dd4 muc message corrections only compare bare jid true counterpart
during live messages we only store the bare real jid; on muc catch up we might get the full jid
for that reason we only compare bare jids
2019-07-14 17:58:31 +02:00
Daniel Gultsch 719b35e431 prefer attachment in share intent if there is one 2019-07-14 16:39:09 +02:00
Daniel Gultsch 7e93c1021b handle blocking and unblocking of full jids 2019-07-10 17:58:48 +02:00
Daniel Gultsch 8138eb0346 use more default values in LocationActivity
fixes #3475
2019-07-04 18:17:16 +02:00
Daniel Gultsch 98c4e9056f use helper method to close socket 2019-07-04 10:12:08 +02:00
Daniel Gultsch feba9a71ee code clean up 2019-07-02 11:10:21 +02:00
Daniel Gultsch 8c526de0af disable muc push on archive instead of leave
leave can be triggered on swipe and doesn’t mean we don’t want pushes
2019-07-01 14:35:00 +02:00
Daniel Gultsch 4f0214b477 check if activity is not null before using it to paint send button 2019-07-01 10:17:29 +02:00
Daniel Gultsch 7ec8f7952f migrate copy ond write list to synchronized hashset for pending mucs 2019-06-30 21:57:37 +02:00
Daniel Gultsch 9f08a32ffb include remote server errors in errors that should trigger a self ping 2019-06-30 20:08:28 +02:00
Daniel Gultsch 0ecdb43be6 rate limit muc pings / joins. never run two pings at same time 2019-06-30 19:54:07 +02:00
Daniel Gultsch 49224335fc attempt to unregister when receiving push for channel no longer joined
when receiving a FCM push message for a channel the user is no longer in (this can happen when the disable command failed) an attempt will be made to explicitly unregister from the app server (which in turn will then send item-not-found on next push)
2019-06-26 17:40:12 +02:00
Daniel Gultsch 7809af9b57 implement FCM push for group chats 2019-06-25 18:15:51 +02:00
Daniel Gultsch e467fe341e implement client support for muc push
Staying connected to a MUC room hosted on a remote server can be challenging.

If a server reboots it will usually send a shut down notification to all
participants. However even if a client knows that a server was shut down it
doesn’t know when it comes up again. In some corner cases that shut down
notification might not even be delivered successfully leaving the client in a
state where it thinks it is connected but it really isn’t.

The possible work around implemented in this commit is to register the clients
full JID (user@domain.tld/Conversations.r4nd) as an App Server according to
XEP-0357 with the room. (Conversations checks for the push:0 namespace on the
room.)

After cycling through a reboot the first message send to a room will trigger
pubsub notifications to each registered full JID. This event will be used to
trigger a XEP-0410 ping and if necessary a subsequent rejoin of the MUC.

If the resource has become unavailable during down time of the MUC server the
user’s server will respond with an IQ error which in turn leads to the MUC
server disabling that push target.

Leaving a MUC will send a `disable` command. If sending that disable command
failed for some reason (network outage) and the client receives a pubsub
notification for a room it is no longer joined in it will respond with an
item-not-found IQ error which also disables subsequent pushes from the server.

Note: We 0410-ping before a join to avoid unnecessary full joins which can be
quite costly. Further client side optimazations will also surpress pings when
a ping is already in flight to further save traffic.
2019-06-24 18:16:06 +02:00
Daniel Gultsch b6d059ed89 ping muc after receiving not-acceptable error 2019-06-18 18:40:16 +02:00
Daniel Gultsch 17c8bf3452 attempt to keep messages waiting until muc is connected 2019-06-18 18:09:44 +02:00
Daniel Gultsch 6862b60c3f self ping (xep-0410) after receiving invite to muc 2019-06-18 13:20:24 +02:00
Daniel Gultsch 4c3cd89fe7 syntax clean up 2019-06-17 17:37:02 +02:00
Daniel Gultsch 782d889cc5 disallow subsequent session-accept 2019-06-17 09:51:49 +02:00
Daniel Gultsch c1bdda0a9b reenable http upload that got disabled in last commit 2019-06-17 08:33:19 +02:00
Daniel Gultsch 9fc1ead74f use ibb if other party doesn’t annouce s5b feature 2019-06-16 22:57:10 +02:00
Daniel Gultsch fe6c981ae2 accept direct ibb jingle offers 2019-06-16 21:23:18 +02:00
Daniel Gultsch 1cfba86aff don’t crash when attempting to publish bookmarks while offline 2019-06-16 18:05:06 +02:00
Daniel Gultsch 52c0bf73a0 handle some rare npe 2019-06-16 18:04:43 +02:00
Daniel Gultsch 2fbd9e6744 MessageStyle notifications replace car extender 2019-06-16 16:02:22 +02:00
Daniel Gultsch 953307ca30 use socks instead of http proxy for http upload
http proxy doesn’t seem to work with onion v3
2019-06-16 15:06:34 +02:00
Daniel Gultsch 997f922401 put geo uri in attachment preview when shared 2019-05-28 22:32:42 +02:00
Daniel Gultsch 16ce476bbc show negative max files size (unknown/unlimited) simply as available 2019-05-27 18:32:04 +02:00
Daniel Gultsch 9a8cc5b2e7 fixed some NPE 2019-05-22 23:58:39 +02:00
Daniel Gultsch e5378df39c synchronize around attributes in toContentValues() 2019-05-22 23:58:08 +02:00
Daniel Gultsch 10653df164 show error messages in text layout not edittext 2019-05-22 17:31:11 +02:00
Daniel Gultsch c965049605 handle invalid canditates in jingle 2019-05-22 17:30:51 +02:00
Daniel Gultsch 132f81df23 double check that activity is not null in updateSend button 2019-05-22 17:30:04 +02:00
Daniel Gultsch a909e1a7cf fixed NPE in channel discovery after race to create menu 2019-05-22 17:29:27 +02:00
Daniel Gultsch 5bedde7913 run postDelayed in background thread 2019-05-08 14:11:28 +02:00
Daniel Gultsch 6785d8c69f set volume control channel to media volume / default. fixes #3451 2019-05-08 14:11:06 +02:00
Daniel Gultsch ba327d8512 set own omemo devices to inactive after 14 days of inactivity; was 7 days 2019-05-03 10:48:33 +02:00
Daniel Gultsch 82dcae59e3 added language tag in channel search results 2019-05-02 20:09:43 +02:00
Daniel Gultsch 818f2ab61c fixed rare NPE cause by race 2019-05-02 20:09:16 +02:00
Daniel Gultsch 61604dedea jingle: send canditate error before fallback 2019-04-30 11:23:15 +02:00
Daniel Gultsch 73d66fd703 go forward through cursor in message restore
We have seen some weird CursorIndexNotFoundException that we were unable to reproduce.
We assume that going forward (moveToNext()) through the cursor instead of (moveToPrevious() fixes that issue
2019-04-30 10:45:28 +02:00
af8a524db1 137d48810d Make use of Namespace.REGISTER constant (#3446) 2019-04-29 07:51:46 +00:00
ialokim 15791b732c fix export error for non-unicode numbers (#3444) 2019-04-28 10:46:49 +00:00
Daniel Gultsch 7c35f28633 do not synchronize twice when adding status and date bubbles 2019-04-27 15:24:37 +02:00
Daniel Gultsch bcab77a044 wait with presence selection until attachment commit 2019-04-27 14:41:43 +02:00
Daniel Gultsch b2ea91909b introduced type private_file_message to handle attachments in PMs. fixes #3372 2019-04-27 11:46:43 +02:00
Daniel Gultsch b55d4bc62f do not jump out of whispher mode when selecting attach 2019-04-26 17:53:00 +02:00
Daniel Gultsch dc70b7e28a add bookmark when clicking on channel search result 2019-04-26 12:26:49 +02:00
Daniel Gultsch 76fb17c972 add contact dialog: warn on suspicious addresses 2019-04-26 12:05:52 +02:00
Daniel Gultsch d2c9ce7bf0 store correcting message in db 2019-04-26 11:18:16 +02:00
Daniel Gultsch 8a1a9f4f55 put PM hint above edittext. fixes #3432 2019-04-26 10:23:26 +02:00
Daniel Gultsch 182a81e3ef only show opened FAB when some accounts are enabled 2019-04-26 09:30:38 +02:00
Daniel Gultsch 6704db21fb added Tor support to channel search 2019-04-25 21:10:50 +02:00
Daniel Gultsch 9db1c10f45 open FAB when no contacts or bookmarks are found 2019-04-25 19:52:42 +02:00
Daniel Gultsch 7b61bb9841 rework welcome screens to split use existing account / create new
closes #3440
2019-04-25 19:01:34 +02:00
Daniel Gultsch a04b7a1c0f keyboard event callbacks shoud run on ui thread. fixes #3441 2019-04-25 12:27:38 +02:00
Daniel Gultsch ff84ee6964 cache channel search results 2019-04-24 13:25:54 +02:00
Daniel Gultsch 2fa687b8ae refactor muc search to use http 2019-04-22 13:00:45 +02:00
Daniel Gultsch a0f88aa9b4 implement channel discovery over jabber.search.network 2019-04-22 10:42:21 +02:00
Daniel Gultsch 7a825231fb run keyboard listeners on background executor 2019-04-17 18:25:21 +02:00
Daniel Gultsch 39bc067405 execute some dismiss error notification and reset error in background 2019-04-17 12:49:36 +02:00
Daniel Gultsch d04e2e99f3 use mediated invite on reinvite if user is not member 2019-04-11 08:57:20 +02:00
Daniel Gultsch bf7d50692c use styled warning for message error. fixes #3428 2019-04-08 16:32:41 +02:00
Daniel Gultsch d390345073 show max file upload size in server info 2019-03-23 07:27:03 +01:00
Daniel Gultsch 74301831d2 do sent/received correct based on true counterpart introduces in f406631512 only for type=groupchat 2019-03-15 12:46:27 +01:00
Daniel Gultsch 46596e8652 fix backup creation for older installations
if your Conversations installation is older than December 2016 (version 1.15.0) the backup would
include historic data that a current installation is not able to read on restore.
This commits excludes that data from the backup.
If you had problems importing the backup you need to create a new backup after this patch
2019-03-07 09:08:37 +01:00
Daniel Gultsch c7dea9dded fixed security exception when attempting to display image in notification 2019-03-03 08:32:54 +01:00
Daniel Gultsch 875f0b9943 find activity even if wrapped in context wrapper. fixes #3396 2019-03-03 08:31:46 +01:00
Daniel Gultsch f406631512 double check that muc message is ours if true jid is known 2019-03-02 08:36:36 +01:00
Daniel Gultsch a29a5fd491 copy intent extras in eventreceiver 2019-02-27 14:16:26 +01:00
Daniel Gultsch 24a51d8715 do null check before splitting error message for processing 2019-02-23 10:24:08 +01:00
Daniel Gultsch d95b904b5b show file too large instead of generic delivery failed 2019-02-20 21:44:06 +01:00
Daniel Gultsch 3fabb52293 after switching from forced foreground to foreground notification needs update 2019-02-16 11:58:16 +01:00
Daniel Gultsch 905d2ab432 explicitly set profile+level for encoder
some modern Androids (namely my Xiaomi Mi A1 after the update to Andorid 9) seem to require that
2019-02-16 11:40:51 +01:00
Daniel Gultsch f26a57ced4 fixed regression of search hint not updating in StartConversation screen 2019-02-15 14:07:39 +01:00
Daniel Gultsch 6b5e81df49 allow filtering in participant view. fixes #3371 2019-02-15 14:00:42 +01:00
Daniel Gultsch 5f543e8314 show notification when backup is done 2019-02-15 13:17:49 +01:00
Daniel Gultsch d79768e923 do not show 'manage permissions' submenu when only 'remove from room' is visible 2019-02-15 09:57:58 +01:00
Daniel Gultsch bebce313b2 print available stream features / mechanisms on incompat server 2019-02-09 20:21:29 +01:00
Daniel Gultsch ef09b0ab1a use the term channel in destroy dialog 2019-02-08 13:46:33 +01:00
Daniel Gultsch 310362130f catch activity not found when trying to open contact app 2019-02-07 21:39:30 +01:00
Daniel Gultsch bfaf10aa72 brought back 'moderated' config in advanced mode 2019-02-07 18:11:21 +01:00
Daniel Gultsch b648c482f3 allow corrections in all mucs 2019-02-07 18:11:07 +01:00
Daniel Gultsch ad64058d25 hide lock icon in channels; modify muc user context 2019-02-07 13:18:42 +01:00
Daniel Gultsch b6a501d24b rights managment in muc 2019-02-06 23:47:29 +01:00
Daniel Gultsch 32ef3755e2 show different room settings for channels and groups 2019-02-06 18:29:07 +01:00
Daniel Gultsch 2b913f367d provide the same fab submenu for both tabs. rename tab to bookmark 2019-02-06 14:45:51 +01:00
Daniel Gultsch 179beb15e0 fix xmpp uri links that have a aditional chars after join
for example xmpp:foo@bar.tld?join,
2019-01-31 13:59:41 +01:00
Daniel Gultsch e0965a2bf2 remove warning messages for kick after ban failing. on modern servers ban is enough to also kick 2019-01-28 10:52:35 +01:00
Daniel Gultsch b30fb46c85 make sure that http upload/download is not startetd multiple times 2019-01-28 10:39:01 +01:00
Daniel Gultsch 0898783309 schedule another ping 30s after connectivity_change 2019-01-27 20:54:45 +01:00
Daniel Gultsch 8bc9f9a7c8 fixed context menu on self contact 2019-01-27 18:57:41 +01:00
Daniel Gultsch 2bc9fdf5d3 show sub menu fabs for create group chats. fixes #2950 2019-01-27 16:35:55 +01:00
Daniel Gultsch 20e731c956 show context menu when long pressing own account picture 2019-01-27 11:38:20 +01:00
Daniel Gultsch 2f3ccb5f90 changed order of users and media in muc details 2019-01-27 10:32:27 +01:00
Daniel Gultsch b532f5ed1f add context menu for muc user adapter 2019-01-26 20:31:52 +01:00
Daniel Gultsch b9c4309a28 refactored group chat members into seperate screen 2019-01-25 17:58:23 +01:00
Licaon_Kter 0ba3f31cbc Fix type in presence (#3357) 2019-01-25 13:39:36 +00:00
Daniel Gultsch 7f170276a9 refactored avatar workers into single class 2019-01-25 10:07:02 +01:00
Daniel Gultsch 18807305c1 do not require starttls when connecting over to .onion domain 2019-01-25 08:48:46 +01:00
Daniel Gultsch 8fbe445c99 scan all files in case some files were previously marked as deleted by accident 2019-01-24 15:03:58 +01:00
Daniel Gultsch 04d1b92a79 make bitmap worker task static; migrate conversation list row to binder 2019-01-24 12:27:57 +01:00
Daniel Gultsch a32bb652f7 always show number of connected accounts in foreground notification. fixes #3352 2019-01-23 17:07:14 +01:00
Daniel Gultsch 2e0db4dcda do not show installed accounts in restore view 2019-01-23 12:45:15 +01:00
Daniel Gultsch 18982174ce ask for permissions before opening restore backup. use insert or ignore for messages 2019-01-23 11:20:36 +01:00
Daniel Gultsch c9fc40dfe5 WIP backup & restore 2019-01-22 19:25:45 +01:00
Daniel Gultsch a0be2dc54f updated readme 2019-01-21 11:55:52 +01:00
Daniel Gultsch 83c3258dd7 properly jump out of connection loop on state changing errors 2019-01-19 11:47:21 +01:00
Daniel Gultsch dcdf340a41 normalize nicks before getting them from bookmarks or pep 2019-01-19 11:42:57 +01:00
Daniel Gultsch 477f2d34f3 use clear top flag in shortcut intent 2019-01-18 12:28:35 +01:00
Daniel Gultsch a53774bc6d resend presence to muc avatar update. fixes #3175 2019-01-17 17:55:47 +01:00
Daniel Gultsch e714d7cd29 null checks when deleting old files
fixes #3345
2019-01-17 11:56:34 +01:00
Daniel Gultsch caf5fcad88 fixed enabled accounts check in onCreate 2019-01-13 22:18:32 +01:00
Daniel Gultsch 526c2637c1 provide Set as Profile intent. fixes #2594 2019-01-13 15:28:24 +01:00
Daniel Gultsch 004411cf51 force foreground service during onCreate()
creating / upgrading the database and reading accounts can be expensive
and will otherwise trigger an AN
2019-01-13 11:27:16 +01:00
Daniel Gultsch d02fd73af8 explicitly start service (instead of just bind) service from contact chooser 2019-01-13 09:42:44 +01:00
Daniel Gultsch 67fddd1654 fix manual location correcting / fab not showing up on 4.4
fixes #3097
2019-01-12 21:08:17 +01:00
Daniel Gultsch ba34561235 ignore code block start in message preview. fixes #3124 2019-01-12 14:26:33 +01:00
Daniel Gultsch c5e35dc4b3 extend open with to audio files 2019-01-12 10:29:41 +01:00
Daniel Gultsch 918b3223b3 stop file watching when service has been destroyed 2019-01-12 10:21:21 +01:00
Daniel Gultsch d2b8134cdf check if we have storage permission before marking a file as deleted on resend 2019-01-12 10:09:45 +01:00
Daniel Gultsch e9bf2b464c explicitly set type=images for all media with an image mime type
this is in preperation to be able to query the database for all images
2019-01-12 09:01:35 +01:00
Daniel Gultsch 9efb3c6dc6 synchronize around notification update from corrected messages 2019-01-12 08:55:46 +01:00
Daniel Gultsch 6ecf6f1149 make contact chooser (direct sharing) smart about sharing text in groups when http is not available 2019-01-11 17:45:18 +01:00
Daniel Gultsch 8124b24479 maintain order of conversations in share with dialog 2019-01-11 17:19:54 +01:00
Daniel Gultsch c11dd71510 fixed regression that hid enter jid button in block list view 2019-01-11 14:49:03 +01:00
Daniel Gultsch a38cd88702 offer 'open with' in context menu for geo uris 2019-01-11 10:13:25 +01:00
Daniel Gultsch 394e252777 support enter/done key in create contact & join dialogs 2019-01-10 22:09:20 +01:00
Daniel Gultsch 7cabb2c377 check if encrypted pgp file get deleted 2019-01-10 21:24:24 +01:00
Daniel Gultsch 8ab4ca7138 fixed downloading of deleted files 2019-01-10 21:23:53 +01:00
Daniel Gultsch a644b40c3e don’t check if files exists when loading attachments 2019-01-10 17:43:09 +01:00
Daniel Gultsch 52afcac230 mark deleted files in database and not query them when querying for media 2019-01-10 14:52:27 +01:00
Daniel Gultsch 459db1a0a3 ignore startService failure
some nokia devices with Android 9 fail to start the service from the activity sometimes. since this is probably a race it should be save to ignore this
2019-01-09 18:30:28 +01:00
Daniel Gultsch 25856992d1 remove deprecated instanceIdService 2019-01-09 17:37:52 +01:00
Daniel Gultsch a15c50a15f added avatar to 'me' in notifications 2019-01-09 16:26:20 +01:00
Daniel Gultsch 96e3546904 put images into MessageStyle notifications 2019-01-09 12:47:09 +01:00
Daniel Gultsch c4539b8583 use bitmap instead of URI for avatars in notification. fixes #3310 2019-01-09 09:03:33 +01:00
Daniel Gultsch 46eb1212f1 fix import after osmdroid update 2019-01-06 10:13:31 +01:00
Daniel Gultsch dac088428c handle decrypting/encrypting of omemo messages with duplicate device ids 2019-01-05 15:34:19 +01:00
Daniel Gultsch 136d1e1905 added work around to create 'actions' from nova launcher
fixes #3331
2019-01-05 10:31:13 +01:00
Daniel Gultsch b9952f27fd archive destoryed mucs when registering that bookmark has been removed 2019-01-03 14:07:03 +01:00
Daniel Gultsch 9d849f540f Merge branch 'implement_room_destruction' of https://github.com/area-42/Conversations into bookmarks 2019-01-03 13:27:24 +01:00
Christoph Scholz 77b42ba9ca remove bookmark after a room is destroyed 2019-01-02 18:07:21 +01:00
Christoph Scholz 52e1a0c708 implement room destruction 2019-01-02 18:06:38 +01:00
Daniel Gultsch 835c89328d use person in message style notification 2019-01-02 15:29:31 +01:00