Commit graph

208 commits

Author SHA1 Message Date
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
Tulir Asokan
e124641107 Add option to set private chat portal rooms' name/avatar explicitly 2019-06-01 20:03:29 +03:00
Tulir Asokan
dce08b1422 Add user-portal mapping to database 2019-05-28 21:31:25 +03:00
Tulir Asokan
063ec7873d Don't allow unsupported database versions without flag 2019-05-28 21:29:43 +03:00
Tulir Asokan
2c9c473040 Add basic Matrix puppeting support
May contain bugs.
EDUs from /sync are not yet handled.
2019-05-24 02:33:30 +03:00
Tulir Asokan
95e62fae77 Upgrade message content in db to new protocol schema 2019-05-24 01:09:42 +03:00
Tulir Asokan
14f96bd96f Fix some bugs in missed message and initial history filling 2019-05-22 23:05:58 +03:00
Tulir Asokan
b363547bdf Possibly significantly improve how portals are created and synced 2019-05-22 16:46:18 +03:00
Tulir Asokan
6cda7ab549 Add ON DELETE CASCADE for future sqlite databases too 2019-05-17 13:10:46 +03:00
Tulir Asokan
b0d774a5a5 Add database migrations and handle leaving private chat portals. Fixes #7 2019-05-16 21:26:43 +03:00
Tulir Asokan
c1e1964fc5 Add WhatsApp<->Matrix redaction bridging 2019-05-16 02:25:13 +03:00
Nicolas Werner
9dde189438 Make message.CreateTable usable on postgres and sqlite 2019-03-06 23:03:19 +01:00
Nicolas Werner
d46578894e Rename user table back 2019-03-06 22:57:38 +01:00
Dominic Renner
2d3de9740c Update user.go 2019-03-06 22:26:55 +01:00
Dominic Renner
539699ba04 Update user.go 2019-03-06 22:23:15 +01:00
Dominic Renner
c1e20f96d0 Update puppet.go 2019-03-06 22:23:10 +01:00
Dominic Renner
d91bc8c346 Update portal.go 2019-03-06 22:23:05 +01:00
Dominic Renner
7c513c2f09 Update message.go 2019-03-06 22:22:54 +01:00
Dominic Renner
aaa57b353f Update database.go 2019-03-06 22:22:12 +01:00
Dominic Renner
96a509384d Update database.go 2019-03-06 18:29:15 +01:00
Dominic Renner
aeb692d616 Update database.go 2019-03-06 18:18:40 +01:00
Dominic Renner
daf0faab61 Fixed many database issues 2019-03-06 16:33:42 +01:00
Dominic Renner
6547a2ce1f changed sqlite to postgresql 2019-03-06 10:59:52 +01:00
Tulir Asokan
9e170f3d04 Add a bunch of new logging 2019-01-21 23:55:16 +02:00
Tulir Asokan
79bd35964f Update license year, Dockerfile, docker-run.sh and deps and add editorconfig 2019-01-12 15:54:04 +02:00
Tulir Asokan
1cccefd34c Switch to Go modules 2019-01-11 21:17:39 +02:00
Krombel
8427fedf98 parse management room from database as well 2018-10-16 21:58:12 +02:00
Tulir Asokan
a893377cc5 Fix Puppet.Scan() 2018-09-02 00:44:10 +03:00
Tulir Asokan
68c0190594 Rename binary content en/decode functions 2018-09-01 23:53:47 +03:00
Tulir Asokan
ed27fa775e Re-break everything and fix Matrix->WhatsApp replies 2018-09-01 23:38:03 +03:00
Tulir Asokan
22cdf519f2 Fix desegregation changes to make the bridge work again 2018-08-30 01:10:26 +03:00
Tulir Asokan
c7348f29b0 Initial desegregation of users and automatic config updating 2018-08-29 00:40:54 +03:00
Tulir Asokan
22e76b6a37 Format 2018-08-26 22:53:13 +03:00
Tulir Asokan
d3a178ecf3 Add handling for group metadata changes and refactor things
Group metadata temporarily broken until power level bridging is implemented
2018-08-26 01:56:22 +03:00
Tulir Asokan
1f87deb317 Add WhatsApp->Matrix read receipts and phone connection notifications 2018-08-24 20:02:18 +03:00
Tulir Asokan
329bc9d8ce Add avatars, room topics and message deduplication 2018-08-23 01:12:26 +03:00
Tulir Asokan
c1f8d264f4 Fix portal DB scanning and add initial message bridging 2018-08-19 18:21:38 +03:00
Tulir Asokan
a9124b89bd Fix and add things
* Fix user ID reservation in registration
* Fix some database things
* Add commands
* Add basic contact syncing and portal creation
* Add better error logging
2018-08-18 22:57:33 +03:00
Tulir Asokan
edd4f817e4 Use type aliases for different ID types and add puppet type 2018-08-17 00:11:28 +03:00
Tulir Asokan
141eba644b Fix data storage and other things 2018-08-16 19:20:07 +03:00
Tulir Asokan
9c48eeb534 Add puppet and portal stuff and fix config stuff 2018-08-16 15:59:18 +03:00
Tulir Asokan
fd3c1fb77c Add database models and improve config/main 2018-08-13 23:24:44 +03:00