Commit graph

536 commits

Author SHA1 Message Date
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 6daaca496b externalize time passed utils 2020-05-09 09:42:33 +02:00
Daniel Gultsch bd0234ba4d dismiss incoming call notification on crash. fixes #3701 2020-05-08 19:34:20 +02:00
Daniel Gultsch 350fc57d87 properly wrap IPv6 addresses 2020-05-08 17:52:41 +02:00
Daniel Gultsch 006d7447a3 put version code into crash report 2020-04-25 20:13:20 +02:00
Daniel Gultsch e661d5b7ad provide deep link from settings into call notification settings 2020-04-20 15:57:31 +02:00
Daniel Gultsch 8472712b3e play notification sound pre notification categories 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 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 6a1df0538e request recording permission when making or accepting audio calls 2020-04-20 15:57:30 +02:00
Daniel Gultsch 41ada3480c add jfif and jif as jpeg mime types 2020-03-12 21:28:54 +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 2aee26c49a display PDF previews 2020-02-11 17:41:54 +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 c8b5b96af9 support xmpp uris with single 'omemo' parameter for fingerprint (w/o sid) 2020-01-16 18:54:56 +01:00
Daniel Gultsch 9653d68bdd parse install referrer from gplay 2020-01-10 12:51:04 +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 4e0f05f0a1 refactored xmpp uri parsing to expose all params 2020-01-08 10:51:18 +01:00
Daniel Gultsch 42d69fd5e3 don’t crash when long pressing invalid geo-uris 2019-12-30 00:23:44 +01:00
Daniel Gultsch ed4a73e1c7 persist file size across aborts
fixes #3601
2019-12-26 19:01:01 +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 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 a99d7a7400 increase cursor window size on Android P when restoring messages 2019-12-02 13:20:53 +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 07786d4576 optionally search local muc rooms instead of jabber.network 2019-11-02 09:43:37 +01:00
Daniel Gultsch 8578af2b2b flush on socks connection 2019-10-07 22:02:36 +02:00
Daniel Gultsch d6835101b9 fixes for previous commit 2019-10-05 21:58:21 +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
Daniel Gultsch 2ec1d0cc09 warn when using _only_ ambiguous cyrillic 2019-09-16 15:13:53 +02:00
Daniel Gultsch 571c29f92a make Tor connections work with direct TLS 2019-09-05 12:08:58 +02:00
Daniel Gultsch 1c413edf06 bare minimum direct connections 2019-09-01 15:06:59 +02:00
Daniel Gultsch 238df77a1e catch IllegalArgumentException when reading backup file 2019-07-25 17:01:43 +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 feba9a71ee code clean up 2019-07-02 11:10:21 +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 997f922401 put geo uri in attachment preview when shared 2019-05-28 22:32:42 +02:00
Daniel Gultsch 82dcae59e3 added language tag in channel search results 2019-05-02 20:09:43 +02:00
Daniel Gultsch 182a81e3ef only show opened FAB when some accounts are enabled 2019-04-26 09:30:38 +02:00
Daniel Gultsch a0f88aa9b4 implement channel discovery over jabber.search.network 2019-04-22 10:42:21 +02:00
Daniel Gultsch d390345073 show max file upload size in server info 2019-03-23 07:27:03 +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 5f543e8314 show notification when backup is done 2019-02-15 13:17:49 +01:00
Daniel Gultsch bebce313b2 print available stream features / mechanisms on incompat server 2019-02-09 20:21:29 +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 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 d02fd73af8 explicitly start service (instead of just bind) service from contact chooser 2019-01-13 09:42:44 +01:00
Daniel Gultsch ba34561235 ignore code block start in message preview. fixes #3124 2019-01-12 14:26:33 +01:00
Daniel Gultsch 918b3223b3 stop file watching when service has been destroyed 2019-01-12 10:21:21 +01:00
Daniel Gultsch a38cd88702 offer 'open with' in context menu for geo uris 2019-01-11 10:13:25 +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 d414f85ec0 change epub file extension to epub and added mobi 2018-12-22 21:25:39 +01:00
Daniel Gultsch 3eaa48fa46 added epub and azw mime types. try to resolve application/octet-stream by file extension instead. added preview icons for ebooks 2018-12-22 13:02:45 +01:00
Daniel Gultsch 8f27a177b0 try to guess inital location in ShareLocation based on sim card 2018-12-11 17:25:59 +01:00
Daniel Gultsch ae9bfe1643 limit video transcoding to api >= 18 and other api 16 fixes 2018-12-10 13:58:05 +01:00
Daniel Gultsch c071a53595 Merge branch 'api-level-18' of https://github.com/deuill/Conversations into deuill-api-level-18 2018-12-10 13:13:16 +01:00
Alex Palaistras aaf5fa816b Reduce minSdkVersion to 16, fix issues reported by lint
This further reduces the minimum API level to 16, which should encompass
most users stuck on older versions of Android (mainly BlackBerry OS and
Jolla users).

Several issues reported by code analysis were fixed, mainly around issues
with layouts.
2018-12-09 21:32:42 +00:00
Daniel Gultsch 6a06bcfd58 change message styling rules
Message styling purposly doesn’t require a whitespace after a closing
tag to make something like ~un~believable work. However it also breaks
_Programmierer_innen_ and other example where the tag is repeated as a
non tag in the word.
Therefor we change the rules that if a closing tag is followed by a higher
order closing tag (a closing tag followed by an end block or white space)
we ignore the first closing tag. But only if we don’t read another tag open.
2018-12-09 18:26:31 +01:00
Daniel Gultsch 875810e1c7 offer to start/install orbot for edit account screen. fixes #1980 closes #2834 2018-12-03 13:15:06 +01:00
Daniel Gultsch c02676ea4c implement self healing omemo
after receiving a SignalMessage that can’t be decrypted because of broken sessions
Conversations will attempt to grab a new pre key bundle and send a new PreKeySignalMessage
wrapped in a key transport message.
2018-12-02 14:41:29 +01:00
Daniel Gultsch 61ac804f93 catch a few run time exceptions related to androids life cycle mgmt 2018-11-22 10:06:56 +01:00
Daniel Gultsch ccf9c42d0d don’t show edit nick on Conversations 2018-11-10 10:19:29 +01:00
Daniel Gultsch a49a5790c7 refactored phone contact loading in preperation for sync 2018-10-31 13:33:55 +01:00
Daniel Gultsch 5695236838 verify activity 2018-10-31 13:33:55 +01:00
Daniel Gultsch f10f3730e1 added new menu item 'manage account' and show when on quick 2018-10-31 13:33:55 +01:00
Daniel Gultsch a420cb5886 refactored some ManageAccount, WelcomeActivity and a few other things into 'full' flavor 2018-10-31 13:33:55 +01:00
Daniel Gultsch f9cafc144b refactor magic creates password gen to CryptoHelper 2018-10-20 00:05:10 +02:00
Daniel Gultsch 2e2914ee78 fixed NPE after attempt to store user@ip style jid resolver result 2018-10-13 16:13:33 +02:00
Daniel Gultsch 409bf3c0cb use bouncycastle provider up to api 27
apparently using conscrypt on Android below version 7? throws an exception when using 16 byte IVs.
so we now use BC when ever possible (excluding api 28)

we don’t know why Conscrypt behaves differently on various android versions
2018-10-11 04:36:37 +02:00
Daniel Gultsch 84f7aeaea0 Merge branch 'video-selector' of https://github.com/licaon-kter/Conversations into licaon-kter-video-selector 2018-10-07 09:51:14 +02:00
licaon-kter a6fef8101b Fix selector, limit formats to 360 & 720 per CTS 2018-10-07 04:25:16 +03:00
Daniel Gultsch f23311ab3f PRNG fixes were a nop ever since we switched to 4.4+ 2018-10-06 19:34:20 +02:00
Daniel Gultsch 521bb7846c catch exception if Conscrypt could not be initialized and use tls 1.2 2018-10-06 19:33:38 +02:00
licaon-kter fcccf545ba Add video compression selector 2018-10-06 17:15:32 +03:00
Daniel Gultsch db2107c093 clean up connection code. unify domain = ip and extended connection settings into fake resolver 2018-10-01 17:07:37 +02:00
Daniel Gultsch 8270adf703 use sni and alpn for start tls as well. apperently google requires it 2018-10-01 11:34:27 +02:00
Daniel Gultsch bb6b647af8 use stronger video compression (lower bitrate & lower resolution) 2018-09-28 18:38:54 +02:00
Daniel Gultsch cf879dd8e8 fixed sni and alpn for kitkat 2018-09-27 10:00:58 +02:00
Daniel Gultsch 681ce91ab8 do not run through connection loop after thread was interrupted and resolver returned 0 results 2018-09-26 14:39:04 +02:00
Daniel Gultsch 9015d0a1fc interrupt sub thread in resolver 2018-09-26 10:18:56 +02:00
Daniel Gultsch 23b641a6ad fixed notification sounds for Android 6 2018-09-24 19:47:11 +02:00
Daniel Gultsch 2d206122a5 use conscrypt api to set sni and alpn 2018-09-23 11:20:23 +02:00
Daniel Gultsch b759cf902d fixed regression that didn’t enable SNI 2018-09-22 13:32:46 +02:00
Daniel Gultsch 6637d7056e use conscrypt as security provider to provide tls 1.3 and modern cyphers on old androids 2018-09-21 16:33:07 +02:00
Daniel Gultsch 4930f22615 copy into new array when returning from resolver 2018-09-20 20:29:21 +02:00
Daniel Gultsch 6ede6c7f85 behave nicely (no foreground service by default) if app is built with targetSdk <26 2018-09-18 11:33:18 +02:00
Daniel Gultsch bd128335d3 do not show media overview in contact/conference details when missing storage permission 2018-09-17 21:24:25 +02:00
Daniel Gultsch 67e7d2cf9e do not use BC provider on android 22+ 2018-09-17 17:47:36 +02:00
Daniel Gultsch 00c062a0c8 fixed media preview for file types other than images 2018-09-12 14:37:41 +02:00
Daniel Gultsch be4c6bc2ca speed up DNS
run queries in parallel
decrease timeout
do not fall back to google
2018-09-08 11:30:20 +02:00
Daniel Gultsch 676d31f606 initial work toward api 26+
* introduce notification channels
* always use foreground service on 26+
2018-09-05 21:37:12 +02:00
Daniel Gultsch 268fcd3838 disabled by default variant of XEP-0392 2018-08-19 22:33:20 +02:00
Daniel Gultsch f93cb8ede1 Revert "Patterns: attempt at fixing complex xmpp URIs (typically xmpp:#mychan%irc.server@xmpp.server.tld?join) (#3115)"
This reverts commit a4004904fe.
2018-07-22 22:42:35 +02:00
Romain DEP a4004904fe Patterns: attempt at fixing complex xmpp URIs (typically xmpp:#mychan%irc.server@xmpp.server.tld?join) (#3115) 2018-07-16 20:50:23 +02:00
Daniel Gultsch 1cc3f5bed7 make xmppuri deal with null input 2018-07-06 20:16:04 +02:00
Daniel Gultsch 0fffc7a1ac restart file observer when permisson are granted 2018-06-24 20:54:01 +02:00
Daniel Gultsch e8a1f069c2 reset subject and name on empty 2018-06-24 16:33:15 +02:00
Daniel Gultsch 4c9e331e01 save name instead of subject in bookmark 2018-06-24 16:17:20 +02:00
Daniel Gultsch b0e1b5b02d refined create conference dialog 2018-06-24 11:23:10 +02:00
Daniel Gultsch 9cc22ce992 introduced build flavor to build w/o emoji compat 2018-06-21 14:26:25 +02:00
Daniel Gultsch 17db77ed5d Merge branch 'trailing_url_slash' of https://github.com/klonfish/Conversations into klonfish-trailing_url_slash 2018-06-11 16:19:51 +02:00
Klaus 30e5f9b290 fix geo uri regex (fix #3050) (#3071)
- only match valid float numbers
- match uri with parameter
2018-06-10 18:53:07 +02:00
Daniel Gultsch fd7a5c605a Do not use TLS_FALLBACK_SCSV
closes #2937

Thanks to @tmolitor-stud-tu for explaining the situation in
https://github.com/guardianproject/NetCipher/pull/74
2018-05-26 10:22:44 +02:00
Daniel Gultsch 4626bdf8d8 show p1s3 attchments with download button 2018-05-25 13:18:25 +02:00
Daniel Gultsch 70d95c7903 upload files using p1s3 - sending part 2018-05-25 12:24:23 +02:00
Daniel Gultsch 3be3bfb492 make file observer listen for moves 2018-05-20 16:19:23 +02:00
Daniel Gultsch 2230d5a42c do not save draft if message is completly empty and fixed appending shared text 2018-05-19 14:30:42 +02:00
Daniel Gultsch 9ef2d32a3e changed jid of push server 2018-05-12 17:23:37 +02:00
klonfish 41760b40ef Improved URL matching
URLs with trailing special chars (e.g. slash, minus, ...) should now be
matched correctly, even when followed by a non-url char
2018-05-10 20:55:05 +02:00
Daniel Gultsch e84a65bc86 do not load conversations with null jid 2018-05-09 11:09:01 +02:00
Daniel Gultsch ffe610f961 max out emoji enlargment at 42 emojis 2018-05-09 09:07:26 +02:00
Daniel Gultsch 13d6885883 split heighlights by special characters. fixes #3007 2018-05-07 11:14:33 +02:00
Daniel Gultsch 7ca719b8be apply styling helper to conversation overview 2018-05-06 11:22:20 +02:00
Daniel Gultsch 8cd222b046 XmppUri code cleanup 2018-05-04 22:07:00 +02:00
Daniel Gultsch 77fc8d2d9e encode and decode % and # in invite links 2018-05-04 12:18:31 +02:00
Daniel Gultsch 9b73029267 copy jabber id and web url via context menu 2018-05-04 11:39:03 +02:00
Daniel Gultsch 96224c0fc6 filter sequences of more than 3 ltr-rtl 2018-05-04 10:11:24 +02:00
Daniel Gultsch 2b492a1fba remove " from fts queries 2018-05-03 19:09:19 +02:00
Daniel Gultsch 5e1cbf8514 only highlight alphanumeric chars 2018-05-03 13:57:13 +02:00
Daniel Gultsch 9625f191c3 hide treatAsDownloadable in search results 2018-05-02 12:14:24 +02:00
Daniel Gultsch d8439c72fd fixed display in internal map 2018-05-01 14:32:55 +02:00
Daniel Gultsch 949b77c353 make show location depend on plugin setting 2018-05-01 12:55:11 +02:00
Daniel Gultsch 8e17fa285d allow use of share location plugin with setting 2018-05-01 12:03:35 +02:00
Daniel Gultsch 303cc89b61 persist search across device rotations 2018-05-01 10:33:21 +02:00
Daniel Gultsch 2505ac8b77 only search text messages 2018-05-01 09:58:43 +02:00
Daniel Gultsch 438ae34988 fixed search term parser for empty terms 2018-04-30 17:37:39 +02:00
Daniel Gultsch 27f31446c0 search term parsing + highlighting 2018-04-30 17:09:55 +02:00
Daniel Gultsch b5c60ee779 changed accent color back to blue 2018-04-30 15:17:21 +02:00
Daniel Gultsch 287c416dac hard code ogg + audio/ mime type to oga 2018-04-29 15:19:13 +02:00
Daniel Gultsch 3011f875eb highlight search term in search results 2018-04-28 23:50:35 +02:00
Daniel Gultsch 6712a2d91f added search result context menu + date separators 2018-04-28 16:32:23 +02:00
Daniel Gultsch 120f7453e5 use GIF to describe gifs instead of image 2018-04-26 21:21:00 +02:00
Daniel Gultsch e6feb91390 properly cancel pending searchs and scroll to bottom after refresh 2018-04-26 17:02:31 +02:00
Daniel Gultsch 35020702fb very much unoptimized search functionality 2018-04-26 13:22:31 +02:00
Daniel Gultsch 2f974c3eb2 integrate voice recorder 2018-04-22 20:31:37 +02:00
Daniel Gultsch 1118c4450b fix text size in snackbars 2018-04-21 20:38:14 +02:00
Daniel Gultsch 406a5a10f9 removed 'received' prefix from description 2018-04-16 09:55:16 +02:00
Daniel Gultsch 4a706aad03 catch dead object exceptions when acquiring wake locks 2018-04-15 18:31:58 +02:00
Daniel Gultsch be5e39a440 get real file name for files shared from Conversations 2018-04-15 17:10:50 +02:00