406 Commits

Author SHA1 Message Date
Stephan Richter
fa4077e37a
Merge e98c03e702efaed305be0d1a5379ea1b3a8d2f2f into 2fe9eb5bf39fc75fe4c21693c065db588768dac1 2026-08-31 07:17:37 +02:00
dependabot[bot]
1491a52285
Bump github.com/gorilla/websocket from 1.5.0 to 1.5.3 in /src
Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.5.0 to 1.5.3.
- [Release notes](https://github.com/gorilla/websocket/releases)
- [Commits](https://github.com/gorilla/websocket/compare/v1.5.0...v1.5.3)

---
updated-dependencies:
- dependency-name: github.com/gorilla/websocket
  dependency-version: 1.5.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-24 21:37:32 +00:00
Bernhard B
a08db23a31 fixed bug in textstyleparser
* the textstyleparser now properly handles `***` and marks the
  text as bold and italic.

see #879
2026-08-16 22:51: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
Bernhard B
6a225e62c1 fixed bug in send endpoint
* in case a message is sent to either multiple recipients or a group,
  it is always possible that the message couldn't be sent to some
  recipients (e.g because of an untrusted identity). This is now
  reflected in the API by returning an additional `errors` object in
  that case.
2026-07-23 22:47:13 +02:00
Gara Dorta
b13a74f43e feat: download the json schemas from the signal-cli releases 2026-07-14 20:08:28 +02:00
Bernhard B.
be0842fdb2
Merge pull request #844 from Gara-Dorta/deploy-pages
feat: deploy pages with CI
2026-07-13 22:29:46 +02:00
dependabot[bot]
2ee3907d9e
Bump golang.org/x/crypto from 0.51.0 to 0.52.0 in /src
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.51.0 to 0.52.0.
- [Commits](https://github.com/golang/crypto/compare/v0.51.0...v0.52.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.52.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 21:35:10 +00:00
dependabot[bot]
e34cd5af87
Bump golang.org/x/net from 0.47.0 to 0.55.0 in /src
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.47.0 to 0.55.0.
- [Commits](https://github.com/golang/net/compare/v0.47.0...v0.55.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 06:13:13 +00:00
PINKU
ede08b64d8 expose group membership isMember via the REST API 2026-06-05 10:10:04 +02:00
Bernhard B.
d4e8664273
Merge pull request #854 from SAY-5/fix-attachment-base64-prefix-oob
fix: prevent slice out of range when attachment data starts with base64,
2026-05-26 22:50:03 +02:00
Bernhard B
7d8f62a4bb updated go.sum 2026-05-25 17:33:51 +02:00
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
99157a035f renamed file 2026-05-24 23:44:21 +02:00
Bernhard B
c8c461627f updated signal-cli to v0.14.4.1 2026-05-24 21:25:57 +02:00
Bernhard B
6e7941b1c1 improved plugin mechanism + added sqlite3 plugin 2026-05-23 13:18:37 +02:00
Gara Dorta
91bdd60c7a Additional refactor 2026-05-15 19:31:52 +02:00
Gara Dorta
a7c91737b8 Refactor 2026-05-15 19:28:57 +02:00
Gara Dorta
af48a4304b Regenerate docs 2026-05-15 18:55:26 +02:00
Gara Dorta
9155e505af Remove check for running swag init first 2026-05-15 18:52:32 +02:00
Gara Dorta
d0ec5b1b28 Better variable naming 2026-05-15 18:51:22 +02:00
Gara Dorta
fa0f67fa69 Remove uneeded if statement 2026-05-15 18:34:50 +02:00
Gara Dorta
7aa70683aa Simplify the add_v1_receive_schemas.go my marshalling the whole document 2026-05-15 18:29:20 +02:00
Gara Dorta
82f7151212 fix: download the schemas from signal-cli's fork 2026-05-10 23:23:39 +01:00
Gara Dorta
6e1698e820 feat: deploy pages with CI
Co-authored-by: Copilot <copilot@github.com>
2026-05-06 12:01:26 +01:00
Era Dorta
a168cf5547 Simplify the instructions in the readme 2026-05-04 14:59:48 +01:00
Era Dorta
1f222d7261 Add receive definitions to the docs files 2026-05-04 14:09:43 +01:00
Era Dorta
6ac432b509 Update script to also modify the json file
Co-authored-by: Copilot <copilot@github.com>
2026-05-04 14:09:12 +01:00
Era Dorta
948a522ad8 Add back json generation 2026-05-04 13:44:20 +01:00
Era Dorta
6fa06f9611 Add back swagger.json file 2026-05-04 13:39:43 +01:00
Era Dorta
eda99213a7 fix: remove swagger.json and swagger.yaml files 2026-05-04 13:36:25 +01:00
Era Dorta
09252b4b87 Merge branch 'master' into receive-swagger 2026-05-04 12:10:18 +01:00
Bernhard B
40232de0d0 handle InvalidTransportModeException error
see #837
2026-04-20 23:33:19 +02:00
Era Dorta
e0af0091c9 Add receive v1 json schemas to swagger
This is done with a custom script to embed the schemas from signal-cli into the docs.go file
2026-04-20 00:07:59 +02:00
Bernhard B.
f159947e07
Merge pull request #833 from Gara-Dorta/optional-group-creation-fields
Mark name and members as optional fields in CreateGroupRequest
2026-04-09 22:48:04 +02:00
Stephan Richter
ad0c231032 feat(jsonrpc2): add manual receive mode to prevent message loss
In the default 'on-start' receive mode, signal-cli's daemon
auto-pulls inbound messages and pushes them to its JSON-RPC clients
the moment they arrive from the Signal servers. If no websocket
subscriber is currently attached to /v1/receive/{number} — for
example during a brief subscriber redeploy — the receiver loop in
signal-cli-rest-api drops the message via a non-blocking channel
send (see the 'no receiver' debug log in ReceiveData). signal-cli
has already acknowledged the message to Signal, so it is never
redelivered.

Add support for signal-cli's --receive-mode=manual, opt-in via the
new JSON_RPC_RECEIVE_MODE=manual environment variable. In manual
mode signal-cli does NOT auto-receive; signal-cli-rest-api now
issues subscribeReceive when a websocket subscriber attaches and
unsubscribeReceive when the last subscriber detaches. While no
subscriber is attached, signal-cli does not pull messages from the
Signal servers, so they remain buffered server-side under Signal's
normal retention rules and are delivered to the next subscriber
that attaches.

Implementation:

* jsonrpc2-helper.go: thread JSON_RPC_RECEIVE_MODE through to the
  daemon launch command line.
* jsonrpc2.go: add per-account subscription tracking with
  refcounting; subscribeReceive/unsubscribeReceive helpers; an
  unwrap step in ReceiveData so manual-mode notifications
  ({subscription,result}) and auto-mode notifications (envelope
  directly) reach downstream consumers in the same shape.
* client.go, api.go: thread the account number through
  GetReceiveChannel so the JsonRpc2Client can attach the right
  subscription.

The change is fully backward compatible: when JSON_RPC_RECEIVE_MODE
is unset or set to 'on-start', signal-cli runs in auto mode and the
new subscribeReceive code path is bypassed (account is empty, no
RPC issued).

Closes #255 (the same root cause: no subscriber → 'no receiver'
drop).
2026-04-08 16:16:55 -04:00
Era Dorta
59d6912f21 Mark name and members as optional fields in CreateGroupRequest 2026-04-08 19:26:42 +02:00
Era Dorta
5a883826ae refactor: add missing checks on required fields 2026-04-08 19:10:48 +02:00
Bernhard B.
2a776618e9
Merge pull request #827 from Gara-Dorta/split-reaction-request-class
Split reaction request class
2026-04-07 19:53:41 +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
Era Dorta
e46b1c9ea7 Merge branch 'master' into split-reaction-request-class 2026-04-06 21:34:31 +02:00
Era Dorta
2911bc3632 Merge branch 'master' into readme-docs 2026-04-06 21:26:17 +02:00
Bernhard B.
bc0ea66c04
Merge pull request #830 from Gara-Dorta/docs-version
Set docs version dynamically.
2026-04-06 21:07:44 +02:00
Era Dorta
3dd0001a32 Set docs version dynamically. 2026-04-06 18:15:06 +02:00
Era Dorta
b51505c8d9 Better formatting for the docs Readme instructions 2026-04-06 17:35:45 +02:00
Era Dorta
87ab2bb398 refactor: split Reaction in two classes to mark the Reaction field as optional 2026-04-06 17:05:45 +02:00
Era Dorta
4e541848e2 docs: regenerated docs with required fields 2026-04-06 16:57:57 +02:00
Era Dorta
40f299deff fix: add omitempty and generate swagger json with required fields 2026-04-06 16:57:14 +02:00
Bernhard B
eb34542216 increased timeout to account for slow startup on slow machines 2026-04-01 22:47:21 +02:00
Bernhard B
7687c5240b added API endpoints for pinning/unpinning messages in groups
see #820
2026-04-01 22:47:21 +02:00