33 Commits

Author SHA1 Message Date
Mads L. Nielsen
0dfe833ea7
Merge aa8709359f582ca8b93db5ad95453832e0f6fbf3 into 5cc379fde09edf0753be8d8a871ca5a3003913f7 2026-08-10 16:30:31 +02:00
Bernhard B
54507eba20 handle status code -4 in the getRaw method of the JsonRpc2Client 2026-07-23 22:51:35 +02:00
zetles
0651bca94b fix: Fixed potential errors / vulnerabilities found by gosec 2026-05-21 14:48:06 +02:00
Bernhard B
07260c0811 fixed bug in json-rpc webhook
* only post messages that were received via 'receive'

see #813
2026-03-14 15:54:49 +01:00
Bernhard B
af34a0881c fixed small bug in json-rpc reconnect mechanism
* after we successfully reconnected, wait for new data
2026-03-05 20:50:42 +01:00
Bernhard B
c7cb9ab13e improved json-rpc reconnection logic
* when the connection the signal-cli daemon is lost in json-rpc mode,
  the open connection will be closed and a new connection attempt will
  be made. If after 15 connection attempts we are unable to connect to
  the signal-cli daemon, we give up and abort.
2026-03-05 20:43:22 +01:00
Bernhard B
af18c7aea8 switched to signal-cli daemon mode
* this gets rid off the ugly netcat workaround and should improve
  the general stability of the connection to the signal-cli binary
  in json-rpc mode.
2026-03-05 20:41:17 +01:00
Bernhard B
94cf8100ba added possibility to call a webhook when a message is received 2025-06-29 16:42:43 +02:00
Bernhard B
e6ff51e3d8 fixed deadlock in json-rpc mode
* properly unlock mutex to avoid deadlock

see #572
2024-08-09 23:03:22 +02:00
Bernhard B
dc1efc1a14 protect map write with mutex
* in order to make the r.receivedResponsesById map goroutine-safe, a
  mutex was added. This is not particular nice, but rewriting the
  jsonrpc connection handling would be quite a lot of work and has a
  big regression potential. So, if it is not absolutely necessary, I'd
  like to avoid that.

see #555
2024-07-09 21:27:49 +02:00
Bernhard B
b274fd2e49 format code with gofmt 2024-05-07 22:25:18 +02:00
Bernhard B
0757c3bf53 Revert "added debug logging"
This reverts commit 3915bd83eb4eece70125dba9b350cf29abd9c496.
2024-03-28 19:27:34 +01:00
Bernhard B
3915bd83eb added debug logging 2024-03-27 16:37:36 +01:00
Bernhard B
de631edfb0 return challenge tokens in send endpoint as explicit key 2024-03-25 16:11:04 +01:00
Bernhard B
ce556f0a73 parse challenge tokens from received response
see #482
2024-03-22 15:52:12 +01:00
Bernhard B
bc14eccf7d added more debug logging to json-rpc mode
see #482
2024-03-21 18:11:52 +01:00
Bernhard B
0d5c23d7ea fixed json-rpc debug log outputs
* moved them up a bit to also log something in case of an error

see #482
2024-03-20 20:52:25 +01:00
Bernhard B
3573f6ae95 added json-rpc debug logging
see #482
2024-03-20 19:47:37 +01:00
Bernhard B
91d7dc0a19 fixed concurrent map write
* protect map access with mutex to avoid concurrent map access

see #493
2024-02-28 16:37:40 +01:00
Bernhard B
3d7b73560a fixed bug in golang channel handling (json-rpc mode)
* golang channels are meant to be 1:1 channels, so if multiple
  goroutines listen on the same channel for messages, only one will
  receive the message and the others are not, which lead to lost
  messages.

  In order to fix that, we create a dedicated golang channel for every
  websocket connection.

see #451
2023-12-11 22:18:23 +01:00
Tomek Osika
4444beaf98 link device in json-rpc mode 2023-11-11 14:34:47 +01:00
Bernhard B
a06a9f873b switched implementation to multi-account mode
* instead of starting signal-cli in json-rpc mode with the '-u',
  we start signal-cli without the '-u' parameter (also known as
  multi-account mode). This makes it possible to register a number in
  json-rpc mode.
2023-10-30 14:49:11 +01:00
Bernhard B
798f897ad1 added trust mode parameter to json-rpc mode
see #240
2022-05-08 20:23:54 +02:00
Bernhard B
25775a4c10 implemented trust mode
* implemented possibility to set the trust mode globally

see #240
2022-05-06 19:28:23 +02:00
Bernhard B
0b6bd44838 ran go-fmt on complete sourcecode 2022-04-01 19:08:07 +02:00
Bernhard B
284e92107c fixed bug in json-rpc mode
* properly close websocket connection when client disconnects

see #198
2022-01-16 22:00:12 +01:00
Bernhard B
ed8916ce0e do not spam log file in case JsonRpc2 client can't read data
* only log an error message at max every 5 minutes

see #186
2021-12-05 17:48:44 +01:00
Bernhard B
094e42059d improved error handling in jsonrpc2 client 2021-10-10 18:42:39 +02:00
Bernhard B
c1e514b29c improved log output 2021-09-29 09:57:04 +02:00
Bernhard B
444e7d7608 replaced info log with debug log 2021-09-14 18:21:06 +02:00
Bernhard B
760883bdca implemented receive endpoint via websocket connection 2021-09-13 22:09:33 +02:00
Bernhard B
27b7f28c42 formatted code with gofmt 2021-09-11 22:30:56 +02:00
Bernhard B
ae857c7a69 started working on JSON-RPC integration
* still WIP
2021-09-11 22:28:55 +02:00