Commit graph

392 commits

Author SHA1 Message Date
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
Daniel Gultsch 0f6f6adca0 removed unnecessary / inacurate debug logging 2015-05-26 13:04:22 +02:00
Daniel Gultsch 6059ed4738 update unread count badge only when necessary 2015-05-26 12:00:38 +02:00
Daniel Gultsch 9debf8037b added default iq handler to print some iq error messages 2015-05-26 11:31:33 +02:00
Daniel Gultsch dc91ff8f29 renamed OtrEngine to OtrService 2015-05-26 04:36:32 +02:00
Daniel Gultsch f579602456 Merge branch 'master' into development 2015-05-25 11:15:14 +02:00
Daniel Gultsch a535d45ec3 log connection age and reshedule ping check 2015-05-25 04:49:36 +02:00
Daniel Gultsch 2364710afb added ShortcutBadger as a dependency to create unread counts on launcher icon 2015-05-20 12:47:04 +02:00
Daniel Gultsch 1b5631c835 fixed muc mam. added a few security checks 2015-05-20 03:48:14 +02:00
Daniel Gultsch e32f380dae provide helper function for getting the content of a child directly 2015-05-20 03:48:14 +02:00
Daniel Gultsch 4151b72a6e let jingle connection and manager handle message status 2015-05-16 04:12:53 +02:00
Daniel Gultsch 6489ddac6c clear avatar cache when uploading new avatar 2015-05-13 14:33:52 +02:00
Daniel Gultsch d3a6aa9f7a handle conference invites differently to deal with killed activities. fixes #1188 2015-05-12 04:33:04 +02:00
Andreas Shimokawa 9e78e3e09d only forward incoming chat messages to Pebble App and Gadgetbridge 2015-05-08 21:36:20 +02:00
Daniel Gultsch d9e5035c08 config option to reset attempt counts when changing network (default=true) 2015-05-08 06:50:28 +02:00
Daniel Gultsch 05f0aa614f fixed npe when binval value of vcard avatar is null 2015-05-07 11:07:15 +02:00
Daniel Gultsch b7c672e10e avoid fetching avatars multiple times in parallel 2015-05-05 10:29:41 +02:00
Daniel Gultsch 5136bf9832 r/o support for vcard avatars. pep avatars will be prefered 2015-05-05 06:17:34 +02:00
Daniel Gultsch 93e942f96d made material icons smaller (24dp) 2015-04-28 14:28:51 +02:00
Daniel Gultsch b10b8e2c50 escape nick in highlight regex pattern 2015-04-28 09:32:58 +02:00
Daniel Gultsch 77caf73103 Merge pull request #1146 from BrianBlade/minor_otr_tweaks
OTR: Fix onContactStatusChanged & dont archive OTR
2015-04-25 14:09:38 +02:00
Daniel Gultsch 5e1492fbff send invite to other instanzes after creating ad hoc conference. fixes #1136 2015-04-23 17:37:47 +02:00
BrianBlade d6443d9b2f OTR: Fix onContactStatusChanged & dont archive OTR
- Fix session handling on contact status change: Do not reset
  potentially active sessions; check peer's OTR-resource on disconnect
- use no-permanent-store hint instead of no-store to ensure
  finished messages are delivered to offline/disconnected clients
- add no-permanent-store to ask compliant servers not to archive
  OTR messages
2015-04-21 22:35:35 +02:00
iNPUTmice defb127d6e Merge branch 'dont_trust_cas_preference' of https://github.com/BrianBlade/Conversations into BrianBlade-dont_trust_cas_preference
Conflicts:
	src/main/res/values-de/strings.xml
	src/main/res/values/strings.xml
2015-04-14 15:17:06 +02:00
BrianBlade 878066ca99 Add option to use MTM without default TrustManager
Add a new "Don't trust system CAs" preference under advanced options
that will change the behaviour of the MemorizingTrustManager. All
formerly unknown certificates will raise a warning if checked.
2015-04-11 15:13:42 +02:00