Jordan Rose
8894050176
chat: Fix parsing of 409/410 responses to sendMultiRecipientMessage
2025-11-14 17:04:03 -08:00
andrew-signal
de881ddde4
backups: Exporter now returns [Result<String, Error>] instead of a serialized JSON array object
...
Co-authored-by: Jordan Rose <jrose@signal.org >
2025-11-11 16:52:47 -05:00
Alex Bakon
1b2304022a
Expose net remote config keys in TypeScript
...
Co-authored-by: Max Moiseev <moiseev@signal.org >
2025-11-06 15:17:32 -08:00
Jordan Rose
57f2254605
node: Use Node's assert rather than Chai's in FakeChat.ts
...
While this is only used for testing, it's still *present* in the built
app, and as such shouldn't be referring to devDependencies. Use the
ESLint rule 'import/no-extraneous-dependencies' to make sure this
doesn't slip in again.
2025-10-29 15:56:16 -07:00
moiseev-signal
78b0abf1e1
node: Implement a more friendly FakeChatRemote abstraction for tests
2025-10-20 14:23:09 -07:00
Jordan Rose
ad9fa70f7c
node: Expose UnauthUsernamesService.lookUpUsernameLink
2025-10-17 12:14:40 -07:00
Jordan Rose
baec47e62e
bridge: Add UnauthenticatedChatConnection_look_up_username_link
2025-10-17 12:14:40 -07:00
Jordan Rose
85686caa01
node: Combine Native.js and .d.ts into Native.ts
...
This allows the file to be checked by tsc, which would have caught
some of the missing type aliases sooner (now added to Native.ts.in).
Strictly speaking the behavior is slightly different: we have returned
to exporting many items individually instead of collecting them on a
single object.
Co-authored-by: Alex Bakon <akonradi@signal.org >
2025-10-15 17:50:37 -07:00
Jordan Rose
2b6c801fb6
bridge: Expose sendMultiRecipientMessage in UnauthMessagesService
2025-10-14 18:17:25 -07:00
Jordan Rose
279390b4f2
Incremental MAC: Check digest length when initializing ValidatingMac
2025-10-14 16:30:10 -07:00
Jordan Rose
388e294acf
bridge: Eliminate FakeChatSentRequest in favor of pairs
2025-10-10 16:56:15 -07:00
andrew-signal
e8c2dabadc
Add LIBSIGNAL_TESTING_IGNORE_KT_TESTS to skip key transparency tests while we await service recovery
2025-10-09 20:43:31 -04:00
andrew-signal
b6db49f457
TypeScript: Provide BackupsJsonExporter for takeout flow
2025-10-09 20:27:00 -04:00
Jordan Rose
4503a19190
Unify IdentityKeyPair_Deserialize implementations
...
...in the process revealing that the Java declaration had a missing
exception spec.
2025-10-09 11:31:20 -07:00
Jordan Rose
fb570d7c99
bridge: Add support for returning pairs from bridge_fns
2025-10-09 11:31:20 -07:00
gram-signal
533d11dd7c
Remove usePqRatchet from client-facing code, defaulting to always use.
2025-10-02 11:32:36 -07:00
andrew-signal
2bc167b5a2
Add BuildVariant parsing/overload support to libsignal's Remote Config
2025-09-30 22:35:21 -04:00
Jordan Rose
8b10397484
node: Explicitly import Buffer from node:buffer
2025-09-29 18:23:38 -07:00
moiseev-signal
0e9c85c354
keytrans: Unify errors with other typed APIs
2025-09-26 11:47:40 -07:00
Jordan Rose
42ff946228
node: Enforce @typescript-eslint/method-signature-style
2025-09-24 16:30:43 -07:00
Alex Bakon
e64bf1a319
Migrate eslint from deprecated v8 to supported v9
2025-09-22 15:38:53 -04:00
Alex Bakon
1f01c19e5f
Convert libsignal-client node package to ESM
2025-09-22 14:20:16 -04:00
Alex Bakon
b944c1bda3
Node: Net.setRemoteConfig takes ReadonlyMap
2025-09-18 17:27:30 -04:00
Jordan Rose
15af92c93d
protocol: Record signed prekey and base key used with a Kyber prekey
2025-09-16 15:33:59 -07:00
moiseev-signal
1db21ca351
keytrans: Update the test account data
2025-09-16 11:07:10 -07:00
Jordan Rose
94f91c5b19
protocol: Add support for sealed sender server certificate references
...
Rather than embedding a server certificate inside every sender
certificate, future sender certificates will be able to reference
their server certificate by ID as long as all receivers have a version
of libsignal containing that certificate.
This change also handles the sender ACI being represented as bytes
instead of a string.
2025-09-09 14:13:23 -07:00
moiseev-signal
4675bb82a2
Desktop: add distinct type for incremental mac verification error
2025-09-03 16:40:58 -07:00
andrew-signal
bc0227873e
Bridge look_up_username_hash to app languages
...
Co-authored-by: Jordan Rose <jrose@signal.org >
2025-09-02 15:59:27 -07:00
andrew-signal
01d3d4ed30
Future-proof sealed sender trust root handling.
...
Co-authored-by: Jordan Rose <jrose@signal.org >
2025-08-27 12:03:28 -04:00
Jordan Rose
549d91aba3
net: Fold cdsi::LookupError::Parse into CdsiProtocol
...
Both of these indicate the server sending something unexpected, and
all clients already treat them the same at the app level anyway.
2025-08-18 10:00:42 -07:00
Jordan Rose
ddb8f340ca
Remove unused cdsi::LookupError::InvalidResponse
2025-08-18 10:00:42 -07:00
Jordan Rose
9e2bcb2a74
SVRB: Distinguish "automatic retry" from "manual retry" errors
...
- Java: This distinction is already made, just reworded
- Node: We include "protocol errors" in IoError here, where retrying
probably won't help, but it won't really be harmful either.
- Swift: Automatically retryable errors are now enumerated; other
errors are still described as "manually retryable". (Also, fixed a
redundant error message format call.)
2025-08-14 16:14:12 -07:00
Jordan Rose
b4cd040474
Add SvrB.remove(), use it for app-level integration tests
2025-08-13 12:35:52 -07:00
Jordan Rose
7cd112864c
node: Add timestamps to the test logger
2025-08-13 11:43:12 -07:00
moiseev-signal
b53ed51263
keytrans: Stop falling back to search if _self_ monitor detects a new version
2025-08-11 15:34:01 -07:00
Alex Bakon
1f923dcd88
Remove unused TransportConnectError::DnsError
2025-08-11 09:45:02 -04:00
Jordan Rose
fd8322b53e
SVRB: Clarify what "chain" refers to in the doc comments
2025-08-07 17:28:02 -07:00
Jordan Rose
cb5965ee9c
node: Add missing SVR-B error, document recovery procedures
2025-08-06 17:46:57 -07:00
Jordan Rose
64b60dca7b
SVRB: only return the most important error from restore_backup
...
...but make sure we still log all of them.
2025-08-06 16:45:06 -07:00
Jordan Rose
9feb3de9d2
net: SvrError::ConnectionTimeout -> AllConnectionAttemptsFailed
...
The same error is being used both for timeouts and for "all attempts
failed"; if we're going to coalesce them (reasonable, given that the
only option in either case is "retry" or "don't"), "all attempts
failed" is a less misleading choice.
This changes the particular enum case in Swift from connectionTimedOut
to connectionFailed. Java continues to use NetworkException and
TypeScript the IoError code.
2025-08-01 14:02:54 -07:00
Jordan Rose
be9e9a3ab6
Expose SvrB.createNewBackupChain(), make secret data non-optional
2025-07-31 12:37:02 -07:00
gram-signal
72935510d4
Immediately after a restore, use the same enc_salt/pw_salt for the next backup.
...
Co-authored-by: Jordan Rose <jrose@signal.org >
2025-07-30 20:14:26 -07:00
Alex Bakon
bb05cc016e
Streamline bridging of SVR-B function arguments
2025-07-29 14:18:16 -04:00
Jordan Rose
9e9c375db9
Expose BackupForwardSecrecyToken-aware MessageBackupKey derivation
2025-07-28 13:53:19 -07:00
Alex Bakon
348ea4ac03
Bridge SVR-B to TypeScript
...
Co-authored-by: Andrew <andrew@signal.org >
2025-07-28 16:02:02 -04:00
gram-signal
cf2573c0bd
Add prod SVRB configs into net.
2025-07-24 13:24:41 -07:00
andrew-signal
47a4eeabb5
Bridge BackupForwardSecrecyToken to Swift/Kotlin/TypeScript
2025-07-23 19:57:16 -04:00
andrew-signal
ec3c273219
Expose Rust API for SVR-B
2025-07-23 18:59:54 -04:00
Jordan Rose
0dc81d3131
backup: Replace bespoke TooShort with io::ErrorKind::UnexpectedEof
2025-07-17 10:57:29 -07:00
Jordan Rose
a410849578
crypto: Add a stripped-down HPKE API for our Curve25519 keys
2025-07-15 16:17:23 -07:00