Skip to content

[Feature] Add "Unmatched Scripts" section to popup #1590

Description

@RaXorX

Pre-check

  • I have searched existing issues and confirmed this is not a duplicate feature request.
  • I confirm this is not a bug. If this is unexpected behavior, I should use the Bug Report template.

Feature Area

Script matching / exclusion / permission management

Problem to Solve

Currently, ScriptCat's popup only displays scripts that actively match the current page. This prevents quick, on-the-fly management of scripts that are either:

  1. Excluded from the current domain (via exclusion rules) — the script disappears from the popup, making it impossible to reverse the exclusion without opening the full dashboard
  2. Never matched this page to begin with (no include/match rules) — completely invisible in the popup, even though the user may want to whitelist them

This creates a usability gap: you can quickly exclude a matched script, but you can't quickly undo that exclusion, or quickly include an unmatched script.

Proposed Solution

Add an "Unmatched Scripts" section to the popup (similar to how ScriptCat already has "Matched" and "Background" sections). This section would display:

  1. Scripts that are currently excluded from this domain — with a button to remove the exclusion
  2. Scripts that have no matching rules — with a button to add this domain to the whitelist

ScriptCat Popup
═══════════════
▼ Matched Scripts (3)
✓ Dark Mode Suite [Exclude this site]
✓ Auto-Filler [Exclude this site]
✓ Video Download [Remove from Whitelist] (unmatched, but currently whitelisted)

▼ Background Scripts (1)
◉ Data Sync

▼ Unmatched Scripts (2)
○ Forum Tweaks [Add to whitelist]
○ Price Tracker [Remove from exclusion] (currently excluded)

Behavior

Unmatched → Whitelisted: Once a user clicks "Add to whitelist," the script moves to the "Matched" section and begins running. The button changes to "Remove from whitelist"
Matched → Excluded: When a user excludes a matched script, it moves to "Unmatched" instead of disappearing entirely
Excluded → Unexcluded: User can click "Remove from exclusion" in the Unmatched section to restore it

Why it matters

This isn't a niche use case. Users often:

  • Test scripts on multiple sites before deciding where to keep them active
  • Accidentally exclude a script and need to undo it without navigating away
  • Fork/modify scripts and want to test them on selective domains without opening the dashboard repeatedly

The current design forces users into a friction-filled workflow: popup → exclude → script vanishes → need to undo? → open dashboard → find script → navigate to settings → manage rules manually.
This directly contradicts the purpose of a popup: quick, contextual management.

Technical Note

ScriptCat already has the UI framework for this (collapsible sections for Matched and Background scripts). This is primarily a popup UI reorganization, not a core engine change.

API / UI Draft, if Applicable

No response

Alternatives

No response

Compatibility and Security Impact

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions