2362 Commits

Author SHA1 Message Date
agarstea
8a29822f0c Add native reflection metadata for FinishLinkCommand 2026-10-21 10:12:02 +03:00
wappensc-developer
6302698701
Deliver the envelope in hand to the last receive handler before it is removed (#2153)
removeReceiveHandler removed the handler before it stopped the receive
thread. An envelope the thread was handling then was already cached and
acknowledged to the server; it reached no handler, and the cache dropped it
once handled, so it was lost. While removing the last handler stops the
thread, the handler stays in drainingHandlers: it still gets that envelope,
but doesn't keep the thread receiving.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 09:30:13 +02:00
AsamK
f107b8ff07 Update graalvm metadata
Fixes #2144
2026-10-14 19:36:21 +02:00
AsamK
f33ede2659 Update graalvm metadata
Fixes #2148
2026-10-14 17:59:34 +02:00
AsamK
c2b9c25b7c Always use server signed group change for updating local group 2026-10-14 11:57:50 +02:00
wakamex
c3b0fe902e
Accept group invitations addressed to the PNI (#2146)
An invitation by phone number lists the account's PNI as the pending member. acceptInvite compared pending members only with the self ACI address and failed with 'Cannot find service ID for self to accept invite'. It now matches either the ACI or the PNI, makes the change as the ACI, and for a PNI promotion decrypts the server's signed change, since the locally built action has no member ciphertexts to decrypt.
2026-10-14 11:56:36 +02:00
AsamK
1da2a51c1e Update graalvm metadata
Fixes #2145
2026-10-12 10:44:44 +02:00
AsamK
f7c1ae1034 Fix test 2026-10-10 08:52:48 +02:00
AsamK
32f652efc9 Update libsignal-service
Fixes #2140
2026-10-09 18:38:01 +02:00
Copilot
3aeaa34baa
Download attachments from synced message edits (#2143)
* Initial plan

* Handle attachments in synced edits

Co-authored-by: AsamK <2340865+AsamK@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: AsamK <2340865+AsamK@users.noreply.github.com>
2026-10-09 17:00:13 +02:00
iddo
6f2ea80060
Fix race between stopping and starting the receive thread (#2142)
* Fix race between stopping and starting the receive thread

When the last receive handler was removed, receiveThread was cleared
before the thread had stopped. A handler added in that window, e.g. by
a client reconnecting to the daemon in on-connection receive mode,
started a second receive thread. While the stop request for the old
thread was still set, each new thread ended immediately and started the
next one. When the old thread ended, it cleared the reference to the
newer thread and started yet another one, leaving two receive loops on
the same websocket. The unreferenced loop was never stopped and kept
receiving and acknowledging messages after all clients had gone.

Keep receiveThread set until the receive thread has finished and only
let the thread itself clear it. Its end block already starts a new
receive thread if handlers were added in the meantime. Clear a stop
request right before a new receive loop is started instead of when a
loop ends, so it can neither be cleared by another loop nor stop a
later one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Add test for adding a receive handler while the receive thread stops

The receive loop is replaced by a fake one that can be held while it
stops, so the test doesn't connect to the server.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: iddo <917594+iddo@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:28:42 +02:00
AsamK
2a9a4b1f3c Prepare next release 2026-10-07 12:46:52 +02:00
AsamK
3997429779 Bump version to 0.14.9 v0.14.9 2026-10-07 12:46:24 +02:00
AsamK
8c86d30655 Update libsignal-service 2026-10-07 12:46:24 +02:00
Robert Nisipeanu
ebf24ee0b0
Use account device IDs for calls and verify primary and linked configurations (#2128)
* Fix voice calls from linked devices

(cherry picked from commit f3e22de14e4463adb785fb797791bc826b765a10)

* Verify primary and linked call configuration through account state

---------

Co-authored-by: Daniel <dan@gainengineering.com.au>
2026-10-06 20:10:53 +02:00
Dmytro Lomako
ca2583c1b0
Improve attachment upload failure handling (#2135) 2026-10-06 20:08:42 +02:00
dependabot[bot]
bd067a045d
Bump rustls from 0.23.44 to 0.23.45 in /client (#2138)
Bumps [rustls](https://github.com/rustls/rustls) from 0.23.44 to 0.23.45.
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.44...v/0.23.45)

---
updated-dependencies:
- dependency-name: rustls
  dependency-version: 0.23.45
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-06 18:20:17 +02:00
AsamK
0dde3d8596 Reformat files 2026-10-06 17:50:56 +02:00
AsamK
ba389ba6bb Unify remote delete timestamp as targetTimestamp
Fixes #2130
2026-10-06 17:50:49 +02:00
AsamK
da8c69b2a2 Fix listener leaked per json-rpc connection
Fixes #2136
Fixes #1653
2026-10-06 17:39:11 +02:00
AsamK
269f895101 Update dependencies 2026-10-06 17:35:59 +02:00
Romain Boulay
13d603d3b5
Add Last-Event-ID replay and configurable keep-alive to the SSE endpoint (#2133)
Each event of /api/v1/events now has an id. The last 1000 events are
kept in memory, and a client that reconnects with a Last-Event-ID header
first gets the events it missed. The keep-alive interval can be set with
the new daemon option --sse-keepalive-interval.

Closes #2132

Co-authored-by: Romain Boulay <169323+RomainBoulay@users.noreply.github.com>
2026-09-29 19:28:17 +02:00
AsamK
76fb9768aa Update graalvm metadata
Fixes #2131
2026-09-28 18:53:01 +02:00
AsamK
86a85cc239 Update gradle wrapper 2026-09-28 18:52:35 +02:00
AsamK
29dcac23cf Improve attachment download failure handling
Fixes #2116
2026-09-22 21:04:34 +02:00
AsamK
dc2a74e824 Increase max length for JSON-RPC reader
Should allow attachments with MAX_ATTACHMENT_SIZE

Fixes #2127
2026-09-22 20:56:28 +02:00
AsamK
dac64f773d Add support for recovering account with recovery key 2026-09-20 21:54:03 +02:00
AsamK
926cd256e6 Reformat files 2026-09-20 21:14:45 +02:00
AsamK
3d7109eb01 Remove numberless flag in accounts file
This is an edge case and keeping the ACI only account discoverable is
actually the better way to handle it.
2026-09-20 21:14:45 +02:00
Mariusz Woloszyn
d0724fb5b5
Support linking phone-numberless Signal accounts (#2123)
* Support linking phone-numberless Signal accounts

* Align numberless account support with project style

* Support numberless accounts over D-Bus

* Keep superseded accounts out of numberless account discovery

Record numberless accounts explicitly instead of treating every retained ACI
as a discoverable account. Resolve older index entries against saved account
state, preserving ACI lookup and retrying unavailable state on later reads.

The optional index field remains compatible with version 2 readers. Update
native-image reflection metadata and cover replacement, legacy migration,
locked and missing state, and mismatched ACIs in regression tests.

* Address numberless linking review cleanup

Reuse AccountApiV2 through SignalDependencies and use the shared suspend response helper while preserving linking error handling. Remove the unused account-number accessor and unsupported D-Bus version fallback. Keep numberless linking documentation in the man page and point the README to the wiki.

Validate linking errors through HTTP response fixtures. All 196 tests pass on JDK 25 with an isolated D-Bus session; build and JSON schema generation also pass. Account-index classification is unchanged pending review discussion.
2026-09-20 17:51:57 +02:00
nimble-turtle
60649041c8
man: link prints a QR code itself, don't point at qrencode first (#2126) 2026-09-20 09:35:55 +02:00
AsamK
e1d7bc5587 Return actual error of NonSuccess request result 2026-09-18 22:37:36 +02:00
Dmytro Lomako
c146224493
Add --attachment-dimensions and --attachment-blurhash to send (#2120)
* Accept caller-supplied attachment dimensions

Forward positional WIDTHxHEIGHT metadata supplied by the caller. Validate dimensions before sending and retain automatic image detection for omitted entries.

* Accept caller-supplied attachment BlurHashes

Forward positional BlurHashes supplied by the caller alongside attachment dimensions. Reject BlurHashes whose length doesn't match their size digit.

* Skip image probing when dimensions are supplied

Caller-supplied dimensions replace the probed values, so don't buffer and decode the image to measure it.
2026-09-17 16:58:40 +02:00
AsamK
a255a7fecf Update graalvm metadata
Fixes #2118
Fixes #2113
Fixes #2108
Fixes #2101
Fixes #2086
Fixes #2044
2026-09-14 14:19:27 +02:00
AsamK
752f63a5e6 Update graalvm metadata 2026-09-14 13:16:56 +02:00
AsamK
52a0f6415e Prepare next release 2026-09-10 19:58:04 +02:00
AsamK
22b028bbb9 Bump version to 0.14.8 v0.14.8 2026-09-10 19:56:41 +02:00
AsamK
ff689b577b Fix storage sync edge cases 2026-09-10 19:26:02 +02:00
AsamK
ccd7c77a9d Mark --poll-author parameter as required
Fixes #2111
2026-09-10 17:35:10 +02:00
AsamK
76fee5dda2 Fix handling of unknown storage id types that become known
Fixes #2112
2026-09-10 17:31:00 +02:00
AsamK
45cbe82d7f Update dependencies 2026-09-10 16:59:23 +02:00
AsamK
089139909b Update libsignal-service 2026-09-10 16:53:14 +02:00
AsamK
f9dbf6bfff Suppress unchecked warnings 2026-09-10 16:34:10 +02:00
AsamK
6b7b94fe1f Update gradle 2026-09-10 16:34:00 +02:00
AsamK
2c03e5fd8d Reformat files 2026-09-10 16:26:57 +02:00
AsamK
7cc0cc3e0e Prevent storage service loops on ACI identity key changes 2026-09-10 16:26:41 +02:00
AsamK
48731286eb Prevent storage sync loop on PNI-only records with different identity keys 2026-09-10 16:19:21 +02:00
AsamK
3c17e01c37 Fix storage sync issues 2026-08-21 21:39:51 +02:00
AsamK
9605c94f09 Improve contact merging 2026-08-21 20:47:35 +02:00
AsamK
d2f5696df1 Update libsignal-service 2026-08-21 20:35:42 +02:00