Commit graph

191 commits

Author SHA1 Message Date
Sumner Evans
830c294b91
historysync: delete history sync messages once backfilled 2022-03-30 17:40:23 -06:00
Sumner Evans
12a23e2ca5
historysync: refactor to utilize backfill queue
Also sends the `m.room.marker` event when a backfill stage is complete.
2022-03-29 19:26:11 -06:00
Sumner Evans
1ecdb71ac3
database: add backfill queue and history sync tables 2022-03-29 12:16:30 -06:00
Tulir Asokan
caacac15c7 Check database owner and foreign tables before starting 2022-03-16 01:15:13 +02:00
Tulir Asokan
c82a96dccc Handle incoming reaction removals 2022-03-12 19:47:47 +02:00
Tulir Asokan
1eb210c249 Add support for bridging reactions 2022-03-05 21:22:31 +02:00
Tulir Asokan
dbe25bbce6 Expose db connection max lifetime and idle time settings 2022-02-23 14:30:21 +02:00
Tulir Asokan
b389354bcc Send blank protocol message if phone is offline for too long 2022-02-18 12:12:15 +02:00
Tulir Asokan
cf1ae3b102 Fix check 2022-02-16 00:11:38 +02:00
Tulir Asokan
a40d143cef Update IsFakeJID check to handle backfill end markers 2022-02-16 00:05:23 +02:00
Tulir Asokan
528fbda53f Add initial support for requesting media retries from phone 2022-02-10 19:18:49 +02:00
Tulir Asokan
c3a9f75ffd Add word to unsupported database error message 2022-02-06 21:03:04 +02:00
Tulir Asokan
41272e9dff Include current and latest known versions in unsupported db error 2022-02-06 20:43:36 +02:00
Tulir Asokan
e8c77c7ec6 Try to track when the phone is online and warn user if it's offline for too long 2022-01-25 14:26:24 +02:00
Tulir Asokan
3dd30280a1 Fix state store logging errors when power levels aren't cached 2022-01-17 10:45:36 +02:00
Tulir Asokan
c4a7943775 Add logs to debug read receipts 2022-01-17 10:38:44 +02:00
Tulir Asokan
ccfd7819c3 Don't ignore errors when getting DB schema version
It probably never errors because connection errors would break the
create table call, but this way is safer.
2022-01-07 16:45:20 +02:00
Tulir Asokan
a61a3f5cf9 Only create goroutines for next hour of disappearing messages 2022-01-07 14:46:53 +02:00
Tulir Asokan
18ea5af45e Add support for disappearing messages 2022-01-07 14:32:00 +02:00
Tulir Asokan
658b37f81f Use upserts on SQLite too 2021-12-30 12:30:29 +02:00
Tulir Asokan
ba536f17e7 Add command to sync DM rooms into space 2021-12-29 21:40:58 +02:00
Tulir Asokan
7e5c2769c6 Clean up personal filtering space support 2021-12-29 21:40:08 +02:00
Helder Ferreira
0a8bd7794b
Add persistence
Co-authored-by: clmnin <clament.john.k@gmail.com>
2021-12-29 08:37:57 +00:00
Helder Ferreira
863c375be0
Init space creation
Co-authored-by: clmnin <clament.john.k@gmail.com>
2021-12-29 08:37:24 +00:00
Tulir Asokan
ca5fcc42ba Reroute broadcast list messages to correct DM portal. Fixes #411 2021-12-25 20:50:36 +02:00
Tulir Asokan
5e04577081 Update mautrix-go to fix olm session ordering 2021-12-22 23:04:41 +02:00
Tulir Asokan
6aa704dc56 Fix name of trace levels 2021-12-06 14:13:18 +02:00
Tulir Asokan
4bdb130d13 Prevent setting last_read_ts to lower value 2021-12-01 14:49:38 +02:00
Tulir Asokan
a909750dcc Mark all messages as read instead of only last one 2021-11-30 16:38:37 +02:00
Benjamin Bouvier
83c2e1d698
Update table/column names in DBMS migration (#391) 2021-11-12 17:34:25 +02:00
Tulir Asokan
b489d407c9 Remove old db migration that was merged into initial schema 2021-11-07 23:51:34 +02:00
Tulir Asokan
7c7ac37ba7 Fix updating rows on SQLite. Fixes #380 2021-11-07 23:42:23 +02:00
Tulir Asokan
911fdd37f0 Fix bug in SQLStateStore.SetMember(). Closes #378 2021-11-05 20:04:27 +02:00
Tulir Asokan
433aaf3829 Reimplement more things 2021-11-05 12:17:56 +02:00
Tulir Asokan
752aff48f1 Prioritize backfilling recent messages and fix some bugs 2021-11-03 21:34:06 +02:00
Tulir Asokan
e0d79f2de1 Re-add call start notices 2021-11-02 15:46:31 +02:00
Tulir Asokan
db44ef2b36 Disable SQLite foreign keys. Fixes #360 2021-11-02 12:57:05 +02:00
Tulir Asokan
baf2482c3a Store server timestamp of outgoing messages in db 2021-11-01 11:21:38 +02:00
Tulir Asokan
47105b411f Remove legacy build tags 2021-10-31 13:04:56 +02:00
Tulir Asokan
682c5bff38 Remove/fix some db upgrades 2021-10-30 23:40:38 +03:00
Tulir Asokan
f3d6bbbc4a Replace VARCHAR(255) with TEXT in Matrix state store 2021-10-30 23:31:49 +03:00
Tulir Asokan
5b5cbc2efa Remove legacy state store migration 2021-10-30 23:31:39 +03:00
Tulir Asokan
a829a887f0 Clear stored usernames from postgres in multidevice upgrade 2021-10-30 14:22:58 +03:00
Tulir Asokan
b2e6a614b9 Update delete-all-portals and remove commented code 2021-10-28 14:27:59 +03:00
Tulir Asokan
1f6d316ff3 Update build tags 2021-10-28 14:04:12 +03:00
Tulir Asokan
bb9a0f6528 Make relay mode more like the Signal bridge 2021-10-28 13:57:15 +03:00
Tulir Asokan
b918b4f261 Handle decryption errors from WhatsApp properly 2021-10-27 18:31:33 +03:00
Tulir Asokan
b874d324eb Send dummy event after backfill
This is necessary in case there aren't any real messages before the next
backfill. Otherwise the next backfill would go before the old backfill
(at the top of the room) rather than at the bottom of the room.
2021-10-26 21:30:44 +03:00
Tulir Asokan
0b4d0bbbe1 Handle history sync payloads with MSC2716 batch sending 2021-10-26 17:01:10 +03:00
Tulir Asokan
56850bb698 Initial switch to go.mau.fi/whatsmeow 2021-10-22 20:14:34 +03:00
Tulir Asokan
d52b012b37 Maybe fix database migration
Fixes #335
Fixes #304
2021-08-19 19:32:17 +03:00
Tulir Asokan
4fe179d0d7 Remove content from message table. Fixes #320 2021-08-19 19:17:19 +03:00
Tulir Asokan
b07412b421 Don't mark messages older than chat info receive date as read after backfill 2021-05-18 20:09:12 +03:00
Tulir Asokan
badea9c547 Add option to bridge archive and mute status from WhatsApp 2021-04-19 22:14:32 +03:00
Tulir Asokan
3d778a5a44 Create user_portal row when creating portal for new chat
Closes #273

Co-authored-by: dbedoya <dbedoya@ikono.com.co>
2021-02-26 16:09:24 +02:00
Tulir Asokan
a911a0c1a9 Add better support for broadcast lists 2021-02-21 14:18:15 +02:00
Tulir Asokan
7bd47fabb2 Update go-whatsapp to break everything and maybe improve things 2021-02-18 23:36:14 +02:00
Tulir Asokan
ca118e8678 Handle 404 errors when backfilling messages 2021-02-17 01:22:06 +02:00
Tulir Asokan
69dd7f803a Move whatsapp-ext to go-whatsapp 2021-02-17 01:21:30 +02:00
Tulir Asokan
2188dc7701 Add option to not re-sync chat info and user avatars to avoid rate limits 2021-02-09 23:41:13 +02:00
Alexandre Macabies
95f6487912
Make database log a sublogger of Bridge, like all other modules. (#260) 2021-01-25 21:01:54 +02:00
Tulir Asokan
56e4a67f42 Update mautrix-go 2020-11-10 12:37:33 +02:00
Tulir Asokan
2638204eaa Add option to update m.direct with double puppeting 2020-08-22 13:07:55 +03:00
Tulir Asokan
aefe63cba5 Add support for automatic key sharing 2020-08-05 14:58:46 +03:00
Tulir Asokan
05da509c7c Add build tags for disabling crypto independently of cgo 2020-08-02 13:55:02 +03:00
Tulir Asokan
6cb55f3969 Fix bugs in db migration. Fixes #211 2020-07-30 21:41:04 +03:00
Tulir Asokan
b1fd0be345 Update mautrix-go to fix static build 2020-07-10 16:35:38 +03:00
Tulir Asokan
b7275a763a Make bridging receipts togglable separately from presence 2020-07-10 16:26:55 +03:00
Tulir Asokan
f40a91594d Update mautrix-go 2020-07-10 15:56:45 +03:00
Tulir Asokan
7eb4cfb946 Add command to disable bridging presence and read receipts 2020-07-10 14:53:18 +03:00
Tulir Asokan
542d30ead7 Use SQLCryptoStore from mautrix-go and update deps 2020-06-23 23:22:44 +03:00
Tulir Asokan
91db286208 Update mautrix-go 2020-05-26 17:51:20 +03:00
Tulir Asokan
ed978bcb9c Don't use different types for SQLite in DB schema 2020-05-21 20:56:41 +03:00
Tulir Asokan
fc6f8df4d3 Fix replacing outbound group session in db 2020-05-12 23:33:59 +03:00
Tulir Asokan
c9adb3aba3 Store outbound group sessions in database 2020-05-12 23:16:33 +03:00
Tulir Asokan
1c3de877db Maybe support e2be by default and fix some bugs 2020-05-12 22:25:55 +03:00
Tulir Asokan
168a6ff93f Fix static build 2020-05-09 20:25:48 +03:00
Tulir Asokan
ea23907492 Fix some bugs with db crypto store 2020-05-09 20:23:30 +03:00
Tulir Asokan
dfc5722a80 Move crypto store to main database 2020-05-09 20:08:05 +03:00
Tulir Asokan
6e50a7c380 Switch appservice module location 2020-05-09 20:08:05 +03:00
Tulir Asokan
baae66ed04 Add basic end-to-bridge encryption support
Still missing persisting sync tokens and crypto state in DB
2020-05-09 02:04:01 +03:00
Tulir Asokan
acc25a02e4 Update mautrix-go 2020-05-08 22:32:22 +03:00
Tulir Asokan
064b5b8fed Don't use transaction for querying values 2020-04-02 21:53:45 +03:00
Tulir Asokan
6a42de73d1 Check if constraint exists before trying to delete 2020-04-02 21:37:51 +03:00
Tulir Asokan
9b01166f0c Ignore error in upgrade to allow Postgres 12 to work. Fixes #133 2020-04-02 21:11:38 +03:00
Tulir Asokan
3a9642386c Fix state store migration 2020-03-26 23:36:47 +02:00
IndeedNotJames
0fba1db6aa Fix room topic length (#108) 2019-11-17 21:10:02 +02:00
Tulir Asokan
3caca1b9a0 Fix NeedsRelaybot check for groups too 2019-11-11 22:41:58 +02:00
Tulir Asokan
03d42640fe Add basic relaybot support. Fixes #20 2019-11-10 21:22:11 +02:00
mawalu
aa78c8c21b
Migrate registrations in batches 2019-10-01 21:14:23 +02:00
Tulir Asokan
0d4453d2e8 Skip state store migrations if state store is empty 2019-08-30 21:08:32 +03:00
Tulir Asokan
2313321d01 Improve startup sync timeout handling 2019-08-30 20:57:08 +03:00
Tulir Asokan
7413163df2 Migrate room user profiles from mx-state.json in batches. Fixes #93 2019-08-27 15:30:22 +03:00
Tulir Asokan
f91812f3e9 Fix membership db scan error message 2019-08-25 21:54:11 +03:00
Tulir Asokan
0f36ee0168 Add way to migrate database 2019-08-25 19:26:04 +03:00
Tulir Asokan
3be9aa2319 Improve errors in state store migration edge cases 2019-08-25 17:25:19 +03:00
Tulir Asokan
ab91d326fd Move Matrix state store to main database. Fixes #64 2019-08-25 16:29:35 +03:00
Tulir Asokan
7bf470d69e Add portal rooms to user-specific community for filtering 2019-08-10 15:28:12 +03:00
Tulir Asokan
921c1209ea Enable foreign keys in SQLite 2019-07-18 00:17:25 +03:00
Tulir Asokan
2bc0e52250 Fix puppet db inserts. Fixes #69 2019-06-13 21:28:14 +03:00