Commit graph

240 commits

Author SHA1 Message Date
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
da9fadb009 Add comment 2021-08-19 19:20:11 +03:00
Tulir Asokan
b3312bc663 Always use blank content for replies
It seems to work fine on the iOS, Android and Web versions of WhatsApp,
so let's save the two LoadMessages calls.
2021-08-19 19:17:46 +03:00
Tulir Asokan
4fe179d0d7 Remove content from message table. Fixes #320 2021-08-19 19:17:19 +03:00
Tulir Asokan
52484dc992 Add flag to invite events that will be auto-accepted 2021-08-18 16:24:13 +03:00
Tulir Asokan
039059df45 Ignore WhatsApp file length and hash mismatches 2021-08-06 01:33:17 +03:00
Tulir Asokan
f1dd496a2d Add support for Matrix->WhatsApp location messages 2021-08-04 10:56:55 +03:00
Tulir Asokan
e2acab694c Fix handling gifs in stickers 2021-07-23 22:44:35 +03:00
Tulir Asokan
e78dda0883 Move UserTyping calls to sendMessage 2021-07-07 15:11:00 +03:00
Tulir Asokan
e926d0175e Track WhatsApp message age and processing duration 2021-06-25 15:33:46 +03:00
Tulir Asokan
3eb5f44023 Add support for slightly older voice message identifier 2021-06-23 13:23:00 +03:00
Tulir Asokan
b66f37e373 Add ptt flag when sending MSC3245 voice messages to WhatsApp 2021-06-22 20:33:30 +03:00
Tulir Asokan
252d645fea Fix bridging audio/video duration from/to WhatsApp 2021-06-22 20:05:02 +03:00
Tulir Asokan
bd207df82d Store last message MXID in database for multipart messages 2021-06-22 12:35:38 +03:00
Tulir Asokan
4b80c15a0a Add some logs and increase timestamp difference for short-circuiting deduplication 2021-06-21 13:53:08 +03:00
Tulir Asokan
30ddd788ae Don't stop message processing loop if room creation fails 2021-06-19 02:22:21 +03:00
Tulir Asokan
bc7a82c0be Use mutex for accessing go-whatsapp contacts and chats maps 2021-06-19 02:22:01 +03:00
Tulir Asokan
b5c3e8abcb Make sure puppet has displayname set when sending message 2021-06-15 12:34:55 +03:00
Tulir Asokan
d4b7595b6e Add better error messages for some send errors 2021-06-15 12:07:31 +03:00
Tulir Asokan
1a23bfda30 Log type of message when starting handling 2021-06-10 16:29:20 +03:00
Tulir Asokan
06b84c4bb9 Add option to disable status bridging. Fixes #166 2021-06-01 15:28:15 +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
7c16eb8c53 Get last message timestamp from database when checking if message is too old 2021-05-12 13:39:24 +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
badea9c547 Add option to bridge archive and mute status from WhatsApp 2021-04-19 22:14:32 +03:00
Tulir Asokan
c811da6f7d Cleanup empty group portals even if user didn't leave WhatsApp side 2021-04-16 16:36:56 +03:00
Tulir Asokan
d3c0b50d5a Move request retrying to mautrix-go 2021-04-15 16:23:40 +03:00
Tulir Asokan
e9e623abf6 Increment chunk num so backfill logs work correctly 2021-04-01 12:31:39 +03:00
Tulir Asokan
24d172fd55 Don't create portals for stub messages 2021-03-19 21:14:01 +02:00
Tulir Asokan
93953ec48f Sync contact info when syncing room members if puppet has no displayname 2021-03-19 20:55:08 +02:00
Tulir Asokan
e19f8c7532 Fix some relaybot room create issues
Fixes #270
Fixes #236
2021-03-08 01:51:37 +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
001746be07 Ignore echo of invites sent by the bridge 2021-03-05 11:29:08 +02:00
Tulir Asokan
ab0019d087 Make sure interface conversion succeeds in error check 2021-03-04 20:46:08 +02: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
3d778a5a44 Create user_portal row when creating portal for new chat
Closes #273

Co-authored-by: dbedoya <dbedoya@ikono.com.co>
2021-02-26 16:09:24 +02:00
Tulir Asokan
0e3bf04daf Improve post-reconnection resending and fix potential encryption races 2021-02-25 17:22:29 +02:00
Tulir Asokan
6227dfb669 Fix re-syncing broadcast list recipients 2021-02-21 15:00:04 +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
7bd47fabb2 Update go-whatsapp to break everything and maybe improve things 2021-02-18 23:36:14 +02:00
Tulir Asokan
ca118e8678 Handle 404 errors when backfilling messages 2021-02-17 01:22:06 +02:00
Tulir Asokan
69dd7f803a Move whatsapp-ext to go-whatsapp 2021-02-17 01:21:30 +02:00
Tulir Asokan
9f4283b4e0 Add option to disable bridging Matrix leave events 2021-02-10 22:15:23 +02:00
Tulir Asokan
87ead90e03 Ignore group leaves in message history 2021-02-10 20:27:14 +02:00
Tulir Asokan
394da69a69 Ignore picture commands if chat meta sync is disabled
We get the same data from the message log
2021-02-09 23:52:55 +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
500cb0cd7c Improve logging when fetching backfill messages 2021-01-23 18:09:58 +02:00
Tulir Asokan
e6ccdb83b7 Revert portal backfill lock changes and update mautrix-go 2020-11-18 13:29:47 +02:00
Tulir Asokan
83779c6970 Correctly log cases where getMessageIntent returns nil 2020-11-17 02:16:32 +02:00
Tulir Asokan
7d54aca762 Add metric for tracking buffer size 2020-11-16 14:28:08 +02:00
Tulir Asokan
05b8d577f3 Retry sending messages if server returns 502 2020-11-09 18:05:23 +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
cccaa62a20
Merge pull request #232 from rreuvekamp/fix_228
Set RestrictMessageSending in portal create+update
2020-10-24 16:53:46 +03:00
Remi Reuvekamp
702a837929 Set RestrictMessageSending in portal create+update
Fixes #228
2020-10-12 12:59:14 +02:00
Tulir Asokan
cd8352a7df Remove webp conversion 2020-10-09 18:24:29 +03:00
Tulir Asokan
491d8b232e Stop using github.com/pkg/errors 2020-10-05 22:38:34 +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
2638204eaa Add option to update m.direct with double puppeting 2020-08-22 13:07:55 +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
0430446d6d Make message buffers bigger and make locking message handling less hacky 2020-07-23 20:10:21 +03:00
Tulir Asokan
3e7853f125 Send errors for more types of media bridge errors 2020-07-21 16:08:54 +03:00
Tulir Asokan
4a673b92fa Kick left users when syncing members 2020-07-05 23:16:59 +03:00
Tulir Asokan
8f805c539a Fix backfill in private chat portal with self 2020-07-05 19:24:48 +03:00
Tulir Asokan
ffb8529b73 Allow creating private chat portal by inviting WhatsApp puppet. Fixes #110 2020-07-05 18:57:03 +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
8cfb04a5ed Handle WhatsApp invites. Fixes #120 2020-06-26 00:13:03 +03:00
Tulir Asokan
326293303d Handle WhatsApp kicks and Matrix invites 2020-06-25 23:58:35 +03:00
Tulir Asokan
fed6756ae5 Handle leaving and kicking from Matrix. Fixes #47 2020-06-25 23:33:11 +03:00
Tulir Asokan
cbd1a79e80 Ignore some types of message parse errors 2020-06-23 19:03:20 +03:00
Tulir Asokan
3fe9289f91 Add support for Matrix->WhatsApp GIF bridging. Fixes #141 2020-06-23 16:37:13 +03:00
Tulir Asokan
689202f43d Move HandleMediaMessage parameters to a struct 2020-06-20 22:24:27 +03:00
Lieuwe Rooijakkers
9cc8b04c8e use whatsapp document filename for document type files
Fixes #199
2020-06-20 17:29:52 +02:00
Tulir Asokan
8e30262275 Fix sending updated bridge info 2020-06-15 20:39:16 +03:00
Tulir Asokan
59e2015fa7 Add option to resend bridge info to all portals 2020-06-15 20:28:04 +03:00
Tulir Asokan
ec86259a20 Update bridge info when portal metadata changes 2020-06-15 14:56:52 +03:00
Tulir Asokan
b8de8544e1 Add state key to m.bridge events 2020-06-11 14:41:45 +03:00
Tulir Asokan
7c799f1faa Encrypt media from WhatsApp when sending to encrypted portal 2020-06-10 15:26:14 +03:00
Tulir Asokan
210b1caf65 Add bridging of location messages to Matrix 2020-06-10 14:58:57 +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
535efcc8bd Send "delivery" receipt for messages bridged from WhatsApp too 2020-06-05 17:54:09 +03:00
Tulir Asokan
f1b50a22f3 Add bridge info state events for new portal rooms 2020-06-01 15:09:58 +03:00
Tulir Asokan
c72610f3f0 Fix handling new messages during initial portal backfill 2020-05-28 20:35:43 +03:00
Tulir Asokan
46e53eca4d Fix bridging messages to WhatsApp with relaybot. Fixes #191 2020-05-25 23:11:00 +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
aa0a4d3eea Call LoadMediaInfo and retry if media download fails with 404/410 2020-05-24 17:46:19 +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
c909a85fc7 Re-add sending bridging failure messages 2020-05-24 15:44:20 +03:00
Tulir Asokan
91bb38eaa3 Wait for response even after message send timeout 2020-05-24 15:33:26 +03:00
Tulir Asokan
4f09835b81 Fix sending captions to Matrix 2020-05-22 17:13:23 +03:00
Tulir Asokan
e4bc254a65 Change incoming call notices back to m.text 2020-05-21 20:14:43 +03:00
Tulir Asokan
e08676079a Fix bridging encrypted media from Matrix 2020-05-20 16:45:21 +03:00
Tulir Asokan
a770263d86 Encrypt media bridging error notices 2020-05-12 23:38:01 +03:00
Tulir Asokan
1c3de877db Maybe support e2be by default and fix some bugs 2020-05-12 22:25:55 +03:00
Tulir Asokan
6e50a7c380 Switch appservice module location 2020-05-09 20:08:05 +03:00
Tulir Asokan
f89fcf7212 Make no-cgo build work without source changes 2020-05-09 02:08:23 +03:00