aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/xmpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* show language in message bubble if multiple language variants were receivedChristian Schneppe2019-09-122-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* do not include scope in ipv6 annoucmentChristian Schneppe2019-09-091-1/+12
|
* JET uses plain text file sizeChristian Schneppe2019-09-061-2/+9
|
* do not include link local in direct candidatesChristian Schneppe2019-09-063-16/+12
|
* make Tor connections work with direct TLSChristian Schneppe2019-09-061-60/+48
|
* implemented support for for jingle encrypted transports (XEP-0396)Christian Schneppe2019-09-062-10/+37
|
* deleted wrong to jidChristian Schneppe2019-09-061-1/+0
| | | | fixes #374
* fix some crashesChristian Schneppe2019-09-032-6/+22
|
* use higher priority for proxy on receiving endChristian Schneppe2019-09-032-5/+4
|
* send fallback to ibb after proxy activation failedChristian Schneppe2019-09-031-6/+17
|
* also reply with direct connections on responseChristian Schneppe2019-09-032-18/+34
|
* bare minimum direct connectionsChristian Schneppe2019-09-034-6/+153
|
* order canditates by priority before attempting to connectChristian Schneppe2019-09-032-25/+27
|
* more ibb fixes (include sid in transport-accept)Christian Schneppe2019-08-312-15/+25
|
* fixed unlikely race between enabling carbons and discovering last MAM idChristian Schneppe2019-08-311-3/+3
|
* fixed pgp decryption of automatically accepted jingle ftChristian Schneppe2019-08-311-10/+7
|
* increased reconnection interval after policy violationChristian Schneppe2019-08-311-1/+3
|
* refactored filename and extension parsingChristian Schneppe2019-08-311-32/+32
|
* create empty disco result on error to fire advance stream features eventChristian Schneppe2019-08-311-1/+14
|
* fix SOCKS5 to IBB fallbackChristian Schneppe2019-08-311-5/+4
|
* use helper method to close socketChristian Schneppe2019-07-171-10/+3
|
* code cleanup & small fixesChristian Schneppe2019-07-012-3/+3
|
* Revert "Networkstack - let OS decide IPv4 or IPv6 (#267)"Christian Schneppe2019-06-251-5/+26
| | | | | | This reverts commit e6a15597904019f68c02e6fd8f61fb6de0b13324. If there is IPv6 available but the server doesn't listen to it, the connection will not be established
* implement client support for muc pushChristian Schneppe2019-06-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* fix jingle file transferChristian Schneppe2019-06-253-4/+4
| | | | fixes #360
* performance improvement of message expiryChristian Schneppe2019-06-221-2/+2
|
* self ping (xep-0410) after receiving invite to mucChristian Schneppe2019-06-181-1/+1
|
* disallow subsequent session-acceptChristian Schneppe2019-06-171-13/+13
|
* use ibb if other party doesn’t annouce s5b featureChristian Schneppe2019-06-173-224/+203
|
* accept direct ibb jingle offersChristian Schneppe2019-06-172-15/+58
|
* Networkstack - let OS decide IPv4 or IPv6 (#267)genofire2019-06-081-26/+5
| | | | | | | | * Networkstack - let OS decide IPv4 or IPv6 * Drop own implementation of DNS-Server selection * remove dns resolver cache
* handle invalid canditates in jingleChristian Schneppe2019-06-081-0/+4
|
* jingle: send canditate error before fallbackChristian Schneppe2019-05-041-2/+3
|
* Make use of Namespace.REGISTER constantChristian Schneppe2019-05-041-4/+4
|
* remove logging from delete from serverChristian Schneppe2019-04-011-1/+0
|
* add ability to delete account also from serverChristian Schneppe2019-03-311-0/+16
| | | | fixes #315
* Deduplicate presencesChristian Schneppe2019-02-211-1/+2
| | | | possibly fixes #303
* print available stream features / mechanisms on incompat serverChristian Schneppe2019-02-091-0/+4
|
* reset inviteuri after successful generationChristian Schneppe2019-02-081-3/+2
|
* use ad-hoc commands for invite links if server supports thisChristian Schneppe2019-02-082-0/+77
|\
| * implement adhoc invite links if server supports thisChristian Schneppe2019-02-082-0/+81
| |
* | do not require starttls when connecting over to .onion domainChristian Schneppe2019-01-271-2/+2
| |
* | properly jump out of connection loop on state changing errorsChristian Schneppe2019-01-251-8/+7
| |
* | resend presence to muc avatar updateChristian Schneppe2019-01-251-0/+4
| |
* | explicitly set type=images for all media with an image mime type this is in ↵Christian Schneppe2019-01-251-1/+1
| | | | | | | | preperation to be able to query the database for all images
* | put images into MessageStyle notificationsChristian Schneppe2019-01-241-1/+3
|/
* log number of unhandled iq callbacks after resumeChristian Schneppe2018-12-271-3/+4
|
* log policy violation stream error message to logcatChristian Schneppe2018-12-271-0/+4
|
* check mam preference for mam:2 namespace and purge offline only if setChristian Schneppe2018-12-141-0/+17
|
* set access model to open when publishing avatarChristian Schneppe2018-11-301-0/+9
|