Commit graph

371 commits

Author SHA1 Message Date
Daniel Gultsch e5b8302fd9 show first unread message on top after reinit 2016-05-22 17:52:27 +02:00
Daniel Gultsch 8d595c1fc2 sync around individual calls instead of synchronizing entire object 2016-05-19 10:47:03 +02:00
Daniel Gultsch 70497318dd remove unwanted 'use previous encryption' lookup 2016-05-19 10:42:57 +02:00
Daniel Gultsch 0eb8d4226e also save form elements in disco storage 2016-05-19 10:41:56 +02:00
Daniel Gultsch 627bf18f8c don't NPE on rare race condition while fetching MAM 2016-05-19 10:40:03 +02:00
Daniel Gultsch b478eca315 improved ordering of muc participants 2016-05-17 15:01:56 +02:00
Daniel Gultsch 61726f4994 refactored muc item parsing to also parse muc status messages 2016-05-17 14:25:58 +02:00
Daniel Gultsch 14952ba5e5 offer offline members to be invited again 2016-05-17 10:43:48 +02:00
Daniel Gultsch fc5304c6fe change affiliation for in memory users that are currently not joined in a conference 2016-05-16 19:58:36 +02:00
Daniel Gultsch 8d0693ed6a keep conference members in memory and show them in conference details 2016-05-16 19:58:36 +02:00
Daniel Gultsch 6f1a4494eb use the same typo in both saving disco and reading disco 2016-05-15 12:35:51 +02:00
Daniel Gultsch cf5ca27a06 escape HTML in OTR messages if other client is Pidgin 2016-05-15 12:35:31 +02:00
Daniel Gultsch 6a28b5a9fa don't show duplicate status message in contact details 2016-05-13 11:57:02 +02:00
Daniel Gultsch e41a9483bd only default to omemo when all our devices support it 2016-05-13 11:47:29 +02:00
Daniel Gultsch b756d61c45 show presence of other resources as template 2016-05-13 10:45:30 +02:00
Daniel Gultsch 908aa19a36 make omemo default when all resources support it 2016-05-12 14:20:11 +02:00
Daniel Gultsch e542dd3923 always show download button when link is encrypted
dont check for known mime type
2016-05-10 10:32:25 +02:00
Daniel Gultsch 549be9bb3d report host-account as account state in UI 2016-05-10 10:29:02 +02:00
Daniel Gultsch a7cd05bd4e report bind failure as account state 2016-05-05 20:22:47 +02:00
Daniel Gultsch 6e0ec9b924 republish pgp signature when changing status 2016-05-05 13:17:04 +02:00
Daniel Gultsch cef2eb58a7 fixed presence template dedup for 'online' status 2016-05-03 22:16:51 +02:00
Daniel Gultsch 29616d02a8 removed unused config variables 2016-04-27 16:43:02 +02:00
Daniel Gultsch 9c3e910dc4 prevent user from accidentally changing password after using magic create 2016-04-26 23:23:48 +02:00
Daniel Gultsch a9c1768107 show status messages in contact details 2016-04-23 12:19:00 +02:00
Daniel Gultsch 1901abd05f expert setting to manually change presence 2016-04-22 21:25:06 +02:00
Daniel Gultsch e9494af098 always notify by default in conferences 2016-04-14 22:37:05 +02:00
Daniel Gultsch 4332b0df44 return own jid as true counterpart on self messages in muc 2016-04-13 11:13:47 +02:00
Daniel Gultsch b99d70bfe7 don't show contact details when in conversations with self 2016-04-09 10:59:54 +02:00
Daniel Gultsch 74c496fe3e add methods to check max file size for http upload 2016-03-31 21:56:59 +02:00
Daniel Gultsch e074104004 save otr fingerprint in message 2016-03-31 21:15:49 +02:00
Daniel Gultsch 867d0ef191 include form fields into caps hash calculation 2016-03-31 14:21:56 +02:00
Daniel Gultsch 343a6b4e6b made setting aes keys in DownloadableFile more readable 2016-03-31 13:55:25 +02:00
Daniel Gultsch 0af8ee341c simplified getUsers(max) code 2016-03-13 17:42:17 +01:00
Daniel Gultsch 09d87965fb mark oob messages and always display download button 2016-03-04 20:09:21 +01:00
Daniel Gultsch 89eea3636f add a few more know file extensions 2016-03-04 11:24:53 +01:00
Daniel Gultsch 198dc2c6b4 let users confirm each member in a conference even if that contact is already trusted 2016-03-01 11:26:59 +01:00
Daniel Gultsch 134c75ae01 use correct jid when leaving a conference. fixes #1732 2016-02-29 16:32:24 +01:00
Daniel Gultsch 9e0466d1e6 refactored omemo to take multiple recipients 2016-02-29 13:18:07 +01:00
Daniel Gultsch 4ba41540fd made hashtable in roster store jids instead of strings 2016-02-28 20:45:50 +01:00
Daniel Gultsch bbede8bbeb optionally lock conference domains as well and hide known domains in ui 2016-02-24 16:53:19 +01:00
Daniel Gultsch d1a456f3e3 made hard coded choice for encryptions more flexible and disable parsing 2016-02-24 14:47:49 +01:00
Daniel Gultsch ddafa65849 Merge pull request #1715 from fiaxh/gpg_decryption_failed
PGP Retry decryption from message menu
2016-02-24 09:23:30 +01:00
Daniel Gultsch 0298f0181e reset pending subscription request when receiving roster update 2016-02-23 16:14:55 +01:00
fiaxh 894b5892a9 Retry decryption from message menu 2016-02-23 16:05:42 +01:00
Daniel Gultsch beb216c300 made presences object final in contact 2016-02-23 14:25:01 +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 ed740b4868 some mucs may grant voice to visitors in unmoderated rooms 2016-02-21 11:42:41 +01:00
Daniel Gultsch 49a3f6f281 never parse show in presences as offline 2016-02-19 11:09:28 +01:00
Daniel Gultsch 59978e157c only offer message correction for the very last message 2016-02-17 16:51:36 +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 91ec4839ac prepend instead off append mam messages to conversations when going in reverse 2016-02-04 16:40:18 +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 1d572c61d0 cache server caps 2016-02-03 17:19:05 +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 fab0a45955 re-read common name from certificates on startup 2016-02-02 13:43:20 +01:00
Daniel Gultsch a3e11415ec refactored user handling in conferences. show try again button when conference has errors 2016-02-01 12:11:40 +01:00
Daniel Gultsch 28ebf927fb try to make in-valid-session detection work for pgp 2016-01-29 12:09:31 +01:00
Stephen Paul Weber 000f59d614 Fetch cached caps result on new presence 2016-01-24 17:46:08 -05: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
Stephen Paul Weber ad36a4ba89 Persisitence and loading for ServiceDiscoveryResult 2016-01-23 10:53:56 -05:00
Stephen Paul Weber 56f8fff935 Implement toJSON on ServiceDiscoveryResult 2016-01-23 10:52:45 -05:00
Stephen Paul Weber 1e335d527b Generate capHash from any discovery result 2016-01-23 10:52:44 -05:00
Stephen Paul Weber fccce229c6 Factor out a representation of XEP-0030 results
And the parser from Element to this representation.
2016-01-23 10:52:40 -05:00
Daniel Gultsch 40005cec1b added config variable to allow non-tls connections 2016-01-22 11:20:31 +01:00
Daniel Gultsch 41ae4af1b8 made constructor private in Account entity 2016-01-16 18:57:47 +01:00
Daniel Gultsch 6acb80a83a added Config.java variable to change the default notification behaviour to always 2016-01-08 22:07:23 +01:00
Daniel Gultsch a3e136b550 show per conference notification settings in details activity 2016-01-08 21:30:46 +01:00
Daniel Gultsch 5dd5685885 Merge pull request #1641 from fiaxh/uuid-fix
Correct uuid check according to RFC 4122
2016-01-08 00:17:21 +01:00
Daniel Gultsch c59eb75a59 avoid duplicate messages when sending files to mucs. fixes #1635 2016-01-06 12:59:13 +01:00
fiaxh 62d0eebe5c Correct uuid check according to RFC 4122 2016-01-05 20:07:29 +01:00
Daniel Gultsch fdb6b0e30d only report error after third unsuccesful attempt to connect 2016-01-04 15:33:11 +01:00
Daniel Gultsch bcf99db3df fixed stuck at omemo encryption when x509 verification is being used 2015-12-27 17:29:19 +01:00
Daniel Gultsch ade89beb96 use presence name not server name when verification is being used 2015-12-19 13:07:38 +01:00
Daniel Gultsch e8bf5cada4 only offer plain and omemo encryption when x509 verification is enabled 2015-12-19 12:44:12 +01:00
Daniel Gultsch f05f97251c prefer server name over address book name when x509 verification is being used 2015-12-19 12:43:09 +01:00
Daniel Gultsch f6b22dad20 splite PARANOIA_MODE into three different options 2015-12-14 10:54:55 +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 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 cd9a29718b properly clear muc user avatar caches 2015-12-04 21:36:48 +01:00
Daniel Gultsch 196c8e593f Merge pull request #1595 from fiaxh/pgp_database_signature
Regenerate PGP signatures once
2015-12-04 15:35:51 +01:00
Daniel Gultsch 3e3cb047be rely on message id if message id is uuid and pgp encryption was used to deduplicate messages. fixes #1357 2015-12-04 15:34:45 +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
fiaxh e5f154316c Unset all PGP signatures once
... so they will be redone to match the changed status.
2015-12-02 18:06:48 +00: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 dc8967d8fc introduced build-time paranoia mode that disables unencrypted chats and forces TOR 2015-12-01 22:41:58 +01:00
Daniel Gultsch 2225b0b6d5 add error state for unavailable tor network 2015-12-01 12:00:50 +01:00
Daniel Gultsch ebccb67a72 do socks5 connect manually 2015-12-01 12:00:50 +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 a557d38e4d pgp fixes and revert configuration changes 2015-11-25 20:47:02 +01:00
fiaxh fac1d4e0bd Use OpenPGP-API 9.0 2015-11-09 13:49:57 +00:00
Daniel Gultsch bca29cf7fd explicitly mark verified omemo keys in UI 2015-10-31 10:57:57 +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 c7ff196f58 push CN into nick pep node when uploading certificate. subscribe to nick node 2015-10-29 13:41:08 +01:00
fiaxh 29a849cb92 Decrypt PGP messages in background 2015-10-28 19:57:11 +00:00
Sam Whited e747ecef4d Don't synchronize on non-final field 2015-10-26 20:13:48 -05:00
Daniel Gultsch 3c45f00443 fixed read conversations showing up as notifications after a restart 2015-10-21 17:41:44 +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 5f9476448f make unread status and notifications presistent across restarts 2015-10-14 21:18:34 +02:00
Daniel Gultsch b23cb5a9e4 initial UI work to allow setting up accounts from certifcates 2015-10-09 13:37:08 +02:00
saqura 403db3b080 Show whether MAM is supported in MUCs
The conference details in "Advanced Mode" now indicate whether MAM is
supported by the conference server.
2015-10-06 16:23:05 +02:00
Daniel Gultsch 5fb77a9739 fixed NPE when executing rename callback in muc 2015-09-28 15:36:55 +02: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
Daniel Gultsch 96575d6290 added possibiltiy to set conferences as moderated (only visible in advanced mode) 2015-09-13 17:13:46 +02:00
Daniel Gultsch 4220fa948b added mp4 to well known extensions. fixes #1403 2015-09-12 10:42:56 +02:00
Daniel Gultsch 7eb228d1a5 Issues with URLs with multiple dots in file. fixes #1373 2015-09-04 19:58:53 +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 ea2ce78d6e be more restrictive about marking messages as sent_received in muc parser 2015-08-26 12:11:12 +02:00
Daniel Gultsch 8043833156 bugfix: next encryption is now being properly detected 2015-08-23 19:40:45 +02:00
Andreas Straub 6cd9383e53 Let UNTRUSTED/UNDECIDED keys become INACTIVE 2015-08-01 18:30:11 +02:00
Daniel Gultsch 60cd307f73 enable axolotl encryption for jingle supported file transfers 2015-08-01 01:19:16 +02:00
Daniel Gultsch 658919f239 improved 'next encryption' selection 2015-07-31 00:52:46 +02:00
Andreas Straub 74ab36fda2 Fix session logic: enforce same type of encryption 2015-07-30 19:18:09 +02:00
Daniel Gultsch 58d80f58be use gcm for file encryption over http 2015-07-29 23:45:37 +02:00
Andreas Straub e6df4d81d2 Tag carbon messages in parser, adapt session logic
Messages sent from another device of the own account are now explicitly
tagged as carboned message. The session detection logic now uses this
tag to find "session borders".
2015-07-29 16:41:58 +02:00
Andreas Straub efcefc2e63 Refactor out inner classes, cache trust store
Moves SQLiteAxolotlStore and XmppAxolotlSession into proper classes.

IdentityKeys trust statuses are now cached in an LruCache to prevent
hammering the database when rendering the UI.
2015-07-29 02:59:26 +02:00
Daniel Gultsch 8f14d2bfbd removed recursion in message.getMerged*() 2015-07-28 23:00:30 +02:00
Daniel Gultsch cd204d5931 show warning when trying to highlight users that have left the conference 2015-07-22 15:57:17 +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 012f036840 Optimize imports 2015-07-20 14:26:29 +02:00
Andreas Straub e8ec2ee628 Don't merge messages with different trust statuses 2015-07-19 22:23:28 +02:00
Andreas Straub 9e8d9a6401 Show trust status of messages' originating session
Shade lock icon red if message was received in a session that has not
been marked trusted by the user or fingerprint is unknown
2015-07-19 22:23:27 +02:00
Andreas Straub d173913eba Overhauled Message tagging
Messages are now tagged with the IdentityKey fingerprint of the
originating session. IdentityKeys have one of three trust states:
undecided (default), trusted, and untrusted/not yet trusted.
2015-07-19 22:17:58 +02:00
Andreas Straub 491f623708 Fix displaying Contact IdentityKeys
Migrate ContactDetailsActivity to use new SQL IdentityKeys storage,
remove dead code from Contact class.
2015-07-19 21:32:27 +02:00
Andreas Straub 1b0596d574 Tag messages with originating session
This can be used later in order to display trust status of messages, as
well as for potential resending of messages in case of preKey conflicts.
2015-07-19 21:32:26 +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 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 f73aa1a200 Reworked axolotl protocol layer
Numerous fixes
2015-07-19 21:32:25 +02:00
Andreas Straub b8048a5538 CryptoNext persistance layer mockup
Initial sketch of the peripheral storage infrastructure for the new
axolotl-based encryption scheme.
2015-07-19 21:32:21 +02:00
Daniel Gultsch ce527c8b76 account for downloaded http files in dup checker 2015-07-18 00:01:34 +02:00
Daniel Gultsch ce79f4bbe3 renamed downloadable to transferable 2015-07-10 15:11:03 +02:00
Daniel Gultsch bef731a3c8 refactored sendMessage and merged with resendMessage 2015-07-05 11:59:38 +02:00
Daniel Gultsch d30fb6f0a1 avoid very rare npe 2015-07-03 21:32:46 +02:00
Daniel Gultsch e4d1bd415d also offer http download for some 'well known extensions' 2015-07-02 23:19:50 +02:00
Daniel Gultsch f5ba9d4223 refactored message context menu 2015-07-02 23:13:00 +02:00
Daniel Gultsch c20a088ea8 changed mime type handling 2015-07-01 16:01:18 +02:00
Daniel Gultsch aca9d8036c made httpconnection (download) ready all kind of files 2015-06-30 17:15:02 +02:00
Daniel Gultsch d7de311379 refactored bodyContainsDownloadable to be more flexible 2015-06-30 13:52:53 +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 58201b4408 changed paragraph divider 2015-06-10 03:30:17 +02:00
Daniel Gultsch 53e8964dc1 reworked handeling of system contacts 2015-06-03 14:05:54 +02:00
Daniel Gultsch fe1cff016f avoid unnessary muc mam queries when message count is 0 after subject 2015-06-02 13:33:20 +02:00