2336 Commits

Author SHA1 Message Date
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
AsamK
81e513d6b7 Implement storage sync loop detector 2026-08-21 18:46:03 +02:00
AsamK
dbf11fd006 Update graalvm build tools 2026-08-21 18:37:35 +02:00
Bazyli Brzóska
7e802166a3
fix(json): expose data message metadata (#2104) 2026-08-17 12:40:27 +02:00
Bazyli Brzóska
0f88410465
feat(json): expose voice-note attachment metadata (#2100)
Include isVoiceNote in receive JSON and JSON-RPC attachment payloads. Add regression coverage for true and false serialization.
2026-08-10 10:38:27 +02:00
Javair Ratliff
13819c8f09
Support the GroupsV2 "end group" (terminate) feature (#2098)
* Show and enforce the terminated state of a group

A group admin can permanently terminate a group. Afterwards the group is
read-only for everyone, not even an admin can send messages or start calls;
members keep access to the existing history. Other clients silently drop
messages sent to a terminated group.

Read the DecryptedGroup.terminated flag through GroupInfo.isTerminated() and:

- surface it in listGroups (json and plain text) and as the DBus IsTerminated
  group property
- refuse to send to a terminated group locally (messages, reactions, typing and
  group stories) rather than send one that other clients ignore
- drop incoming messages addressed to a terminated group

* Add terminateGroup command to terminate a group for everyone

Let a group admin permanently terminate a GroupV2 group via the
TerminateGroupAction (Groups.proto field 28, change epoch 7) the pinned library
already exposes as GroupsV2Operations.createTerminateGroup().

- GroupV2Helper.terminateGroup builds and commits the change
- GroupHelper.terminateGroup resolves/refreshes the group (v2 only), sends the
  update to members and syncs storage, with the same conflict-retry as
  updateGroup
- exposed through Manager.terminateGroup, the terminateGroup CLI/JSON-RPC command
  and the DBus Group.terminateGroup method

---------

Co-authored-by: FailSpy <FailSpy@users.noreply.github.com>
2026-08-08 17:16:49 +02:00
AsamK
85580d1ff6 Fix graalvm issue with image dimension probing
Fixes #2096
2026-08-04 13:16:58 +02:00
AsamK
f8ea8ed314 Update graalvm build tools 2026-08-04 13:14:29 +02:00
AsamK
472784e614 Replace unmaintained release actions 2026-08-02 08:45:09 +02:00
AsamK
db97731f63 Update redhat-actions in workflow 2026-08-02 08:45:09 +02:00
AsamK
ff9f2028ae Prepare next release 2026-08-02 08:45:09 +02:00
AsamK
9ee5262876 Prepare next release 2026-08-01 10:07:44 +02:00
AsamK
b01b6b370d Fix build pipeline v0.14.7 2026-08-01 09:38:01 +02:00
AsamK
890f798a03 Bump version to 0.14.7 2026-08-01 09:30:18 +02:00
AsamK
3c319f8b4a Reformat files 2026-08-01 09:24:09 +02:00
AsamK
fd3f572499 Use nickname for displaying recipient names 2026-08-01 09:21:52 +02:00
AsamK
854cb35d15 Explicitly store pni signature verified 2026-07-31 13:20:34 +02:00
AsamK
e78521bb5c Always set e164 in sync if available 2026-07-31 13:09:00 +02:00
AsamK
86ad7bf53f Always set the read receipts setting during provisioning if available 2026-07-31 13:08:13 +02:00
AsamK
de5daf0ad4 Cleanup incomplete account data after unsuccessful link
Fixes #2080
2026-07-31 09:01:08 +02:00
AsamK
ecc76ec52b Improve handling of pni change number messages 2026-07-30 22:44:06 +02:00
AsamK
6fa1d1bf90 Fix marking sender as needs pni signature 2026-07-30 22:44:06 +02:00
AsamK
d29f6c1641 Fix removing self from pending group invite via PNI 2026-07-30 22:44:06 +02:00
AsamK
b3e3eda4f7 Use upstream provisioning functionality 2026-07-30 22:44:06 +02:00
AsamK
1e59c6f6cc Readd job to update github dependency graph 2026-07-30 17:39:40 +02:00
AsamK
457658aca0 Update dependencies 2026-07-29 22:33:49 +02:00
AsamK
2cf5e25e9e Implement sticker pack sync 2026-07-29 22:33:49 +02:00