-
Notifications
You must be signed in to change notification settings - Fork 108
feat: blake3 support #809
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: blake3 support #809
Conversation
🤖 End-to-End Test Results - iOSStatus: ✅ Passed 📸 Final Test ScreenshotScreenshot automatically captured from End-to-End tests and will expire in 30 days This comment is automatically updated on each test run. |
🤖 End-to-End Test Results - AndroidStatus: ✅ Passed 📸 Final Test ScreenshotScreenshot automatically captured from End-to-End tests and will expire in 30 days This comment is automatically updated on each test run. |
NEON intrinsics are only available on ARM architectures. The previous configuration unconditionally compiled blake3_neon.c for all ABIs, causing build failures on x86 and x86_64 emulators. This fix conditionally includes blake3_neon.c only when building for arm64-v8a. Other architectures (x86, x86_64, armeabi-v7a) will use the portable C implementation via blake3_dispatch.c fallback.
- Disable x86 SIMD (SSE2/SSE41/AVX2/AVX512) for x86/x86_64 builds since we don't compile the assembly files; falls back to portable C - Only compile blake3_neon.c for arm64-v8a (NEON auto-detected) - Upgrade NDK from 27.1 to 28.2 to fix CMake LTO hanging on macOS - Add 16KB page size support for Android 15+ (Play Store requirement) - Add jniLibs pickFirsts for duplicate native library conflicts
- Add testIDs to Show Passed/Failed checkboxes in TestDetailsScreen - Create gather-failed-tests.yml sub-flow that navigates into a suite, hides passed tests, and takes a screenshot of failures - Update main test flow to call sub-flow for each suite with failures - Assert all passed only after gathering all failure screenshots
- Replace vendored BLAKE3 C files with git submodule pointing to official BLAKE3-team/BLAKE3 repo at tag 1.7.0 - Update CMakeLists.txt and podspec paths to use deps/blake3/c/ - Add postinstall script in root package.json to auto-init submodule - Exclude non-C parts of BLAKE3 repo (Rust, benchmarks, tools) in podspec This reduces repo size while keeping the same functionality.
Use 'true:' instead of 'condition:' under 'when:' block. Maestro requires 'true:' for JavaScript expression conditions.
- Add testID='total-fail-count' to the total failures display - Simplify Maestro flow to use total-fail-count for assertion - Assert that totalFailures === '0' instead of tracking state in loop
These ciphers require special ctrl functions and are not intended for use outside TLS. They also depend on hardware (AES-NI) and may not be available on CI emulators. See: https://www.openssl.org/docs/man3.0/man3/EVP_aes_128_cbc_hmac_sha1.html
|
this E2E testing suite in actions is super cool |




Blake3class withupdate/digest)copy()for rolling hashesreset()to reuse hasher