Commit graph

161 commits

Author SHA1 Message Date
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
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
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
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
1eb210c249 Add support for bridging reactions 2022-03-05 21:22:31 +02:00
Tulir Asokan
082bdcca11 Move provisioning endpoint version into code 2022-03-01 20:43:05 +02:00
abmantis
50a6e383e7 Send presence when typing changes 2022-02-26 22:47:19 +00:00
Tulir Asokan
f36b4c18f2 Add config option for always sending active delivery receipts 2022-02-25 01:27:24 +02:00
Tulir Asokan
dbe25bbce6 Expose db connection max lifetime and idle time settings 2022-02-23 14:30:21 +02:00
Tulir Asokan
10a7c781e6 Add support for asking homeserver for URL previews 2022-02-15 16:28:20 +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
18ea5af45e Add support for disappearing messages 2022-01-07 14:32:00 +02:00
Tulir Asokan
7e5c2769c6 Clean up personal filtering space support 2021-12-29 21:40:08 +02:00
Tulir Asokan
1d8ef6cb89 Add support for MSC2409 2021-12-07 16:02:51 +02:00
Sumner Evans
52f09001a7
portal: send checkpoint for matrix messages 2021-11-18 08:46:14 -07:00
Sumner Evans
d5387bba41
config: add message_send_checkpoint_endpoint 2021-11-16 13:07:29 -07:00
Tulir Asokan
e997df8c49 Preserve newlines in example config 2021-11-15 14:21:43 +02:00
Tulir Asokan
ed58449544 Add option to mute the status broadcast room by default 2021-11-15 14:06:31 +02:00
Tulir Asokan
cae2b8afa1 Make showing identity change notices configurable 2021-11-09 22:57:36 +02:00
Tulir Asokan
445da09e1d Simplify reaction error notices 2021-11-09 15:26:37 +02:00
abmantis
b652281682 Send portal notice on reactions
Closes #373
2021-11-09 15:23:55 +02:00
Tulir Asokan
fad3a053b7 Use current directory for config temp file 2021-11-07 22:54:02 +02:00
Tulir Asokan
465fa4aa16 Switch to go-yaml v3 and add config updater. Fixes #243 2021-11-07 22:31:22 +02:00
Tulir Asokan
58e2a3a511 Disable backfilling with double puppets on other servers 2021-11-06 15:33:59 +02:00
Tulir Asokan
de9977b7d2 Add support for automatic double puppeting from other servers 2021-11-06 13:57:35 +02:00
Tulir Asokan
348b7bfe7b Merge remote-tracking branch 'abmantis/double_puppet_server_map' 2021-11-06 13:40:18 +02:00
Tulir Asokan
64db9c9c9b Fix displayname not being html-escaped in relay mode templates 2021-11-05 20:08:49 +02:00
Tulir Asokan
e0d79f2de1 Re-add call start notices 2021-11-02 15:46:31 +02:00
abmantis
16dee2aa56 Implement DoublePuppetServerMap 2021-11-01 23:17:44 +00:00
Sumner Evans
96cf814848
Add option to disable federation on portal rooms (#362) 2021-11-01 11:17:44 +02:00
Tulir Asokan
dc9e08d39f Stop using ioutil 2021-10-31 13:30:19 +02:00
Tulir Asokan
47a5e8b83c Use example config for default values 2021-10-31 13:04:44 +02:00
Tulir Asokan
5b5cbc2efa Remove legacy state store migration 2021-10-30 23:31:39 +03:00
Tulir Asokan
d94cd6a669 Add option to request more history from phone on login 2021-10-30 23:12:16 +03:00
Tulir Asokan
e3aed76f7a Add option to limit age of chats to create portals for 2021-10-30 21:54:35 +03:00
Tulir Asokan
7b1c320295 Fix history sync config 2021-10-29 22:11:19 +03:00
Tulir Asokan
73f0f0bbd7 Remove more unused config fields 2021-10-28 15:04:27 +03:00
Tulir Asokan
b1baa0a0a1 Rename relay permission level 2021-10-28 14:03:55 +03:00
Tulir Asokan
a8b9c88707 Merge branch 'master' into multidevice 2021-10-28 14:00:10 +03:00
Justin Carlson
0063c2a804
Add support for custom management room messages (#355)
Co-authored-by: Will Hunt <willh@matrix.org>
2021-10-28 13:58:20 +03:00
Tulir Asokan
bb9a0f6528 Make relay mode more like the Signal bridge 2021-10-28 13:57:15 +03:00
Tulir Asokan
149e9bc8af Implement WhatsApp->Matrix group info updates 2021-10-28 12:59:22 +03:00
Tulir Asokan
0b4d0bbbe1 Handle history sync payloads with MSC2716 batch sending 2021-10-26 17:01:10 +03:00
Tulir Asokan
be3fd24e9a Remove some unused config fields 2021-10-25 16:08:49 +03:00
Tulir Asokan
56850bb698 Initial switch to go.mau.fi/whatsmeow 2021-10-22 20:14:34 +03:00
Tulir Asokan
46dcd11527 Update displayname template 2021-09-01 15:49:19 +03:00
Tulir Asokan
06b84c4bb9 Add option to disable status bridging. Fixes #166 2021-06-01 15:28:15 +03:00
Tulir Asokan
74e21b8e1d Make bridge state monitoring more generic 2021-06-01 15:19:47 +03:00
Tulir Asokan
62e806c8c3 Add option to disable backfill read receipt bridging 2021-05-18 14:16:35 +03:00
Tulir Asokan
b9b4c11d81 Update dependencies 2021-05-12 14:54:40 +03:00
Tulir Asokan
2742d90299 Add option to only bridge mute status and tags when creating portal 2021-04-29 11:57:05 +03:00
Tulir Asokan
f9098cdf18 Add option to bridge chat pin status from WhatsApp 2021-04-20 16:32:23 +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
d3c0b50d5a Move request retrying to mautrix-go 2021-04-15 16:23:40 +03:00
Héctor Ramírez Franco
464a7ee765 Add config option to disable bridging m.notices
Closes #259
2021-02-26 16:11:34 +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
69dd7f803a Move whatsapp-ext to go-whatsapp 2021-02-17 01:21:30 +02:00
Tulir Asokan
67a39bb6c8 Automatically re-login-matrix on M_UNKNOWN_TOKEN 2021-02-11 20:47:17 +02:00
Tulir Asokan
9f4283b4e0 Add option to disable bridging Matrix leave events 2021-02-10 22:15:23 +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
Tulir Asokan
1c801594d5 Add option to auto-reconnect even on clean disconnects 2021-02-05 19:26:26 +02:00
Tulir Asokan
56e4a67f42 Update mautrix-go 2020-11-10 12:37:33 +02:00
Tulir Asokan
075689dacf Update go-whatsapp and rename device name config fields 2020-09-04 17:54:59 +03: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
0430446d6d Make message buffers bigger and make locking message handling less hacky 2020-07-23 20:10:21 +03:00
Tulir Asokan
b7275a763a Make bridging receipts togglable separately from presence 2020-07-10 16:26:55 +03:00
Tulir Asokan
3460d7b6e8 Make WhatsApp device name configurable 2020-06-25 17:59:44 +03:00
Tulir Asokan
beed19fdad Add Prometheus metrics
Closes #197

Co-authored-by: haywo <haywo@nct08.de>
2020-06-17 17:50:06 +03:00
Tulir Asokan
59e2015fa7 Add option to resend bridge info to all portals 2020-06-15 20:28:04 +03:00
Tulir Asokan
47a1d7f6cb Generate AS registrations with bot sync workaround
Looks like synapse isn't going to be fixed soon (matrix-org/synapse#5758),
so this changes all registrations to be generated using the workaround:
the sender_localpart is set to a random string and the actual AS bot is
added as another namespace.
2020-06-11 14:39:19 +03:00
Tulir Asokan
7c799f1faa Encrypt media from WhatsApp when sending to encrypted portal 2020-06-10 15:26:14 +03:00
Tulir Asokan
934f98119f Add option to disable notifications during initial backfill 2020-06-08 20:51:24 +03:00
Tulir Asokan
c6b4f34c28 Add option to send read receipt on confirmed delivery to WhatsApp 2020-05-25 11:17:47 +03:00
Tulir Asokan
5a62982a56 Add option to query message from phone when send times out 2020-05-24 17:28:30 +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
16dc3c8699 Add initial provisioning API 2020-02-09 20:32:14 +02:00
Tulir Asokan
ec0e60c71c Add option to automatically enable custom puppeting with shared secret login 2019-12-30 20:21:04 +02:00
Tulir Asokan
03d42640fe Add basic relaybot support. Fixes #20 2019-11-10 21:22:11 +02:00
Tulir Asokan
2313321d01 Improve startup sync timeout handling 2019-08-30 20:57:08 +03:00
Tulir Asokan
3be9aa2319 Improve errors in state store migration edge cases 2019-08-25 17:25:19 +03:00
Tulir Asokan
1490830be2 Use handlers instead of sleeping for startup chat/contact sync 2019-08-25 00:25:29 +03:00
Tulir Asokan
80a0edd855 Add option to disable call start/end notifications. Fixes #68 2019-08-24 22:42:03 +03:00
Tulir Asokan
7bf470d69e Add portal rooms to user-specific community for filtering 2019-08-10 15:28:12 +03:00
Tulir Asokan
91e8000c14 Edit message with regenerated QR code when logging in 2019-07-18 00:17:25 +03:00
progserega
92958343dd Add option to allow inviting other users in portal rooms (#77)
This doesn't mean the invited users get bridged, but for some use cases that doesn't matter
2019-07-16 12:16:17 +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
37cd34e4bf Make contact wait delay configurable and fix nil pointer usage 2019-05-30 20:25:04 +03:00
Tulir Asokan
7f0c67168c Fix potential autoreconnect problem and add exponential backoff 2019-05-28 14:09:49 +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
0408db5c07 Add config option for max age of chats to sync 2019-05-23 20:25:46 +03:00
Tulir Asokan
b363547bdf Possibly significantly improve how portals are created and synced 2019-05-22 16:46:18 +03:00
Tulir Asokan
23747d4917 Add automatic connection retries 2019-05-17 23:53:57 +03:00
Tulir Asokan
38540d8efb Make max database connection count configurable and default to 20 2019-05-17 23:33:27 +03:00
Tulir Asokan
b5af35684d Make connection timeout configurable 2019-05-16 18:08:30 +03: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
Tulir Asokan
a19239b936 Don't rewrite name templates when saving config
Advanced template stuff isn't preserved if you execute them
2018-10-23 18:22:58 +03:00