Commit graph

1113 commits

Author SHA1 Message Date
Sumner Evans
a8be4b11a8
historysync: start deferred backfill on non-full syncs
Co-authored-by: Tulir Asokan <tulir@maunium.net>
2022-04-05 13:16:01 -06:00
Sumner Evans
748c9509a1
historysync: lock earlier to prevent races and duplicate messages
Closes BRI-2709
2022-04-04 16:07:25 -06:00
Sumner Evans
54534f6b42
historysync: enqueue immediate backfill on INITIAL_BOOTSTRAP 2022-03-30 17:59:55 -06:00
Sumner Evans
830c294b91
historysync: delete history sync messages once backfilled 2022-03-30 17:40:23 -06:00
Sumner Evans
8a49fea812
backfill: backfill conversation when started
This applies to when the conversation is started via the provisioning
API (start new chat) or when a new message comes in to that portal.
2022-03-29 23:40:22 -06:00
Sumner Evans
e702bf39d2
commands/backfill: add command to manually backfill a portal 2022-03-29 23:40:22 -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
536d340f20
config: add settings for prioritized backfill
bridge.history_sync.max_initial_conversations:

  This setting determines the maximum number of initial conversations
  that should be backfilled. The data for all the other conversations
  will be stored in the database for backfill at a later time.

bridge.history_sync.immediate:

  These settings are for the initial backfill that should be performed
  to populate each of the initial chats with a few messages so that
  users can continue their conversations without loosing context.

bridge.history_sync.deferred:

  These settings are for backfilling the rest of the chat history that
  was not covered by the immediate backfills. These should generally be
  done at a slower pace to avoid overloading the homeserver.
2022-03-29 12:16:31 -06:00
Sumner Evans
1ecdb71ac3
database: add backfill queue and history sync tables 2022-03-29 12:16:30 -06:00
Tulir Asokan
25c77b0fb5 Update mautrix-go and whatsmeow 2022-03-29 21:14:16 +03:00
Tulir Asokan
0a61d21373 Update whatsmeow 2022-03-29 16:10:28 +03:00
Tulir Asokan
5ef66496d6 Acquire roomCreateLock when updating puppet info to prevent race conditions 2022-03-25 00:02:38 +02:00
Tulir Asokan
44eaf285e6 Adjust outdated version logs 2022-03-23 14:46:30 +02:00
Tulir Asokan
f88abb99a8 Use Go 1.18 for lint 2022-03-23 13:14:36 +02:00
Tulir Asokan
d1c70fbda1 Update changelog 2022-03-22 13:49:28 +02:00
Tulir Asokan
f79ca422e8 Add option to use async media uploads
https://github.com/matrix-org/matrix-spec-proposals/pull/2246
2022-03-21 21:08:48 +02:00
Tulir Asokan
34954fc9f6 Update whatsmeow 2022-03-20 02:00:24 +02:00
Tulir Asokan
807c59fe21 Update actions to checkout@v3 and setup-go@v3 2022-03-18 01:18:30 +02:00
Tulir Asokan
3a6c314878 Normalize variation selectors in emojis in both directions
Remove for WhatsApp, add for Matrix
2022-03-18 01:12:25 +02:00
Sumner Evans
61409ce2bc
Merge pull request #432 from mautrix/pre-commit-config
pre-commit: add config and add lint job to CI
2022-03-16 08:41:47 -06:00
Tulir Asokan
756040c6a9 Bump version to v0.3.0 2022-03-16 01:32:15 +02:00
Tulir Asokan
caacac15c7 Check database owner and foreign tables before starting 2022-03-16 01:15:13 +02:00
Tulir Asokan
73241b6f21 Add proper bridge state errors for different logout types 2022-03-15 16:04:10 +02:00
Tulir Asokan
44f232f37b Remove special-cased fast backfill
It's not particularly useful and causes the portals to jump around more
2022-03-15 00:04:40 +02:00
Tulir Asokan
df64bb0e10 Handle disappearing messages in history sync properly 2022-03-15 00:03:37 +02:00
Tulir Asokan
973f80d7a7 Fix accepting group invites in encrypted rooms 2022-03-14 13:15:52 +02:00
Tulir Asokan
e31788541a Check for WhatsApp web updates on bridge startup 2022-03-12 20:05:57 +02:00
Tulir Asokan
c82a96dccc Handle incoming reaction removals 2022-03-12 19:47:47 +02:00
Tulir Asokan
766e6a5130 Invite bot when user enables encryption in DM portal 2022-03-11 20:11:27 +02:00
Tulir Asokan
7322f78d56 Delete connection and update JID map on remote logout 2022-03-10 22:21:24 +02:00
Sumner Evans
4fd07a2646
Merge pull request #457 from mautrix/sumner/bri-2349
segment: add for provisioning API
2022-03-10 11:57:59 -07:00
Sumner Evans
a68bce35fc
segment: add tracking to provisioning API
Co-authored-by: Tulir Asokan <tulir@maunium.net>
2022-03-10 11:55:04 -07:00
Tulir Asokan
031d712905 Update whatsmeow 2022-03-09 16:44:25 +02:00
Tulir Asokan
621ecc0d62 Update dependencies 2022-03-08 14:11:21 +02:00
Tulir Asokan
dcfa9e1b34 Update hacky workaround for transient disconnect states
The previous version didn't handle the case where the reconnect is what
triggers the `wa-phone-offline` state in the first place.
2022-03-08 12:51:26 +02:00
Tulir Asokan
9b6ca8d6f1 Don't send normal transient disconnect state when phone is offline 2022-03-07 22:45:19 +02:00
Tulir Asokan
1eb210c249 Add support for bridging reactions 2022-03-05 21:22:31 +02:00
Tulir Asokan
601864131e Disable file logging in Docker by default
To enable it, use a custom path that points at a writable volume
2022-03-04 11:08:30 +02:00
Nick Mills-Barrett
2e01dc4bd4
Only change the data directory ownership on Docker start 2022-03-03 18:17:54 +02:00
Tulir Asokan
082bdcca11 Move provisioning endpoint version into code 2022-03-01 20:43:05 +02:00
Tulir Asokan
8da6e14bf8
Merge pull request #452 from abmantis/presence_on_typing
Send presence when typing changes
2022-03-01 20:27:28 +02:00
Tulir Asokan
8e5442300c Add endpoints to list groups and open group portals 2022-03-01 20:25:46 +02:00
Tulir Asokan
4bba398cfe Remove unused backfill dummy state event type 2022-03-01 00:14:36 +02:00
Tulir Asokan
a3ba1e3826 Remove dummy state event in history sync
It's not needed anymore as the relevant PR was merged, and Synapse 1.53
seems to include a regression which breaks sending non-member state events
(which seems to be fixed by matrix-org/synapse#12083).
2022-02-28 23:59:05 +02:00
Tulir Asokan
9730c5e570 Update mautrix-go to remove msgtype from stickers 2022-02-28 22:27:14 +02:00
Tulir Asokan
3479e1ccfc Avoid division by zero 2022-02-28 21:41:44 +02:00
abmantis
50a6e383e7 Send presence when typing changes 2022-02-26 22:47:19 +00:00
Tulir Asokan
e60d5351a5 Update whatsmeow to fix syncing topics 2022-02-25 21:47:41 +02:00
Tulir Asokan
f36b4c18f2 Add config option for always sending active delivery receipts 2022-02-25 01:27:24 +02:00
Tulir Asokan
6705a6f7bf Update changelog 2022-02-23 14:34:05 +02:00