Commit graph

387 commits

Author SHA1 Message Date
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
Tulir Asokan
934f98119f Add option to disable notifications during initial backfill 2020-06-08 20:51:24 +03:00
Tulir Asokan
aea84c9907 Update mautrix-go to fix new OTK generation for e2be 2020-06-04 18:39:11 +03:00
Tulir Asokan
7b75d763ed Update mautrix-go 2020-06-03 19:49:57 +03:00
Tulir Asokan
91db286208 Update mautrix-go 2020-05-26 17:51:20 +03:00
Tulir Asokan
d625ad0066 Update go-whatsapp 2020-05-24 17:47:05 +03:00
Tulir Asokan
91bb38eaa3 Wait for response even after message send timeout 2020-05-24 15:33:26 +03:00
Tulir Asokan
fc6f8df4d3 Fix replacing outbound group session in db 2020-05-12 23:33:59 +03:00
Tulir Asokan
c9adb3aba3 Store outbound group sessions in database 2020-05-12 23:16:33 +03:00
Tulir Asokan
1c3de877db Maybe support e2be by default and fix some bugs 2020-05-12 22:25:55 +03:00
Tulir Asokan
dfc5722a80 Move crypto store to main database 2020-05-09 20:08:05 +03:00
Tulir Asokan
6e50a7c380 Switch appservice module location 2020-05-09 20:08:05 +03:00
Tulir Asokan
e7458139c4 Update deps 2020-05-09 02:14:12 +03:00
Tulir Asokan
f89fcf7212 Make no-cgo build work without source changes 2020-05-09 02:08:23 +03:00
Tulir Asokan
acc25a02e4 Update mautrix-go 2020-05-08 22:32:22 +03:00
Tulir Asokan
e0aea74abf Update go-whatsapp to prevent rare panic when disconnecting 2020-04-21 23:18:28 +03:00
Tulir Asokan
53fe1b1818 Update go-whatsapp. Fixes #169 2020-04-21 09:25:18 +03:00
Tulir Asokan
0ded3aa7af Update go-whatsapp 2020-04-12 10:43:33 +03:00
Tulir Asokan
78d3d22cd4 Add support for setting group description from Matrix 2020-03-31 16:27:42 +03:00
Tulir Asokan
3f60a6f28e Update go-whatsapp to fix file uploading 2020-03-31 11:55:07 +03:00
Tulir Asokan
ac356031ac Update all deps 2020-03-27 10:27:03 +02:00
Tulir Asokan
0b6f14460d Update go-whatsapp to get new protobuf schema 2020-03-26 21:49:35 +02:00
Tulir Asokan
f66041eaf9 Update go-whatsapp 2020-03-26 20:15:32 +02:00
Tulir Asokan
a937863c1e Update mautrix-appservice-go 2020-03-26 19:57:46 +02:00
Marco Antonio Alvarez
2d8bc96a09
updated to latest mautrix-go and mautrix-appservice-go (#145) 2020-03-26 19:31:56 +02:00
Tulir Asokan
16dc3c8699 Add initial provisioning API 2020-02-09 20:32:14 +02:00
Tulir Asokan
e056459ab4 Add/fix sticker bridging in both directions
* Matrix stickers are sent as images
* WhatsApp stickers were missing the incoming event handler

Fixes #124
Fixes #127
Closes #126
Closes #129

Co-authored-by: rafaeltheraven <rafael.dulfer@gmail.com>
2019-12-31 20:22:04 +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
Nicolas Werner
fc4098d3e4 Receive stickers from whatsapp
We need to convert them to png, otherwise synapse has trouble
thumbnailing them. Also the default webp decoder can't decode WhatsApp
stickers, so we use the chai2010 decoder.
2019-10-05 02:39:55 +02:00
Tulir Asokan
22fb5c125d Update go-whatsapp (ref #94) 2019-09-03 21:24:33 +03:00
Tulir Asokan
9c144e480e Update mautrix-appservice-go 2019-09-01 18:23:14 +03:00
Tulir Asokan
6861ba00ec Update go-whatsapp 2019-08-31 00:33:39 +03:00
Tulir Asokan
04192da0a6 Update go-whatsapp dep 2019-08-30 22:22:44 +03:00
Tulir Asokan
db53b95ab1 Try to ensure recovered panics still print stack traces 2019-08-30 09:39:41 +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
2c89089650 Update deps 2019-08-24 22:56:29 +03:00
Tulir Asokan
b9ce4d7ab4 Update mautrix-appservice-go 2019-08-23 00:02:04 +03:00
Tulir Asokan
35e28feb7c Update deps 2019-07-18 00:18:01 +03:00
Tulir Asokan
2023f55f32 Recover from panics in event handlers 2019-06-18 08:24:17 +03:00
Tulir Asokan
45e60c2510 Update go-whatsapp 2019-06-16 23:00:45 +03:00
Tulir Asokan
d270c86709 Update go-whatsapp 2019-06-12 12:38:07 +03:00
Tulir Asokan
c4186c9029 Update deps and add real version for go-whatsapp dep
Closes #66
2019-06-01 20:18:24 +03:00
Tulir Asokan
666194b066 Possibly fix and/or break missed message backfilling 2019-05-28 21:30:39 +03:00
Tulir Asokan
402f482db3 Update deps 2019-05-27 13:48:11 +03:00
Tulir Asokan
0db44d4cc7 Remove dev replaces in go.mod again 2019-05-24 02:36:59 +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
5eb06ee43c Update go-whatsapp with new proto version 2019-05-23 22:57:19 +03:00
Tulir Asokan
2f78d803c2 Update deps 2019-05-23 18:24:58 +03:00
Tulir Asokan
6f2a51410f Make message handling more synchronous and fill history on portal create 2019-05-21 23:44:14 +03:00
Tulir Asokan
9c8a75583e Update deps 2019-05-20 18:46:18 +03:00
Tulir Asokan
bd1d60639c Switch to go-whatsapp fork to test json parse error fix 2019-05-20 18:45:16 +03:00
Tulir Asokan
33148909d6 Remove dev replaces in go.mod again 2019-05-17 02:33:49 +03:00
Tulir Asokan
b0d774a5a5 Add database migrations and handle leaving private chat portals. Fixes #7 2019-05-16 21:26:43 +03:00
Tulir Asokan
f39fd0ac46 Update mautrix-go 2019-05-16 00:51:45 +03:00
Tulir Asokan
7fb5cfe884 Remove dev replaces that were accidentally committed 2019-05-15 23:17:31 +03:00
Tulir Asokan
6b73c66e12 Improve connection error handling 2019-05-15 23:04:09 +03:00
Tulir Asokan
69879df346 Update deps 2019-05-15 21:49:16 +03:00
Tulir Asokan
043820755f Revert go-whatsapp update again
This partly reverts commit b092e71a44
2019-03-30 19:25:26 +02:00
Tulir Asokan
b10fac2bb1 Update go-whatsapp. Fixes #35 2019-03-14 01:15:39 +02:00
Tulir Asokan
c88e299348 Set name for status broadcast room when creating and reformat example config
Fixes #27
2019-03-14 00:54:05 +02:00
Tulir Asokan
e051067f81 Upgrade dependencies to version without Rhymen/go-whatsapp@c9a81e9 2019-02-24 02:22:57 +02:00
Tulir Asokan
6f300ae6cb Revert "Use fork of go-whatsapp with better connection handling"
This reverts commit c5aac5e770.
2019-02-23 23:29:26 +02:00
Tulir Asokan
542aafe7df Revert "Update dependencies"
This reverts commit cc8928b30e.
2019-02-23 23:27:38 +02:00
Tulir Asokan
8dfc37b190 Use fork of go-whatsapp with better connection handling 2019-02-20 15:15:30 +02:00
Tulir Asokan
58a1ec9f2e Update dependencies 2019-02-20 13:12:23 +02:00
Tulir Asokan
010059969a Remove replace directives in go.mod 2019-01-27 14:17:51 +02:00
Tulir Asokan
9e170f3d04 Add a bunch of new logging 2019-01-21 23:55:16 +02: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