Description
App Name: TruexAd component library
App Link on Amazon Appstore n/a
I have encountered a webview video playback issue in my testing. For context, the TruexAd library presents interactive ads in a webview, overtop of a client app’s main video, during their ad breaks.
In particular, this means there is a main video present when we have the webview displayed overtop.
The issue we have discovered is that as videos play in the webview, there is a flash of the main video showing through for a fraction of a second, i.e. when the webview videos start and stop.
Here is a video of a test app run, demonstrating the problem. (be sure to rename .mp4.txt to just .mp4 to re-enable as a video):
kepler-test-video-flash-thru.mp4.txt (13.7 MB)
Steps to reproduce
- Run the test app on the Kepler stick
- Hit “Play” to start the main video.
- Once the preroll is shown, hit “Yes” to start the interactive ad.
- Navigate and choose various videos in the test ad, with the arrow and select keys on the remote.
- As videos play, observe the “coffee beans” flash through, from the underlying main video.
The current behavior
The webview videos themselves play ok, but there is a brief flash of the underlying main video showing though as videos start and finish.
The expected behavior
The underlying main video should not show through the webview at all.
Is this a blocker? Do you have any workarounds?
At the moment this is a blocker, we need to have the ad experience be clean, free from unintended display effects.
I have tried hiding the main video surface view via display: "none" and opacity: 0, neither of which had any effect.
I even tried to disconnect the surface view from the video while the webview is displayed, followed by restoring the main video resumes, i.e. via video.clearSurfaceHandle(''), and then video.setSurfaceHandle(surfaceRef.current). Unfortunately, the main video still flashes through even when disconnected.
Code example
N/A in a simple code example as such, just do the practice of having a main video displayed and paused, with a webview displayed overtop, playing its own videos in the web view.
I have a test app, as shown in the attached video, that I can give to you as needed.
System information
Checking installation status at /Users/blaak/.kepler/kntools/sdk/0.19.6
A different location can be specified via environment variable KEPLER_SDK_PATH.
- checking system information
✔ System: macOS 15.1.1
Architecture: aarch64
- checking Rosetta
✔ Rosetta not enabled
- checking developer token
✔ username and token found in knrc file
- checking git
✔ git found in the path
- checking curl
✔ curl found in the path
- checking Node.js
✔ Node.js binary compiled for aarch64
- checking code
✖ VSCode not found in the path
- checking XCode Command Line Tools
✔ XCode Command Line Tools is up to date
- checking installation directory
✔ /Users/blaak/.kepler/kntools/sdk/0.19.6 exists; /Users/blaak/.kepler/kntools exists
- checking licenses and legal notices
✔ licenses and legal notices found in /Users/blaak/.kepler/kntools/sdk/0.19.6
- checking required Homebrew packages
✔ Installed system packages:
autossh 1.4g
binutils 2.44
coreutils 9.4
gawk 5.3.1
findutils 4.10.0
glib 2.84.1
gnutls 3.8.9
grep 3.11
jpeg turbo 3.1.0
jq 1.7.1
libepoxy 1.5.10
libpng 1.6.47
libslirp 4.9.0
libssh 0.11.1
libusb 1.0.27
lzo 2.10
lz4 1.10.0
nettle 3.10.1
openssh 9.9p2
pixman 0.44.2
sdl2 2.32.4
snappy 1.2.1
tmux 3.4_1
unzip 6.0_8
vde 2.3.3
xz 5.8.1
gnu-sed 4.9
watchman 2025.04.14.00
zstd 1.5.7
- checking pyenv
✔ pyenv version 2.6.0 installed
- checking python
✔ python version 3.12.6 installed
- checking pip
✔ pip version 24.2 installed
- checking pyenv virtualenv
✔ pyenv virtualenv version 1.2.4 installed
- checking virtualenv
✔ virtualenv 'kepler-0.19.6' created
- checking Python packages
✔ Installed Python packages:
conan 2.0.17
docopt 0.6.2
flatbuffers 23.5.26
langcodes 3.3.0
psutil 7.0.0
PyYAML 6.0.1
tomli 2.0.1
wheel 0.41.3
zstandard 0.22.0
- checking debugger server
✔ debugger server found
- checking simulator
✔ simulator exists at /Users/blaak/.kepler/kntools/sdk/0.19.6/simulator/tools/runsimulator
- checking vda
✔ vda version 2.1.0 installed
- checking Vega Packaging Tools
✔ Vega Packaging Tools vpt binary exists in /Users/blaak/.kepler/kntools/sdk/0.19.6/vegapackagingtool/bin/vpt
- checking Compiler for generating Hermes bytecode for Kepler apps
✔ Hermes Compiler binary exists at /Users/blaak/.kepler/kntools/sdk/0.19.6/hermes/072/bin/hermesc
- checking kvdi
✔ kvdi skipped since simulator is installed
- checking kvd-tv
✔ kvd-tv skipped since simulator is installed
- checking Heaptrack Tools
✔ Heaptrack Tools binaries exist in /Users/blaak/.kepler/kntools/sdk/0.19.6/heaptrack_prebuilts
- checking Kepler Debugging Tools
✔ Kepler Debugging Tools binaries exist in /Users/blaak/.kepler/kntools/sdk/0.19.6/kepler_debugging_tools/tools/scripts
- checking Kepler Manifest Module Remapper
✔ Kepler Manifest Module Remapper amzn-kepler-manifest-module-remapper binary exists in /Users/blaak/.kepler/kntools/sdk/0.19.6/kepler_manifest_module_remapper/bin/amzn-kepler-manifest-module-remapper
- checking CPU profiling tool for performance analysis
✔ CPU profiling tool for performance analysis binaries exist in /Users/blaak/.kepler/kntools/sdk/0.19.6/simpleperf_prebuilts
- checking Corretto JDK
✔ Corretto JDK version 11.0.20.8.1 installed
- checking Kepler Performance CLI
✔ Kepler Performance CLI binaries exist in /Users/blaak/.kepler/kntools/sdk/0.19.6/kepler_perf_cli
- checking Kepler Studio extensions
⚠ VSCode is required for Kepler Studio extensions
- checking environment setup file
✔ environment setup file exists at /Users/blaak/.kepler/kntools/sdk/0.19.6/environment-setup-sdk.sh and has correct contents
- checking environment setup file sourcing in .bashrc/.zshrc
⚠ /Users/blaak/.kepler/kntools/sdk/0.19.6/environment-setup-sdk.sh is not sourced from /Users/blaak/.bash_profile or
/Users/blaak/.bashrc
- checking Telemetry Service
✔ Telemetry Service exists at /Users/blaak/.kepler/kntools/sdk/0.19.6/kepler-telemetry/telemetry. Configuration file exists at /Users/blaak/.kepler/kntools/sdk/0.19.6/kepler-telemetry/config.json. Collection of anonymous usage data is enabled
This Kepler target build FAILED, exiting all target builds:
There were problems found with Kepler CLI prerequisites.
Logs or crash report
N/A
Additional Info
Just the attached test app video above.