Commit Graph

114 Commits

Author SHA1 Message Date
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
b10fac2bb1 Update go-whatsapp. Fixes #35 2019-03-14 01:15:39 +02:00
c88e299348 Set name for status broadcast room when creating and reformat example config
Fixes #27
2019-03-14 00:54:05 +02:00
67a041c06d Merge pull request #43 from RennerDev/master
Implemented postgres
2019-03-14 00:37:00 +02:00
cf6d8f6eb0 Merge pull request #1 from MonokelPinguin/develop
Make sqlite and postgres more similar
2019-03-06 23:11:09 +01:00
9dde189438 Make message.CreateTable usable on postgres and sqlite 2019-03-06 23:03:19 +01:00
d46578894e Rename user table back 2019-03-06 22:57:38 +01:00
2d3de9740c Update user.go 2019-03-06 22:26:55 +01:00
539699ba04 Update user.go 2019-03-06 22:23:15 +01:00
c1e20f96d0 Update puppet.go 2019-03-06 22:23:10 +01:00
d91bc8c346 Update portal.go 2019-03-06 22:23:05 +01:00
7c513c2f09 Update message.go 2019-03-06 22:22:54 +01:00
aaa57b353f Update database.go 2019-03-06 22:22:12 +01:00
5efd476c0a Update main.go 2019-03-06 22:21:24 +01:00
96a509384d Update database.go 2019-03-06 18:29:15 +01:00
4ba331fbfd Update main.go 2019-03-06 18:28:26 +01:00
aeb692d616 Update database.go 2019-03-06 18:18:40 +01:00
5fd9faec2a Update example-config.yaml 2019-03-06 18:18:08 +01:00
25da34b8f2 reverted to old version of whatsapp ext 2019-03-06 18:01:23 +01:00
daf0faab61 Fixed many database issues 2019-03-06 16:33:42 +01:00
6547a2ce1f changed sqlite to postgresql 2019-03-06 10:59:52 +01:00
8c2cb26fd7 Merge pull request #42 from olmari/master
Change help message to 'sync' instead 'import contacts'
2019-03-05 20:14:39 +02:00
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
e051067f81 Upgrade dependencies to version without Rhymen/go-whatsapp@c9a81e9 2019-02-24 02:22:57 +02:00
6f300ae6cb Revert "Use fork of go-whatsapp with better connection handling"
This reverts commit c5aac5e770d40fe5d5549a2939b92f0c103d8165.
2019-02-23 23:29:26 +02:00
542aafe7df Revert "Update dependencies"
This reverts commit cc8928b30e6944aa5cee77b8351beb0f89cd8d1a.
2019-02-23 23:27:38 +02:00
8dfc37b190 Use fork of go-whatsapp with better connection handling 2019-02-20 15:15:30 +02:00
c054fbae8e Remove reply fallback before generating new reply fallback. Fixes #26 2019-02-20 14:46:37 +02:00
361a1a1d1c Remove import command and add sync, list, open and pm
Fixes #29
2019-02-20 14:39:46 +02:00
58a1ec9f2e Update dependencies 2019-02-20 13:12:23 +02:00
7853a7ce31 Merge pull request #32 from derEisele/master
Fix Dockerfile
2019-02-11 08:46:10 +02:00
261ff0cad1 Fix Dockerfile
The build script was unable to copy the example config and the start script
2019-02-10 12:17:35 +01:00
010059969a Remove replace directives in go.mod 2019-01-27 14:17:51 +02:00
9e170f3d04 Add a bunch of new logging 2019-01-21 23:55:16 +02:00
79bd35964f Update license year, Dockerfile, docker-run.sh and deps and add editorconfig 2019-01-12 15:54:04 +02:00
1cccefd34c Switch to Go modules 2019-01-11 21:17:39 +02:00
bb3d67dba9 Lock state store when saving/loading and update deps 2018-12-16 21:32:10 +02:00
c6d33d8bba Make sure there are enough args before getting args 2018-12-08 01:30:15 +02:00
88483fc61f Merge pull request #22 from jo-so/master
Collection of small fixes and improvements
2018-12-08 01:25:24 +02:00
ae2ccb0d38 CommandHelp: don't print cmdprefix in management room
In the management room the user don't need to prefix the commands with the
command-prefix. Hence, don't show the prefix in the command list.
2018-12-07 23:31:15 +01:00
3c7d77a456 ExtendedConn.HandleJsonMessage: call jsonParseError
In case of something goes wrong for parsing the message as JSON message,
we should tell this the error handler.
2018-12-07 20:08:06 +01:00
da5e399333 CommandEvent.Reply: Send all messages to management room
Because the Bridge Bot doesn't participate in the rooms it can't send any
messages to this room. Hence, we should send all replies to the management
room.
2018-12-07 20:08:06 +01:00
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
ebfc5e214a Mention help in the first message in management room
To better guide the user after the first contact, tell him to use `help`
to see the list of commands.
2018-12-07 16:18:52 +01:00
0d49bd8d08 Portal.CreateMatrixRoom: ensure the user exists
In the log some message show up with `/_matrix/client/r0/createRoom
code=403 wrapped=M_FORBIDDEN: Application service has not registered this
user`. This is caused by the handling of text messages coming from unknown
users:

    mautrix-whatsapp/vendor/github.com/Rhymen/go-whatsapp/handler.go:106
    mautrix-whatsapp/user.go:250
    mautrix-whatsapp/portal.go:551

Hence, before creating a Matrix room, we must ensure the user for this
room exists.
2018-12-07 16:18:52 +01:00
95c8c01450 Check errors of GetProfilePicThumb
When a request for GetProfilePicThumb fails, WhatsApp sends an JSON object
containing a status field: `{"status":404}`. In my tests, it did send the
codes 401 and 404 which might correspond to the HTTP status codes. At
least, we don't have data to update the avatar and should stop doing so.
2018-12-07 16:18:52 +01:00
abe73684d0 Check errors for GetGroupMetaData
When a request for GroupMetadata fails, WhatsApp sends an JSON object
containing a status field: `{"status":500}`. In my tests, it sends the
codes 401, 404 and 500 which might have the meaning of the HTTP status
codes. At least, we don't have data to update the portal and should stop
doing anything.
2018-12-07 16:18:44 +01:00
abab28f8a7 Merge pull request #14 from izissise/docker-uid
Allow to set uid guid when running whatsapp program
2018-10-26 15:36:10 +03:00
62049fdf82 Allow to set uid guid when running whatsapp program
Set it using the env variable UID and GUID
2018-10-24 15:46:15 +02:00
a19239b936 Don't rewrite name templates when saving config
Advanced template stuff isn't preserved if you execute them
2018-10-23 18:22:58 +03:00