| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
This makes the handlers run in a seperate go-routine in girc, and makes
sure that girc isn't blocked on executing PONG requests when
matterbridge takes a long time handling the incoming message.
This can happen when another bridge is in a backoff state where the
backoff time exceeds the IRC ping timeout.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Fixes #1302.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
See https://github.com/42wim/matterbridge/issues/1255 and
https://github.com/qaisjp/go-discord-irc/issues/57
Webhook edits gets ratelimited which cause other problems with
matterbridge. Disabling for now.
|
|
|
|
|
|
|
|
|
| |
* matrix: send the display name (the nickname in matrix parlance) instead of the user name
There is also the option UseUserName (already in use by the discord bridge) to turn back to the old behavior.
* matrix: update displayNames on join events
* matrix: introduce a helper.go file to keep matrix.go size reasonable
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using the webhook, the previous method to edit a message was to
delete the old one via the classical API, and to create a new message
via the webhook. While this works, this means that editing "old" messages
lead to a mess where the chronological order is no longer respected.
This uses an hidden API explained in https://support.discord.com/hc/en-us/community/posts/360034557771
to achieve a proper edition using the webhook API.
The obvious downside of this approach is that since it is an
undocumented API for now, so there is no stability guarantee :/
|
|
|
| |
Co-authored-by: George <zhoreeq@users.noreply.github.com>
|
|
|
| |
based on https://github.com/Half-Shot/matrix-doc/blob/hs/1695-message-edits-proposal/proposals/1695-message-edits.md
|
| |
|
| |
|
| |
|
|
|
| |
Signed-off-by: Gary Kim <gary@garykim.dev>
|
| |
|
|
|
| |
Signed-off-by: Gary Kim <gary@garykim.dev>
|
| |
|
| |
|
|
|
|
|
|
| |
This includes at least c-source-files, cpp-source-files,
markdown-files, Rust-files, and plaintext files.
We already allow uploading arbitrary executables. (And javascript-files,
coincidentally.) Not permitting these other text files would be highly unexpected.
|
| |
|
|
|
| |
Signed-off-by: Tilo Spannagel <development@tilosp.de>
|
|
|
| |
Signed-off-by: Tilo Spannagel <development@tilosp.de>
|
|
|
| |
Signed-off-by: Gary Kim <gary@garykim.dev>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The current way to get the correct JID of a WhatsApp group is to dump all JIDs to the log and grab the right one. This is working for for groups fine but not for broadcast, as they are not print out.
According to https://www.npmjs.com/package/@noamalffasy/js-whatsapp we have these possibilities:
* Chats: `[country code][phone number]@s.whatsapp.net`
* Groups: `[country code][phone number of creator]-[timestamp of group creation]@g.us`
* Broadcast Channels: `[timestamp of group creation]@broadcast`
But the bridge does currently interprets (and prints) the only second option.
|
| |
|
|
|
| |
Fixes #1047
|
|
|
|
|
| |
* Fix another whatsapp panic
* Update whatsapp vendor
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is half a fix for #874
This patch introduces a new config flag:
- MediaConvertTgs
These need to be treated independently from the existing
MediaConvertWebPToPNG flag because Tgs→WebP results in an
*animated* WebP, and the WebP→PNG converter can't handle
animated WebP files yet.
Furthermore, some platforms (like discord) don't even support
animated WebP files, so the user may want to fall back to
static PNGs (not APNGs).
The final reason why this is only half a fix is that this
introduces an external dependency, namely lottie, to be
installed like this:
$ pip3 install lottie cairosvg
This patch works by writing the tgs to a temporary file in /tmp,
calling lottie to convert it (this conversion may take several seconds!),
and then deleting the temporary file.
The temporary file is absolutely necessary, as lottie refuses to
work on non-seekable files.
If anyone comes up with a reasonable use case where /tmp is
unavailable, I can add yet another config option for that, if desired.
Telegram will bail out if the option is configured but lottie isn't found.
|
|
|
|
|
|
|
| |
When there is a valid HTML formatting then remove this in the cleartext
field of the matrix client. This leads to nicer push messages on
smartphone apps.
Fix #1188
|
| |
|
| |
|
|
|
| |
Signed-off-by: Gary Kim <gary@garykim.dev>
|
|
|
| |
Use Logfile option in the `[general]` section
|
| |
|
|
|
| |
Co-authored-by: Qais Patankar <qaisjp@gmail.com>
|
|
|
| |
Before returning an empty string, we refresh the WhatsApp contacts and if we found the one we wanted, we can return a real name. Fixes #796
|
| |
|
|
|
|
| |
By default, gIRC rate limits all outgoing messages.
Since matterbridge already implements message throttling, this is extra layer of throttling is not necessary.
|