Commit graph

328 commits

Author SHA1 Message Date
Tulir Asokan 46ba3981c1 Add Segment events for retry receipts and undecryptable messages 2022-05-16 13:49:43 +03:00
Tulir Asokan 0ed0f61ced Add command to change disappearing timer 2022-05-15 14:01:23 +03:00
Tulir Asokan 78fe69a578 Move media 404 error logs to debug level 2022-05-14 14:28:55 +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 8cb41b8949
Merge pull request #490 from mautrix/sumner/bri-3238
media backfill: allow media requests to be performed at a specific local time for the user
2022-05-12 11:31:54 -06:00
Sumner Evans b42aa16684
media backfill: store media key in request
This way, we don't have to fetch the event from Matrix in these situations
2022-05-12 11:30:42 -06:00
Tulir Asokan 9ac8ae984d Always set power level required for reactions and redactions to 0 2022-05-12 10:45:23 +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
Sumner Evans e362743f18
config: add settings for automatic media requests 2022-05-11 17:10:55 -06:00
Tulir Asokan 3f6fc27095 Remove GroupingKey from reactions as WhatsApp doesn't seem to use it 2022-05-07 11:25:16 +03:00
Tulir Asokan 289d410a4b Use consistent error message for media not found errors
Sometimes it's encrypted, sometimes it's not
2022-05-02 16:50:15 +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 bf2eb84abb Update error message if media retry fails 2022-05-02 15:29:02 +03:00
Tulir Asokan 4bc4e92877 Remove media backfill queue and just request immediately 2022-05-02 15:00:57 +03:00
Tulir Asokan 387148849a Update mautrix-go again 2022-04-27 23:48:55 +03:00
Sumner Evans 2259b5007f
Merge pull request #483 from mautrix/sumner/bri-3038
backfill: skip chats if the user is not a participant
2022-04-27 08:32:35 -06:00
Sumner Evans caf0a363c9
backfill: delete messages for rooms the user is not in
If the chat turns out to be not bridgable due to the user not being in
the room, delete the messages, and stop trying to backfill it.
2022-04-27 08:29:20 -06:00
Tulir Asokan 0b036204ca Update dependencies and reduce memory usage when encryping files 2022-04-27 14:31:57 +03:00
Sumner Evans 2afdf80937
backfill: don't create room if the user is not a participant
This can happen if the user gets kicked from a chat.
2022-04-26 12:10:30 -06: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
Sumner Evans 7772b7e15c
Merge pull request #479 from mautrix/fix-media-fail-error
improve error when media is not present on WA servers
2022-04-22 11:52:36 -06:00
Sumner Evans 159ece3e64
improve error when media is not present on WA servers 2022-04-22 11:49:50 -06:00
Tulir Asokan 3f8d6942d2 Store disappearing timer when creating portal 2022-04-22 16:45:30 +03: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
Sumner Evans 7a77b1976c
reactions: send checkpoints for matrix reactions (#472) 2022-04-18 11:14:43 +03:00
Sumner Evans 37b8065db5
Merge pull request #461 from mautrix/sumner/bri-2227
history sync: implement prioritized backfill
2022-04-07 09:28:25 -06:00
Tulir Asokan d4318d54a4 Add missing return 2022-04-07 10:48:36 +03:00
Sumner Evans 83d397900f
media: add better error when media couldn't be retrieved due to WA deleting it from their servers 2022-04-05 15:35:02 -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
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 3a6c314878 Normalize variation selectors in emojis in both directions
Remove for WhatsApp, add for Matrix
2022-03-18 01:12:25 +02:00
Tulir Asokan 973f80d7a7 Fix accepting group invites in encrypted rooms 2022-03-14 13:15:52 +02:00
Tulir Asokan c82a96dccc Handle incoming reaction removals 2022-03-12 19:47:47 +02:00
Tulir Asokan 031d712905 Update whatsmeow 2022-03-09 16:44:25 +02:00
Tulir Asokan 1eb210c249 Add support for bridging reactions 2022-03-05 21:22:31 +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 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 77bef42ace Use dynamic multiplier when bridging waveform 2022-02-21 14:34:20 +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 1a1fd68812 Improve connection error handling 2022-02-17 14:09:40 +02:00
Tulir Asokan e215850fcf Get displayname when converting mentions of Matrix users. Fixes #338 2022-02-16 01:00:49 +02:00
Tulir Asokan 10a7c781e6 Add support for asking homeserver for URL previews 2022-02-15 16:28:20 +02:00
Tulir Asokan d257c80327 Only clear custom keys for encrypted events 2022-02-15 13:36:44 +02:00
Tulir Asokan eee404c62d Fix formatting not being parsed in incoming messages 2022-02-15 13:15:41 +02:00
Tulir Asokan 7aab7870fa Move custom keys to m.new_content in media retry handler 2022-02-10 19:56:30 +02:00
Tulir Asokan 1fbbe7fa06 Remove unused gob register 2022-02-10 19:50:49 +02:00
Tulir Asokan 9a9414db34 Add some extra metadata for gifs 2022-02-10 19:26:16 +02:00
Tulir Asokan 528fbda53f Add initial support for requesting media retries from phone 2022-02-10 19:18:49 +02:00