Commit graph

67 commits

Author SHA1 Message Date
Marvin W 4e1311dfa9
Improve database performance while reconnecting and syncing
Also move some tasks to low priority idle queue so they won't block UI updates
2023-03-21 17:35:58 -06:00
fiaxh 75500dc767 Support pinning of conversations (locally)
fixes #290
fixes #1330
2023-01-11 19:54:02 +01:00
fiaxh dc52e7595c Add support for XEP-0461 replies (with fallback) 2023-01-06 14:03:54 +01:00
fiaxh 80258a874d Add support for reactions 2022-10-11 13:37:48 +02:00
fiaxh 6c6e7e3aa7 Rewrite MAM logic and add MUC MAM 2022-10-10 21:55:15 +02:00
fiaxh 26d10d1dcb Add multiparty call support to libdino and xmpp-vala 2021-11-10 11:05:34 +01:00
fiaxh d71604913d Merge remote-tracking branch 'origin/feature/calls' 2021-05-11 12:57:02 +02:00
fiaxh e92ed27317 Use drop index if exists to help database up-down-grading 2021-05-01 00:49:38 +02:00
fiaxh 8d1c6c29be Display+store call encryption info 2021-04-09 22:23:13 +02:00
fiaxh cdb4d77259 Add support for unencrypted RTP calls to libdino
Co-authored-by: Marvin W <git@larma.de>
2021-03-21 12:41:39 +01:00
fiaxh f12fc371a3 Make spell checking a setting, store language per conversation 2021-01-21 15:51:41 +01:00
fiaxh c454bd904d Make db version 18 downgradable
fixes #970
2020-12-27 17:25:53 +01:00
fiaxh cc01374d3c Use advertized/server/live time for sorting instead of arrival time
fixes #310
2020-12-04 19:11:27 +01:00
fiaxh 1999c97bb9 Improve content_item db table index
fixes #923

Co-authored-by: eta <eta@theta.eu.org>
2020-11-05 17:11:46 +01:00
fiaxh 2e0357877c Fix some compiler warnings 2020-10-27 16:05:30 +01:00
eta 9cc3382abe service/database: use WAL mode + safe PRAGMA synchronous setting
Setting PRAGMA synchronous = 0 is really unsafe, and leads to database
corruption (which I've personally experienced). This commit uses
SQLite's Write-Ahead Log (WAL) [1] instead, together with synchronous =
NORMAL. According to [1], this trades off performance for durability
(i.e. it's possible that some transactions may not have committed if the
power gets lost), but still guarantees that the database won't corrupt
itself.

Together, these changes should improve reliability whilst either
improving or having no effect on performance.

[1]: https://www.sqlite.org/wal.html
2020-10-06 18:05:25 +02:00
fiaxh 6d41071da1 Recreate avatar database table, fixes unique constraint 2020-06-11 00:03:30 +02:00
fiaxh d01af5b520 Fix compiler warnings 2020-06-03 21:50:40 +02:00
fiaxh 71be2abb6a Store last read content item for conversations
fixes #495
2020-06-03 21:50:40 +02:00
fiaxh 871ff33ac7 Add support for last message correction 2020-04-03 22:49:59 +02:00
fiaxh 12cd56612d Store entity identity info, use it in conversation list tooltips 2020-03-29 20:24:39 +02:00
fiaxh 2eb72d5dad Fix+optimize contact-to-avatar storage and loading 2020-03-10 23:53:11 +01:00
fiaxh b8b3e1c6f5 Improve MUC message resending 2020-03-03 15:14:31 +01:00
Alexander Krotov b9125b7e3e Enable secure_delete PRAGMA on SQLite databases (#370)
It is especially important for OMEMO database, as it stores *ephemeral* keys
2020-02-21 20:49:36 +01:00
fiaxh 33499d076d Only cache fully normalized Jids for reverse lookup 2019-12-24 03:14:11 +01:00
Marvin W a0a956ee08
Properly check Jids everywhere 2019-12-23 16:58:53 +01:00
fiaxh c3532bdf31 Refactor MAM catchup. Fetch from latest to earliest message. 2019-12-18 20:35:04 +01:00
fiaxh 321c3529f3 Add (partial) support for unique stanza ids (XEP-0359) 2019-12-18 20:35:04 +01:00
fiaxh bd7fde99af fixup Fix some warnings 2019-09-10 19:36:11 +02:00
hrxi d5d305193c Fix some warnings
Instances of `RegexError` are just asserted as `assert_not_reached` as
they cannot really fail except for allocation failure if the given regex
is valid.
2019-09-10 19:36:11 +02:00
fiaxh 9ee9661bf3 Optimizations: Database indices, cache id-Jid instead of id-jid_string, join real_jid on get messages 2019-08-02 18:00:26 +02:00
fiaxh 22340cb88e Always use Account.hash(equals)_func for HashMap+ArrayList 2018-11-24 14:05:03 -06:00
fiaxh 0e41fb3294 Add hidden column to content_item table 2018-08-31 16:26:23 +02:00
bobufa f5547076d2 rename content db table -> content_item 2018-08-13 23:48:15 +02:00
bobufa 1d9ce7f471 sort file transfers into correct conversation 2018-08-13 22:39:18 +02:00
bobufa 2992a12f9f fix non-adjacent messages being shown before/after hit 2018-08-13 22:39:18 +02:00
bobufa e376a577b6 improve sidebar UI
- only display messages that are content items
- only display messages for active accounts
- "fix" textview issue
- add empty states (no search, no results)
2018-08-13 22:39:18 +02:00
bobufa 2e2a9a2390 accumulate conversation content in meta db table 2018-08-13 22:39:07 +02:00
bobufa 760fd4cb26 load+display later messages when scrolling down 2018-08-13 22:05:04 +02:00
bobufa ab0bc7f04d enable fts for the body of messages 2018-08-13 21:55:48 +02:00
fiaxh c6ff25cc7a Only assume UUID to be unique for one counterpart+account when deduplicating 2018-03-10 20:01:22 +01:00
Marvin W 782ae4c049 Move Jid class to xmpp-vala, partially refactor namespace 2018-01-28 00:38:47 +01:00
fiaxh 0102abeec1 Fix warnings 2017-10-31 15:41:45 +01:00
fiaxh b9df78e449 Move DatabaseError handling into Qlite 2017-10-31 15:41:45 +01:00
fiaxh 555187deb9 Offline messages for MUCs
fixes #187
2017-10-22 18:26:31 +02:00
fiaxh a257b16337 Download & inline display images 2017-08-31 18:54:38 +02:00
fiaxh 8bc0d107e7 Plugins providing conversation items for ConversationView 2017-08-28 00:02:59 +02:00
fiaxh 4a4b5956c9 Move settings from GSettings to own db 2017-08-22 16:22:56 +02:00
fiaxh fb36ea0553 Message Archive Management 2017-08-17 01:26:03 +02:00
fiaxh ea174ab632 Http file upload 2017-08-03 15:59:04 +02:00