aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/persistance/DatabaseBackend.java (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-09-13keep track of previously edited idsChristian Schneppe1-3/+0
2019-09-12show language in message bubble if multiple language variants were receivedChristian Schneppe1-1/+6
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.
2019-09-03fix some crashesChristian Schneppe1-5/+7
2019-07-01code cleanup & small fixesChristian Schneppe1-4/+4
2019-06-25Revert "Networkstack - let OS decide IPv4 or IPv6 (#267)"Christian Schneppe1-2/+54
This reverts commit e6a15597904019f68c02e6fd8f61fb6de0b13324. If there is IPv6 available but the server doesn't listen to it, the connection will not be established
2019-06-22performance improvement of message expiryChristian Schneppe1-3/+45
2019-06-08Networkstack - let OS decide IPv4 or IPv6 (#267)genofire1-45/+1
* Networkstack - let OS decide IPv4 or IPv6 * Drop own implementation of DNS-Server selection * remove dns resolver cache
2019-05-18performance improvementsChristian Schneppe1-1/+3
2019-05-04go forward through cursor in message restoreChristian Schneppe1-7/+8
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
2019-05-03introduced type private_file_message to handle attachments in PMsChristian Schneppe1-5/+5
2019-03-14fix backup creation for older installationsChristian Schneppe1-3/+2
If you had problems importing the backup you need to create a new backup after this patch
2019-01-27scan all files in case some files were previously marked as deleted by accidentChristian Schneppe1-4/+32
2019-01-26fix compatibility issue on startupChristian Schneppe1-1/+17
2019-01-26make new backup and restore possible with old databasesChristian Schneppe1-1/+6
2019-01-26rework backup & restoreChristian Schneppe1-2/+2
use the implementation from Conversations
2019-01-25null checks when deleting old filesChristian Schneppe1-2/+2
2019-01-25check if encrypted pgp file get deletedChristian Schneppe1-10/+19
2019-01-25mark deleted files in database and not query them when querying for mediaChristian Schneppe1-2/+69
2018-12-14postpone prekey removal and republish to after mamChristian Schneppe1-2/+2
2018-12-04implement self healing omemoChristian Schneppe1-1/+1
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.
2018-11-23catch cursor window allocation exceptionChristian Schneppe1-4/+10
2018-11-23refresh synced contacts even if offlineChristian Schneppe1-1/+1
2018-11-11also respect deleted messages in readable logsChristian Schneppe1-2/+2
2018-11-11implement message deletionChristian Schneppe1-15/+17
fixed #208
2018-10-20Do not attempt to draw overlay on null bitmapChristian Schneppe1-1/+1
2018-09-27store avatars received over muc presence in contactChristian Schneppe1-1/+1
2018-09-26introduce media browser activityChristian Schneppe1-2/+2
2018-09-26show conversation media in contact/conference detailsChristian Schneppe1-0/+24
2018-07-09integrated locally message deletion from #208Christian Schneppe1-0/+11
thanks @acw81
2018-07-09persist muc avatar and show in bookmarksChristian Schneppe1-1/+1
2018-05-21set pragme secure delete properlyChristian Schneppe1-1/+1
2018-05-21explicitly set secure_delete pragma for SQLite databaseChristian Schneppe1-0/+1
Conversations stores sensitive data, such as SQLiteAxolotlStore tables, in its database. secure_delete=ON is the default for newer Android devices: https://android-review.googlesource.com/c/platform/external/sqlite/+/209123 However, older devices had it disabled by default, so any database created than has this setting disabled and it will not be updated automatically. Also, the default might be changed in the future (for example, to "FAST", added in 2017), so it is safer to set it explicitly.
2018-05-21move enabling of foreign key support to onConfigureChristian Schneppe1-8/+5
This way we avoid repeating the code. Unlike getWritableDatabase, onConfigure is intended to be overridden. In fact, onConfigure documentation specifically says: "Called when the database connection is being configured, to enable features such as write-ahead logging or *foreign key support*."
2018-05-17do not use trigger but delete message index entries manuallyChristian Schneppe1-83/+90
2018-05-17add primary key to fts tableChristian Schneppe1-2/+3
2018-05-17do not include body in simple status updates to not trigger fts updateChristian Schneppe1-1/+6
2018-05-16do not load conversations with null jidChristian Schneppe1-2/+10
2018-05-02only search text messagesChristian Schneppe1-1/+1
2018-05-02search term parsing + highlightingChristian Schneppe1-2/+8
2018-05-02create fts tableChristian Schneppe1-2/+16
2018-04-30properly cancel pending searchs and scroll to bottom after refreshChristian Schneppe1-1/+1
2018-04-30very much unoptimized search functionalityChristian Schneppe1-31/+34
2018-04-29add debug output to how many messages were deletedChristian Schneppe1-2/+3
2018-04-29fixed updating of server message id after dedupChristian Schneppe1-3/+2
2018-04-29search for muc pms when fetching last mam referenceChristian Schneppe1-1/+1
2018-04-12sync roster to disk after roster pushChristian Schneppe1-0/+4
2018-04-07fix register account checkbox glitchChristian Schneppe1-1/+2
2018-04-02migrate to xmpp-addrChristian Schneppe1-26/+21
2018-04-01finished 'Set Status Message' dialogChristian Schneppe1-8/+4
2018-04-01get rid of customizable resourcesChristian Schneppe1-1/+5