Skip to content

[Feature]: Dashboard control for the JEV session pin (sessionPin) #7580

Closed

Description

@lidge-jun

Area

Dashboard

What are you trying to accomplish?

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.
  • I removed secrets and personal data.

Activity

  1. added
    guiDashboard, tray, settings UI
    proxyHTTP proxy, routing, reverse-proxy / management auth
    on Oct 23, 2026
  2. Ingwannu commented on Oct 23, 2026

    @Ingwannu
    Owner

    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.

  3. lidge-jun commented on Oct 24, 2026

    @lidge-jun
    OwnerAuthor

    Fixed on dev by #7664 (merge commit 047c5dc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestguiDashboard, tray, settings UIproxyHTTP proxy, routing, reverse-proxy / management auth

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions