- For local development, this built the Rust library automatically
when you invoked `yarn install`, whether you wanted it to or not.
- For the published package, this either did nothing (if the correct
prebuilds were present) or produced a weird error (if they weren't).
You can't use the published package without prebuilds, so maybe this
was useful, but you'd find that out pretty quickly when loading the
module failed.
- If you used the "link" feature to build Signal Desktop with a local
checkout of libsignal, this would build the Rust library
automatically when you `install`ed in the *Desktop* directory,
whether you wanted it to or not.
- If you pointed Signal Desktop at a local checkout by copy instead of
link, this would just fail, because the Rust parts wouldn't be
copied with it.
Overall, it's simpler to just have this step be explicit.
Similar to the previous commits, but for Java/Android. If invoking
build_jni.sh directly, use `--debug-level-logs` like build_ffi.sh.
As a consequence, LOGGING IS NO LONGER AUTOMATICALLY ENABLED FOR
JAVA/ANDROID. Clients must call SignalProtocolLoggerProvider.
initializeLogging() in addition to setting a provider.
Gradle's "build" action includes running tests; it's "assemble" that
doesn't. So we've been redundantly asking to run tests for a while,
and that currently does extra work due to the testing-fns variant
builds of the Android libraries. Just remove it.
This MP4 format "sanitizer" currently only transforms (when necessary) outgoing media on iOS, Android, or Desktop to
make it suitable for streaming playback by the recepient. In the future, it will validate and be able to either repair
or reject outbound AND inbound media, to prevent malformed media from being fed to third party or OS media players.
An generic io module was added to the libsignal rust bridge containing the InputStream trait, modeled loosely after
Java's InputStream, which calls back into the client language to perform reads or skips. This infrastructure could
potentially also be for any other future large data inputs to libsignal functions.
Previously all APIs were available through the top-level index.ts, but
now the zkgroup APIs are in their own module. To access that in the
old packaging required writing
import * from '@signalapp/signal-client/node/dist/zkgroup'
This commit moves the package root into the node/ directory to
eliminate the 'node/' component, then adds a top-level, precompiled
zkgroup.js/.d.ts so that clients can use
import * from '@signalapp/signal-client/zkgroup'