jala_ui 0.8.2
jala_ui: ^0.8.2 copied to clipboard
Inspector UI for Jala: filtered call list, detail tabs, call diff, virtualized JSON tree, cURL/HAR import, throttle screen, session export/import, and overlay bubble.
jala_ui #
Inspector UI for Jala: call list, detail screens, virtualized JSON tree,
call diff, cURL/HAR import, overlay bubble, throttle screen, and session
export/import. Pure presentation over jala_core.
| Audience | Rarely direct — most apps install jala instead |
| Depends on | jala_core (Flutter) |
| Lockstep | 0.8.x — COMPAT.md |
| Requires | Flutter >=3.35, Dart ^3.11 |
Install #
Prefer the facade:
dependencies:
jala: ^0.8.2 # depends on jala_ui
Direct dependency only if you host the inspector yourself:
dependencies:
jala_ui: ^0.8.2
jala_core: ^0.8.2
Setup (via facade) #
Jala.initialize();
runApp(JalaOverlay(child: MyApp()));
// Jala.open() or tap the bubble
Embed without overlay #
import 'package:jala_ui/jala_ui.dart';
Navigator.of(context).push(JalaInspector.route());
Widgets read JalaBinding.instance.store.watch / watchWs live.
What’s here #
| Surface | Role |
|---|---|
JalaInspectorScreen |
Filter bar, merged HTTP/WS list, AppBar actions |
JalaCallDetailScreen |
Overview / Request / Response; GraphQL/WS panes; actions |
JalaCallDiffScreen / JalaJsonDiffView |
Structural compare |
JalaWsDetailScreen |
Connection + frame timeline |
JalaThrottleScreen |
Presets + custom profile + host glob |
JalaOverlayButton |
Draggable bubble (pending/error badge) |
JalaInspector.route() |
Themed route for custom navigators |
JalaTheme / JalaThemeController |
Own light/dark Material 3 (not host Theme) |
JalaLocalizations + .delegate |
UI strings, en + id; host-overridable |
AppBar / overflow: clear, HAR copy, theme, throttle, session export/import (full / no bodies / headers only), import cURL / HAR.
Request headers UI: cookie/auth collapsed under Sensitive by default (values already redacted at capture — CONFIG.md).
Imported entries: replay / mock / edit disabled with tooltip.
Invariants #
- Does not inherit host
Theme - Private navigator + localizations under the overlay
- Filter grammar is core’s
JalaFilter— see jala_core README JalaLocalizations.of(context)never returns null and never throws. These widgets are individually exported and a host may mount one anywhere, so a missing delegate degrades to English rather than crashing someone else's app. Set the language viaJalaConfig.localeon the facade — see CONFIG.md
Status colors: pending spinner; 2xx green; 3xx blue; 4xx orange; 5xx/error red; cancelled grey. WS chips: connecting / open / closed / error.
See also #
- jala — recommended app entrypoint
- docs/ADOPTION.md
- docs/SECURITY.md — export hygiene
- CHANGELOG.md