Commit graph

420 commits

Author SHA1 Message Date
Tulir Asokan
ea3bcec1cf Add option to maybe detect xml-not-well-formed errors 2022-04-25 17:21:43 +03:00
Tulir Asokan
30fd0d7c85 Update whatsmeow 2022-04-25 11:17:30 +03:00
Tulir Asokan
2f91b225e2 Update mautrix-go to prevent unnecessary displayname requests 2022-04-22 13:20:46 +03:00
Tulir Asokan
7f2d12aa5f Update mautrix-go to switch to /v3 paths 2022-04-17 13:09:54 +03:00
Tulir Asokan
8e9fd57491 Update dependencies 2022-04-16 23:17:52 +03: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
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
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
756040c6a9 Bump version to v0.3.0 2022-03-16 01:32:15 +02:00
Tulir Asokan
e31788541a Check for WhatsApp web updates on bridge startup 2022-03-12 20:05:57 +02:00
Tulir Asokan
766e6a5130 Invite bot when user enables encryption in DM portal 2022-03-11 20:11:27 +02: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
9730c5e570 Update mautrix-go to remove msgtype from stickers 2022-02-28 22:27:14 +02: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
b389354bcc Send blank protocol message if phone is offline for too long 2022-02-18 12:12:15 +02:00
Tulir Asokan
3c274e6d35 Add proper error message for outdated client errors 2022-02-17 15:33:31 +02:00
Tulir Asokan
66d0817081 Add provisioning API endpoints to list contacts and start chats 2022-02-17 15:14:53 +02:00
Tulir Asokan
1a1fd68812 Improve connection error handling 2022-02-17 14:09:40 +02:00
Tulir Asokan
79648ea9ec Bump version to v0.2.4 2022-02-16 12:15:38 +02:00
Tulir Asokan
78f666c9cd Update whatsmeow 2022-02-16 00:09:06 +02:00
Tulir Asokan
10a7c781e6 Add support for asking homeserver for URL previews 2022-02-15 16:28:20 +02:00
Tulir Asokan
d668c031f7 Update dependencies 2022-02-15 14:20:36 +02:00
Tulir Asokan
528fbda53f Add initial support for requesting media retries from phone 2022-02-10 19:18:49 +02:00
Tulir Asokan
94e880c2cc Add support for setting group avatar from Matrix 2022-02-10 12:46:25 +02:00
Tulir Asokan
9fee8a50a4 Add support for encrypting preview image 2022-02-04 23:06:35 +02:00
Tulir Asokan
d4334f5df8 Clean up embedded link preview code 2022-02-04 22:19:55 +02:00
Tulir Asokan
7e6c645f19 Add some simple metrics for retry receipts 2022-01-28 15:06:19 +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
1ebfeedcb7 Send fully read marker too when bridging read receipts to Matrix 2022-01-17 22:56:18 +02:00
Tulir Asokan
4a49de388c Update mautrix-go to fix state store not being updated in some cases 2022-01-17 15:44:00 +02:00
Tulir Asokan
fea25f92ec Bump version to v0.2.3 2022-01-16 20:15:27 +02:00
Tulir Asokan
b3e0d7afbb Reject ghost user invites from non-logged-in users 2022-01-15 13:59:20 +02:00
Tulir Asokan
21f675de61 Update whatsmeow to fix app state 2022-01-10 14:03:49 +02:00
Tulir Asokan
7f636e6aef Update whatsmeow to read group disappearing message timer 2022-01-07 15:05:09 +02:00
Tulir Asokan
86486419dc Update mautrix-go to fix media convert error 2022-01-04 20:02:21 +02:00
Sumner Evans
a0a1c0fd45
voice messages: bridge from WhatsApp to native Matrix voice messages
Co-authored-by: Tulir Asokan <tulir@maunium.net>
2022-01-04 10:54:22 -07:00
Tulir Asokan
6607269e46 Update mautrix-go to log sync taking too long 2022-01-04 15:22:01 +02:00
Tulir Asokan
a7deb693ff Revert gjson update 2022-01-03 16:30:04 +02:00
Tulir Asokan
5d7a66631c Update dependencies 2022-01-03 16:15:00 +02:00
Tulir Asokan
3d2fb96580 Update whatsmeow to fix some device list notification handling issues 2021-12-31 10:56:58 +02:00
Tulir Asokan
b63b37177d Make user moderator in personal filtering space 2021-12-30 12:30:29 +02:00
Tulir Asokan
7e5c2769c6 Clean up personal filtering space support 2021-12-29 21:40:08 +02:00
Tulir Asokan
ca5fcc42ba Reroute broadcast list messages to correct DM portal. Fixes #411 2021-12-25 20:50:36 +02:00
Tulir Asokan
5e04577081 Update mautrix-go to fix olm session ordering 2021-12-22 23:04:41 +02:00
Tulir Asokan
b2f8a9d32b Update whatsmeow to fix receiving avatar remove events 2021-12-21 19:42:55 +02:00
Tulir Asokan
524ff95e04 Update whatsmeow 2021-12-21 12:07:14 +02:00
Tulir Asokan
949498a1a6 Update mautrix-go to add more logs for olm things 2021-12-17 01:56:51 +02:00
Tulir Asokan
d3fc0ed43f Bump version to v0.2.2 2021-12-16 18:24:57 +02:00
Sumner Evans
21b0093e57
deps/mautrix: update to master 2021-12-16 09:06:51 -07:00
Tulir Asokan
c7aa4ff338 Update whatsmeow 2021-12-09 12:27:31 +02:00
Tulir Asokan
66371d0faf Update numbering of retry checkpoints 2021-12-07 16:14:56 +02:00
Tulir Asokan
efd6e1a84f Add support for whatsapp-side read receipt privacy 2021-12-07 15:30:08 +02:00
Tulir Asokan
6aa704dc56 Fix name of trace levels 2021-12-06 14:13:18 +02:00
Tulir Asokan
6cb5301996 Re-request Megolm sessions if they don't arrive on time 2021-12-03 18:24:24 +02:00
Tulir Asokan
231691ebbd Update whatsmeow to maybe fix retry receipts 2021-11-30 15:14:56 +02:00
Tulir Asokan
4898e79780 Replace check-invite with resolve-link and add support for business DM links 2021-11-27 11:30:41 +02:00
Tulir Asokan
36bb364f05 Update whatsmeow to fix app state syncing in some cases 2021-11-22 17:36:05 +02:00
Tulir Asokan
79256096c5 Update mautrix-go to fix message checkpoint timestamps 2021-11-18 18:02:17 +02:00
Sumner Evans
712dc5a7b6
deps/mautrix-go: upgrade to latest master 2021-11-18 08:46:07 -07:00
Tulir Asokan
1f7630cc06 Add support for the stable version of MSC2778 2021-11-15 13:39:39 +02:00
Tulir Asokan
a89d0f43fb Update whatsmeow 2021-11-15 13:39:39 +02:00
Tulir Asokan
6b260dceda Fix bridging receipts with multiple message IDs 2021-11-10 20:26:28 +02:00
Tulir Asokan
5c1b57d7b8 Don't override current pushnames in history sync 2021-11-09 23:59:28 +02:00
Tulir Asokan
e81b5ae405 Update whatsmeow to handle identity changes in prekey messages 2021-11-09 23:12:10 +02:00
Tulir Asokan
a8beec8754 Handle identity changes properly. Fixes #384 2021-11-09 17:49:34 +02:00
Tulir Asokan
9262f4c410 Update whatsmeow to improve retry receipt handling 2021-11-08 19:43:26 +02:00
Tulir Asokan
a142cf628e Update bridge state message and whatsmeow 2021-11-08 17:31:50 +02:00
Tulir Asokan
ab604177af Update whatsmeow to handle retry receipts 2021-11-08 15:59:08 +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
d7eb071be8 Update whatsmeow 2021-11-05 17:34:05 +02:00
Tulir Asokan
433aaf3829 Reimplement more things 2021-11-05 12:17:56 +02:00
Tulir Asokan
752aff48f1 Prioritize backfilling recent messages and fix some bugs 2021-11-03 21:34:06 +02:00
Tulir Asokan
64f5610f39 Update whatsmeow to avoid unknown errors on 503 stream errors 2021-11-03 10:52:57 +02:00
Tulir Asokan
d3261d6de7 Update whatsmeow to handle group name/topic changes 2021-11-02 16:36:04 +02:00
Tulir Asokan
e0d79f2de1 Re-add call start notices 2021-11-02 15:46:31 +02:00
Tulir Asokan
328633b07a Update whatsmeow to fix panic on 32-bit arm 2021-11-01 21:13:58 +02:00
Tulir Asokan
ce8a29b46f Update whatsmeow. Fixes #365 2021-11-01 13:03:09 +02:00
Tulir Asokan
06a3346d28 Update mautrix-go and improve pm command responses 2021-11-01 12:28:57 +02:00
Tulir Asokan
a438e1e53d Update whatsmeow 2021-11-01 11:44:25 +02:00
Tulir Asokan
baf2482c3a Store server timestamp of outgoing messages in db 2021-11-01 11:21:38 +02:00
Tulir Asokan
630095e28a Add support for group invite messages 2021-10-31 20:42:53 +02:00
Tulir Asokan
1e5d5c1a3e Implement joining groups and checking invite links 2021-10-31 19:59:30 +02:00
Tulir Asokan
1f91eacc10 Reimplement invite-link command 2021-10-31 15:14:26 +02:00
Tulir Asokan
dc9e08d39f Stop using ioutil 2021-10-31 13:30:19 +02:00
Tulir Asokan
91e3868e93 Update whatsmeow 2021-10-30 14:33:42 +03:00
Tulir Asokan
70214bdc42 Fix some issues with login/logout 2021-10-29 21:38:30 +03:00
Tulir Asokan
3d384a6db7 Clean up and fix some things 2021-10-29 16:50:29 +03:00
Tulir Asokan
4695ce450f Show error message if user scans QR code with multidevice disabled 2021-10-28 21:22:34 +03:00
Tulir Asokan
149e9bc8af Implement WhatsApp->Matrix group info updates 2021-10-28 12:59:22 +03:00
Tulir Asokan
1ad17048cc Add better logs for Matrix redaction handling 2021-10-27 21:34:22 +03:00
Tulir Asokan
2cd6713cc4 Add typing notification bridging in both directions 2021-10-27 19:30:34 +03:00
Tulir Asokan
9dfcbd2941 Update whatsmeow to fix storing outgoing message IDs 2021-10-27 19:00:01 +03:00
Tulir Asokan
ded2fb9799 Implement logout and provisioning API login 2021-10-27 15:54:34 +03:00
Tulir Asokan
0b4d0bbbe1 Handle history sync payloads with MSC2716 batch sending 2021-10-26 17:01:10 +03:00
Tulir Asokan
b45e6b29f5 Fix panic and double puppeting 2021-10-25 18:31:37 +03:00
Tulir Asokan
304f8ebb60 Update whatsmeow to fix building on 32-bit architectures 2021-10-22 20:39:01 +03:00
Tulir Asokan
56850bb698 Initial switch to go.mau.fi/whatsmeow 2021-10-22 20:14:34 +03:00
Alexandar Mechev
9ca18ea548
Convert webp images to png when sending to WhatsApp (#346)
WhatsApp doesn't seem to like webp images
2021-10-06 21:11:37 +03:00
Tulir Asokan
74870ec638 Add proper error message for multi-device 2021-09-23 14:09:03 -04:00
Tulir Asokan
46dcd11527 Update displayname template 2021-09-01 15:49:19 +03:00
Tulir Asokan
3bef9ebfc0 Update readiness endpoint at the end of Start() 2021-08-25 20:46:52 +03:00
Tulir Asokan
4fe179d0d7 Remove content from message table. Fixes #320 2021-08-19 19:17:19 +03:00
Tulir Asokan
8dbb67a49c Update mautrix-go 2021-08-17 01:29:13 +03:00
Tulir Asokan
9b889e7de8 Update go-whatsapp to support ephemeral and view once messages 2021-08-08 15:22:21 +03:00
Tulir Asokan
039059df45 Ignore WhatsApp file length and hash mismatches 2021-08-06 01:33:17 +03:00
Tulir Asokan
78ae4205fd Update go-whatsapp 2021-06-19 02:25:14 +03:00
Tulir Asokan
a3669a675b Update go-whatsapp 2021-06-17 12:46:24 +03:00
Tulir Asokan
f9b88839c3 Update mautrix-go 2021-06-17 12:38:04 +03:00
Tulir Asokan
d3b9f4f637 Handle websocket keepalive errors and update deps 2021-06-15 15:07:42 +03:00
Tulir Asokan
80b534323f Try to fix false positive send error on whatsapp mobile 2021-06-01 13:32:14 +03:00
Tulir Asokan
b07412b421 Don't mark messages older than chat info receive date as read after backfill 2021-05-18 20:09:12 +03:00
Tulir Asokan
66f0b04a31 Send double puppeting identifier with read receipts if server supports it 2021-05-18 15:23:19 +03:00
Tulir Asokan
1bdbf0a22d Update go-whatsapp 2021-05-18 13:15:40 +03:00
Tulir Asokan
1ef61f7b2f Update whatsapp protocol version identifier 2021-05-12 14:56:42 +03:00
Tulir Asokan
b9b4c11d81 Update dependencies 2021-05-12 14:54:40 +03:00
Tulir Asokan
4c803a6a13 Include message tag when logging raw JSON messages 2021-05-04 21:44:55 +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
06a041981d Merge remote-tracking branch 'conor-f/toggle-presence-and-receipts' 2021-04-19 19:25:40 +03:00
Tulir Asokan
03b211c353 Update mautrix-go 2021-04-19 17:35:11 +03:00
Tulir Asokan
d3c0b50d5a Move request retrying to mautrix-go 2021-04-15 16:23:40 +03:00
Tulir Asokan
b1fa9df5f5 Update go-whatsapp 2021-04-08 20:37:48 +03:00
Tulir Asokan
ca285ea9bb Update mautrix-go to use a single http.Client instance 2021-04-06 17:14:32 +03:00
Tulir Asokan
74f09f128c Update go-whatsapp. Fixes #294 2021-04-02 14:22:52 +03:00
Tulir Asokan
9b25e26b04 Update mautrix-go and add custom user agent 2021-03-26 11:18:10 +02:00
Tulir Asokan
024d9a0b0e Update go-whatsapp 2021-03-19 20:52:15 +02:00
Tulir Asokan
cbdd10e704 Send real-time whatsapp connection state to asmux 2021-03-15 18:06:16 +02:00
Tulir Asokan
17d68443b7 Update mautrix-go. Fixes #251 2021-03-08 00:55:54 +02:00
Tulir Asokan
8a6877746d Wait for connection before handling message when login is in progress 2021-03-05 16:54:23 +02:00
Tulir Asokan
ab0019d087 Make sure interface conversion succeeds in error check 2021-03-04 20:46:08 +02:00
Tulir Asokan
0b5eeef689 Update mautrix-go to add auth type to register requests 2021-03-04 19:46:32 +02:00
Tulir Asokan
e043788037 Update mautrix-go to add timeout to Matrix HTTP requests 2021-03-02 11:43:07 +02:00
Tulir Asokan
ab22e2da0e Update maulogger to fix newlines in log files 2021-03-01 12:41:37 +02:00
Tulir Asokan
82ae61685c Update mautrix-go to fix potential concurrent map writes 2021-02-26 13:28:42 +02:00
Tulir Asokan
0e3bf04daf Improve post-reconnection resending and fix potential encryption races 2021-02-25 17:22:29 +02:00
Tulir Asokan
337ca45749 Update go-whatsapp again 2021-02-25 14:30:13 +02:00
Tulir Asokan
1c28fbb49b Fix more connection bugs 2021-02-25 13:49:28 +02:00
Tulir Asokan
2292c874d6 Update go-whatsapp to fix panics in some cases 2021-02-24 17:43:28 +02:00
Tulir Asokan
37c2a064a5 Update go-whatsapp to handle query timeouts 2021-02-24 17:18:27 +02:00
Tulir Asokan
69e5a26e01 Improve handling of errors noticed in provisioning API pings 2021-02-24 00:06:11 +02:00
Tulir Asokan
a5d60bf87d Autoreconnect if keepalive ping throws error 2021-02-23 17:36:42 +02:00
Tulir Asokan
2918e7f89e Update go-whatsapp again 2021-02-23 16:08:53 +02:00
Tulir Asokan
b74302b266 Update go-whatsapp 2021-02-23 00:26:28 +02:00
Tulir Asokan
86e5ecbbfe Merge branch 'break' 2021-02-22 15:21:35 +02:00
Tulir Asokan
ac2ca08007 Sync broadcast list recipients too 2021-02-21 14:45:38 +02:00
Tulir Asokan
a911a0c1a9 Add better support for broadcast lists 2021-02-21 14:18:15 +02:00
Tulir Asokan
fcad5fb057 Update dependencies 2021-02-21 13:22:06 +02:00
Tulir Asokan
325e54e949 Update go-whatsapp 2021-02-21 02:06:33 +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
ba0ec021ba Update go-whatsapp 2021-02-10 21:20:31 +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
bcdc19d4f4 Update go-whatsapp to handle weird ping responses 2021-02-08 22:10:53 +02:00
Tulir Asokan
fec43431f7 Cancel login if websocket is closed 2021-02-07 22:14:13 +02:00
Tulir Asokan
3c7ff4bc0c Miscellaneous improvements to connection management 2021-02-05 19:26:09 +02:00
Tulir Asokan
cea2e1a377 Update go-whatsapp to add timeout for some queries 2021-01-22 21:15:35 +02:00
Tulir Asokan
4e8e63388a Update go-whatsapp again to fix old media download regression 2021-01-22 00:10:12 +02:00
Tulir Asokan
b003a6985c Update go-whatsapp 2021-01-21 23:03:39 +02:00
Tulir Asokan
0c3b08cd97 Update mautrix-go 2020-12-28 00:22:40 +02:00
Tulir Asokan
97407823e7 Update mautrix-go 2020-11-21 14:50:15 +02:00
Tulir Asokan
e6ccdb83b7 Revert portal backfill lock changes and update mautrix-go 2020-11-18 13:29:47 +02:00
Tulir Asokan
8b7d7af498 Update mautrix-go 2020-11-10 16:30:41 +02:00
Tulir Asokan
56e4a67f42 Update mautrix-go 2020-11-10 12:37:33 +02:00
Tulir Asokan
a49a5fa3d4 Retry sending when receiving 599 error 2020-11-04 14:58:24 +02:00
Tulir Asokan
a1740db0d7 Fix bridge->bridge file names
WhatsApp uses the "title" and "fileName" fields for document names. The bridge
was only reading title and sending fileName, so sending a document from one
bridge to another through WhatsApp would lose the file name.

Also use names like "image.png" instead of "<random id>.png" for unnamed files
2020-11-02 17:18:21 +02:00
Tulir Asokan
63933d0c7e Include debug message when receiving 599 status code 2020-10-26 17:10:46 +02:00
Tulir Asokan
ead8a869c8 Use MSC2778 instead of shared secret for bridge bot login 2020-10-16 16:52:37 +03:00
Tulir Asokan
0329dd5e62 Update mautrix-go to fix errors.Is 2020-10-12 18:24:36 +03:00
Tulir Asokan
cd8352a7df Remove webp conversion 2020-10-09 18:24:29 +03:00
Tulir Asokan
18f709f435 Add some more logs in bridge bot syncing 2020-10-06 21:39:35 +03:00
Tulir Asokan
491d8b232e Stop using github.com/pkg/errors 2020-10-05 22:38:34 +03:00
Tulir Asokan
1379e46e1e Update mautrix-go 2020-10-02 01:13:26 +03:00
Tulir Asokan
3afe65726d Update mautrix-go 2020-09-29 11:17:48 +03:00
Tulir Asokan
d67c3a8c96 Wait up to 3 seconds for encryption keys to arrive 2020-09-24 15:25:36 +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
05da509c7c Add build tags for disabling crypto independently of cgo 2020-08-02 13:55:02 +03:00
Tulir Asokan
9671b6c39a Use MentionedJIDs metadata instead of assuming everything is a mention 2020-07-31 14:30:58 +03:00
Tulir Asokan
dd8b5097cb Support both WhatsApp read receipt event types 2020-07-30 18:28:47 +03:00
Tulir Asokan
25a99c4464 Bridge own read receipts from WhatsApp mobile with double puppeting 2020-07-30 18:08:26 +03:00
Tulir Asokan
b1fd0be345 Update mautrix-go to fix static build 2020-07-10 16:35:38 +03:00
Tulir Asokan
f40a91594d Update mautrix-go 2020-07-10 15:56:45 +03:00
Tulir Asokan
518cb076ff Add command to create WhatsApp group 2020-07-10 15:23:32 +03:00
Tulir Asokan
43a3815970 Fix some things related to m.bridge 2020-07-03 13:47:02 +03:00
Tulir Asokan
44b399790b Fix replies in encrypted rooms 2020-06-30 16:26:13 +03:00
Tulir Asokan
5a611146cb Update go-whatsapp to improve some errors 2020-06-26 00:37:17 +03:00
Tulir Asokan
f4ce80f98e Handle contact and battery events 2020-06-25 16:44:51 +03:00
Tulir Asokan
d4e812b968 Update mautrix-go 2020-06-24 00:31:50 +03:00
Tulir Asokan
542d30ead7 Use SQLCryptoStore from mautrix-go and update deps 2020-06-23 23:22:44 +03:00
Tulir Asokan
c541afbb46 Update go-whatsapp again 2020-06-23 19:01:11 +03:00
Tulir Asokan
63a1a77f26 Update go-whatsapp to handle unknown ping responses 2020-06-23 15:36:08 +03:00
Tulir Asokan
58de73f8b2 Update mautrix-go 2020-06-23 14:52:32 +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
e4a160e650 Add basic bridging of contact messages to Matrix 2020-06-10 14:06:36 +03:00