Commit Graph

985 Commits

Author SHA1 Message Date
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
marc-signal
f6c4ff2e8d Allow kotlin.Pair getters to be called from native 2026-03-16 13:11:33 -04:00
Jordan Rose
657d185fb8 bridge: Use bridge_callbacks for IdentityKeyStore in Java 2026-03-13 15:16:30 -07:00
Max Moiseev
fe9d0e761b Reset for version v0.88.4 2026-03-13 15:02:59 -07:00
Andrew
19e0b3d34f Reset for version v0.88.3 2026-03-13 11:43:31 -04:00
andrew-signal
f7c4aceebd follow-on: Clarify test naming in BackupJsonExporter tests 2026-03-11 16:19:14 -04:00
andrew-signal
68019908f8 follow-on: Clean up BackupJsonExporter tests 2026-03-10 18:33:05 -04: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
Max Moiseev
6a7cc67173 Reset for version v0.88.2 2026-03-06 11:54:36 -08:00
andrew-signal
39197348f0 java: Map ChatServiceInactive to RetryableNetworkError. 2026-03-06 11:54:32 -05:00
Jordan Rose
d604dbd076 bridge: Use bridge_callbacks for SessionStore in Java and Node 2026-03-05 15:50:01 -08:00
Jordan Rose
32bef826ac java: Declare internal stores as returning nullable values
...matching the #[bridge_callbacks] traits in protocol/storage.rs.
This is a place where the different platforms have historically
diverged, but given that the public-facing traits are declared in Java
and the Rust side can handle null, the glue code should not rule it
out.
2026-03-05 15:50:01 -08:00
Jordan Rose
d390508da5 java: Eliminate other uses of deprecated Gradle features
And add `--warning-mode fail` to the CI invocations to not regress.
2026-03-04 15:41:18 -08:00
Daeho Ro
06f30cb23d update build.gradles to support gradle v9 2026-03-04 15:41:18 -08:00
Jordan Rose
83c83c36a7 Reset for version v0.88.1 2026-03-02 15:59:58 -08:00
Jordan Rose
36ab93849a java: Default to linux/amd64 for Docker builds, not the host CPU
Apart from wanting a reproducible build, our apt mirrors only contain
amd64 packages.
2026-03-02 13:47:37 -08:00
Jordan Rose
3f92b94484 java: Add missing NoSessionException to combined sealed encrypt method
...and simplify the implementation to reuse SessionCipher.

The API using UnidentifiedSenderMessageContent is not affected.
2026-02-27 15:31:47 -08:00
andrew-signal
83ab6d3eec java: Expose KeyTransparency return values as RequestResult. 2026-02-27 01:58:59 -05:00
Jordan Rose
ea62515452 Rename internal.kt to Internal.kt
...per Kotlin conventions (even for files containing multiple classes).
Now we can remove the suppressed lint.
2026-02-26 13:41:08 -08:00
Jordan Rose
352d170876 bridge: Use bridge_callbacks for SenderKeyStore in Java and Node 2026-02-26 13:41:08 -08:00
Marc
bd4ec2bee1 Reset for version v0.87.6 2026-02-26 13:25:40 -05:00
andrew-signal
954306ac7f Fix bug where exception in completion handler would cause CompletableFuture to hang. 2026-02-24 14:08:38 -05:00
Jordan Rose
e5647239d8 bridge: Use bridge_callbacks for KyberPreKeyStore in Java and Node too 2026-02-20 09:45:28 -08:00
Jordan Rose
bed6f5e5ae Reset for version v0.87.5 2026-02-19 16:27:06 -08:00
Jordan Rose
38514bdc8a Update to boring v5.0.2
The new version of BoringSSL requires a C++ library:
- Android: libc++ is linked statically, like WebRTC does
- Swift: libstdc++ is linked on Linux (and libz is dropped everywhere)
- Everywhere else: the system C++ library will be linked dynamically

And makes SSE2 a requirement for 32-bit Linux, matching 32-bit Android.
2026-02-19 15:26:34 -08:00
Max Moiseev
ba9f75383f Reset for version v0.87.4 2026-02-19 11:19:11 -08:00
moiseev-signal
c17dc6ca7b java: Update Dokka to 2.1.0 2026-02-18 16:35:57 -08:00
moiseev-signal
c489f3f393 Update nightly to 2026-02-11 2026-02-17 17:44:29 -08:00
Max Moiseev
cc3f031eaa Reset for version v0.87.3 2026-02-17 10:44:09 -08:00
moiseev-signal
c0e19d7d4a CI: Use a new ubuntu snapshot for both Java and Node docker builds 2026-02-13 17:01:49 -08:00
Jordan Rose
606072ab92 bridge: Use bridge_callbacks for SignedPreKeyStore in Java and Node too 2026-02-11 13:07:49 -08:00
Max Moiseev
8406795667 Reset for version v0.87.2 2026-02-06 12:40:13 -08:00
Jordan Rose
845c4e3fc2 Reset for version v0.87.1 2026-02-02 16:39:30 -08:00
marc-signal
6dd67d52e8 Remove ordered public key comparison 2026-02-02 13:37:11 -05:00
Jordan Rose
e419b9cf01 Update Gradle, AGP, Kotlin versions 2026-01-30 17:14:36 -08:00
Jordan Rose
d7f99838a6 java: Manually install protoc 3.29 in Docker, like Desktop's Docker
Previously we'd had jammy's 3.12, but that's missing some things we
use. Newer releases exist, but this is the one we've been using in
node/Dockerfile for a while, so if there's a problem we should update
both.
2026-01-30 15:22:53 -08:00
Jordan Rose
6a9f73b998 bridge: Use bridge_callbacks for PreKeyStore (Java bridge)
Adds support for callbacks with results to the JNI bridge, similar to
what f2eafbe6f8 did for the C bridge.

This does require introducing an "internal" version of PreKeyStore
that has simpler signatures for its callbacks; previously, the Java
objects for bridge_handle types were constructed on the Rust side of
the bridge, but that's not how bridge_fn works, and so it's not how
bridge_callbacks works. The additional overhead should not be
prohibitive.
2026-01-29 15:50:16 -08:00
marc-signal
a6edef3ad0 Add higher-level bridge code for account_exists() 2026-01-29 14:22:56 -05:00
Andrew
70c00c8dc5 Reset for version v0.86.17 2026-01-29 12:26:29 -05:00
Max Moiseev
0c874690a0 Reset for version v0.86.16 2026-01-28 15:55:03 -08:00
marc-signal
53380fca8e Add accountExists typed API 2026-01-26 15:56:52 -05:00
Marc
9d9122c154 Reset for version v0.86.15 2026-01-22 16:18:51 -05:00
Max Moiseev
a95feb9c5d Reset for version v0.86.14 2026-01-16 10:32:47 -08:00
gram-signal
bc7f5719d4 Updates for SVR enclave release 2026Q1. 2026-01-15 16:33:00 -08:00
Jordan Rose
a7e0cd9be0 Reset for version v0.86.13 2026-01-14 16:52:24 -08:00
Jordan Rose
d6b61b46d2 Add "useH2ForUnauthChat" remote config
When set, and when not using a transparent proxy, unauth chat
connections will be made over H2 instead of HTTP/1.1. Auth connections
will not be affected.
2026-01-14 13:50:53 -08:00
Andrew
504af9001c Reset for version v0.86.12 2026-01-12 16:41:23 -05:00
Jordan Rose
37dda46866 bridge_callbacks: Add JNI support
This required some changes to jni::ResultTypeInfo, because we no
longer have tokens available for the JNI types of a bridged function
to use with the jni_args! macro. Instead, we record signatures for
each type that might appear as a callback argument and use
const_str::concat to put them together.

This does not currently attempt to autogenerate the Java interface on
the other side of the bridge; given the way gen_java_decl builds on
top of cbindgen, this is likely tricky but not impossible. Something
to possibly add later.
2026-01-07 13:02:45 -08:00