aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/entities (follow)
Commit message (Collapse)AuthorAgeFilesLines
* LMC: find replacedMessages based on bare JIDChristian Schneppe2019-10-261-3/+6
|
* mark cancelled jingle ft as such on both sidesChristian Schneppe2019-10-261-1/+2
|
* migrate to AndroidXChristian Schneppe2019-09-206-9/+9
|
* parse LMC 1.1Christian Schneppe2019-09-132-2/+20
|
* keep track of previously edited idsChristian Schneppe2019-09-132-13/+103
|
* show language in message bubble if multiple language variants were receivedChristian Schneppe2019-09-122-6/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* introduce new file transfer statusChristian Schneppe2019-09-091-0/+1
|
* fix some crashesChristian Schneppe2019-09-032-4/+12
|
* do not put default nick into bookmark if none has been set beforeChristian Schneppe2019-08-311-6/+10
|
* create empty disco result on error to fire advance stream features eventChristian Schneppe2019-08-311-0/+12
|
* resetToWaiting should include http uploaded filesChristian Schneppe2019-08-311-1/+1
|
* handle blocking and unblocking of full jidsChristian Schneppe2019-07-171-0/+92
|
* migrate copy ond write list to synchronized hashset for pending mucsChristian Schneppe2019-07-011-2/+2
|
* rate limit muc pings / joins. never run two pings at same timeChristian Schneppe2019-07-011-0/+1
|
* implement FCM push for group chatsChristian Schneppe2019-07-011-0/+1
|
* code cleanup & small fixesChristian Schneppe2019-07-011-1/+1
|
* implement client support for muc pushChristian Schneppe2019-06-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* show own account in chatlist/contacts/conferences if you are in multi ↵Christian Schneppe2019-06-203-6/+13
| | | | account mode
* attempt to keep messages waiting until muc is connectedChristian Schneppe2019-06-201-0/+1
|
* synchronize around attributes in toContentValues()Christian Schneppe2019-06-081-1/+3
|
* performance improvementsChristian Schneppe2019-06-081-2/+1
|
* performance improvementsChristian Schneppe2019-05-182-6/+8
|
* go forward through cursor in message restoreChristian Schneppe2019-05-041-26/+13
| | | | | We have seen some weird CursorIndexNotFoundException that we were unable to reproduce. We assume that going forward (moveToNext()) through the cursor instead of (moveToPrevious() fixes that issue
* small message optimizationsChristian Schneppe2019-05-041-2/+2
|
* introduced type private_file_message to handle attachments in PMsChristian Schneppe2019-05-032-14/+46
|
* store correcting message in dbChristian Schneppe2019-05-031-5/+4
|
* put PM hint above edittextChristian Schneppe2019-05-031-0/+2
|
* show users nick in chat if it's setChristian Schneppe2019-04-121-1/+1
|
* fix url detection for webpreviewsChristian Schneppe2019-03-311-1/+2
|
* small fixes for web previewChristian Schneppe2019-02-091-2/+2
| | | | make links clickable and don't use transform links toLowerCase()
* show web link previews in chatChristian Schneppe2019-02-091-1/+15
| | | | fixes #113
* optimize importsChristian Schneppe2019-02-082-2/+0
|
* hide lock icon in channels; modify muc user contextChristian Schneppe2019-02-082-13/+15
|
* show different room settings for channels and groupsChristian Schneppe2019-02-071-4/+12
|
* rename some variablesChristian Schneppe2019-02-041-1/+1
|
* refactored group chat members into seperate screenChristian Schneppe2019-01-271-3/+28
|
* refactored avatar workers into single classChristian Schneppe2019-01-276-4/+40
|
* scan all files in case some files were previously marked as deleted by accidentChristian Schneppe2019-01-271-0/+20
|
* normalize nicks before getting them from bookmarks or pepChristian Schneppe2019-01-251-8/+21
|
* resend presence to muc avatar updateChristian Schneppe2019-01-251-1/+5
|
* 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
* check if encrypted pgp file get deletedChristian Schneppe2019-01-251-15/+5
|
* fix display of deleted filesChristian Schneppe2019-01-252-8/+8
|
* mark deleted files in database and not query them when querying for mediaChristian Schneppe2019-01-254-47/+33
|
* count muc participants correctlyChristian Schneppe2019-01-241-13/+0
|
* archive destoryed mucs when registering that bookmark has been removedChristian Schneppe2019-01-031-0/+12
|
* deduplicate disco responseChristian Schneppe2018-12-271-2/+2
| | | | fixes #283
* show warning snackbar before joining anon-non-private roomChristian Schneppe2018-12-141-1/+2
|
* implement self healing omemoChristian Schneppe2018-12-042-1/+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.
* some code reorder for actionbar titlesChristian Schneppe2018-12-042-17/+0
|