Commit Graph

5130 Commits

Author SHA1 Message Date
Daniel Gultsch
55fd0b8504 pulled translations from transifex 2021-01-18 09:32:20 +01:00
Daniel Gultsch
bfccfba00e fix in call notification being shown twice 2021-01-15 13:03:54 +01:00
Daniel Gultsch
5b48b4027e code clean up 2021-01-15 10:45:03 +01:00
Daniel Gultsch
41c045d779 pulled translations from transifex 2021-01-11 11:30:53 +01:00
Daniel Gultsch
b0584137b4 pulled translations from transifex 2021-01-07 09:12:11 +01:00
Daniel Gultsch
d0a2f1f45f just xmpp things 2021-01-06 11:46:09 +01:00
Daniel Gultsch
372ddbfb49 Revert "offline presences aborts session proposals. fixes #3943"
This reverts commit f23016c967.
2021-01-06 09:03:42 +01:00
Emmanuel Gil Peyrot
17c697eed9 add 'id' attribute to outgoing ICE-UDP candidates
this attribute is mandatory as per the XEP.
2021-01-03 16:32:28 +00:00
Daniel Gultsch
2bec5459c5 properly null check ufrag and pwd before whitespace checking. fixes #3956 2021-01-03 16:05:17 +01:00
Daniel Gultsch
8eb685a7eb pulled translations from transifex 2021-01-02 09:09:23 +01:00
Daniel Gultsch
adb5a2b2c2 pulled translations from transifex 2020-12-31 10:41:14 +01:00
Daniel Gultsch
0569febf67 minor code clean up in XmppConnection class 2020-12-31 10:27:06 +01:00
Daniel Gultsch
0e54d8a2cf implement SCRAM-SHA512 2020-12-31 09:32:05 +01:00
Daniel Gultsch
2a57c92f63 rewrote scram cache implementation 2020-12-30 22:01:08 +01:00
Daniel Gultsch
692ee6c9fb SCRAM remove cache. made digest and hmac non static
DIGEST and HMAC were static variables. Those are initialized by
what ever concrete implementation gets executed first.

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

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

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

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

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

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

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

fixes #3829
2020-07-12 05:18:40 +00:00
Daniel Gultsch
aa47e53584 pulled translations from transifex 2020-07-11 12:48:20 +02:00