mirror of
https://github.com/garrytan/gstack.git
synced 2026-06-18 07:40:09 +02:00
2eb946b09b
Without the `tabs` permission, chrome.tabs.query() returns tab objects with undefined url/title for any site outside host_permissions (i.e. everything except 127.0.0.1). snapshotTabs then wrote empty strings into tabs.json and active-tab.json silently skipped writes, and the sidebar agent lost track of what page the user was actually on. activeTab is too narrow — it only applies after a user gesture on the extension action, not for background polling. Manifest test asserts permissions includes 'tabs' so future drift is caught. Note: this widens the extension's permission surface; users will see the broader scope on next install. Called out in the CHANGELOG. Contributed by @fredchu (#1257). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
32 lines
791 B
JSON
32 lines
791 B
JSON
{
|
|
"manifest_version": 3,
|
|
"name": "gstack browse",
|
|
"version": "0.1.0",
|
|
"description": "Live activity feed and @ref overlays for gstack browse",
|
|
"permissions": ["sidePanel", "storage", "activeTab", "scripting", "tabs"],
|
|
"host_permissions": ["http://127.0.0.1:*/", "ws://127.0.0.1:*/"],
|
|
"action": {
|
|
"default_icon": {
|
|
"16": "icons/icon-16.png",
|
|
"48": "icons/icon-48.png",
|
|
"128": "icons/icon-128.png"
|
|
}
|
|
},
|
|
"side_panel": {
|
|
"default_path": "sidepanel.html"
|
|
},
|
|
"background": {
|
|
"service_worker": "background.js"
|
|
},
|
|
"content_scripts": [{
|
|
"matches": ["<all_urls>"],
|
|
"js": ["content.js"],
|
|
"css": ["content.css"]
|
|
}],
|
|
"icons": {
|
|
"16": "icons/icon-16.png",
|
|
"48": "icons/icon-48.png",
|
|
"128": "icons/icon-128.png"
|
|
}
|
|
}
|