Commit Graph

241 Commits

Author SHA1 Message Date
ahatius
8cd60ff6c3 Add support to disable notify-self flag on /v2/send endpoint 2024-08-07 18:54:24 +02:00
Bernhard B
f3289395ae fixed deadlock in Websocket write
* properly unlock mutex to avoid deadlock

see #572
2024-08-07 17:07:12 +02:00
Klaas Sangers
531c673b7e Add SWAGGER_HOST environment variable support
- Add `SWAGGER_HOST` environment variable to `README.md` for Swagger UI configuration.
- Update `main.go` to use `SWAGGER_HOST` environment variable for Swagger UI host configuration.
2024-08-03 16:41:13 +02:00
Bernhard B
d1694ee88c add account to SendMessageError json response
* when a rate limiting error is returned, also include the account
  information (this is quite useful for multi account setups).

see #566
2024-07-23 20:42:29 +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
cd996e1814 protect websocket write with mutex
* Gorilla Websocket only allows one concurrent writer. As there are
  multiple goroutines that could write concurrently to the websocket,
  the websocket write needs to be protected by a Mutext. This is not
  particular nice, but a complete rewrite of the connection handling
  would be quite a lot of work.

see #556
2024-07-09 21:19:49 +02:00
Bernhard B
911b686778 fixed bug in send method
* allow sending messages to the sourceUuid

see #550
2024-06-20 18:29:31 +02:00
Bernhard B
f444622397 rebuilt swagger documentation 2024-06-18 19:50:09 +02:00
Bernhard B
8929326f5f beautified code with gofmt 2024-06-18 19:49:47 +02:00
mattwr18
ee10b6bc32 Expose listContacts endpoint 2024-06-18 18:40:32 +02:00
Bernhard B
05225a27ee fixed bug in textstyleparser
* handle multi-character emojis correctly

see #544
2024-06-17 20:33:50 +02:00
Bernhard B
bbd088fc0b added username support to /v2/send endpoint 2024-05-22 19:22:39 +02:00
Bernhard B
07a3beaa97 removed datastrutures folder again 2024-05-14 22:57:52 +02:00
Bernhard B
f2c268dfa0 improved code by splitting it up in different go files 2024-05-14 22:49:26 +02:00
Bernhard B
70763ae9d9 reworked code to make it more maintainable
* added recipient type. This change is necessary to implement sending
  messages to usernames/username links.
2024-05-11 17:48:24 +02:00
Bernhard B
4b029b9e98 improved error handling
* ensure that number is provided in send receipt endpoint.
2024-05-11 17:27:54 +02:00
Bernhard B
95e0b88671 rebuilt swagger documentation 2024-05-11 17:24:34 +02:00
Brett Profitt
44cc1692a9 Add endpoint support for read receipts. 2024-05-10 20:29:57 -04:00
Bernhard B
ba532f52b8 gofmt code in utils subdirectory
* formatted code by running 'gofmt'
2024-05-07 22:31:11 +02:00
Bernhard B
b274fd2e49 format code with gofmt 2024-05-07 22:25:18 +02:00
Bernhard B
6522dcf8c8 code improvements
* restructured the code a bit to make it more readable
2024-05-07 22:22:53 +02:00
Bernhard B
193a9f1e5b update Swagger documentation 2024-04-27 19:10:28 +02:00
Jonathan Neidel
b23ee29b1f Add support for read receipts on /receive 2024-04-26 12:50:53 +02:00
dependabot[bot]
e0037a1308 Bump golang.org/x/net from 0.17.0 to 0.23.0 in /src
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.17.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 10:57:29 +00:00
Bernhard B
dfdcfa3725 fixed bug in send method
* with signal-cli 0.13.0 the default behavior changed
  and message to oneself did not trigger a notification anymore.

  As this is a behavioral change and we try to avoid any behavioral
  changes in the REST API, the previous behavior was reinstated again
  by explicitly adding "--notify-self".

see #511
2024-04-04 19:58:03 +02:00
Bernhard B
16a3f896ad return HTTP status code 429 in case of rate limiting 2024-03-28 19:28:13 +01:00
Bernhard B
0757c3bf53 Revert "added debug logging"
This reverts commit 3915bd83eb.
2024-03-28 19:27:34 +01:00
Bernhard B
3915bd83eb added debug logging 2024-03-27 16:37:36 +01:00
Bernhard B
d083ba84e3 fixed bug in /v2/send error parsing 2024-03-27 16:34:24 +01:00
Bernhard B
a627d3e1ab fixed error handling in send method 2024-03-26 17:36:30 +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
efee49e792 add API endpoints to list and add sticker packs
see #398
2024-03-13 21:10:23 +01:00
Bernhard B
9c365e6f84 add possibility to edit messages
see #485
2024-03-07 20:11:57 +01:00
Bernhard B
f57512216c added endpoints to set/remove a username + change the account settings 2024-03-06 18:27:17 +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
08dc98eac2 removed JAVA_HOME env variable from supervisor configuration
* not needed and is causing some problems since we switched from
  the eclipse-temurin to the ubuntu base image.

see #489
2024-02-23 10:38:36 +01:00
Bernhard B
05f6434630 updated golang.org/x/net to v0.17.0 in order fix potential security vulnerability 2024-02-21 16:26:47 +01:00
Bernhard B
03af708f11 added hidden 'recipient' parameter to /v2/send endpoint
* some REST API consumers (like the Synology NAS) do not allow
  to use an array for the recipients. So, in order to support
  those platforms as well, a 'recipient' string parameter is added.

  As most users are perfectly fine with the array parameter, the
  recipient parameter won't be exposed in the Swagger UI.

see #428
2024-02-16 19:18:48 +01:00
Bernhard B
d5210041c6 fixed typo in swagger documentation
see #466
2024-01-08 20:49:29 +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
Bernhard B
f564cffd67 Merge branch 'master' of github.com:bbernhard/signal-cli-rest-api 2023-12-01 21:33:18 +01:00
Bernhard B
13236b7c66 added /v1/rate-limit-challenge endpoint
see #456
2023-12-01 21:29:00 +01:00
Benjamin Prevor
e4b2d21588 fix typo in endpointNotSupportedInJsonRpcMode 2023-11-27 11:33:42 -05:00
Bernhard B
63c767e088 Merge pull request #447 from kxait/get_accounts
Get list of accounts
2023-11-13 18:08:07 +01:00
Tomek Osika
385a591b32 get accounts 2023-11-12 02:19:13 +01:00
Tomek Osika
3ea7949c10 also reload config after device was linked successfully 2023-11-11 22:23:26 +01:00