StrikeHub uses a native WebView for rendering its UI. This guide covers display and rendering problems.
Blank window on launch
Symptom: StrikeHub starts but shows a completely blank or white window.
Possible causes:
- Missing WebView dependencies (Linux) — The system doesn't have the required WebKit2GTK libraries.
- Corrupted config — A malformed
connectors.tomlcauses the UI to fail silently. - GPU driver issues — Hardware-accelerated rendering may fail on certain GPU/driver combinations.
Debugging:
Linux — Install WebView dependencies
# Debian/Ubuntu
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev
# Fedora
sudo dnf install webkit2gtk4.1-devel gtk3-devel
# Arch
sudo pacman -S webkit2gtk-4.1 gtk3
Reset config
# Back up and remove the config file
mv ~/.config/strikehub/connectors.toml ~/.config/strikehub/connectors.toml.bak
# Restart — a new default config will be created
cargo run --features desktop
Disable GPU acceleration
# Try running with software rendering
WEBKIT_DISABLE_COMPOSITING_MODE=1 cargo run --features desktop
Connector UI not loading
Symptom: The sidebar shows the connector as online, but the content area is blank or shows an error.
Possible causes:
connector://protocol not registered — The custom protocol handler failed to initialize.- Connector's Axum server not serving assets — CSS, JS, or WASM files are missing.
- Port/socket mismatch — The content area is trying to load from the wrong endpoint.
Debugging:
# Check that the connector serves its UI
curl --unix-socket /tmp/strikehub-kubestudio.sock http://localhost/liveview
# Run with proxy tracing
RUST_LOG=sh_core::proxy=debug cargo run --features desktop
Look for errors related to connector:// URL resolution:
sh_core::proxy: custom protocol request url="connector://kubestudio/liveview"
sh_core::proxy: forwarding to connector addr="..."
CSS not loading or UI looks broken
Symptom: The connector UI loads but styles are missing — raw HTML or broken layout.
Possible causes:
- Asset path mismatch — The connector's
/assets/*route isn't serving files correctly. - Content Security Policy — The WebView's CSP is blocking external stylesheets.
Debugging:
# Check that assets are served
curl --unix-socket /tmp/strikehub-kubestudio.sock http://localhost/assets/main.css
If the response is 404, the connector's asset build may not have completed. Rebuild the connector.
UI freezes
Symptom: The StrikeHub window becomes unresponsive — clicks and keyboard input don't work.
Possible causes:
- Main thread blocked — A long-running operation is running on the UI thread instead of being spawned as a task.
- WebSocket flood — Too many messages from the WsRelay overwhelming the WebView.
- Memory exhaustion — The application has run out of memory.
Debugging:
# Check memory usage
ps aux | grep strikehub
# Run with tracing to identify blocking operations
RUST_LOG=sh_ui=trace cargo run --features desktop
Tip: If the UI freezes consistently during a specific operation, file a bug report with the
RUST_LOG=traceoutput for that operation.