whatsapp

A Matrix-WhatsApp puppeting bridge

AGPL-3.0 License

Stars
1.2K
Committers
42

Bot releases are hidden (Show)

whatsapp - v0.10.7 Latest Release

Published by tulir 6 months ago

  • Changed media download retries to be handled asynchronously instead of blocking other messages.
whatsapp - v0.10.6

Published by tulir 7 months ago

  • Bumped minimum Go version to 1.21.
  • Added 8-letter code pairing support to provisioning API.
  • Added more bugs to fix later.
  • Renamed default branch from master to main.
whatsapp - v0.10.5

Published by tulir 10 months ago

  • Added support for sending media to channels.
  • Fixed voting in polls (seems to have broken due to a server-side change).
  • Improved memory usage for bridges with lots of portals.
whatsapp - v0.10.4

Published by tulir 11 months ago

  • Added support for channels in join and open commands.
  • Added initial bridging of channel admin to room admin status.
  • Fixed panic when trying to send message in a portal which has a relaybot set if the relaybot user gets logged out of WhatsApp.
whatsapp - v0.10.3

Published by tulir about 1 year ago

  • Added basic support for channels.
  • Added default mime type for outgoing attachments when the origin Matrix client forgets to specify the mime type.
  • Fixed legacy backfill creating portals for chats without messages.
  • Updated libwebp version used for encoding.
whatsapp - v0.10.2 (security update)

Published by tulir about 1 year ago

  • Stopped using libwebp for decoding webps.
whatsapp - v0.10.1

Published by tulir about 1 year ago

  • Added support for double puppeting with arbitrary as_tokens. See docs for more info.
  • Added retrying for media downloads when WhatsApp servers break and start returning 429s and 503s.
  • Fixed logging in with 8-letter code.
  • Fixed syncing community announcement groups.
  • Changed "Incoming call" message to explicitly say you have to open WhatsApp on your phone to answer.
whatsapp - v0.10.0

Published by tulir about 1 year ago

  • Bumped minimum Go version to 1.20.
  • Added automatic re-requesting of undecryptable WhatsApp messages from primary device.
  • Added support for round video messages.
  • Added support for logging in by entering a 8-letter code on the phone instead of scanning a QR code.
    • Note: due to a server-side change, code login may only work when os_name and browser_name in the config are set in a specific way. A future release will automatically change the values to always work with code login.
whatsapp - v0.9.0

Published by tulir over 1 year ago

  • Removed MSC2716 support.
  • Added legacy backfill support.
  • Updated Docker image to Alpine 3.18.
  • Changed all ogg audio messages from WhatsApp to be bridged as voice messages to Matrix, as WhatsApp removes the voice message flag when forwarding for some reason.
  • Added Prometheus metric for WhatsApp connection failures (thanks to @Half-Shot in #620).
whatsapp - v0.8.6

Published by tulir over 1 year ago

  • Implemented intentional mentions for outgoing messages.
  • Added support for appservice websockets.
  • Added additional index on message table to make bridging outgoing read receipts and messages faster in chats with lots of messages.
  • Fixed handling WhatsApp poll messages that only allow one choice.
  • Fixed bridging new groups immediately when they're created.
whatsapp - v0.8.5

Published by tulir over 1 year ago

  • Added option to disable reply fallbacks entirely.
  • Added provisioning API for joining groups with invite links.
  • Added error reply to encrypted messages if the bridge isn't configured to do encryption.
  • Changed audio messages with captions to be sent as documents to WhatsApp (otherwise the caption would be lost).
whatsapp - v0.8.4

Published by tulir over 1 year ago

  • Enabled sending edits to WhatsApp by default.
  • Added options to automatically ratchet/delete megolm sessions to minimize access to old messages.
  • Added automatic media re-requesting when download fails with 403 error.
  • Added option to not set room name/avatar even in encrypted rooms.
whatsapp - v0.8.3

Published by tulir over 1 year ago

  • Bumped minimum Go version to 1.19.
  • Switched to zerolog for logging.
    • The basic log config will be migrated automatically, but you may want to tweak it as the options are different.
  • Implemented MSC3952: Intentional Mentions (currently only for incoming messages).
  • Implemented MSC2659: Application service ping endpoint.
whatsapp - v0.8.2

Published by tulir over 1 year ago

  • Updated portal room power levels to always allow poll votes.
  • Fixed disappearing message timing being implemented incorrectly.
  • Fixed server rejecting messages not being handled as an error.
  • Fixed sent files not being downloadable on latest WhatsApp beta versions.
  • Fixed sync space command not syncing DMs into the space properly.
  • Added workaround for broken clients like Element iOS that can't render normal image messages correctly.
whatsapp - v0.8.1

Published by tulir almost 2 years ago

  • Added support for sending polls from Matrix to WhatsApp.
  • Added config option for requesting more history from phone during login.
  • Added support for WhatsApp chat with yourself.
  • Fixed deleting portals not working correctly in some cases.
whatsapp - v0.8.0

Published by tulir almost 2 years ago

  • Added support for bridging polls from WhatsApp and votes in both directions.
    • Votes are only bridged if MSC3381 polls are enabled (extev_polls in the config).
  • Added support for bridging WhatsApp communities as spaces.
  • Updated backfill logic to mark rooms as read if the only message is a notice about the disappearing message timer.
  • Updated Docker image to Alpine 3.17.
  • Fixed backfills starting at the wrong time and sending smaller batches than intended in some cases.
  • Switched SQLite config from sqlite3 to sqlite3-fk-wal to enforce foreign keys and WAL mode. Additionally, adding _txlock=immediate to the DB path is recommended, but not required.
whatsapp - v0.7.2

Published by tulir almost 2 years ago

  • Added option to handle all transactions asynchronously.
    • This may be useful for large instances, but using it means messages are no longer guaranteed to be sent to WhatsApp in the same order as Matrix.
  • Fixed database error when backfilling disappearing messages on SQLite.
  • Fixed incoming events blocking handling of incoming encryption keys.
whatsapp - v0.7.1

Published by tulir about 2 years ago

  • Added support for wa.me/qr links in !wa resolve-link.
  • Added option to sync group members in parallel to speed up syncing large groups.
  • Added initial support for WhatsApp message editing.
    • Sending edits will be disabled by default until official WhatsApp clients start rendering edits.
  • Changed private_chat_portal_meta config option to be implicitly enabled in encrypted rooms, matching the behavior of other mautrix bridges.
  • Updated media bridging to check homeserver media size limit before downloading media to avoid running out of memory.
    • The bridge may still run out of ram when bridging files if your homeserver has a large media size limit and a low bridge memory limit.
whatsapp - v0.7.0

Published by tulir about 2 years ago

  • Bumped minimum Go version to 1.18.
  • Added hidden option to use appservice login for double puppeting.
    • This can be used by adding everyone to a non-exclusive namespace in the registration, and setting the login shared secret to the string appservice.
  • Enabled appservice ephemeral events by default for new installations.
    • Existing bridges can turn it on by enabling ephemeral_events and disabling sync_with_custom_puppets in the config, then regenerating the registration file.
  • Updated sticker bridging to send actual sticker messages to WhatsApp rather than sending as image. This includes converting stickers to webp and adding transparent padding to make the aspect ratio 1:1.
  • Added automatic webm -> mp4 conversion when sending videos to WhatsApp.
  • Started rejecting unsupported mime types when sending media to WhatsApp.
  • Added option to use MSC2409 and MSC3202 for end-to-bridge encryption. However, this may not work with the Synapse implementation as it hasn't been tested yet.
  • Added error notice if the bridge is started twice.
whatsapp - v0.6.1

Published by tulir about 2 years ago

  • Added support for "Delete for me" and deleting private chats from WhatsApp.
  • Added support for admin deletions in groups.
  • Document with caption messages should work with the bridge as soon as WhatsApp enables them in their apps.