Skip to content

"Enable Browser User Scripts Support" /open-dev is likely confusing for new users #43

@lionel-rowe

Description

@lionel-rowe

From docs/use/open-dev page:

Due to browser restrictions, extensions are forced to upgrade to Manifest V3, and Manifest V2 extensions will be completely discontinued after June 2025;

Under the limitations of Manifest V3, you must enable developer mode/user scripts functionality to use ScriptCat extension normally.

Reference: Developer mode for extension users, Manifest V3

⚠️⚠️⚠️ For browser kernel versions >=138, you need to enable Allow User Scripts. For lower versions <138, use Enable Developer Mode.

⚠️⚠️⚠️ Please note: If you are using Windows 8/7/XP systems, or browser kernel versions lower than <120, you need to manually install the legacy ScriptCat. v0.16.x is the last version that supports Manifest V2. Installation steps can be found at: Load unpacked extension installation.

Starting with multiple paragraphs talking about "Manifest V3" and even "browser kernel versions" is likely to be very confusing for new users, especially if they're non-technical.

I'd suggest a more user-friendly approach would be something like this (pseudocode, with some dynamic conditional content):

<script>
// some javascript to parse user agent and select relevant tabs
// e.g. { vendor: 'chrome', versionNumber: '144.0.0' }
const { vendor, versionNumber } = parseUa()
for (const tabGroup of tabGroups) selectTab(tabGroup, vendor)
// + whatever i18n handling is necessary
globalThis.actionLink = parseInt(versionNumber) >= 138
    ? "[Allow User Scripts](#allow-user-scripts)"
    : "[Enable Developer Mode](#enable-developer-mode)"
</script>

# Enable Browser User Scripts Support

> [!IMPORTANT]
> In order to use ScriptCat, you need to {{ actionLink }}, otherwise the extension will be unable to function.

## Allow User Scripts
<!-- Allow User Scripts section -->

## Enable Developer Mode
<!-- Enable Developer Mode section -->

Better still (but a bit more work to implement) would be having the extension communicate its current allow-user-scripts permission status to https://docs.scriptcat.org/, such that the page could conditionally replace the [!IMPORTANT] message with a Congratulations! User scripts are now enabled message.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions