aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/persistance/DatabaseBackend.java (follow)
Commit message (Collapse)AuthorAgeFilesLines
* WIP: happy eyeball with dns caching for 5min (#464)genofire2020-02-191-2/+50
| | | | | | * happy eyeball: fix dnssec for plain ip an srv-cname * reimplement dns resolver cache + add timeout for cache
* Networkstack: easy happy eyeball (#411)genofire2020-02-051-53/+2
| | | | | | | | * Networkstack: easy happy eyeball * Networkstack: drop own implementation of DNS-Server selection Co-authored-by: Christian Schneppe <kriztan@users.noreply.github.com>
* don’t use secure delete when migrating edit columnChristian Schneppe2019-12-121-4/+9
|
* properly restore LMC edits. switch to LMC v1.1Christian Schneppe2019-12-091-1/+5
|
* increase cursor window size on Android P when restoring messagesChristian Schneppe2019-12-081-4/+3
|
* keep track of previously edited idsChristian Schneppe2019-09-131-3/+0
|
* show language in message bubble if multiple language variants were receivedChristian Schneppe2019-09-121-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.
* fix some crashesChristian Schneppe2019-09-031-5/+7
|
* code cleanup & small fixesChristian Schneppe2019-07-011-4/+4
|
* Revert "Networkstack - let OS decide IPv4 or IPv6 (#267)"Christian Schneppe2019-06-251-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
* performance improvement of message expiryChristian Schneppe2019-06-221-3/+45
|
* Networkstack - let OS decide IPv4 or IPv6 (#267)genofire2019-06-081-45/+1
| | | | | | | | * Networkstack - let OS decide IPv4 or IPv6 * Drop own implementation of DNS-Server selection * remove dns resolver cache
* performance improvementsChristian Schneppe2019-05-181-1/+3
|
* go forward through cursor in message restoreChristian Schneppe2019-05-041-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
* introduced type private_file_message to handle attachments in PMsChristian Schneppe2019-05-031-5/+5
|
* fix backup creation for older installationsChristian Schneppe2019-03-141-3/+2
| | | | If you had problems importing the backup you need to create a new backup after this patch
* scan all files in case some files were previously marked as deleted by accidentChristian Schneppe2019-01-271-4/+32
|
* fix compatibility issue on startupChristian Schneppe2019-01-261-1/+17
|
* make new backup and restore possible with old databasesChristian Schneppe2019-01-261-1/+6
|
* rework backup & restoreChristian Schneppe2019-01-261-2/+2
| | | | use the implementation from Conversations
* null checks when deleting old filesChristian Schneppe2019-01-251-2/+2
|
* check if encrypted pgp file get deletedChristian Schneppe2019-01-251-10/+19
|
* mark deleted files in database and not query them when querying for mediaChristian Schneppe2019-01-251-2/+69
|
* postpone prekey removal and republish to after mamChristian Schneppe2018-12-141-2/+2
|
* implement self healing omemoChristian Schneppe2018-12-041-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.
* catch cursor window allocation exceptionChristian Schneppe2018-11-231-4/+10
|
* refresh synced contacts even if offlineChristian Schneppe2018-11-231-1/+1
|
* also respect deleted messages in readable logsChristian Schneppe2018-11-111-2/+2
|
* implement message deletionChristian Schneppe2018-11-111-15/+17
| | | | fixed #208
* Do not attempt to draw overlay on null bitmapChristian Schneppe2018-10-201-1/+1
|
* store avatars received over muc presence in contactChristian Schneppe2018-09-271-1/+1
|
* introduce media browser activityChristian Schneppe2018-09-261-2/+2
|
* show conversation media in contact/conference detailsChristian Schneppe2018-09-261-0/+24
|
* integrated locally message deletion from #208Christian Schneppe2018-07-091-0/+11
| | | | thanks @acw81
* persist muc avatar and show in bookmarksChristian Schneppe2018-07-091-1/+1
|
* set pragme secure delete properlyChristian Schneppe2018-05-211-1/+1
|
* explicitly set secure_delete pragma for SQLite databaseChristian Schneppe2018-05-211-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.
* move enabling of foreign key support to onConfigureChristian Schneppe2018-05-211-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*."
* do not use trigger but delete message index entries manuallyChristian Schneppe2018-05-171-83/+90
|
* add primary key to fts tableChristian Schneppe2018-05-171-2/+3
|
* do not include body in simple status updates to not trigger fts updateChristian Schneppe2018-05-171-1/+6
|
* do not load conversations with null jidChristian Schneppe2018-05-161-2/+10
|
* only search text messagesChristian Schneppe2018-05-021-1/+1
|
* search term parsing + highlightingChristian Schneppe2018-05-021-2/+8
|
* create fts tableChristian Schneppe2018-05-021-2/+16
|
* properly cancel pending searchs and scroll to bottom after refreshChristian Schneppe2018-04-301-1/+1
|
* very much unoptimized search functionalityChristian Schneppe2018-04-301-31/+34
|
* add debug output to how many messages were deletedChristian Schneppe2018-04-291-2/+3
|
* fixed updating of server message id after dedupChristian Schneppe2018-04-291-3/+2
|
* search for muc pms when fetching last mam referenceChristian Schneppe2018-04-291-1/+1
|