Chrome/Brave extension: add per-tab vs all-tabs side panel visibility option
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Summary
The ChatGPT/Codex browser side panel currently remains visible when switching to other tabs, including tabs where I never explicitly opened ChatGPT. In Brave (Chromium), each newly opened/switched-to tab can therefore have the side panel occupying page width with a new/separate chat window.
This is disruptive for workflows where ChatGPT is only needed alongside specific pages.
Proposed behavior
Add an extension preference for side-panel visibility with two modes:
- All tabs in this window — current behavior; the panel remains visible while switching tabs.
- Per tab / Only tabs where I open ChatGPT — the panel is visible only on tabs where the user explicitly opened it. Switching to a tab where it has not been opened hides the panel; returning to a tab where it was opened restores it.
Ideally, panel visibility should be independent from conversation identity/state. Choosing per-tab visibility should not necessarily imply that every tab must create a new conversation.
Expected per-tab workflow
- Open ChatGPT side panel on Tab A → panel appears on Tab A.
- Switch to Tab B, where ChatGPT was never opened → no side panel; webpage uses the full browser width.
- Explicitly open ChatGPT on Tab B → panel appears there.
- Return to Tab A → its panel remains/restores as appropriate.
Chromium API support
Chromium's Side Panel API supports tab-specific configuration via chrome.sidePanel.setOptions({ tabId, ... }) and tab-specific opening. Chrome's documentation describes tab-specific panels being hidden when switching to a tab where the panel is not enabled and appearing again when returning to an enabled tab.
Reference: https://developer.chrome.com/docs/extensions/reference/api/sidePanel
This suggests the extension could expose the behavior as a user-selectable option rather than forcing one visibility model.
Environment
- Browser: Brave (Chromium)
- Extension: official ChatGPT/Codex browser extension
This should ideally behave consistently across Chromium-based browsers supported by the extension.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Chromium's Side Panel API, especially tab-specific setOptions behavior and tab-specific opening, and trace how the extension currently opens and persists panel state. Done means a selectable all-tabs or per-tab preference works across the described Tab A/Tab B workflow without unnecessarily coupling panel visibility to conversation identity.
Written by the indexing model from the issue text.
Assessment
- Domain
- web-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100