You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature]: Dashboard control for the JEV session pin (sessionPin) #7580
Turn the JEV session pin added in #7567 (Refs #7525) on or off, and set its idle window, from the Combo editor in the dashboard. Today it can only be changed through ocx combo set <id> --session-pin <duration|-> or the management API (sessionPin: { ttlMs }).
What prevents this today?
The dashboard has no control for sessionPin. #7567 deliberately made no UI change. The management API keeps an omitted sessionPin on JEV saves, so dashboard edits do not switch it off, but an operator who only uses the dashboard cannot see or change it.
What should OpenCodex do?
In the JEV Combo's Decision method section (gui/src/components/combo-workspace-jev-decision.tsx), add a session pin toggle with an idle-window input (1 minute to 24 hours, the same range as JEV_SESSION_PIN_TTL_MIN_MS / JEV_SESSION_PIN_TTL_MAX_MS in src/combos/jev-session-pin-config.ts). It should save sessionPin: { ttlMs } or null explicitly. Optionally, the JEV Stats tab could show summary.pinnedRequests, which the server already returns.
Example usage or interface
Combo editor → Decision method → "Keep a session on its decided target" [on] · idle window [20] minutes → saves { "sessionPin": { "ttlMs": 1200000 } }.
Alternatives or workarounds
ocx combo set jev-auto --session-pin 20m; --session-pin - turns it off.
Additional context
Server contract and docs: structure/providers/jev-decision.md § Session pin, and docs-site/src/content/docs/guides/combos.md § Session pin for JEV.
Checks
I searched existing issues and documentation.
This request describes a concrete OpenCodex workflow rather than merely naming a desired technology.
Confirmed the current split: #7567 added the server/CLI session-pin contract, while the Combo editor has no sessionPin control. Existing JEV API saves that omit the field preserve it; a new UI must distinguish omission from explicit null (disable) and { ttlMs } (enable/update).
For the proposed editor slice, reuse the existing JEV decision component and TTL validator, preserve the saved decision method/quota policy, and keep the 1-minute–24-hour bounds identical on UI/API readback. Include enabled/disabled/invalid-input/save-failure and older-response controls, all existing locales, and separately pinned rendered UI evidence. The optional statistics display should remain a separate scope and must not turn pinned-request counts into a cache-hit or savings claim. This is an intake/acceptance outline, not project-owner UI approval or an implemented control; keeping the feature request open.
Activity
Ingwannu commentedon Oct 23, 2026
Confirmed the current split: #7567 added the server/CLI session-pin contract, while the Combo editor has no sessionPin control. Existing JEV API saves that omit the field preserve it; a new UI must distinguish omission from explicit null (disable) and { ttlMs } (enable/update).
For the proposed editor slice, reuse the existing JEV decision component and TTL validator, preserve the saved decision method/quota policy, and keep the 1-minute–24-hour bounds identical on UI/API readback. Include enabled/disabled/invalid-input/save-failure and older-response controls, all existing locales, and separately pinned rendered UI evidence. The optional statistics display should remain a separate scope and must not turn pinned-request counts into a cache-hit or savings claim. This is an intake/acceptance outline, not project-owner UI approval or an implemented control; keeping the feature request open.
docs: add JEV session pin editor screenshot for #7580
lidge-jun commentedon Oct 24, 2026
Fixed on dev by #7664 (merge commit 047c5dc).