170 Commits

Author SHA1 Message Date
SAY-5
6b89035dd5 fix: prevent slice out of range when attachment data starts with base64,
Signed-off-by: SAY-5 <say.apm35@gmail.com>
2026-05-24 16:21:46 -07:00
Bernhard B
40232de0d0 handle InvalidTransportModeException error
see #837
2026-04-20 23:33:19 +02:00
Era Dorta
59d6912f21 Mark name and members as optional fields in CreateGroupRequest 2026-04-08 19:26:42 +02:00
Phill Jolliffe
a01c2a61fa fix: resolve Go variable shadowing that silently swallows errors in JSON-RPC mode
24 functions in client.go use 'jsonRpc2Client, err :=' inside if blocks
where 'var err error' is already declared at function scope. The := creates
a new block-scoped err that shadows the outer one, causing 15 functions to
silently return nil instead of the actual error in JSON-RPC mode.

Fixes #506
2026-04-07 14:12:57 +01:00
Bernhard B
7687c5240b added API endpoints for pinning/unpinning messages in groups
see #820
2026-04-01 22:47:21 +02:00
Bernhard B
6ca5ff1aee added expand query parameter to /groups endpoints
see #790
2026-03-21 21:38:49 +01:00
Bernhard B
5435b12e81 Revert "added query parameter 'use_only_uuid_as_identifier' to group(s) GET endpoint"
This reverts commit 44ce4fe83d964f39d6677fa46186bc1126fd069c.
2026-03-19 17:24:30 +01: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
44ce4fe83d added query parameter 'use_only_uuid_as_identifier' to group(s) GET endpoint
see #790
2026-03-13 21:18:28 +01:00
Brian (bex) Exelbierd
2760fe0b70 add --ignore-avatars and --ignore-stickers support
Expose the new signal-cli v0.14.0 --ignore-avatars and --ignore-stickers
flags across all modes:

* JSON-RPC mode: JSON_RPC_IGNORE_AVATARS and JSON_RPC_IGNORE_STICKERS
  environment variables
* Normal/Native mode: ignore_avatars and ignore_stickers query parameters
  on the /v1/receive endpoint
* Auto-receive scheduler: AUTO_RECEIVE_SCHEDULE_IGNORE_AVATARS and
  AUTO_RECEIVE_SCHEDULE_IGNORE_STICKERS environment variables

Follows the existing pattern of --ignore-attachments and --ignore-stories.

Refs #776, #723

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-07 22:52:26 +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.
d080e8d478
Merge pull request #793 from revilo951/master
Swap PendingRequests and PendingInvites assignments
2026-03-03 21:25:24 +01:00
Bernhard B
a9c367a5b1 updated golang buildcontainer 2026-03-03 21:16:20 +01:00
revilo951
3a36a04b09
Swap PendingRequests and PendingInvites assignments
Fix for https://github.com/bbernhard/signal-cli-rest-api/issues/792
2026-02-23 11:00:15 +11:00
Bernhard B
1129e5a7be fixed error handling in updateGroupAdmins function
see #790
2026-02-22 22:11:46 +01:00
Bernhard B
5d5fa64f01 code cleanup: removed unused variable 2026-02-17 22:04:07 +01:00
Bernhard B
6c5dcdad2e fixed error handling in updateGroupMembers function
see #790
2026-02-17 22:02:31 +01:00
Dan Gabel
59f9cd3140 revert moving list contact types around 2026-02-12 22:00:42 -06:00
Dan Gabel
eece5f4e92 remove ListContact, extended ListContacts to accept uuid 2026-02-12 21:52:22 -06:00
Dan Gabel
5fcaa2ca2c type cleanup, fix typo 2026-02-12 15:51:21 -06:00
Dan Gabel
6ec6e198d7 Adds --all-recipient handling for ListContact endpoints 2026-02-12 15:36:42 -06:00
Dan Gabel
379ff16ca6 direct uuid contact search 2026-02-11 21:40:20 -06:00
Bernhard B
23c53382c2 return group permissions in groups request
see #781
2026-02-07 00:16:05 +01:00
Bernhard B
7711ad5503 added REST API endpoints for Signal Polls
see #765
2026-01-24 17:37:20 +01:00
Bernhard B
e5e21518a5 reformatted code with gofmt 2026-01-13 22:23:02 +01:00
Bernhard B
354df7472c implemented unregister in json-rpc mode
see #774
2026-01-13 22:21:20 +01:00
Samuel Rodrigues
2e507699c5 Changed the ListDevices endpoint to return the device id, created three new endpoints, one to return the device link to permit new device links without the qrcode, one to remove the linked devices and another to delete local-data 2026-01-08 15:46:13 +00:00
Bernhard B
5714161567 fixed bug in json-rpc mode
* handle 'trust-new-identities' setting in json-rpc mode

see #771
2025-12-08 22:40:03 +01:00
Bernhard B
08cd2bd12c added two new endpoints
* added endpoint to list a contact
* added endpoint to get a contact's avatar
2025-09-30 22:31:10 +02:00
Bernhard B
7c9e9ce04f extended groups POST/PUT request
* added possibility to change permissions with the groups PUT request
* added possibility to change the send messages permission when creating
  a group with the POST request

see #746
2025-09-15 12:37:45 +02:00
Era Dorta
de2cb043fc fix: use getRecipientType instead of HasPrefix in RemoteDelete 2025-09-09 13:29:17 +01:00
Era Dorta
d25a454f39 Fix tab error 2025-08-28 00:40:22 +02:00
Era Dorta
6b3916e597 Remove if statement 2025-08-28 00:37:56 +02:00
Era Dorta
a93eed6e56 Add extra error check after unmarshal 2025-08-28 00:34:41 +02:00
Era Dorta
9325022e46 Add message deletion endpoint 2025-08-28 00:27:09 +02:00
Bernhard B
5330e0dff5 fixed getContainerId() function
* since switching to podman builds in the CI, the getContainerId()
  function wasn't working anymore. As per default the hostname of the
  container is the same as the container id, we use the GetHostname()
  function to get the container id inside the container.
2025-08-26 23:18:14 +02:00
Bernhard B
3b7ade3dad fixed bug in /v2/send request
* added missing linkpreview description parameter

see #732
2025-08-06 22:46:02 +02:00
Bernhard B
aa1924aa8c prefix usernames with 'u:' when creating/updating a group's members 2025-07-25 22:59:00 +02:00
Bernhard B
4102331404 added view_once parameter to send endpoint
see #724
2025-07-17 23:18:41 +02:00
Bernhard B
e9e8731f6b made it possible to modify link state in groups PUT endpoint 2025-07-17 19:02:49 +02: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
fb6ec6013b format sourcecode with gofmt 2025-06-03 22:19:22 +02:00
Bernhard B
b3a6ee1e5d added new endpoint to return a group's avatar 2025-06-03 22:18:29 +02:00
Bernhard B
59207541c1 added uuid to list identities response
see #703
2025-05-26 21:56:28 +02:00
Bernhard B
6eacfb0890 added support for link previews
see #439
2025-05-01 23:29:23 +02:00
Bernhard B
3497b3d806 exposed 'listDevices' signal-cli command via REST
* the signal-cli command 'listDevices' is now exposed as
  /v1/devices/<number> endpoint.

see #676
2025-03-30 23:14:16 +02:00
Bernhard B
bf929a3aa1 extended list contacts GET endpoint
* exposed some more fields

see #675
2025-03-29 22:33:37 +01:00
Bernhard B
e452205c38 handle non existent attachments folder gracefully 2025-03-24 23:15:22 +01:00