Daniel Gultsch
e467fe341e
implement client support for muc push
...
Staying connected to a MUC room hosted on a remote server can be challenging.
If a server reboots it will usually send a shut down notification to all
participants. However even if a client knows that a server was shut down it
doesn’t know when it comes up again. In some corner cases that shut down
notification might not even be delivered successfully leaving the client in a
state where it thinks it is connected but it really isn’t.
The possible work around implemented in this commit is to register the clients
full JID (user@domain.tld/Conversations.r4nd) as an App Server according to
XEP-0357 with the room. (Conversations checks for the push:0 namespace on the
room.)
After cycling through a reboot the first message send to a room will trigger
pubsub notifications to each registered full JID. This event will be used to
trigger a XEP-0410 ping and if necessary a subsequent rejoin of the MUC.
If the resource has become unavailable during down time of the MUC server the
user’s server will respond with an IQ error which in turn leads to the MUC
server disabling that push target.
Leaving a MUC will send a `disable` command. If sending that disable command
failed for some reason (network outage) and the client receives a pubsub
notification for a room it is no longer joined in it will respond with an
item-not-found IQ error which also disables subsequent pushes from the server.
Note: We 0410-ping before a join to avoid unnecessary full joins which can be
quite costly. Further client side optimazations will also surpress pings when
a ping is already in flight to further save traffic.
2019-06-24 18:16:06 +02:00
Daniel Gultsch
17c8bf3452
attempt to keep messages waiting until muc is connected
2019-06-18 18:09:44 +02:00
Daniel Gultsch
6862b60c3f
self ping (xep-0410) after receiving invite to muc
2019-06-18 13:20:24 +02:00
Daniel Gultsch
1cfba86aff
don’t crash when attempting to publish bookmarks while offline
2019-06-16 18:05:06 +02:00
Daniel Gultsch
2fbd9e6744
MessageStyle notifications replace car extender
2019-06-16 16:02:22 +02:00
ialokim
15791b732c
fix export error for non-unicode numbers ( #3444 )
2019-04-28 10:46:49 +00:00
Daniel Gultsch
b2ea91909b
introduced type private_file_message to handle attachments in PMs. fixes #3372
2019-04-27 11:46:43 +02:00
Daniel Gultsch
6704db21fb
added Tor support to channel search
2019-04-25 21:10:50 +02:00
Daniel Gultsch
ff84ee6964
cache channel search results
2019-04-24 13:25:54 +02:00
Daniel Gultsch
2fa687b8ae
refactor muc search to use http
2019-04-22 13:00:45 +02:00
Daniel Gultsch
a0f88aa9b4
implement channel discovery over jabber.search.network
2019-04-22 10:42:21 +02:00
Daniel Gultsch
39bc067405
execute some dismiss error notification and reset error in background
2019-04-17 12:49:36 +02:00
Daniel Gultsch
46596e8652
fix backup creation for older installations
...
if your Conversations installation is older than December 2016 (version 1.15.0) the backup would
include historic data that a current installation is not able to read on restore.
This commits excludes that data from the backup.
If you had problems importing the backup you need to create a new backup after this patch
2019-03-07 09:08:37 +01:00
Daniel Gultsch
a29a5fd491
copy intent extras in eventreceiver
2019-02-27 14:16:26 +01:00
Daniel Gultsch
3fabb52293
after switching from forced foreground to foreground notification needs update
2019-02-16 11:58:16 +01:00
Daniel Gultsch
5f543e8314
show notification when backup is done
2019-02-15 13:17:49 +01:00
Daniel Gultsch
ad64058d25
hide lock icon in channels; modify muc user context
2019-02-07 13:18:42 +01:00
Daniel Gultsch
32ef3755e2
show different room settings for channels and groups
2019-02-06 18:29:07 +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
e0965a2bf2
remove warning messages for kick after ban failing. on modern servers ban is enough to also kick
2019-01-28 10:52:35 +01:00
Daniel Gultsch
0898783309
schedule another ping 30s after connectivity_change
2019-01-27 20:54:45 +01:00
Daniel Gultsch
b9c4309a28
refactored group chat members into seperate screen
2019-01-25 17:58:23 +01:00
Daniel Gultsch
7f170276a9
refactored avatar workers into single class
2019-01-25 10:07:02 +01:00
Daniel Gultsch
8fbe445c99
scan all files in case some files were previously marked as deleted by accident
2019-01-24 15:03:58 +01:00
Daniel Gultsch
a32bb652f7
always show number of connected accounts in foreground notification. fixes #3352
2019-01-23 17:07:14 +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
477f2d34f3
use clear top flag in shortcut intent
2019-01-18 12:28:35 +01:00
Daniel Gultsch
a53774bc6d
resend presence to muc avatar update. fixes #3175
2019-01-17 17:55:47 +01:00
Daniel Gultsch
caf5fcad88
fixed enabled accounts check in onCreate
2019-01-13 22:18:32 +01:00
Daniel Gultsch
526c2637c1
provide Set as Profile intent. fixes #2594
2019-01-13 15:28:24 +01:00
Daniel Gultsch
004411cf51
force foreground service during onCreate()
...
creating / upgrading the database and reading accounts can be expensive
and will otherwise trigger an AN
2019-01-13 11:27:16 +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
918b3223b3
stop file watching when service has been destroyed
2019-01-12 10:21:21 +01:00
Daniel Gultsch
9efb3c6dc6
synchronize around notification update from corrected messages
2019-01-12 08:55:46 +01:00
Daniel Gultsch
6ecf6f1149
make contact chooser (direct sharing) smart about sharing text in groups when http is not available
2019-01-11 17:45:18 +01:00
Daniel Gultsch
8124b24479
maintain order of conversations in share with dialog
2019-01-11 17:19:54 +01:00
Daniel Gultsch
7cabb2c377
check if encrypted pgp file get deleted
2019-01-10 21:24:24 +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
25856992d1
remove deprecated instanceIdService
2019-01-09 17:37:52 +01:00
Daniel Gultsch
a15c50a15f
added avatar to 'me' in notifications
2019-01-09 16:26:20 +01:00
Daniel Gultsch
96e3546904
put images into MessageStyle notifications
2019-01-09 12:47:09 +01:00
Daniel Gultsch
c4539b8583
use bitmap instead of URI for avatars in notification. fixes #3310
2019-01-09 09:03:33 +01:00
Daniel Gultsch
136d1e1905
added work around to create 'actions' from nova launcher
...
fixes #3331
2019-01-05 10:31:13 +01:00
Daniel Gultsch
b9952f27fd
archive destoryed mucs when registering that bookmark has been removed
2019-01-03 14:07:03 +01:00
Daniel Gultsch
9d849f540f
Merge branch 'implement_room_destruction' of https://github.com/area-42/Conversations into bookmarks
2019-01-03 13:27:24 +01:00
Christoph Scholz
77b42ba9ca
remove bookmark after a room is destroyed
2019-01-02 18:07:21 +01:00
Christoph Scholz
52e1a0c708
implement room destruction
2019-01-02 18:06:38 +01:00
Daniel Gultsch
835c89328d
use person in message style notification
2019-01-02 15:29:31 +01:00
Daniel Gultsch
cfab0dbe1b
introduced 'original' as video quality and do not ignorer error
2019-01-02 10:03:33 +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
76b78be2f2
synchronize join/leaves with bookmarks
2018-12-15 17:44:23 +01:00
Daniel Gultsch
b4cd31520d
display last not first message in notification. closes #3265 fixes #3264
2018-12-15 17:44:05 +01:00
Daniel Gultsch
acea062abc
fixed dead lock when sending pgp messages from quick reply. fixes #3246
2018-12-13 19:29:16 +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
1a1bfb3246
show warning snackbar before joining anon-non-private room. fixes #3306
2018-12-09 18:25:11 +01:00
Daniel Gultsch
7219f42ad2
check mam preference for mam:2 namespace and purge offline only if set
2018-12-05 19:11:40 +01:00
Daniel Gultsch
f1e1c4a78d
keep track of previously edited ids
2018-12-01 15:52:44 +01:00
Daniel Gultsch
6381f8a7f7
fixed cache cleaning of muc avatars, fixes #3296
2018-11-29 19:27:18 +01:00
Daniel Gultsch
d53143ab34
change audio attributes for notification channel
...
This may help on platforms that make a difference between ringtone volume and notification volume
2018-11-27 10:41:19 +01:00
Daniel Gultsch
1de385dcb9
set access model to open when publishing avatar. fixes #3291
2018-11-25 20:58:48 +01:00
Daniel Gultsch
65c9dd71c7
prefer server side avatar on quicksy and address book avatar on conversations
2018-11-22 13:03:13 +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
23cc305720
refactor quite hours to make them time zone indepentent. fixes #2565
2018-11-21 18:14:02 +01:00
Daniel Gultsch
cf18bd08fc
provide option to reject subscription request when long pressing 'allow'
2018-11-18 10:34:14 +01:00
Daniel Gultsch
e7d1555763
use startForegroundService compat from push message receiver
2018-11-17 12:57:36 +01:00
Daniel Gultsch
ab43a4bcf9
use display name to generate own avatar
2018-11-11 10:13:45 +01:00
Daniel Gultsch
4c88fce3b8
do not update foreground notification on error if it wasn’t enabled
2018-11-11 09:54:52 +01:00
Daniel Gultsch
306e12b24e
fixed race condition that prevented bookmark nick to be used
2018-11-10 17:33:24 +01:00
Daniel Gultsch
5012ff3545
added interface to edit nick
2018-11-09 17:47:36 +01:00
Daniel Gultsch
aca4ba981f
fixed caching key not being calculated properly
2018-11-08 20:52:57 +01:00
Daniel Gultsch
e450626d5c
add suggested contacts to roster on first message
2018-11-08 12:20:46 +01:00
Daniel Gultsch
5be43e36e4
always do contact sync in background
2018-11-07 15:44:39 +01:00
Daniel Gultsch
8a67f31368
display spinning wheel + swipe to refresh for quicksy
2018-11-07 13:42:01 +01:00
Daniel Gultsch
fe90c6f846
suggest sync on login + hard code api server
2018-11-06 09:13:43 +01:00
Daniel Gultsch
f0d5dc583d
use inContactList() instead inRoster() in the proper places
2018-11-03 16:32:08 +01:00
Daniel Gultsch
19e13115d3
added count down latch to await account connect before going into publish profile activity
2018-10-31 13:33:55 +01:00
Daniel Gultsch
1bcbd257c3
refresh contacts when opening StartConversationsActivity
2018-10-31 13:33:55 +01:00
Daniel Gultsch
2dee53587b
basic phone number sync
2018-10-31 13:33:55 +01:00
Daniel Gultsch
87cc53b8b5
renamed build flavors
2018-10-31 13:33:55 +01:00
Daniel Gultsch
a49a5790c7
refactored phone contact loading in preperation for sync
2018-10-31 13:33:55 +01:00
Daniel Gultsch
4df0cc3657
do not offer tor or extended connection settings for quicksy
2018-10-31 13:33:55 +01:00
Daniel Gultsch
3b31133606
do not show up navigation when opening edit account from notification
2018-10-31 13:33:55 +01:00
Daniel Gultsch
f7addc5d89
suggest quicksy.im when user enters e164 in enter jid dialog
2018-10-31 13:33:55 +01:00
Daniel Gultsch
954acb377e
WIP QuickConversationsService
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
03cd176c27
refined nick matching patter. word boundry (\b) doesn’t match on words ending in a boundry
...
fixes #3249
2018-10-25 15:33:37 +02:00
Daniel Gultsch
dd1d1858d0
fixed cache cleaning cleaning all confercenes instead of where contact is. closes #3229
2018-10-12 16:13:37 +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
Licaon_Kter
58c6dbbbbe
Lower foreground service notification priority ( #3223 )
...
...so no useless icon is shown on the status bar on Android 7 and older (as it was up to 2.2.9)
2018-10-11 02:44:17 +02:00
Daniel Gultsch
57fe153ef1
make 'cancelled' work for jingle ft
2018-10-08 10:31:41 +02:00
Daniel Gultsch
3dceb9d3ad
refactor video qualtiy selector; less technical descriptions; code cleanup
2018-10-07 13:09:13 +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
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
0e3be466ad
fixed regression introduce in earlier commit. don’t use conscrypt on older devices
2018-10-04 19:21:23 +02:00
Daniel Gultsch
657b1cae9d
use fab.hide() and fab.show() - this will animate the process
2018-10-04 16:46:35 +02:00
Daniel Gultsch
f608fb349a
refactored file encryption to give access to inner stream
...
Conscrypt on some plattforms doesn’t like when we close the CipherInputStream. Therefor we refactor the api to give us access to the inner stream so we can close that independently.
2018-10-03 18:14:45 +02:00