Commit graph

114 commits

Author SHA1 Message Date
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
b10fac2bb1 Update go-whatsapp. Fixes #35 2019-03-14 01:15:39 +02: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
67a041c06d Merge pull request #43 from RennerDev/master
Implemented postgres
2019-03-14 00:37:00 +02:00
Dominic Renner
cf6d8f6eb0 Merge pull request #1 from MonokelPinguin/develop
Make sqlite and postgres more similar
2019-03-06 23:11:09 +01:00
Nicolas Werner
9dde189438 Make message.CreateTable usable on postgres and sqlite 2019-03-06 23:03:19 +01:00
Nicolas Werner
d46578894e Rename user table back 2019-03-06 22:57:38 +01:00
Dominic Renner
2d3de9740c Update user.go 2019-03-06 22:26:55 +01:00
Dominic Renner
539699ba04 Update user.go 2019-03-06 22:23:15 +01:00
Dominic Renner
c1e20f96d0 Update puppet.go 2019-03-06 22:23:10 +01:00
Dominic Renner
d91bc8c346 Update portal.go 2019-03-06 22:23:05 +01:00
Dominic Renner
7c513c2f09 Update message.go 2019-03-06 22:22:54 +01:00
Dominic Renner
aaa57b353f Update database.go 2019-03-06 22:22:12 +01:00
Dominic Renner
5efd476c0a Update main.go 2019-03-06 22:21:24 +01:00
Dominic Renner
96a509384d Update database.go 2019-03-06 18:29:15 +01:00
Dominic Renner
4ba331fbfd Update main.go 2019-03-06 18:28:26 +01:00
Dominic Renner
aeb692d616 Update database.go 2019-03-06 18:18:40 +01:00
Dominic Renner
5fd9faec2a Update example-config.yaml 2019-03-06 18:18:08 +01:00
Dominic Renner
25da34b8f2 reverted to old version of whatsapp ext 2019-03-06 18:01:23 +01:00
Dominic Renner
daf0faab61 Fixed many database issues 2019-03-06 16:33:42 +01:00
Dominic Renner
6547a2ce1f changed sqlite to postgresql 2019-03-06 10:59:52 +01:00
Tulir Asokan
8c2cb26fd7 Merge pull request #42 from olmari/master
Change help message to 'sync' instead 'import contacts'
2019-03-05 20:14: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
e051067f81 Upgrade dependencies to version without Rhymen/go-whatsapp@c9a81e9 2019-02-24 02:22:57 +02:00
Tulir Asokan
6f300ae6cb Revert "Use fork of go-whatsapp with better connection handling"
This reverts commit c5aac5e770.
2019-02-23 23:29:26 +02:00
Tulir Asokan
542aafe7df Revert "Update dependencies"
This reverts commit cc8928b30e.
2019-02-23 23:27:38 +02:00
Tulir Asokan
8dfc37b190 Use fork of go-whatsapp with better connection handling 2019-02-20 15:15:30 +02:00
Tulir Asokan
c054fbae8e Remove reply fallback before generating new reply fallback. Fixes #26 2019-02-20 14:46:37 +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
58a1ec9f2e Update dependencies 2019-02-20 13:12:23 +02:00
Tulir Asokan
7853a7ce31 Merge pull request #32 from derEisele/master
Fix Dockerfile
2019-02-11 08:46:10 +02:00
Alexader Eisele
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
Tulir Asokan
010059969a Remove replace directives in go.mod 2019-01-27 14:17:51 +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
Tulir Asokan
bb3d67dba9 Lock state store when saving/loading and update deps 2018-12-16 21:32:10 +02:00
Tulir Asokan
c6d33d8bba Make sure there are enough args before getting args 2018-12-08 01:30:15 +02:00
Tulir Asokan
88483fc61f Merge pull request #22 from jo-so/master
Collection of small fixes and improvements
2018-12-08 01:25:24 +02:00
Jörg Sommer
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
Jörg Sommer
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
Jörg Sommer
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
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
Jörg Sommer
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
Jörg Sommer
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
Jörg Sommer
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
Jörg Sommer
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
Tulir Asokan
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
Hugues Morisset
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
Tulir Asokan
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