Commit graph

169 commits

Author SHA1 Message Date
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 7c0cf0513a Clean up Segment code 2022-05-16 13:49:40 +03:00
Sumner Evans e362743f18
config: add settings for automatic media requests 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 fdb0718670 Remove unused media backfill config 2022-05-02 16:36:07 +03:00
Tulir Asokan 4bc4e92877 Remove media backfill queue and just request immediately 2022-05-02 15:00:57 +03:00
Tulir Asokan 54ad27f644 Add separate config option for status broadcast room tag 2022-04-27 12:46:11 +03:00
Tulir Asokan ea3bcec1cf Add option to maybe detect xml-not-well-formed errors 2022-04-25 17:21:43 +03:00
Tulir Asokan dad5c44680 Update browser name list link 2022-04-20 13:50:06 +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
Tulir Asokan 1a5d5f5adf Adjust logs and other things 2022-04-16 22:58:47 +03:00
Tulir Asokan 6e976fb3fc Default to backfilling all chats in history sync 2022-04-16 22:42:17 +03: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 5ff09b9041 Mention sync command in space example config 2022-01-02 13:31:07 +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
Tulir Asokan b50be23dd1 Update backfilling comment 2021-11-29 15:28:33 +02:00
Sumner Evans d5387bba41
config: add message_send_checkpoint_endpoint 2021-11-16 13:07:29 -07:00
Tulir Asokan 9dbee572a8 Mute status broadcast by default 2021-11-15 14:46:40 +02: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 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 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
Tulir Asokan 08360d0d08 Fix backfill config comment 2021-11-01 16:45:39 +02:00
Sumner Evans 96cf814848
Add option to disable federation on portal rooms (#362) 2021-11-01 11:17:44 +02:00
Tulir Asokan d19703a02d Update comments in example config 2021-10-30 23:25:23 +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 84f6337979 Fix typos 2021-10-30 22:41:18 +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 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 3048817a36 Update comment in encryption config 2021-10-08 19:11:06 +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 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
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 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 5809a6d57b Disable personal filtering communities by default. Closes #258 2021-01-16 02:47:23 +02:00
Tulir Asokan e25a87244b Add quotes around room ids in example config 2020-10-19 16:06:12 +03: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 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 1c3de877db Maybe support e2be by default and fix some bugs 2020-05-12 22:25:55 +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
davralin 44bb623e7a Document how to use multiple if's in displayname_template, Closes #162 2020-04-12 10:43:33 +03:00
Tulir Asokan 9aee1c83ac Add ?sslmode=disable to example postgres connection string
Closes #163
2020-04-12 10:43:33 +03:00
Remi Reuvekamp 1e2f5ef25c Improve communities doc in config 2020-03-26 19:28:31 +02: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 ab91d326fd Move Matrix state store to main database. Fixes #64 2019-08-25 16:29:35 +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 07b8936985
Change default port to 29318 2019-07-28 18:29:30 +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