Commit Graph

2443 Commits

Author SHA1 Message Date
Jordan Rose
7ca4f738fb net: Remove explicit Drop for ws::Chat, it no longer adds anything 2026-03-26 13:15:07 -07:00
Jordan Rose
e3d9c09bec net: Make a hybrid chat's WS task cancel any shared H2 requests
...rather than relying on an explicit disconnect() call or waiting
until Drop (which may happen well after the websocket is closed).
2026-03-26 13:15:07 -07:00
gram-signal
c3479fabe1 Update CDSI to use Jasmin backend in staging. 2026-03-26 12:00:45 -07:00
Jordan Rose
daaea0a9e9 net: Require chat-server Auth to have a valid ACI and device ID
This does not yet require the same at the app layer; the parsing and
enforcement has merely been pushed up to the bridge layer.
2026-03-25 13:10:24 -07:00
Jordan Rose
a4a1191309 Clean up signatures for auth message sends 2026-03-25 12:14:21 -07:00
Jordan Rose
bd3ee636b8 chat: Implement WS send_sync_message
(which just forwards to send_message)
2026-03-25 12:14:21 -07:00
Jordan Rose
ab73bbf262 net: For auth chat connections, remember the ACI we used in auth'ing 2026-03-25 12:14:21 -07:00
Jordan Rose
cb2990f318 chat: Add authenticated sendMessage (WS only) 2026-03-24 15:48:32 -07:00
Andrew
1f5f12f1fc Reset for version v0.89.3 2026-03-24 18:07:13 -04:00
Andrew
1283a8a00b Bump to latest Rust nightly 2026-03-24 15:52:17 -04:00
Jordan Rose
2c0b3c9984 net: Allow cancelling outstanding Http2Client requests
...and do so on ChatConnection disconnect and Drop.
2026-03-24 12:12:14 -07:00
Jordan Rose
f0babf1537 net: Record service-level errors post-connect
A "fatal" connect error already meant "don't try any other routes this
time around". This additionally adds the idea "treat this as a
service-level failure", as a proxy for "there's something wrong at the
server end". Today, this happens when we get a confirmed 508 status
from the server upon websocket connect.
2026-03-24 11:54:35 -07:00
marc-signal
c706b7f5ce Expose getUploadForm() to clients
Co-authored-by: Jordan Rose <jrose@signal.org>
2026-03-24 14:32:59 -04:00
Jordan Rose
68f33f488d bridge: Collapse node::ArgTypeInfo for bridge traits back into a macro 2026-03-23 09:42:12 -07:00
Jordan Rose
db33599cad bridge: Use bridge_callbacks for InputStream in Node
Note that this isn't unified with the bridge_callbacks trait in
ffi/io.rs! The signatures are too different to be useful. However,
this is still simpler than the manual implementation that was there
before.
2026-03-23 09:42:12 -07:00
Jordan Rose
3e0c17541f net: Introduce service-level backoff as well as route-level 2026-03-20 13:39:15 -07:00
Jordan Rose
227dc23941 net: Add ServiceName to DomainConfig; thread it down to ConnectState
This will be used to track connection history on a service-wide basis,
much as the existing attempts record tracks it on a per-route basis.
2026-03-20 13:39:15 -07:00
Andrew
e667bd6c03 Reset for version v0.89.2 2026-03-19 11:06:21 -04:00
Jordan Rose
a5e7667488 Allow gRPC remote config names to have version suffixes (".123")
And bump AccountsAnonymousLookupUsernameLink,
AccountsAnonymousCheckAccountExistence, and
MessagesAnonymousSendMultiRecipientMessage to have a ".2" suffix.
2026-03-18 15:12:59 -07:00
Jordan Rose
63fd295b9d grpc: Rely on tonic's extraction of error details
...rather than trying to do it ourselves, which doesn't work because
tonic has already removed the key from the metadata.
2026-03-18 15:12:40 -07:00
Jordan Rose
84b2718fd1 grpc: Add missing dot in manually-assembled type URLs 2026-03-18 15:12:40 -07:00
Jordan Rose
18f47d2cb4 chat: Add chat_request_scaffold example, for one-off testing 2026-03-18 12:10:53 -07:00
Jordan Rose
358dd5cb80 chat: Implement WS *auth* API get_upload_form 2026-03-18 10:52:42 -07:00
Cody Henthorne
c5b3a53c9c backups: Add group terminated snapshot field and terminate group change update validation.
Co-authored-by: Max Moiseev <moiseev@signal.org>
2026-03-18 10:01:13 -07:00
Jordan Rose
8a1663387b node: Preserve more information for exceptions thrown in callbacks 2026-03-18 10:00:49 -07:00
Jordan Rose
2936450819 chat: impl Display for Redact<proto::ServiceIdentifier>
Useful for log-safe gRPC requests
2026-03-17 18:04:48 -07:00
marc-signal
1ca00428e0 Add signal-debug for Android 2026-03-17 18:51:17 -04:00
Jordan Rose
8cc2832763 Reset for version v0.89.1 2026-03-17 11:46:00 -07:00
marc-signal
a47ba487a7 Add getPreKeys() client library 2026-03-17 13:18:06 -04:00
Jamie
8bfbd12323 Update all Uint8Array/Buffer to use ArrayBuffer
Co-authored-by: Jordan Rose <jrose@signal.org>
2026-03-16 18:55:17 -07:00
Jordan Rose
863219012f Use bridge_callbacks for IdentityKeyStore in Node
And add IdentityKeyStore.getIdentityKeyPair to save a public key
derivation when implemented, similar to 55b233d43.
2026-03-16 14:42:46 -07:00
Jordan Rose
260c46ce61 CI: Check private rustdoc validity too
- Fix issues uncovered by this
- Skip documenting dependencies in CI (hopefully a bit faster)
2026-03-16 12:13:51 -07:00
Jordan Rose
7cfb75ea1e chat: Add JsonRequestValidator to test client->server JSON bodies 2026-03-13 17:02:16 -07:00
Jordan Rose
71183a9043 chat: Implement unauth 1:1 message sends (WS only) 2026-03-13 16:31:47 -07:00
moiseev-signal
0e51bb356b keytrans: Preserve more account data between API calls 2026-03-13 16:03:49 -07:00
Jordan Rose
657d185fb8 bridge: Use bridge_callbacks for IdentityKeyStore in Java 2026-03-13 15:16:30 -07:00
Jordan Rose
895b079448 jni: Avoid forming &mut when destroying a bridged handle
...because this may not be the last *Rust-side* reference.
2026-03-13 15:14:49 -07:00
Max Moiseev
fe9d0e761b Reset for version v0.88.4 2026-03-13 15:02:59 -07:00
andrew-signal
c5edd3fa38 Don't abort a whole takeout JSON batch just because one line fails to render 2026-03-13 14:39:27 -07:00
Jordan Rose
be5c8df415 backup: Replace protobuf-json-mapping with pbjson
However, pbjson works with prost/prost-build instead of
protobuf/protobuf-codegen, so we now have *two* protobuf libraries in
use in libsignal-message-backup, at least when using JSON features.
When prost is able to handle unknown fields, we can get rid of
protobuf/protobuf-codegen.
2026-03-13 12:18:08 -07:00
Andrew
19e0b3d34f Reset for version v0.88.3 2026-03-13 11:43:31 -04:00
moiseev-signal
6c2bf65989 keytrans: Implement improved logic for monitor_and_search 2026-03-12 11:00:36 -07:00
andrew-signal
5efc009a63 java: Bridge BackupJsonExporter for takeout export 2026-03-10 14:15:57 -04:00
andrew-signal
9cf78b7509 Expose useH2ForAuthChat remote configuration option 2026-03-09 21:08:30 -04:00
andrew-signal
c8a9b64590 Remove disableNagleAlgorithm remote configuration option 2026-03-09 19:00:45 -04:00
andrew-signal
5c4c5435e2 node: Refactor internals of bridge's BackupJsonExport, while keeping same interface. 2026-03-07 06:13:06 -05:00
Jordan Rose
55b233d43c ffi: Support multiple return values for bridge_callbacks
...and use it to avoid re-deriving the public key when fetching the
local identity key pair.
2026-03-06 12:01:41 -08:00
Max Moiseev
6a7cc67173 Reset for version v0.88.2 2026-03-06 11:54:36 -08:00
Jordan Rose
4bc22d2216 net: Apply chat WS headers to H2 requests on the same connection
Adds the notion of "per-request default headers" to our Http2Client,
then copies over the headers used to connect a chat websocket to use
for H2 requests---in practice, gRPC requests. This includes the user
agent, and will also include auth information for auth requests.
2026-03-06 10:43:20 -08:00
moiseev-signal
23918f2601 backups: Support access control for member labels 2026-03-06 10:25:11 -08:00