Tulir Asokan
7ae5791aa3
Bridge audio message waveforms in both directions
2022-02-10 12:50:04 +02:00
Tulir Asokan
94e880c2cc
Add support for setting group avatar from Matrix
2022-02-10 12:46:25 +02:00
Sumner Evans
b6352c4991
link previews: only include in Matrix event when there's an actual link
2022-02-06 22:30:00 -07:00
Sumner Evans
711548c0ba
link previews: update to support a list
...
Uses com.beeper.linkpreviews instead of com.beeper.linkpreview
2022-02-04 18:17:01 -07:00
Tulir Asokan
d4334f5df8
Clean up embedded link preview code
2022-02-04 22:19:55 +02:00
Adam Van Ymeren
779e591e60
fix formatting
2022-02-04 06:56:32 +00:00
Adam Van Ymeren
3ab04e65c8
Add support for bridging embedded link previews
...
Uses experimental com.beeper.linkpreview content extension
2022-02-04 04:02:03 +00:00
Tulir Asokan
9e39ce565b
Move read receipt handling to portal loop
...
This ensures that read receipts are only handled after the message
they're pointing at, even if the read receipt is sent immediately
(e.g. when the user has WhatsApp open on their phone).
2022-01-19 14:18:34 +02:00
Tulir Asokan
f151dc4e9e
Fix wrong log message
2022-01-19 14:13:06 +02:00
Tulir Asokan
a093b7f157
Remove redundant double-inviting of users
2022-01-17 16:26:26 +02:00
Tulir Asokan
abdfcdc8a6
Handle incoming Matrix messages as implicit read receipts
2022-01-17 12:00:02 +02:00
Tulir Asokan
c4a7943775
Add logs to debug read receipts
2022-01-17 10:38:44 +02:00
Tulir Asokan
b3e0d7afbb
Reject ghost user invites from non-logged-in users
2022-01-15 13:59:20 +02:00
Tulir Asokan
7f636e6aef
Update whatsmeow to read group disappearing message timer
2022-01-07 15:05:09 +02:00
Tulir Asokan
18ea5af45e
Add support for disappearing messages
2022-01-07 14:32:00 +02:00
Tulir Asokan
a6adf61417
Ignore file length mismatches again
2022-01-05 22:10:10 +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
6a9d5714c0
Log unsupported message type instead of content. Closes #419
2022-01-04 15:21:55 +02:00
Tulir Asokan
e2b0879f16
Add support for multi-contact messages
2022-01-03 16:11:39 +02:00
Tulir Asokan
7e5c2769c6
Clean up personal filtering space support
2021-12-29 21:40:08 +02:00
Helder Ferreira
3ec67ed434
make the bridge homeserver the default on via key space state
2021-12-29 14:25:12 +00:00
Helder Ferreira
727b11e7ef
add newly created channels to the space
...
Co-authored-by: clmnin <clament.john.k@gmail.com>
2021-12-29 08:37:41 +00:00
Tulir Asokan
7b5764919a
Add some sanity overrides for mime -> extension mapping
2021-12-25 22:40:10 +02:00
Tulir Asokan
ca5fcc42ba
Reroute broadcast list messages to correct DM portal. Fixes #411
2021-12-25 20:50:36 +02:00
Sumner Evans
ef24e20902
checkpoints: send UNSUPPORTED for broadcast list unsupported
2021-12-21 13:40:08 -07:00
Sumner Evans
cb3a9a381c
Merge pull request #408 from mautrix/double-puppeting-key-for-redactions
...
double puppeting: add flag to redaction events
2021-12-16 09:21:03 -07:00
Sumner Evans
76530f5774
double puppeting: add flag to redaction events
2021-12-16 09:06:51 -07:00
Tulir Asokan
0d977bc610
Don't send read receipts for fake JIDs
2021-12-16 10:38:12 +02:00
Tulir Asokan
c2520c14db
Create portals for incoming undecryptable messages
...
They might not be actual chat messages, but if we don't create a portal,
the user has no indication that something might have went wrong.
2021-12-16 10:38:12 +02:00
Tulir Asokan
5e2b54f97e
Add constant for double puppet value
2021-12-15 13:51:20 +02:00
Sumner Evans
c15b963748
double puppeting: use fi.mau.double_puppet_source
2021-12-15 02:51:26 -07:00
Tulir Asokan
e38b0bf545
Use channel for Matrix events to prevent concurrent sending to WhatsApp
2021-12-14 17:47:30 +02:00
Tulir Asokan
be05d7d4a9
Pass through media dimensions from WhatsApp
2021-12-09 19:20:52 +02:00
Tulir Asokan
9dc1b7911f
Fix relay check in DMs
2021-12-09 15:32:11 +02:00
Tulir Asokan
86cb0f221e
Fix some logs
2021-12-08 16:00:01 +02:00
Tulir Asokan
0106c5ccf2
Merge remote-tracking branch 'origin/checkpoint-retry-num'
2021-12-07 16:13:48 +02:00
Tulir Asokan
1d8ef6cb89
Add support for MSC2409
2021-12-07 16:02:51 +02:00
Tulir Asokan
00d16bea19
Add notification for live location messages. Fixes #403
2021-12-07 14:51:56 +02:00
Sumner Evans
ed2bb3ac5f
checkpoints: send retry_num
2021-12-03 17:50:55 -07:00
Tulir Asokan
7bb629d199
Fix Matrix read receipt handling too
2021-12-01 21:14:37 +02:00
Tulir Asokan
a909750dcc
Mark all messages as read instead of only last one
2021-11-30 16:38:37 +02:00
Tulir Asokan
04ab823a4d
Fix some things
2021-11-30 15:27:15 +02:00
Tulir Asokan
0a8cc8fd39
Add checkpoints for ignored redactions. Closes #399
2021-11-30 12:11:23 +02:00
Tulir Asokan
a61ef492cf
Fix status broadcast check accidentally muting all chats
2021-11-22 11:03:09 +02:00
Sumner Evans
139a0bd679
Send checkpoints using new API and send DECRYPTED step checkpoints
2021-11-18 08:46:14 -07:00
Sumner Evans
52f09001a7
portal: send checkpoint for matrix messages
2021-11-18 08:46:14 -07:00
Tulir Asokan
91de4fe70e
Make proper thumbnails for images when sending to WhatsApp
2021-11-11 20:33:22 +02:00
Tulir Asokan
a8beec8754
Handle identity changes properly. Fixes #384
2021-11-09 17:49:34 +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
f5ae637ffd
Resync all puppets after app state sync completes
2021-11-08 13:04:39 +02:00
Tulir Asokan
19104d857b
Remove unused variable and fix formatting
2021-11-06 21:30:27 +02:00
Tulir Asokan
ea045160a2
Never return nil in IntentFor(). Fixes #379
2021-11-06 14:20:56 +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
433aaf3829
Reimplement more things
2021-11-05 12:17:56 +02:00
Tulir Asokan
7e20452783
Move all SetReply calls to one place
2021-11-05 11:47:51 +02:00
Tulir Asokan
752aff48f1
Prioritize backfilling recent messages and fix some bugs
2021-11-03 21:34:06 +02:00
Tulir Asokan
c42f2123fb
Use bridge info content struct from mautrix-go
2021-11-03 20:41:34 +02:00
Tulir Asokan
2d90295488
Use partial info from history sync if latest group info not found
2021-11-03 14:43:53 +02:00
Tulir Asokan
ab4f16328e
Send a dummy event for initial history backfill too
2021-11-02 19:09:52 +02:00
Tulir Asokan
e0d79f2de1
Re-add call start notices
2021-11-02 15:46:31 +02:00
Tulir Asokan
7218f9ad76
Adjust logic for adding members in backfill
2021-11-02 12:28:53 +02:00
Tulir Asokan
9994a04f79
Allow redacting through relaybot. Fixes #298
2021-11-01 16:46:03 +02:00
Tulir Asokan
dd50379c3a
Fix participant ID in replies and update comment
2021-11-01 16:29:13 +02:00
Tulir Asokan
4ac445a868
Fix checking if message contains interesting things
2021-11-01 15:30:56 +02:00
Tulir Asokan
ce8a29b46f
Update whatsmeow. Fixes #365
2021-11-01 13:03:09 +02:00
Tulir Asokan
345244fedb
Reimplement open command
2021-11-01 11:28:52 +02:00
Tulir Asokan
baf2482c3a
Store server timestamp of outgoing messages in db
2021-11-01 11:21:38 +02:00
Tulir Asokan
2bcc15cb47
Don't log warnings for unhandled messages with no human-readable content
2021-11-01 11:21:38 +02:00
Sumner Evans
96cf814848
Add option to disable federation on portal rooms ( #362 )
2021-11-01 11:17:44 +02:00
Tulir Asokan
79f51af06e
Improve invite message text
2021-10-31 20:47:30 +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
dc9e08d39f
Stop using ioutil
2021-10-31 13:30:19 +02:00
Tulir Asokan
4f11d41a60
Fix bug in bridging captions
2021-10-30 19:17:10 +03:00
Tulir Asokan
2b2f1abd85
Improve unhandled message log
2021-10-30 14:47:46 +03:00
Tulir Asokan
3d384a6db7
Clean up and fix some things
2021-10-29 16:50:29 +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
1ad17048cc
Add better logs for Matrix redaction handling
2021-10-27 21:34:22 +03:00
Tulir Asokan
0784132649
Fix choosing intent to handle redaction
2021-10-27 21:09:36 +03:00
Tulir Asokan
92c9ec6203
Remove some commented code and add note about future code to remove
2021-10-27 19:48:14 +03:00
Tulir Asokan
43922cf09e
Pre-render markdown for undecryptable message notice
2021-10-27 18:44:17 +03:00
Tulir Asokan
b918b4f261
Handle decryption errors from WhatsApp properly
2021-10-27 18:31:33 +03:00
Tulir Asokan
b874d324eb
Send dummy event after backfill
...
This is necessary in case there aren't any real messages before the next
backfill. Otherwise the next backfill would go before the old backfill
(at the top of the room) rather than at the bottom of the room.
2021-10-26 21:30:44 +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
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
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