aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/generator/IqGenerator.java (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-06-25implement client support for muc pushChristian Schneppe1-7/+17
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 optimizations will also suppress pings when a ping is already in flight to further save traffic.
2019-05-04Make use of Namespace.REGISTER constantChristian Schneppe1-1/+1
2019-02-07show different room settings for channels and groupsChristian Schneppe1-0/+3
2019-02-07provide the same fab submenu for both tabs. rename tab to bookmarkChristian Schneppe1-1/+14
2019-01-03rename functions and variables for room destructionChristian Schneppe1-1/+1
2018-11-30set access model to open when publishing avatarChristian Schneppe1-4/+4
2018-11-23added interface to edit nickChristian Schneppe1-2/+9
2018-08-26add id="current" on every published PEP itemChristian Schneppe1-0/+3
This makes sure even misconfigured PEP nodes still get only one item, as defined in XEP-0060 §12.20.
2018-08-26store bookmarks in pep if conversion xep is runningChristian Schneppe1-0/+7
2018-07-09store own affiliation and role to diskChristian Schneppe1-1/+1
2018-07-09standards. right?Christian Schneppe1-2/+3
2018-07-09support mam:1Christian Schneppe1-2/+2
2018-06-17use Tor on http upload is account uses onion domainChristian Schneppe1-3/+3
2018-05-26add support for S3 file transfersChristian Schneppe1-13/+29
2018-05-17changed command paramater for new push serverChristian Schneppe1-1/+1
2018-05-17changed jid of push serverChristian Schneppe1-1/+1
2018-05-17do not use end in catchup mam queriesChristian Schneppe1-3/+7
2018-05-05Support both new and old http upload namespacesChristian Schneppe1-5/+13
2018-04-12added prosodys enable archive to default room configChristian Schneppe1-0/+1
2018-04-12sync roster to disk after roster pushChristian Schneppe1-5/+3
2018-04-07return contact and account.getServer() as StringChristian Schneppe1-2/+2
2018-04-02migrate to xmpp-addrChristian Schneppe1-10/+10
2018-01-29support new http upload namespaceChristian Schneppe1-5/+3
2018-01-26add possibility to destroy group chatChristian Schneppe1-0/+11
2018-01-21disable offline messages. postpone prekey handling until after mam catchupChristian Schneppe1-2/+7
2017-12-01attempt to enable MAM(ejabberd) on muc configurationChristian Schneppe1-0/+1
2017-08-01use publish-options instead of always pushing node configurationChristian Schneppe1-5/+13
2017-06-24upgrade to signal-protocol-javaChristian Schneppe1-4/+4
2017-05-17use mam reference instead of timestampChristian Schneppe1-1/+3
2017-04-13include RSM max in mam query in case server doesn't specify own maxChristian Schneppe1-2/+4
2017-03-11fixed entity time for timezones with minutes !=0Christian Schneppe1-3/+11
2017-03-04rename the Xmlns class to NamespaceChristian Schneppe1-8/+8
2017-03-04make x509 verification node world readableChristian Schneppe1-0/+19
2017-02-22Fix a typo in legacyChristian Schneppe1-2/+2
2017-02-22bump mam namespaceChristian Schneppe1-2/+2
2017-02-10add no_padding, no_wrap to file upload slotsChristian Schneppe1-1/+1
2017-01-29use base64 encoding for file names uploaded with httpChristian Schneppe1-1/+20
2016-11-19reformat codeChristian Schneppe1-343/+344
2016-09-23add support for XEP-0377: Spam ReportingDaniel Gultsch1-2/+6
2016-08-26send register IQs without full fromDaniel Gultsch1-1/+1
2016-08-02set tablet, phone or pc identityDaniel Gultsch1-2/+2
2016-07-29changed package id inside manifest and projectChristian Schneppe1-15/+15
2016-07-27add OS to version responseDaniel Gultsch1-1/+5
2016-07-25feed version response from app name instead of static variableDaniel Gultsch1-1/+2
2016-07-13respond to XEP-0202: Entity TimeDaniel Gultsch1-0/+14
2016-05-26make newly created conferences private by defaultDaniel Gultsch1-0/+10
2016-05-05refactor captcha response handling to avoid network on main thread exceptionDaniel Gultsch1-2/+4
2016-03-23only add image files to media scannerDaniel Gultsch1-1/+0
2016-02-29refactored omemo to take multiple recipientsDaniel Gultsch1-0/+7
2016-02-15add missing type='submit' attribute to enable push formDaniel Gultsch1-0/+1