Commit graph

416 commits

Author SHA1 Message Date
Daniel Gultsch 17b1fcc3ea set noMessagesLeftOnServer before conference configuration fetch 2016-02-23 16:15:55 +01:00
Daniel Gultsch a0d0ed34ae turned muc errors into enum. added error codes for service shutdown 2016-02-22 20:19:58 +01:00
Daniel Gultsch d2cfac222e show load more messages when auto loading is disabled and messages are still left on server 2016-02-21 17:32:46 +01:00
Daniel Gultsch 3bde4dbedb change uuid when replacing messages 2016-02-20 00:01:39 +01:00
Daniel Gultsch ac687d6bbd don't log start reason 2016-02-17 16:52:57 +01:00
Daniel Gultsch 3626e4b3a0 fixed regression that caused messages in muc not being send 2016-02-17 16:50:48 +01:00
Daniel Gultsch 86b1865eec fixed regression that caused ui to redraw a lot 2016-02-16 14:22:21 +01:00
Daniel Gultsch a9b957e8a2 added setting to opt-out of message correction. renamed preferences and options to settings 2016-02-16 09:57:59 +01:00
Daniel Gultsch 0ca4a33bfb added some OTR logging 2016-02-16 09:15:41 +01:00
Daniel Gultsch c0b3a3ff0c basic support for XEP-0308: Last Message Correction. fixes #864 2016-02-15 23:15:04 +01:00
Daniel Gultsch 251f2479c2 optional mode to close tcp connection when going into background
acts only when push is available. disable all non-push accounts to test properly
2016-02-14 13:20:23 +01:00
Daniel Gultsch c7a14092a8 fixed compile bug in free version 2016-02-13 00:03:57 +01:00
Daniel Gultsch c430848ade push gcm token on bind instead of every connect 2016-02-12 23:37:42 +01:00
Daniel Gultsch 32da65f910 client side support for XEP-0357: Push Notifications 2016-02-12 11:39:27 +01:00
Daniel Gultsch 1bb38e25f2 send muc messages after join 2016-02-10 09:53:48 +01:00
Daniel Gultsch f16690ae1f allow user to set MAM preferences 2016-02-09 13:01:17 +01:00
Daniel Gultsch 28733e052f fixed performance regression in on scroll listener 2016-02-04 16:29:17 +01:00
Daniel Gultsch 4fdb0d92fe prevent previoulsly cleared messages from reloading. fixes #1110 2016-02-04 14:39:16 +01:00
Daniel Gultsch f88b8c703e add more fault tolerant checks for messages left on server 2016-02-04 11:55:42 +01:00
Daniel Gultsch 0911669b07 count all messages in a query 2016-02-03 16:04:21 +01:00
Daniel Gultsch 1274b0ef39 Revert "get rid of broken totalMessageCount for mam queries"
This reverts commit 58c6f9bfb2.
2016-02-03 10:40:44 +01:00
Daniel Gultsch f0798216d5 refactored disco cache. avoid making duplicate call. check hash 2016-02-03 10:40:02 +01:00
Daniel Gultsch 4a1a59f0c8 Merge branch 'disco-caps' of https://github.com/singpolyma/Conversations into singpolyma-disco-caps 2016-02-02 18:19:26 +01:00
Daniel Gultsch 58c6f9bfb2 get rid of broken totalMessageCount for mam queries 2016-02-02 15:39:46 +01:00
Daniel Gultsch ba9ba8ffe2 avoid npe when accessing the pgp connection service 2016-02-02 11:21:29 +01:00
Daniel Gultsch 1e7647e385 opt out handling of the autojoin flag. fixes #1666 2016-02-01 13:54:08 +01:00
Daniel Gultsch 7c0eae8059 expert setting to trigger extended connection options 2016-01-25 21:17:53 +01:00
Stephen Paul Weber bf5b2f73f5 Use a Presence class for presence information
Only has status for now, but doing it so I can add disco to it
2016-01-24 17:46:08 -05:00
Daniel Gultsch 7b1efe15cd reuse same xmppconnection for reconnects 2016-01-16 19:21:11 +01:00
Daniel Gultsch c5743067ad nimbuzz.com: don't wait for disco replies to set account to online 2016-01-15 14:26:23 +01:00
Daniel Gultsch 12fd5c46ef show /me messages in conference notifications without the name of the sender 2016-01-13 17:36:04 +01:00
Daniel Gultsch 4ab8fe13de let the user decide on whether or not to compress pictures 2016-01-09 16:17:39 +01:00
Daniel Gultsch a3e136b550 show per conference notification settings in details activity 2016-01-08 21:30:46 +01:00
Daniel Gultsch c3e2d2cfba added missing synchronize when pushing messages from mam backlog 2016-01-04 20:14:29 +01:00
Daniel Gultsch f815a7cd26 properly rotate avatars 2016-01-04 15:17:02 +01:00
Daniel Gultsch c3bdec1ce9 dedublicate bookmarks 2015-12-27 17:29:32 +01:00
Daniel Gultsch 43dd681239 timeout service discovery after 20s 2015-12-15 19:24:05 +01:00
Daniel Gultsch f6b22dad20 splite PARANOIA_MODE into three different options 2015-12-14 10:54:55 +01:00
Daniel Gultsch 50817956c2 changed order of send presence and execute mam queries 2015-12-12 16:01:33 +01:00
Daniel Gultsch 5e4b55a0ff notfiy after mam catchup only if message count > 0 2015-12-11 20:43:50 +01:00
Daniel Gultsch a1ac4fd665 fix cancelation of http downloads and enable resume 2015-12-11 20:33:41 +01:00
Daniel Gultsch b2c278c91b set bookmark name to room subject if no subject has been set before 2015-12-11 19:28:44 +01:00
Daniel Gultsch 293e820a58 get rid of lastMessageTransmitted in favor of db query 2015-12-11 13:52:04 +01:00
Daniel Gultsch 55c1129a65 notify on mam catchup messages 2015-12-10 23:05:11 +01:00
Daniel Gultsch 2262921ff4 properly clean up timed out mam queries 2015-12-10 18:28:47 +01:00
Daniel Gultsch 11e58607c9 when no avatar found show avatar of contact and not the muc user in conferences 2015-12-09 10:30:26 +01:00
Daniel Gultsch aea664a0ec show sender name for notications in conferences. fixes #1581 2015-12-09 10:26:30 +01:00
Daniel Gultsch 739648e909 ask for contact permissions when first opening StartConversationActivity 2015-12-07 13:24:41 +01:00
Daniel Gultsch c3e8fb3446 request storage permission when needed on Android 6.0 2015-12-07 13:24:41 +01:00
Daniel Gultsch 739a2d609d implement direct sharing in android 6.0. fixes #1321 2015-12-07 13:24:41 +01:00
Daniel Gultsch cd9a29718b properly clear muc user avatar caches 2015-12-04 21:36:48 +01:00
Daniel Gultsch 9d1e8a34b2 fixed showing avatars for contacts in muc 2015-12-04 18:39:09 +01:00
Daniel Gultsch 242887447c use proposed nick as default nick in mucoptions 2015-12-04 14:07:16 +01:00
Daniel Gultsch 6b592435cd parse vcard avatars from muc presences 2015-12-03 18:18:34 +01:00
Daniel Gultsch 0eaf7669f7 Merge pull request #1545 from SamWhited/show_new_contact_request_messages
Show status message when contact requests presence
2015-12-02 16:38:08 +01:00
Sam Whited a3eb540f05 Show status message when contact requests presence
Remove presence when conversation closed
2015-12-02 08:50:52 -06:00
Daniel Gultsch 8455e5b5dd hide message content in notifications in paranoia mode 2015-12-02 12:54:55 +01:00
Daniel Gultsch dc8967d8fc introduced build-time paranoia mode that disables unencrypted chats and forces TOR 2015-12-01 22:41:58 +01:00
Daniel Gultsch 65b5504e68 introduce config.java variable to optionally show number of connected accounts in notification 2015-12-01 17:15:36 +01:00
Daniel Gultsch f0b1761ec3 initial tor support 2015-12-01 12:00:50 +01:00
Daniel Gultsch 60211a315e hide subject edit button if not editable by user 2015-11-26 17:44:29 +01:00
Daniel Gultsch fd6ed5b989 detect server identity and added muc-workaround for slack 2015-11-26 06:55:57 +01:00
Daniel Gultsch 84120a341a removed unnecessary configuration fetch after join 2015-11-26 06:53:24 +01:00
Daniel Gultsch a557d38e4d pgp fixes and revert configuration changes 2015-11-25 20:47:02 +01:00
Daniel Gultsch 8228e82f51 Merge pull request #1569 from fiaxh/conference_one_other_occupant
Show own avatar in tile for conferences with only one other occupant next to theirs
2015-11-24 07:09:12 +01:00
fiaxh 724ca8c9a9 Own contact picture in tile for conferences with only one other occupant 2015-11-15 10:34:10 +00:00
fiaxh fac1d4e0bd Use OpenPGP-API 9.0 2015-11-09 13:49:57 +00:00
Daniel Gultsch 34bcc59f72 fixed session objects not being build on start up 2015-10-30 12:05:21 +01:00
Daniel Gultsch 6a458b853c Merge pull request #1513 from fiaxh/pgp_background_decryption
PGP messages background decryption
2015-10-30 10:18:27 +01:00
Daniel Gultsch 8553d5a563 moved db calls made from UI into serial background thread 2015-10-29 17:20:01 +01:00
Daniel Gultsch c7ff196f58 push CN into nick pep node when uploading certificate. subscribe to nick node 2015-10-29 13:41:08 +01:00
Daniel Gultsch 1221cff561 load avatars in message adapter in background task 2015-10-29 12:08:15 +01:00
fiaxh 29a849cb92 Decrypt PGP messages in background 2015-10-28 19:57:11 +00:00
Daniel Gultsch 1bd68a42b2 join muc even if initial conference configuration fetch failed 2015-10-22 11:20:36 +02:00
Daniel Gultsch 53125dbccc move chat state reset from background switch to foreground switch to account for chat states sent in the mean time 2015-10-19 23:22:29 +02:00
Daniel Gultsch be38b1e5f4 disconnet in background thread 2015-10-17 16:10:56 +02:00
Daniel Gultsch a83aae341f improved error reporting in trust keys activity 2015-10-17 14:09:26 +02:00
Daniel Gultsch cfeb67d71d introduced code to verify omemo device keys with x509 certificates.
cleaned up TrustKeysActivity to automatically close if there is nothing to do
2015-10-16 23:48:42 +02:00
Daniel Gultsch fb7359e6a3 block code when doing unforced disconnect 2015-10-16 09:58:31 +02:00
Daniel Gultsch 30dbf97a1c clear bitmap cache before running out of memory 2015-10-14 22:55:59 +02:00
Daniel Gultsch 5f9476448f make unread status and notifications presistent across restarts 2015-10-14 21:18:34 +02:00
Daniel Gultsch 212d1a8c91 add config variable to enable x509 verification 2015-10-12 13:18:20 +02:00
Daniel Gultsch 7be331bbb2 add menu item in account details to renew certificate 2015-10-11 16:10:52 +02:00
Armin Novak 6a6cb43b17 Captcha support. 2015-10-11 13:11:50 +02:00
Daniel Gultsch b23cb5a9e4 initial UI work to allow setting up accounts from certifcates 2015-10-09 13:37:08 +02:00
Daniel Gultsch e65068d226 catch exception when unregistering receivers that have not been registered before 2015-10-08 00:52:04 +02:00
Daniel Gultsch 52a5e72b02 introduced expert options to set status to away and xa if screen is off or if phone is silenced 2015-10-08 00:35:04 +02:00
Daniel Gultsch 8f066d00e0 do mam query after join 2015-10-06 16:58:56 +02:00
saqura fd61d67dab Use MAM for MUC initial history retrieval
If the MUC supports MAM (XEP-0313), use it to retrieve the history
when joining.
2015-10-06 16:23:45 +02:00
saqura 05d0c9f4fe Properly check for MUC MAM support
Only use MAM (XEP-0313) in MUCs if it is supported.

This should fix #1264
2015-10-06 16:23:18 +02:00
Daniel Gultsch 1d2a24c9c0 clean up log exporting service. properly end service after exporting 2015-10-06 14:13:07 +02:00
Daniel Gultsch 2b9b700c96 don't put conference joins into pending on initial bind 2015-10-01 16:01:19 +02:00
Daniel Gultsch 6a0b9971aa reset muc options immediately befor join 2015-10-01 13:03:15 +02:00
Daniel Gultsch 648e29db2c only invoke MTM in interactive mode after direct user input
fixes #1027
fixes #792
fixes #1439
2015-09-29 19:24:52 +02:00
Daniel Gultsch 8d90b3fbf1 swapped icons for foreground services 2015-09-22 08:50:54 +02:00
fiaxh a3a13dd9dc Export logs to SD card preference 2015-09-21 18:53:29 +01:00
Daniel Gultsch b9002d7fd5 added missing type='submit' to mam queries
fixed some nasty inheritance problems along the way
fixes #1411
2015-09-15 22:52:39 +02:00
Andreas Straub a95c451f1e Only show that have sessions in fingerprint list
Doesn't access database directly anymore but goes through AxolotlService
now to obtain list of fingerprints associated with an Account/Contact.
This should prevent orphaned keys littering the UI which previously
couldn't be removed through the Clear Devices function.

Together with 1c79982da84964c1d81179a0927d9cd1eadf53de this fixes #1393
2015-09-06 15:15:57 +02:00
Daniel Gultsch fc594e249a added special error state for dns timeout 2015-09-01 22:37:52 +02:00
Daniel Gultsch b0c19d6bac fixed bug that prevented newly opened conversations to load the entire history via mam. fixes #1328 2015-08-30 11:24:37 +02:00
Daniel Gultsch eff9e417e0 use dedicated colors for primary and primary_dark 2015-08-26 21:17:29 +02:00
Andreas Straub c4a548ada0 Only announce device after publishing bundle 2015-08-26 15:45:21 +02:00
Daniel Gultsch ea2ce78d6e be more restrictive about marking messages as sent_received in muc parser 2015-08-26 12:11:12 +02:00
Michael ae9de26f59 remove unused imports. 2015-08-25 12:40:22 +02:00
Daniel Gultsch 7bd0f31244 Merge branch 'master' into development 2015-08-23 17:57:53 +02:00
Daniel Gultsch 0dfb9bd1a0 introduce special iq type for internal timeouts. always use != result to check for error in callbacks 2015-08-23 17:53:23 +02:00
Daniel Gultsch b0710cdf04 Merge branch 'master' into development 2015-08-23 13:57:14 +02:00
Daniel Gultsch 1688b65965 don't make subsequent iq request when original stanza returned an error 2015-08-23 08:27:05 +02:00
Daniel Gultsch 9e26375d2f simulate old behaviour with messages being set to waiting while offline 2015-08-19 13:00:52 +02:00
Daniel Gultsch c9b2638778 Merge branch 'master' into development 2015-08-19 12:49:24 +02:00
Daniel Gultsch 52f0622dd3 fixed nasty 'stuck at sending' bug that got introduced in 32826ec29d 2015-08-19 12:47:50 +02:00
Daniel Gultsch 83e1e6468e fully depend on sm 2015-08-15 16:57:07 +02:00
Daniel Gultsch 32826ec29d provide extra interface to close sockets. fixes #1330 2015-08-15 14:14:33 +02:00
Daniel Gultsch dad90762b4 do not touch pictures that are already in the right format
fixed #522
2015-08-11 16:50:00 +02:00
Daniel Gultsch fd81491b05 put wake locks on out of band file transfers 2015-08-10 19:48:36 +02:00
Daniel Gultsch d30515a85a report wrong file size in otr encrypted jingle file transfers to be compatible with conversations > 1.6 2015-08-10 12:55:37 +02:00
Daniel Gultsch 60cd307f73 enable axolotl encryption for jingle supported file transfers 2015-08-01 01:19:16 +02:00
Andreas Straub 909f761ca1 Refactor axolotl message processing workflow
XmppAxolotlMessage is now entirely responsible for handling encryption
and decryption of messages, only leveraging XmppAxolotlSession as a
packing/unpacking primitive for payload keys.

Removed pseudo-dead session generation code step from prepareMessage
function, as sessions have been created by invoking the
TrustKeysActivity for a while now.

Added prepareKeyTransportMessage function, which creates a message with
no payload. The key that is packed into the header keyElements can then
be used for other purposes (e.g. encrypted file transfer).
2015-07-31 21:31:45 +02:00
Daniel Gultsch 658919f239 improved 'next encryption' selection 2015-07-31 00:52:46 +02:00
Daniel Gultsch 17bc4fb6cd show http downloaded images in notification 2015-07-29 01:57:08 +02:00
Daniel Gultsch ff0c114cd6 set time on resend to current time
fixes #1298
fixes #919
2015-07-28 12:54:54 +02:00
Daniel Gultsch f7634a85be treat private, non-anonymous mucs like 1:1 chats notification wise 2015-07-22 15:31:00 +02:00
Andreas Straub 92b5081b5e Add INACTIVE state for removed keys
We introduce a new trust state: INACTIVE. This state is intended for
old keys that have been removed.

When a TRUSTED device is removed from the PEP devicelist, it's status
will be set to INACTIVE. INACTIVE keys are shown in the UI as greyed
out, non-interactible key rows. Messages are not encrypted for INACTIVE
devices.

When an INACTIVE device reappears in PEP, or a message is received from
an INACTIVE device, it is set back to trusted.
2015-07-21 14:24:59 +02:00
Andreas Straub d2845e9ac1 Refactor axolotl send processing/caching flow 2015-07-20 23:13:28 +02:00
Daniel Gultsch e79f82ca72 attempt to fix the delay problem 2015-07-20 18:11:33 +02:00
Andreas Straub 012f036840 Optimize imports 2015-07-20 14:26:29 +02:00
Andreas Straub e9d7d7e12a Fix set/remove OnUpdateBlocklistListener 2015-07-20 14:12:24 +02:00
Andreas Straub 14010bf5a6 Ask for key trust when sending messages
If the contact (or the own account) has keys that have UNDECIDED trust,
we now drop the user into the new TrustKeysActivity, where they have to
decide for each new key whether it should be TRUSTED or UNTRUSTED.
2015-07-19 22:27:26 +02:00
Andreas Straub 2045a71262 Handle file transmission properly in axolotl 2015-07-19 22:23:28 +02:00
Andreas Straub 43703870e8 Remove unneccessary code 2015-07-19 22:23:28 +02:00
Andreas Straub 4038af2f47 Fix trust status for outgoing messages
Tag sent messages with own fingerprint, set own fingerprint as always
trusted, include own fingerprint in database trust search, explicitly
reset trust colorfilter
2015-07-19 22:23:28 +02:00
Andreas Straub 7f918542c8 Postpone initAccountService until roster loaded
The AxolotlService depends on the roster being loaded when it is
initialized so that it can fill its in-memory SessionMap.
2015-07-19 22:17:57 +02:00
Andreas Straub 69600502d2 Fix asynchronous axolotl message sending
XmppConnectionService.sendMessage() now dispatches messages to the
AxolotlService, where they only are prepared for sending and cached.
AxolotlService now triggers a XmppConnectionService.resendMessage(),
which then handles sending the cached message packet.

This transparently fixes, e.g., handling of messages sent while we are
offline.
2015-07-19 21:32:27 +02:00
Andreas Straub 3815d4efa3 Fetch bundles on-demand, encrypt in background
Bundles are now fetched on demand when a session needs to be
established. This should lessen the chance of changes to the bundles
occuring before they're used, as well as lessen the load of fetching
bundles.

Also, the message encryption is now done in a background thread, as this
can be somewhat costly if many sessions are present. This is probably
not going to be an issue in real use, but it's good practice anyway.
2015-07-19 21:32:26 +02:00
Andreas Straub c1d23b2395 Migrate to new PEP layout
Merge prekeys into bundle node
2015-07-19 21:32:26 +02:00
Andreas Straub 299bbdf27f Reformat code to use tabs
This really sucks to do it like this. Sorry. :(
2015-07-19 21:32:26 +02:00
Andreas Straub 065519d3f3 Added axolotl activation code to UI 2015-07-19 21:32:26 +02:00
Andreas Straub f73aa1a200 Reworked axolotl protocol layer
Numerous fixes
2015-07-19 21:32:25 +02:00
Daniel Gultsch 5c017e5186 bugfix: use sendIqPacket method in service instead of invoking XmppConnection directly 2015-07-19 14:25:30 +02:00
Daniel Gultsch ffffca10f0 renamed colors 2015-07-13 12:55:13 +02:00
Daniel Gultsch 58bc4cba06 only try to change affilations for known jids 2015-07-11 21:24:51 +02:00
Daniel Gultsch ce79f4bbe3 renamed downloadable to transferable 2015-07-10 15:11:03 +02:00
Daniel Gultsch 0f5c87ca1f display toast in ui on failed http download
fixes #954
2015-07-10 13:28:50 +02:00
Daniel Gultsch bef731a3c8 refactored sendMessage and merged with resendMessage 2015-07-05 11:59:38 +02:00
Daniel Gultsch 2fbeb0bbb2 make sure unread count is initialized as 0. fixes #1270 2015-07-03 22:08:23 +02:00
Daniel Gultsch c745fbb562 fixed share with activity to account for http file upload 2015-07-02 23:51:59 +02:00
Daniel Gultsch 7e11570f2c show attach button in conferences when http upload is available 2015-06-29 15:21:41 +02:00
Daniel Gultsch 9eb9a52205 initial http upload support
be careful: little error handling and no encryption
2015-06-29 15:21:41 +02:00
Daniel Gultsch 9d1e8205a2 made i/o and memory intensive operations execute in serial order 2015-06-05 08:46:06 +02:00
Daniel Gultsch 53e8964dc1 reworked handeling of system contacts 2015-06-03 14:05:54 +02:00