Commit 934d09a
authored
feat: Support 8 byte colors + non-linearity in hash (#466)
## Summary
- Support 8 byte color
- Add multiplication to fast hashing to achieve non-linearity
- Compensate slow down but deeper optimization (performance stays the
same)
- remove benchmake code and benchmark screenshots from repository
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Moderate risk because `TileSignatureManager` now returns `null` when
the JNI library isn’t present, which can disable tiled diffing/session
replay in environments without `session_replay_c`. Also adjusts keyframe
selection logic for `OverlayTiles`, which could affect replay
fidelity/size.
>
> **Overview**
> **Session replay tile hashing is now native-only.**
`TileSignatureManager` drops the Kotlin fallback/overloads and returns
`null` unless the `session_replay_c` JNI library is available.
>
> **Tiled diff keyframe selection is adjusted.** `TileDiffManager`
changes `OverlayTiles` logic to treat `layers <= 0` as always-keyframe
and to prioritize periodic keyframes before falling back to
“whole-screen diff” detection.
>
> **Benchmark and parity test code removed from the e2e app.** Deletes
the Compose `BenchmarkActivity`/executor/assets, removes its launcher
UI/manifest entry, removes the benchmark serialization dependency, and
deletes an Android instrumentation test that validated native/Kotlin
hash parity.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
9ee51d2. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->1 parent b48de07 commit 934d09a
160 files changed
Lines changed: 174 additions & 1312 deletions
File tree
- e2e/android/app
- src
- androidTest/java/com/example/androidobservability
- compose
- assets/benchmark/mastodon
- java/com/example/androidobservability
- benchmark
- sdk/@launchdarkly/observability-android/lib/src
- main
- jniLibs
- arm64-v8a
- armeabi-v7a
- x86_64
- x86
- kotlin/com/launchdarkly/observability/replay/capture
- test/kotlin/com/launchdarkly/observability/replay/capture
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | 123 | | |
127 | 124 | | |
128 | 125 | | |
| |||
Lines changed: 0 additions & 71 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | 18 | | |
25 | 19 | | |
26 | 20 | | |
| |||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
0 commit comments