Files
fusion/plugins/fusion-plugin-hermes-runtime/dist/probe.d.ts
gsxdsm 72691c6fd6 fix(dashboard): write ChatView visualViewport vars imperatively
The mobile composer/footer slid over the message list when the user
swiped with the keyboard up. Cause: --vv-height / --vv-offset-top were
routed through React state via useMobileKeyboard, so on iOS — which
fires visualViewport scroll/resize on the same frame as its keyboard
animation — the .chat-thread translation lagged by one paint, visible
as the composer momentarily floating over messages.

Now those two vars are written imperatively in a useLayoutEffect
directly to the .chat-thread DOM node on every visualViewport event,
mirroring the working pattern at QuickChatFAB.tsx:1032-1052 (which
already works correctly on mobile). Only --keyboard-overlap (a
structural open/close signal, not per-frame) still flows through
React state.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 20:25:38 -07:00

35 lines
1.2 KiB
TypeScript

/**
* Hermes binary probe helper.
*
* Mirrors the probeClaudeCli pattern from packages/dashboard/src/claude-cli-probe.ts.
* Never throws — all failures are captured as `available: false` with a reason.
*/
/**
* Result of probing for the hermes binary.
*/
export interface HermesBinaryStatus {
/** True if the binary was found and ran to completion successfully. */
available: boolean;
/** Absolute path resolved via `which`/`where`, if found. */
binaryPath?: string;
/** Version string from `hermes --version` stdout, if available. */
version?: string;
/** Human-readable failure reason when `available === false`. */
reason?: string;
/** Wall-clock duration of the probe in milliseconds. */
probeDurationMs: number;
}
/**
* Probe for the hermes binary.
*
* Runs `<binaryPath> --version` with a short timeout. Use this from
* the dashboard status endpoint to check binary presence without crashing.
*
* @param opts.binaryPath - Override the binary path (default: "hermes").
* @param opts.timeoutMs - Override probe timeout in ms (default: 2000).
*/
export declare function probeHermesBinary(opts?: {
binaryPath?: string;
timeoutMs?: number;
}): Promise<HermesBinaryStatus>;
//# sourceMappingURL=probe.d.ts.map