Commit Graph

592 Commits

Author SHA1 Message Date
Andrew
29d32702b5 Bump to version v0.58.3 2024-10-10 18:25:26 -04:00
Jordan Rose
f5a6e6f4a8 Remove no-longer-needed polyval_armv8 cfg, and explain aes_armv8 2024-10-08 10:43:15 -07:00
Jordan Rose
d66f245024 Bump to version v0.58.2 2024-10-03 16:42:35 -07:00
andrew-signal
9fa6cf51f9 First iteration of JNI API for AccountEntropyPool 2024-10-03 14:59:27 -04:00
Jordan Rose
5de6300ab2 Bump to version v0.58.1 2024-09-25 17:14:55 -07:00
Jordan Rose
59cb7df6a3 bridge: Split Chat into AuthChat and UnauthChat
This matches the split that has already happened in the TypeScript and
Swift APIs. For now, both AuthChat and UnauthChat are wrappers around
the same type, a fully general chat::Chat, but we expect to eventually
split that into authenticated and unauthenticated variants as well. At
that point we can consider whether the common implementation here is
still pulling its weight.
2024-09-24 16:05:20 -07:00
Jordan Rose
2958955259 Bump to version v0.58.0 2024-09-17 15:38:45 -07:00
moiseev-signal
88c2ab1dcc svr3: Bridge rotate API to mobile platforms 2024-09-13 09:59:56 -07:00
Max Moiseev
3917f60919 Bump to version 0.57.1 2024-09-12 15:51:40 -07:00
Alex Konradi
d5321d1c75 Bump to version v0.57.0 2024-09-06 09:46:54 -04:00
Alex Konradi
40aaecb9f3 Propagate reason for chat disconnect to listeners 2024-09-05 16:49:55 -04:00
Jordan Rose
823cfcf7e8 check_code_size: note if comparison against main was skipped
...specifically in the case where the most recent commit didn't run
the Java checks, and therefore we don't have a previous run of
check_code_size to compare to. (We could go back until we find one,
but that seems like overkill.)
2024-09-05 12:00:18 -07:00
Jordan Rose
eb860ea051 java: use 'assertThat' from org.hamcrest rather than org.junit
(as preferred by JUnit)
2024-08-30 09:05:04 -07:00
Jordan Rose
e46841ea2c Bump to version v0.56.1 2024-08-29 14:33:20 -07:00
Jordan Rose
9400604090 java: Set up class loader for libsignal_jni_testing.so too
The class loader is a rare process-wide variable for us. When the
testing crates are compiled into the same .so as the main bridge
crates, they all use the same variable, but when we build for Android
we have two separate native library files that get loaded, and so we
need to initialize both.
2024-08-29 11:26:24 -07:00
Jordan Rose
c1ad2f3ec6 check_code_size: Update comparison against main
- Fix the format matcher after 0147989

- When merging into a branch other than main, compare against that branch

- When running on GitHub on the main branch itself, compare against HEAD^

- Adjust the plot view to have flexible columns
2024-08-28 17:11:01 -07:00
Jordan Rose
a8814d16f8 Move all "testing-fns" APIs into libsignal-bridge-testing
This means they'll be shipped to clients, but still filtered out of
the device builds on Android (via having two separate libraries on
disk) and iOS (by not being included in non-simulator builds). The
biggest benefit of this is dropping the :android:makeTestJniLibraries
step for running libsignal's Android tests.
2024-08-27 08:29:06 -07:00
Jordan Rose
d2d68763a2 Gradle: No need to publish a separate libWithDebugSymbols artifact
Follow-up to 9d729ff0.
2024-08-27 08:23:06 -07:00
Jordan Rose
01479894bc check_code_size: Warn on PRs that add 100KB or more
And tweak the message to be more useful.
2024-08-26 13:42:00 -07:00
Jordan Rose
97dfb275d6 android: Update to NDK r27 (current latest) 2024-08-23 11:23:05 -07:00
Jordan Rose
4470192aa6 java: When running Cargo as part of Gradle, fall back to ~/.cargo/bin
This is important when the Gradle configuration is processed by an IDE
on macOS, which won't have had PATH set by shell login scripts.
2024-08-22 09:23:16 -07:00
Jordan Rose
21dbd79192 java: Update to Gradle 8.6 and AGP 8.4.1 to match Signal-Android 2024-08-22 09:23:16 -07:00
Jordan Rose
4a1ed695b0 java: Specify working directory relative to project root 2024-08-22 09:23:16 -07:00
Jordan Rose
134324c8c4 Bump to version v0.56.0 2024-08-20 16:27:15 -07:00
Jordan Rose
5e81e01a38 java: {Signed,Kyber}PreKeyRecord.getKeyPair throws InvalidKeyException
Since the usual constructor is strongly typed, this can only happen
when the serialized data is corrupted. But that is a possibility.
2024-08-20 14:54:46 -07:00
Alex Konradi
7c8a3e957d java: include unexpected exception name in message 2024-08-13 14:05:59 -04:00
Jordan Rose
360b335cff Bump to version v0.55.1 2024-08-13 09:52:44 -07:00
Sergey Skrobotov
a8bc95bc7e Bump to version v0.55.0 2024-08-09 11:30:00 -08:00
Sergey Skrobotov
4b283b7b4f net: dropping reconnect count field 2024-08-07 19:11:43 -07:00
Jordan Rose
aa3f6532b2 Bump to version v0.54.3 2024-08-07 12:06:46 -07:00
Jordan Rose
669b43f12d java: Compare strings correctly in ee552962 2024-08-07 12:01:24 -07:00
Jordan Rose
83e18251c7 Bump to version v0.54.2 2024-08-06 13:06:03 -07:00
Jordan Rose
ee552962b9 java: Special-case the arch-specific load to account for "x86_64"
0453438d added the capability to prefer arch-specific versions of
libsignal_jni, but it turns out that some Java implementations use
"x86_64" rather than the "amd64" we expected. Rather than doing
something clever and general, just handle this one special case. If
this happens again with "arm64" vs "aarch64", we can spend more time
on it then.
2024-08-06 10:18:10 -07:00
Jordan Rose
d9187a4db3 jni: Handle absurd numbers of recipients in multi-recipient messages
Previously we tried to be Fast by allocating a big local frame, enough
references for all the recipients we parsed. However, that backfired
if there were so many recipients that we couldn't allocate the local
frame. Switch to using AutoLocal references, so we have a fixed
overhead.

One interesting consequence of this is that we can't build the array
of excluded recipients in one go; instead, we now use a helper
java.util.ArrayList that we push into. Fortunately, we only exposed a
List in the public interface anyway.
2024-08-05 11:23:40 -07:00
Jordan Rose
11544c6718 java: Omit native libraries from the sources jars
...at least partly to cut down on the space used during a build that
includes all supported architectures.
2024-08-02 09:54:43 -07:00
Jordan Rose
47f221e9ab build_jni.sh: error out if no target is provided 2024-08-02 09:54:43 -07:00
Jordan Rose
ee321f2697 Bump to version v0.54.1 2024-07-31 16:58:52 -07:00
Jordan Rose
d3adfba263 java: Adjust how we handle manual cross-compilation
Follow-up to 0453438d. Previously, setting CARGO_BUILD_TARGET before
manually calling build_jni.sh merely did a Cargo build with the same
settings as the host build. However, adding support for cross-compiles
for the server build broke this "ad hoc" cross-compilation.
Fortunately, it was used only in one place: providing both flavors of
Mac library in a built libsignal-client and libsignal-server. We can
use the *new* cross-compilation support for this instead, reducing
special cases.

This also limits the conditions where build_jni.sh will automatically
set CC and other environment variables, and allows that behavior to be
overridden by manually setting them.
2024-07-31 16:27:25 -07:00
Jonathan Klabunde Tomer
c3b6b85243 build_jni.sh: don't use modern bash features 2024-07-31 11:22:35 -07:00
Jonathan Klabunde Tomer
3d1c45f15d build multiarch server jar from make targets by default 2024-07-31 10:07:54 -07:00
Jordan Rose
a561392cff Expose the "network changed" event to apps 2024-07-30 15:27:42 -07:00
Jonathan Klabunde Tomer
0453438d98 Prepare libsignal-server Java build for arm64 2024-07-30 13:37:55 -07:00
Sergey Skrobotov
b86d58e8d6 Bump to version v0.54.0 2024-07-26 14:02:22 -08:00
Sergey Skrobotov
d694cff1a1 net: adding a parameter to opt in/out of receiving stories 2024-07-25 14:55:23 -07:00
Jordan Rose
9d729ff083 Re-apply "android: Don't strip debug info out of the AAR"
A revised version of the earlier 23192280:
- Uses --build-id for all archs, not just aarch64
- Also raises Gradle's memory limits
2024-07-25 14:22:56 -07:00
Jordan Rose
f2ae8436b3 Bump to version v0.53.0 2024-07-23 14:57:28 -07:00
Chris Eager
4a3d4aecd5 Add SealedSenderMultiRecipientMessage#serializedRecipientView
This allows a server to parse and validate a multi-recipient message once,
and then efficiently store per-recipient views for future delivery.
2024-07-23 10:16:02 -07:00
Jordan Rose
8835b7febe java: Enable Gradle dependency checksums 2024-07-22 15:56:02 -07:00
Alex Konradi
8ba0f2731c Bump to version v0.52.5 2024-07-19 13:41:34 -04:00
Alex Konradi
4c0bb6d87f Revert "android: Don't strip debug info out of the AAR" 2024-07-19 11:25:58 -04:00