aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/parser (follow)
Commit message (Collapse)AuthorAgeFilesLines
* optionally search local muc rooms instead of jabber.networkChristian Schneppe2019-11-031-1/+56
|
* mark silent notifications as local onlyChristian Schneppe2019-11-031-0/+3
| | | | this will prevent silent notifications (for example those supressed by grace period) showing up on my smart watch
* trigger omemo self healing for live msgs on server w/o MAMChristian Schneppe2019-10-261-4/+3
|
* update ui after bookmark changeChristian Schneppe2019-10-261-0/+3
|
* bookmarks2. introduce #compat namespaceChristian Schneppe2019-10-261-3/+3
|
* leave/join on bookmark modifactionsChristian Schneppe2019-10-261-3/+2
|
* support for purge and deleteChristian Schneppe2019-10-261-4/+15
|
* Bookmarks2: support retractionChristian Schneppe2019-10-261-6/+22
|
* WIP Bookmarks 2 supportChristian Schneppe2019-10-261-1/+6
|
* fix crash OTR crashChristian Schneppe2019-09-241-1/+1
|
* do not parse invites from type=groupchatChristian Schneppe2019-09-232-26/+33
|
* improved logging for messages waiting for joinChristian Schneppe2019-09-201-2/+1
|
* migrate to AndroidXChristian Schneppe2019-09-201-1/+1
|
* do not finish or repair sessions for untrusted sendersChristian Schneppe2019-09-191-2/+7
| | | | | | | | | finishing (sending a key transport message in response to pre key message) as well as reparing sessions will leak resource and availability and might in certain situations in group chat leak the Jabber ID. Therefor we disable that. Leaking resource might not be considered harmful by a lot of people however we have always doing similar things with receipts.
* keep track of previously edited idsChristian Schneppe2019-09-131-1/+1
|
* when parsing omemo messages ensure we only find one elementChristian Schneppe2019-09-121-1/+1
|
* show language in message bubble if multiple language variants were receivedChristian Schneppe2019-09-121-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XML and by inheritence XMPP has the feature of transmitting multiple language variants for the same content. This can be really useful if, for example, you are talking to an automated system. A chat bot could greet you in your own language. On the wire this will usually look like this: ```xml <message to="you"> <body>Good morning</body> <body xml:lang="de">Guten Morgen</body> </message> ``` However receiving such a message in a group chat can be very confusing and potentially dangerous if the sender puts conflicting information in there and different people get shown different strings. Disabling support for localization entirely isn’t an ideal solution as on principle it is still a good feature; and other clients might still show a localization even if Conversations would always show the default language. So instead we now show the displayed language in a corner of the message bubble if more than one translation has been received. If multiple languages are received we will attempt to find one in the language the operating system is set to. If no such translation can be found it will attempt to display the English string. If English can not be found either (for example a message that only has ru and fr on a phone that is set to de) it will display what ever language came first. Furthermore we will discard (not show at all) messages with with multiple bodies of the same language. (This is considered an invalid message) The language tag will not be shown if we receive a single body in a language not understood by the user. (For example operating system set to 'de' and message received with one body in 'ru' will just display that body as usual.) As a guide line to the user: If you are reading a message where it is important that this message is not interpreted differently by different people (like a vote (+1 / -1) in a chat room) make sure it has *no* language tag.
* muc message corrections only compare bare jid true counterpartChristian Schneppe2019-07-171-1/+2
| | | | | during live messages we only store the bare real jid; on muc catch up we might get the full jid for that reason we only compare bare jids
* handle blocking and unblocking of full jidsChristian Schneppe2019-07-171-2/+3
|
* use helper method to close socketChristian Schneppe2019-07-171-1/+1
|
* include remote server errors in errors that should trigger a self pingChristian Schneppe2019-07-011-3/+3
|
* implement client support for muc pushChristian Schneppe2019-06-251-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* ping muc after receiving not-acceptable errorChristian Schneppe2019-06-201-0/+12
|
* self ping (xep-0410) after receiving invite to mucChristian Schneppe2019-06-181-2/+5
|
* performance improvementsChristian Schneppe2019-05-181-2/+4
|
* introduced type private_file_message to handle attachments in PMsChristian Schneppe2019-05-031-3/+3
|
* do sent/received correct based on true counterpart introduced in ↵Christian Schneppe2019-03-311-1/+1
| | | | | | fec6d7a90c443ef0ef86464bd2fb49cdc56d1587 only for type=groupchat
* double check that muc message is ours if true jid is knownChristian Schneppe2019-03-061-2/+7
|
* show file too large instead of generic delivery failedChristian Schneppe2019-02-211-5/+29
|
* show different room settings for channels and groupsChristian Schneppe2019-02-071-1/+1
|
* provide the same fab submenu for both tabs. rename tab to bookmarkChristian Schneppe2019-02-071-1/+1
|
* resend presence to muc avatar updateChristian Schneppe2019-01-251-0/+1
|
* synchronize around notification update from corrected messagesChristian Schneppe2019-01-251-1/+1
|
* deduplicate disco responseChristian Schneppe2018-12-271-2/+2
| | | | fixes #283
* synchronize join/leaves with bookmarksChristian Schneppe2018-12-151-1/+1
|
* bring back previews unread messages as read in groupsChristian Schneppe2018-12-141-0/+15
|
* do not process PEP bookmarks if conversion feature n/aChristian Schneppe2018-12-141-3/+5
| | | | | | | | If conversion feature is not available we will never write to PEP therefor it is not advisable to process PEP events; otherwise the changes we do might not land in PEP. simply ignoring PEP is probably better than dynamically removing + notify
* implement self healing omemoChristian Schneppe2018-12-041-4/+16
| | | | | | 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.
* transmit display name (nick) in subscription requestsChristian Schneppe2018-11-301-3/+3
|
* added interface to edit nickChristian Schneppe2018-11-231-22/+37
|
* show snackbar for remote server timeout in mucsChristian Schneppe2018-10-201-0/+2
|
* refresh ui after device list update only if list has changedChristian Schneppe2018-10-041-1/+0
|
* store avatars received over muc presence in contactChristian Schneppe2018-09-271-0/+8
|
* sync roster after setting pgp idChristian Schneppe2018-09-131-1/+3
|
* do not parse caps and pgp keys from muc presencesChristian Schneppe2018-09-131-1/+5
|
* special treatment for presence errors known to be mucsChristian Schneppe2018-08-301-0/+2
|
* store bookmarks in pep if conversion xep is runningChristian Schneppe2018-08-261-0/+7
|
* also mark previews unread messages as readChristian Schneppe2018-08-031-1/+11
|
* display propper toast after room has been destroyedChristian Schneppe2018-07-151-1/+27
|
* store own affiliation and role to diskChristian Schneppe2018-07-091-1/+4
|