Skip to content

Add per-session plugin enable/disable dropdown to webapp prompt toolbar #202

Closed

Description

@OpenCodeEngineer

Implement a minimal prompt-toolbar plugin toggle UI in the webapp. Scope:

  • Inspect existing plugin routes/SDK/client UI
  • Add a small plugin button after the reasoning variant selector in packages/app/src/components/prompt-input.tsx
  • Show installed plugins in a popover/dropdown with on/off toggles
  • Persist per-session disabled plugin state client-side using the settings store pattern
  • Do not add full server-side enable/disable yet; UI/state only
  • Validate with cd packages/app && bun typecheck

Activity

  1. OpenCodeEngineer commented on May 15, 2026

    @OpenCodeEngineer
    Author

    Started work. I’m inspecting existing plugin routes/SDK/UI patterns and the prompt toolbar/settings store before delegating implementation and validation.

  2. OpenCodeEngineer commented on May 15, 2026

    @OpenCodeEngineer
    Author

    Inspection complete. Existing app code already reads configured plugins from sync.data.config.plugin (for the status popover), and session-scoped local persistence already exists in context/local.tsx for model/variant state. Next step: implement a minimal prompt-toolbar plugin popover after the variant selector, persist disabled plugins per session on the client, and wire the disabled set into prompt/auto-review plumbing where possible without adding server-side toggling yet.

  3. OpenCodeEngineer commented on May 15, 2026

    @OpenCodeEngineer
    Author

    Starting follow-up refinement: make the prompt toolbar plugin trigger subtly show active plugin state (count/label), keep it after variant selector, preserve client-side behavior, and run cd packages/app && bun typecheck.

  4. OpenCodeEngineer commented on May 15, 2026

    @OpenCodeEngineer
    Author

    Follow-up refinement completed locally:

    • Prompt toolbar plugin trigger now subtly shows active state using icon + active/total count.
    • Trigger remains after the variant selector and keeps current client-side-only behavior.
    • Implementation now reuses local.plugin.list() in prompt-input.tsx.
    • Popover/toggle behavior preserved; row semantics updated to avoid nested interactive controls.

    Validation run:

    • cd packages/app && bun typecheck ✅ passed.
  5. OpenCodeEngineer commented on May 15, 2026

    @OpenCodeEngineer
    Author

    Implementation is complete and validated locally with cd packages/app && bun typecheck. I’m preparing the branch/PR next and will link it back here.

  6. OpenCodeEngineer commented on May 15, 2026

    @OpenCodeEngineer
    Author

    Done. Changes are committed on branch copilot/session-plugin-toggle-202 and pushed.

    I attempted to open the PR automatically, but GitHub rejected it because the current credentials are not a collaborator for PR creation (must be a collaborator). The branch is ready for a collaborator to open a PR from the compare URL above.

  7. dzianisv commented on Jun 22, 2026

    @dzianisv
    Owner

    Already implemented. Plugin popover exists in prompt-input.tsx:1929-1984 with Switch toggles per plugin, count badge, and per-session disable state persisted via context/local.tsx.

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 requestpriority:mediumMedium priorityuxUser experience or UI behavior

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions