Commit graph

230 commits

Author SHA1 Message Date
Tulir Asokan 7947ba616c Hide reconnected successfully message if report_connection_retry is false 2020-05-29 21:06:25 +03:00
Tulir Asokan c72610f3f0 Fix handling new messages during initial portal backfill 2020-05-28 20:35:43 +03:00
Tulir Asokan 7cf19b0908 Auto-create management room if needed when sending notices 2020-05-27 12:16:05 +03:00
Tulir Asokan e4bc254a65 Change incoming call notices back to m.text 2020-05-21 20:14:43 +03:00
Tulir Asokan 9002bf62ed Fix needing to reconnect after initial login 2020-05-21 19:49:01 +03:00
Tulir Asokan acc25a02e4 Update mautrix-go 2020-05-08 22:32:22 +03:00
Tulir Asokan 53fe1b1818 Update go-whatsapp. Fixes #169 2020-04-21 09:25:18 +03:00
Tulir Asokan 16dc3c8699 Add initial provisioning API 2020-02-09 20:32:14 +02:00
Tulir Asokan 8c3807a16d Add puppet to personal filtering community when adding portal 2020-01-07 21:40:51 +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 3caca1b9a0 Fix NeedsRelaybot check for groups too 2019-11-11 22:41:58 +02:00
Tulir Asokan 691d2ea1b3 Fix NeedsRelaybot check and relaybot command handling without arguments 2019-11-11 22:30:59 +02:00
Tulir Asokan 03d42640fe Add basic relaybot support. Fixes #20 2019-11-10 21:22:11 +02:00
Tulir Asokan d91f705e95 Fix most unexpected logout bugs, handle connection-in-progress states better and send warning message if sending to whatsapp times out 2019-08-30 22:04:57 +03:00
Tulir Asokan fccf6e981f Disconnect if session restore fails
Otherwise the connection sticks around and can suddenly become logged in
2019-08-30 21:31:56 +03:00
Tulir Asokan 2313321d01 Improve startup sync timeout handling 2019-08-30 20:57:08 +03:00
Tulir Asokan db53b95ab1 Try to ensure recovered panics still print stack traces 2019-08-30 09:39:41 +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 80a0edd855 Add option to disable call start/end notifications. Fixes #68 2019-08-24 22:42:03 +03:00
Tulir Asokan 44a0fc65b8 Handle 400 init response and add ping command. Fixes #87 2019-08-24 22:39:12 +03:00
Tulir Asokan 7bf470d69e Add portal rooms to user-specific community for filtering 2019-08-10 15:28:12 +03:00
Andrew Morgan 5d0b15f7f7 Remove command prefix from reconnect prompt (#81) 2019-07-18 00:22:00 +03:00
Tulir Asokan 91e8000c14 Edit message with regenerated QR code when logging in 2019-07-18 00:17:25 +03:00
Tulir Asokan 29f5ae45c4 Print clean websocket disconnections if they weren't announced by the server beforehand
Also print message send errors when Session is not nil even if Connection is nil
2019-07-04 15:08:59 +03:00
Tulir Asokan 37fd5dba2c Fix syncing chats for users with old chats 2019-05-31 21:59:23 +03:00
Tulir Asokan 83f4cf2811 Fix crash and add more logging 2019-05-31 20:51:16 +03:00
Tulir Asokan 37cd34e4bf Make contact wait delay configurable and fix nil pointer usage 2019-05-30 20:25:04 +03:00
Tulir Asokan 02f78155b5 Only invite default puppet for backfilling when needed 2019-05-30 17:48:22 +03:00
Tulir Asokan a9fd97932b Send alerts about incoming calls 2019-05-30 17:00:36 +03:00
Tulir Asokan dce08b1422 Add user-portal mapping to database 2019-05-28 21:31:25 +03:00
Tulir Asokan 7f0c67168c Fix potential autoreconnect problem and add exponential backoff 2019-05-28 14:09:49 +03:00
Tulir Asokan 498c0e4130 Ignore invalid data received errors 2019-05-27 14:15:45 +03:00
Tulir Asokan bfe5af7edc Add Matrix->WhatsApp EDU bridging 2019-05-27 13:46:04 +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 8d0d5ff504 Switch sync command to use syncPortals and syncPuppets methods used at startup 2019-05-23 22:57:59 +03:00
Tulir Asokan 0408db5c07 Add config option for max age of chats to sync 2019-05-23 20:25:46 +03:00
Tulir Asokan 7b067b4737 Set avatar in room create request and sync participants before filling history 2019-05-22 23:27:58 +03:00
Tulir Asokan 14f96bd96f Fix some bugs in missed message and initial history filling 2019-05-22 23:05:58 +03:00
Tulir Asokan b363547bdf Possibly significantly improve how portals are created and synced 2019-05-22 16:46:18 +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 23747d4917 Add automatic connection retries 2019-05-17 23:53:57 +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 97e740d93d Maybe improve connecting errors 2019-05-16 18:24:59 +03:00
Tulir Asokan 2381eb029b Report WhatsApp server connection errors to user too. Fixes #18 2019-05-16 18:18:11 +03:00
Tulir Asokan b5af35684d Make connection timeout configurable 2019-05-16 18:08:30 +03:00
Tulir Asokan 5d0edda04a Add command to delete session information to force logout when the bridge gets stuck 2019-05-16 18:00:46 +03:00
Tulir Asokan c1e1964fc5 Add WhatsApp<->Matrix redaction bridging 2019-05-16 02:25:13 +03:00
Tulir Asokan ae92d71d5a Handle connection failures like disconnections 2019-05-16 01:56:33 +03:00
Tulir Asokan e25bf29609 Handle startup connection errors 2019-05-16 00:18:43 +03:00
Tulir Asokan adbdf55926 Improve edge case handling in login command by not assuming connection status 2019-05-15 23:17:09 +03:00
Tulir Asokan 6b73c66e12 Improve connection error handling 2019-05-15 23:04:09 +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
Sami Olmari d634addafc Change help 'import contacts' to 'sync'
After user succesfully sets up bridge, bot will tell what to do next. This info had still old command so I updated message to reflect new 'sync' directive.
2019-03-05 18:56:14 +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
Jörg Sommer a626d14a3f No sync on startup; new command import contacts
Having an import of all contacts on each startup and after login is very
annoying, if you have a big list of contacts. If you choose to not join a
room with all contacts, you get the invitation over and over on each
restart of the service. Better is to have a command for the management
room to explicitly start the import.
2018-12-07 20:08:06 +01:00
Tulir Asokan 22cdf519f2 Fix desegregation changes to make the bridge work again 2018-08-30 01:10:26 +03:00
Tulir Asokan c7348f29b0 Initial desegregation of users and automatic config updating 2018-08-29 00:40:54 +03:00
Tulir Asokan 6ad224a58b Convert mentions to names in plaintext body. Fixes #3 2018-08-28 20:09:37 +03:00
Tulir Asokan dad2fc29ab Send captions in a different message and improve other things 2018-08-27 23:15:05 +03:00
Tulir Asokan 941ab724c6 Add bridge permission checks 2018-08-26 17:08:37 +03:00
Tulir Asokan f78fb72622 Implement WhatsApp->Matrix power level bridging 2018-08-26 16:11:48 +03:00
Tulir Asokan d3a178ecf3 Add handling for group metadata changes and refactor things
Group metadata temporarily broken until power level bridging is implemented
2018-08-26 01:56:22 +03:00
Tulir Asokan ccfa85e44a Handle user avatar changes 2018-08-26 01:56:22 +03:00
Tulir Asokan 060516f9cf Add Matrix->WhatsApp replies and other stuff 2018-08-26 01:56:22 +03:00
Tulir Asokan 7f91d91f1b Fix read receipts in private chats and remove unnecessary stuff 2018-08-26 01:56:22 +03:00
Tulir Asokan 5eacaafc93 Add last typing update timestamp to check intended action of available presence properly 2018-08-24 22:06:17 +03:00
Tulir Asokan a7f7295528 Add WhatsApp->Matrix typing notifications and presence 2018-08-24 20:02:38 +03:00
Tulir Asokan 1f87deb317 Add WhatsApp->Matrix read receipts and phone connection notifications 2018-08-24 20:02:18 +03:00
Tulir Asokan b62a85a6df Implement matrix->whatsapp formatting and fix whatsapp->matrix files 2018-08-24 00:52:06 +03:00
Tulir Asokan 329bc9d8ce Add avatars, room topics and message deduplication 2018-08-23 01:12:26 +03:00
Tulir Asokan c1f8d264f4 Fix portal DB scanning and add initial message bridging 2018-08-19 18:21:38 +03:00
Tulir Asokan a9124b89bd Fix and add things
* Fix user ID reservation in registration
* Fix some database things
* Add commands
* Add basic contact syncing and portal creation
* Add better error logging
2018-08-18 22:57:33 +03:00
Tulir Asokan edd4f817e4 Use type aliases for different ID types and add puppet type 2018-08-17 00:11:28 +03:00
Tulir Asokan 141eba644b Fix data storage and other things 2018-08-16 19:20:07 +03:00
Tulir Asokan 9c48eeb534 Add puppet and portal stuff and fix config stuff 2018-08-16 15:59:18 +03:00
Tulir Asokan fd3c1fb77c Add database models and improve config/main 2018-08-13 23:24:44 +03:00