0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-19 19:42:19 +02:00
Commit Graph

586 Commits

Author SHA1 Message Date
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
Alex Konradi
d33ce0bea5 Bump version number to 0.52.4 2024-07-19 09:34:42 -04:00
Jordan Rose
5a1144b8ac java: Update code size checker to measure post-stripping size
Previously the Android libraries were stripped as part of the build,
but what we're really trying to track is the download size and
size-on-disk for Android users, so the stripped library is more
relevant (and lets us continue to compare against previous releases).
2024-07-18 14:31:20 -07:00
Jordan Rose
e50ddd215b java: ChatServiceExtension now extends IOException
...for consistency with other network-related exceptions in the Java
ecosystem.
2024-07-18 13:08:59 -07:00
Alex Konradi
0b7d2856fe
Use ResourceReader in test 2024-07-18 14:48:18 -04:00
Alex Konradi
671febbde8
java docker: set default file encoding to UTF-8 2024-07-18 14:32:12 -04:00
Jordan Rose
2319228027 android: Don't strip debug info out of the AAR
This *greatly* increases the size of the artifacts uploaded to Maven,
but it looks like the libraries do correctly get stripped when the
final APK is built. (This was not true in the past.)

Also, make sure the built library includes a "build ID", or else the
stripped version of the library will be treated as a different
library, and all the line tables will go to waste.
2024-07-18 10:26:02 -07:00