Initial snapshot before step 6 options.js split
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# Stable Extension ID
|
||||
|
||||
Chrome and Brave derive an extension ID from the extension public key. If the
|
||||
key changes, the extension ID changes too.
|
||||
|
||||
Why this matters for rclone-jav:
|
||||
|
||||
- `chrome.storage.sync` settings are scoped to the extension ID.
|
||||
- The native messaging host manifest authorizes specific extension IDs in
|
||||
`allowed_origins`.
|
||||
- Moving or reloading an unpacked extension without a fixed key can make settings
|
||||
appear to vanish and can break native messaging.
|
||||
|
||||
## Recommended workflow
|
||||
|
||||
1. Export settings from Options -> Backup before changing install paths.
|
||||
2. Keep Production loaded from a stable folder path.
|
||||
3. For a permanently stable unpacked ID, add a fixed Chrome extension public key
|
||||
to `manifest.json` under the `key` field.
|
||||
4. After the ID changes intentionally, update the native host manifest
|
||||
`allowed_origins` and re-register the host.
|
||||
5. Import the settings backup.
|
||||
|
||||
## Packed extension workflow
|
||||
|
||||
If you pack the extension as a `.crx`, save the generated `.pem` private key.
|
||||
Packing future versions with the same `.pem` produces the same extension ID.
|
||||
|
||||
Do not lose or share the `.pem`; it controls the extension identity.
|
||||
|
||||
## Unpacked extension workflow
|
||||
|
||||
For unpacked installs, use the public key derived from the `.pem` as
|
||||
`manifest.json`'s `key` value. The value must be the Chrome extension public key
|
||||
format, not an arbitrary string.
|
||||
|
||||
Same manifest key = same extension ID.
|
||||
Reference in New Issue
Block a user