Skip to content

Commit 543e5b8

Browse files
committed
feat(side-panel): persist per-tab UI state and restore on tab switch
Introduce per-tab state management for the side-panel. Each browser tab now maintains its own UI state and switching tabs restores the appropriate view. New storage keys scope by tab id and are cleared on close to reset the view for subsequent openings. Key changes: - Add tab-scoped storage with keys like sidepanel_state_<tabId> - Track active tab id alongside URL and use GET_ACTIVE_TAB_INFO fallbacks - Load saved state on mount/tab switch, defaulting to the plugin grid - Persist state snapshots on showControlPanel, selectedPlugin, and panelView - Remove previous URL-derived state logic - Defensive logging for tabs without IDs and unavailable plugins
1 parent ffce83a commit 543e5b8

30 files changed

Lines changed: 239 additions & 123 deletions

File tree

chrome-extension/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "chrome-extension",
3-
"version": "0.5.1565",
3+
"version": "0.5.1569",
44
"description": "chrome extension - core settings",
55
"type": "module",
66
"private": true,

chrome-extension/public/pyodide/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "pyodide",
3-
"version": "0.27.1572",
3+
"version": "0.27.1576",
44
"description": "The Pyodide JavaScript package",
55
"keywords": [
66
"python",

chrome-extension/public/side-panel/assets/index-Cxb24CHT.js

Lines changed: 50 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

chrome-extension/public/side-panel/assets/index-lp0TK1ly.js.map renamed to chrome-extension/public/side-panel/assets/index-Cxb24CHT.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

chrome-extension/public/side-panel/assets/index-lp0TK1ly.js

Lines changed: 0 additions & 50 deletions
This file was deleted.

chrome-extension/public/side-panel/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="UTF-8" />
55
<title>Side Panel</title>
6-
<script type="module" crossorigin src="./assets/index-lp0TK1ly.js"></script>
6+
<script type="module" crossorigin src="./assets/index-Cxb24CHT.js"></script>
77
<link rel="stylesheet" crossorigin href="./assets/index-BtLe3REW.css">
88
</head>
99

chrome-extension/src/background/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "chrome-extension-background",
3-
"version": "1.0.1022",
3+
"version": "1.0.1026",
44
"scripts": {
55
"build": "webpack --mode=production",
66
"dev": "webpack --mode=development --watch"

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "agent-plugins-platform",
3-
"version": "1.0.1547",
3+
"version": "1.0.1551",
44
"description": "Browser extension that enables Python plugin execution using Pyodide and MCP protocol",
55
"license": "MIT",
66
"private": true,

packages/dev-utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@extension/dev-utils",
3-
"version": "0.5.1565",
3+
"version": "0.5.1569",
44
"description": "chrome extension - dev utils",
55
"type": "module",
66
"private": true,

packages/env/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@extension/env",
3-
"version": "0.5.1552",
3+
"version": "0.5.1556",
44
"description": "chrome extension - environment variables",
55
"type": "module",
66
"private": true,

0 commit comments

Comments
 (0)