Commit graph

162 commits

Author SHA1 Message Date
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 02dc422089 Improve ping command response 2021-11-01 15:32:08 +02:00
Tulir Asokan 06a3346d28 Update mautrix-go and improve pm command responses 2021-11-01 12:28:57 +02:00
Tulir Asokan a438e1e53d Update whatsmeow 2021-11-01 11:44:25 +02:00
Tulir Asokan 345244fedb Reimplement open command 2021-11-01 11:28:52 +02:00
abmantis 91f307df0e Reimplement list command 2021-11-01 11:21:34 +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 1f91eacc10 Reimplement invite-link command 2021-10-31 15:14:26 +02:00
Tulir Asokan fca78e1c0d Reimplement reconnect command 2021-10-31 14:12:41 +02:00
Tulir Asokan 1d877771e4 Add ping-matrix command 2021-10-30 23:44:41 +03:00
Tulir Asokan 84f6337979 Fix typos 2021-10-30 22:41:18 +03:00
Tulir Asokan e3aed76f7a Add option to limit age of chats to create portals for 2021-10-30 21:54:35 +03:00
Tulir Asokan 745dd1cd63 Fix incorrect bridge state after logging out 2021-10-29 22:03:00 +03:00
Tulir Asokan 70214bdc42 Fix some issues with login/logout 2021-10-29 21:38:30 +03:00
Tulir Asokan 4695ce450f Show error message if user scans QR code with multidevice disabled 2021-10-28 21:22:34 +03:00
Tulir Asokan 43a9d90b13 Add error responses to unimplemented commands 2021-10-28 14:35:09 +03:00
Tulir Asokan b2e6a614b9 Update delete-all-portals and remove commented code 2021-10-28 14:27:59 +03:00
Tulir Asokan bb9a0f6528 Make relay mode more like the Signal bridge 2021-10-28 13:57:15 +03:00
Tulir Asokan ded2fb9799 Implement logout and provisioning API login 2021-10-27 15:54:34 +03:00
Tulir Asokan 7aa838dce6 Make delete-all-portals temporarily admin-only 2021-10-26 22:13:31 +03:00
Tulir Asokan 0b4d0bbbe1 Handle history sync payloads with MSC2716 batch sending 2021-10-26 17:01:10 +03:00
Tulir Asokan 56850bb698 Initial switch to go.mau.fi/whatsmeow 2021-10-22 20:14:34 +03:00
Christian Paul cc80c90565 Login help text: Remove trailing apostrophe 2021-09-23 11:03:56 -04:00
Tulir Asokan abbff16e66 Switch bridge state system to using state events 2021-08-04 16:14:47 +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 74e21b8e1d Make bridge state monitoring more generic 2021-06-01 15:19:47 +03:00
Tulir Asokan dbdd3258b2 Fix version command output 2021-04-29 14:00:26 +03:00
Tulir Asokan 06a041981d Merge remote-tracking branch 'conor-f/toggle-presence-and-receipts' 2021-04-19 19:25:40 +03:00
Tulir Asokan cbdd10e704 Send real-time whatsapp connection state to asmux 2021-03-15 18:06:16 +02:00
Tulir Asokan e19f8c7532 Fix some relaybot room create issues
Fixes #270
Fixes #236
2021-03-08 01:51:37 +02:00
Conor Flynn 58d793724c Allows toggling both presence and receipts with one command param. 2021-03-02 17:06:16 +00: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 7bd47fabb2 Update go-whatsapp to break everything and maybe improve things 2021-02-18 23:36:14 +02:00
Tulir Asokan 69dd7f803a Move whatsapp-ext to go-whatsapp 2021-02-17 01:21:30 +02:00
Tulir Asokan ba0ec021ba Update go-whatsapp 2021-02-10 21:20:31 +02:00
Tulir Asokan 3c7ff4bc0c Miscellaneous improvements to connection management 2021-02-05 19:26:09 +02:00
Tulir Asokan eba66693b0 Fix handling empty commands 2020-12-28 00:21:26 +02:00
Tulir Asokan e02da56ad0 Fix creating groups in unencrypted rooms
Fixes #209
Closes #233
2020-10-24 16:51:24 +03:00
Tulir Asokan 0f17863708 Add command to reset the megolm session in a room 2020-10-05 22:32:15 +03:00
Tulir Asokan f21f57f09f Fix delete-session not deleting all cached state 2020-10-04 13:55:09 +03:00
Tulir Asokan 3dae9b1999 Add connection state to prometheus metrics 2020-09-27 22:30:08 +03:00
Tulir Asokan b7275a763a Make bridging receipts togglable separately from presence 2020-07-10 16:26:55 +03:00
Tulir Asokan 518cb076ff Add command to create WhatsApp group 2020-07-10 15:23:32 +03:00
Tulir Asokan 7eb4cfb946 Add command to disable bridging presence and read receipts 2020-07-10 14:53:18 +03:00
Tulir Asokan 07927741bf Linkify already existing portal error message in pm command 2020-07-05 19:41:28 +03:00
Tulir Asokan 7dc4632cd4 Create new portal if invite fails in pm command. Fixes #188 2020-07-05 19:27:40 +03:00
Tulir Asokan 326293303d Handle WhatsApp kicks and Matrix invites 2020-06-25 23:58:35 +03:00
Tulir Asokan 3a571b2c7a Add command to join groups with invite link 2020-06-25 23:29:25 +03:00
Tulir Asokan 67864d8475 Make command system work better in private chat portals 2020-06-25 22:42:52 +03:00
Tulir Asokan 09a08a9ef4 Add command to get group invite link 2020-06-25 22:40:34 +03:00
Tulir Asokan 63a1a77f26 Update go-whatsapp to handle unknown ping responses 2020-06-23 15:36:08 +03:00
Tulir Asokan 8bcf81879d Add connect as alias to reconnect command 2020-06-15 19:00:29 +03:00
Tulir Asokan b88b02ace3 Add missing v to version command output 2020-06-04 01:34:50 +03:00
Tulir Asokan 3f35a90145 Send plain version number to WhatsApp 2020-06-03 20:59:44 +03:00
Tulir Asokan f3793309a0 Fix +dev suffix in version 2020-06-03 20:44:52 +03:00
Tulir Asokan 09385713de Include commit information in CI builds. Fixes #158 2020-06-03 20:32:53 +03:00
Tulir Asokan 2857b57c8e Use strings.Fields instead of manually removing spaces 2020-05-24 19:03:57 +03:00
Tulir Asokan bb883e1262 Ignore multiple spaces in commands 2020-05-24 17:03:50 +03:00
Dekedro daee58bece Fix out of range access when requesting last page with list
Prevent command `list` from failing with out of range access error if number
of entries is lower than maximum entry index for that page a.k.a.
if `len(result) < page*max`
2020-05-24 13:07:46 +00:00
Tulir Asokan 3d92a98891 Fix sorting list output 2020-05-24 00:11:56 +03:00
Tulir Asokan abffc0b54c Fix default page number in list command 2020-05-23 23:52:05 +03:00
Tulir Asokan ba4aaa8f52 Add missing commands to help 2020-05-23 23:25:22 +03:00
Tulir Asokan 2353924456 Paginate output of list command
Fixes #147
Closes #148
2020-05-23 23:17:45 +03:00
Tulir Asokan 64af0209b7 Suggest delete-session when trying to logout without connection. Fixes #98 2020-05-21 20:50:54 +03:00
Tulir Asokan 9002bf62ed Fix needing to reconnect after initial login 2020-05-21 19:49:01 +03:00
Tulir Asokan db5c1a3f61 Make sure user gets invited to portal when using open command 2020-05-12 20:30:38 +03:00
Tulir Asokan 6e50a7c380 Switch appservice module location 2020-05-09 20:08:05 +03:00
Tulir Asokan baae66ed04 Add basic end-to-bridge encryption support
Still missing persisting sync tokens and crypto state in DB
2020-05-09 02:04:01 +03:00
Tulir Asokan acc25a02e4 Update mautrix-go 2020-05-08 22:32:22 +03:00
Remi Reuvekamp 46b784ca3d Disconnect before reconnecting 2020-03-11 17:21:51 +01:00
Remi Reuvekamp a932911c56 Fix #142
Don't disconnect when trying to reconnect and receiving a ErrAlreadyLoggedIn as a result.
2020-03-11 16:28:14 +01: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 4747d6999b Add different error message in ping if user has no session 2019-08-30 21:32:47 +03:00
Tulir Asokan 2313321d01 Improve startup sync timeout handling 2019-08-30 20:57:08 +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 44a0fc65b8 Handle 400 init response and add ping command. Fixes #87 2019-08-24 22:39:12 +03:00
Tulir Asokan 2bf3edda16 Add logout-matrix command 2019-05-31 23:02:00 +03:00
Tulir Asokan 83f4cf2811 Fix crash and add more logging 2019-05-31 20:51:16 +03:00
Tulir Asokan a40584db41 Add command to delete all own portals for a fresh start 2019-05-31 19:33:18 +03:00
Tulir Asokan 02f78155b5 Only invite default puppet for backfilling when needed 2019-05-30 17:48:22 +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 239de25bf0 Don't connect in reconnect command if the user is not logged in 2019-05-23 20:11:55 +03:00
Tulir Asokan f9c3e99d10 Fix/change things 2019-05-23 20:09:22 +03:00
Tulir Asokan b363547bdf Possibly significantly improve how portals are created and synced 2019-05-22 16:46:18 +03:00
Tulir Asokan adc7257490 Add admin command to delete portal and fix some other things 2019-05-21 21:06:27 +03:00
Tulir Asokan 23747d4917 Add automatic connection retries 2019-05-17 23:53:57 +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 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 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
Remi Reuvekamp 31ef9d339f Disallow using session commands when not logged in
This fixes panics that happen because the handlers assume the user is logged
in when the command is executed.

Example of a panic that happened:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x928d7c]

goroutine 127 [running]:
main.(*CommandHandler).CommandList(0xc0001783c0, 0xc00016bef8)
	/build/commands.go:186 +0x6c
main.(*CommandHandler).Handle(0xc0001783c0, 0xc000455920, 0x1b,
0xc0002480c0, 0xc000250470, 0x4)
	/build/commands.go:89 +0x1f3
main.(*MatrixHandler).HandleMessage(0xc000176db0, 0xc0001ae6c0)
	/build/matrix.go:161 +0x203
created by maunium.net/go/mautrix-appservice.(*EventProcessor).Start
2019-03-15 15:45:27 +01:00
Tulir Asokan c88e299348 Set name for status broadcast room when creating and reformat example config
Fixes #27
2019-03-14 00:54:05 +02:00
Tulir Asokan 361a1a1d1c Remove import command and add sync, list, open and pm
Fixes #29
2019-02-20 14:39:46 +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