Commit graph

281 commits

Author SHA1 Message Date
Tulir Asokan 52072d9650 Update mautrix-go for new bridge status package 2022-08-15 16:36:28 +03:00
vurpo 1600559de7
Delete portal if user deletes chat on WhatsApp (#531) 2022-07-18 16:16:17 +03:00
vurpo 180c8996a8
Implement "Delete for me" support for messages (#530) 2022-07-18 16:08:52 +03:00
Tulir Asokan 35ed840a36 Don't try to do periodic sync on status broadcast chat 2022-07-11 19:47:10 +03:00
Tulir Asokan 73f4449761 Add log to find which part of message handling takes long 2022-07-11 14:20:31 +03:00
Tulir Asokan fb74e014ec Improve log and update dependencies 2022-07-09 11:16:43 +03:00
Tulir Asokan 17a9df3297 Always sync private chat portal meta in background sync 2022-07-05 11:11:48 +03:00
Tulir Asokan bf4c01648f Move most double puppet source key adding to mautrix-go 2022-06-30 20:56:26 +03:00
Tulir Asokan 0c0a55b940 Fetch portal info before doing background sync
This ensures it doesn't re-add you if you left the group
2022-06-30 16:59:53 +03:00
Tulir Asokan d3d69d1a8a Add option for max message handling duration 2022-06-29 20:05:55 +03:00
Tulir Asokan 52e3cdb121 Only resync avatar if the user sync query returns one 2022-06-28 16:25:41 +03:00
Tulir Asokan 19b4c3093a Apply periodic resync for group chats too 2022-06-28 16:22:11 +03:00
Tulir Asokan f0e93bd938 Add random offset to starting avatar resync loop 2022-06-28 14:50:43 +03:00
Tulir Asokan 9f0901f560 Add periodic ghost avatar resync 2022-06-28 14:37:50 +03:00
Tulir Asokan 443ff97e7a Add basic support for business messages 2022-06-24 21:50:58 +03:00
Tulir Asokan 79fb0d49b3 Move bridge state stuff to mautrix-go 2022-05-31 00:27:44 +03:00
Tulir Asokan 15129c0acc Move permission config to mautrix-go 2022-05-22 22:03:08 +03:00
Tulir Asokan 73304cd400 Move Matrix event and command handling to mautrix-go 2022-05-22 16:15:54 +03:00
Tulir Asokan a948ea0146 Move a bunch of stuff to mautrix-go
See d578d1a610

Database upgrades from before v0.4.0 were squashed, users must update
to at least v0.4.0 before updating beyond this commit.
2022-05-22 01:06:30 +03:00
Sumner Evans ec8f75e50e
backfill: add option to mark unread using account data 2022-05-18 10:40:29 -06:00
Tulir Asokan e062ddc51a Include obfuscated phone number in retry receipt metrics 2022-05-17 19:30:46 +03:00
Tulir Asokan 6634f004ed Include message ID in not found retry receipts 2022-05-17 17:35:29 +03:00
Tulir Asokan 46ba3981c1 Add Segment events for retry receipts and undecryptable messages 2022-05-16 13:49:43 +03:00
Tulir Asokan 3ee7c8527a Send a valid request when doing hacky phone pings 2022-05-16 11:22:41 +03:00
Tulir Asokan c00f74af3b Sync push name on message if it got dropped before somehow 2022-05-13 11:34:51 +03:00
Sumner Evans 08e77fab29
media backfill: send retry requests at the configured time
Only does the batch send of requests if the request method is 'local_time'
2022-05-11 17:10:55 -06:00
Sumner Evans b5551ee16a
database: add media requests buffer table 2022-05-11 17:10:55 -06:00
Tulir Asokan 8ff1896b18 Update whatsmeow and add bridge state events for keepalive timeouts 2022-05-11 14:04:59 +03:00
Tulir Asokan 625e110aab Improve logging when phone is seen again 2022-05-04 11:17:34 +03:00
Tulir Asokan 7c579ad972 Update whatsmeow for new xml-not-well-formed debugging 2022-05-03 15:35:02 +03:00
Tulir Asokan 0665c74cce Merge incoming receipt and message channels
Otherwise receipts after downtime might be handled before the messages
those receipts point at.
2022-05-02 15:35:50 +03:00
Tulir Asokan 4bc4e92877 Remove media backfill queue and just request immediately 2022-05-02 15:00:57 +03:00
Tulir Asokan 4b22e786f5 Make signal store retry if postgres dies 2022-04-29 19:38:44 +03:00
Tulir Asokan 66f505303d Update 403 error message
Apparently it happens when switching phones, not only when banned
2022-04-28 20:09:44 +03:00
Tulir Asokan 54ad27f644 Add separate config option for status broadcast room tag 2022-04-27 12:46:11 +03:00
Sumner Evans 5aee338561
Merge pull request #481 from mautrix/fix-backfill-priority-again
backfill: fix priority of backfills again
2022-04-25 08:42:43 -06:00
Tulir Asokan ea3bcec1cf Add option to maybe detect xml-not-well-formed errors 2022-04-25 17:21:43 +03:00
Sumner Evans f32c5f2e9a
backfill: fix priority of backfills again
I think this finally has the correct logic for doing each stage for each
portal before going on to the next stage.
2022-04-23 21:50:47 -06:00
Tulir Asokan 82472a76df Add queue for bridge state updates 2022-04-22 13:26:37 +03:00
Tulir Asokan a99ced14fd Send bridge state if connection fails 2022-04-20 13:50:06 +03:00
Sumner Evans 1035956e4c
history sync: only start after the user is connected 2022-04-19 12:02:50 -06:00
Sumner Evans f2e762680c
media backfill: add ability to automatically request media not on WA server
This adds a new backfill type for media that sends a request to the
phone for every media that is not available on the WA servers. WA
deletes media from their servers after about two weeks, so you have to
ask the phone to re-upload it.

In order to use this, you need to enable
bridge.history_sync.backfill_media and configure the requests that will
be made per portal using bridge.history_sync.media (which is similar to
the deferred backfill config).

If you already have backfilled portals, but want to do a one-off media
backfill for all existing portals, you can set
bridge.history_sync.enqueue_backfill_media_next_start to true.
2022-04-19 08:12:51 -06:00
Tulir Asokan 7f2d12aa5f Update mautrix-go to switch to /v3 paths 2022-04-17 13:09:54 +03:00
Sumner Evans 78c6d57299
historysync: only save when backfill is enabled 2022-04-06 09:00:48 -06:00
Sumner Evans c664e5f107
Updates from CR
Co-authored-by: Tulir Asokan <tulir@maunium.net>
2022-04-06 08:56:58 -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 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
Tulir Asokan 73241b6f21 Add proper bridge state errors for different logout types 2022-03-15 16:04:10 +02:00
Tulir Asokan 7322f78d56 Delete connection and update JID map on remote logout 2022-03-10 22:21:24 +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