Releases: Tribal-Chief-001/vivaldi-sidebar-fix
Releases · Tribal-Chief-001/vivaldi-sidebar-fix
Release list
v1.2.1: Full 88% Drag Width Expansion & Root-Cause Reset
⚡ What's New in v1.2.1
- Full 88% Desktop Width Drag Limiter:
- Fixed patcher search pattern for Vivaldi's minified
.618*this.context.innerWidthresize clamp. - Web panels can now be freely dragged across up to 88% of your entire screen width (expanded from the Golden Ratio 61.8% ceiling).
- Fixed patcher search pattern for Vivaldi's minified
- Preserved All Root-Cause Architecture:
- Instant fresh tab re-creation on (X) close via
chrome.tabs.remove()and native_createRelatedTab(). - Active chat/form state preservation on multitasking (click outside / blur).
- Native keyboard shortcut passthrough (
Ctrl+Enter,Meta+Enter,Shift+Enter,Alt+Enter).
- Instant fresh tab re-creation on (X) close via
v1.2.0: The Root-Cause Solution (Complete Tab Destruction & Clean Re-creation)
⚡ What's New in v1.2.0
- The Root-Cause Permanent Solution:
- Replaced
chrome.tabs.discard()withchrome.tabs.remove()on explicit close (X). - Calling
chrome.tabs.remove()completely destroys the tab session from Chromium and triggers Vivaldi's internalofferEraseTabIdlistener, erasing the tab ID fromPge.Z. - When reopened, Vivaldi's native
_createRelatedTab()runs with an empty tab ID, spawning a brand-new pristine tab pointing straight to your configured Home URL across all websites (ChatGPT, NotebookLM, Artificial Analysis, Grok, Claude, Reddit, Twitter/X, custom sites). - Cleaned up all legacy workarounds, race conditions, and heuristic resets.
- Multitasking (clicking outside / blur) continues to keep your active conversations 100% warm.
- Replaced
v1.1.2: Native Tab Lifecycle Engine
⚡ What's New in v1.1.2
- Native Tab Lifecycle Engine:
- Connected Vivaldi's core
_createRelatedTab()andthis.home()directly to the reopen lifecycle inbundle.js. - On explicit close via (X), the previous tab session is completely torn down and wiped.
- When reopened, Vivaldi creates a pristine brand-new tab pointing directly to
this.props.webPanel.urlwith zero cached navigation history across all websites (ChatGPT, NotebookLM, Artificial Analysis, Grok, Claude, GitHub, Reddit, etc.). - On multitasking / blur / click outside, the active session is preserved 100% warm.
- Connected Vivaldi's core
v1.1.1: Complete Universal Home Reset Resolution
⚡ What's New in v1.1.1
- Eliminated Race Condition Between React and MutationObserver:
- Previously,
window.__edgeShouldResetdeleted the panel ID fromclosedPanelsForResetimmediately when React rendered. - When the DOM MutationObserver fired 1ms later,
wasExplicitlyClosedevaluated to false, causing the wakeup engine to restore the old page fromcurrentSrc. - Added
recentlyResetPanelssafety tracking and guaranteed that once a panel is explicitly closed with (X), it will never restore old articles or chats on reopen across any website.
- Previously,
v1.1.0: Permanent Webview Wakeup Home URL Fix
⚡ What's New in v1.1.0
- The Wakeup Engine Overwrite Bug Solved:
- The wakeup engine previously read
wv.getAttribute('src')on discarded tabs and overwrote the home URL back to the old article/chat. - Now, when explicitly closed, the wakeup engine respects the Home URL (
this.props.webPanel.url), ensuring all sites (includingartificialanalysis.ai, ChatGPT, NotebookLM, Grok, etc.) reopen to their exact initial added URL.
- The wakeup engine previously read
v1.0.9: Native React componentDidUpdate Home Reset Lifecycle
⚡ What's New in v1.0.9
-
Native React Reopen Lifecycle Hook (
this.home()on Reopen):- The Race Condition Solved: Previously, navigating the webview right before
chrome.tabs.discardkilled the renderer meant Chromium tore down the process before the network fetch completed. On restore, Chromium loaded the last committed URL (e.g. an old article or deep subpath). - Direct React Hook: Patched Vivaldi's
Rge.componentDidUpdateinbundle.jsto directly call nativethis.home()upon reopening when flagged by the Close (X) button. - 100% Reliable Base URL Restoration: Because
this.home()(wv.src = this.props.webPanel.url) triggers directly in React on reopen, it guarantees that any website (such asartificialanalysis.ai, Grok, ChatGPT, Claude, GitHub, Reddit, or any custom panel) loads the exact home URL you originally added without race conditions.
- The Race Condition Solved: Previously, navigating the webview right before
-
Native Clean Keyboard Shortcuts:
- All text editing shortcuts (
Ctrl+Enter,Shift+Enter,Enter,Ctrl+A,Ctrl+C,Ctrl+V) pass through natively into web panels viabundle.jswith zero window-level event blockage.
- All text editing shortcuts (
-
Automated Test Suite:
- 100% green across unit, simulation, and edge case test suites.
-
Full Ledger & Documentation:
- Added Iteration 10 autopsy to
CHANGELOG.md.
- Added Iteration 10 autopsy to
v1.0.8: Dual-Key Initial URL Reset & Native Clean Shortcut Routing
⚡ What's New in v1.0.8
-
Dual-Key Initial URL Tracking:
- Indexed panels on explicit close by both their
panelIdand ChromiumtabIdusing a dedicatedpanelResetUrlsMap. - Guarantees that any web panel (Gemini, X/Twitter, Claude, ChatGPT, GitHub Notifications, Jira, Reddit, WhatsApp, or any custom internal dashboard) resets to the exact initial URL configured by the user when added.
- Indexed panels on explicit close by both their
-
Clean Native Shortcut Passthrough in
bundle.js:- Removed window-level
stopImmediatePropagationcapture listener in favor of Vivaldi's nativehandleShortcutdispatcher patch andfpassthrough set. - Ensures
Ctrl+Enter,Shift+Enter(newlines),Enter,Ctrl+A,Ctrl+C,Ctrl+V, and all browser hotkeys function with zero event blockage or side effects.
- Removed window-level
-
Automated Test Suite:
- Updated
tests/test_shortcuts.jswith clean webview focus simulation (100% green).
- Updated
-
Full Ledger & Documentation:
- Added Iteration 9 autopsy to
CHANGELOG.md.
- Added Iteration 9 autopsy to
v1.0.7: Universal Web Panel Close & Base URL Reset (Twitter/X, Claude, ChatGPT & All Domains)
⚡ What's New in v1.0.7
-
Universal Close & Base URL Reset Across All Panels:
- Native Rge Bridge: Connected Vivaldi's native
Rgewebpanel close button directly to__edgeCloseWebPanel(this), invoking nativethis.home(), Chromium tab URL update, and 0.0 MB memory discard on all panels. - Universal Base Domain Resets: Fixed URL fallback logic so closing Twitter/X (
https://x.com/), Reddit (https://reddit.com/), Claude (https://claude.ai/new), ChatGPT (https://chatgpt.com/), GitHub, YouTube, and any custom web panel resets back to its home domain rather than staying on deep subpaths. - Global Fallback Capture: Added document-level capturing click listener ensuring close buttons in all panel header variants route through the teardown engine.
- Native Rge Bridge: Connected Vivaldi's native
-
Expanded Edge Case Simulation Suite:
tests/test_edge_cases.jsexpanded to 22 test vectors across all domain types (100% green).
-
Full Ledger & Documentation:
- Added Iteration 8 autopsy to
CHANGELOG.md.
- Added Iteration 8 autopsy to
v1.0.6: Web Panel Shortcut Passthrough (Ctrl+Enter for Twitter, ChatGPT & Claude)
⚡ What's New in v1.0.6
-
Web Panel Shortcut Passthrough & Instant Submit Fix:
- The Root Cause Solved: Uncovered a two-part bug in Vivaldi's core shortcut dispatcher where
Ctrl+Enter/Meta+Enterwas omitted from the text-editing passthrough set (f) and web panels were misclassified as unfocused background tabs bygetFocusedElementInfo. - Instant Post / Tweet / Submit: Pressing
Ctrl+EnterorCmd+Enterdirectly submits tweets on Twitter/X, prompts on ChatGPT/Claude/Gemini, comments on GitHub, and messages on Discord/Slack without browser interception. - Runtime Capture Guard: Added
setupPanelShortcutGuard()insrc/edge-panel-mod.jspreventing outer UI shortcut hijacking. - Cross-Platform Patcher:
src/patch-bundle.pyautomatically patchesbundle.jsacross Linux, Windows, macOS, and BSD.
- The Root Cause Solved: Uncovered a two-part bug in Vivaldi's core shortcut dispatcher where
-
Automated Shortcut Test Suite:
- Added
tests/test_shortcuts.jsverifying passthrough table simulation, panel keydown capture, and end-to-end bundle patch execution.
- Added
-
Updated Engineering Ledger & Docs:
- Added Iteration 7 autopsy to
CHANGELOG.mdand updatedREADME.mdwith Mermaid flowcharts.
- Added Iteration 7 autopsy to
v1.0.5: Systems Hardening, Edge-Case Test Suite & ELI5 Documentation
⚡ What's New in v1.0.5
-
Edge-Case Systems Hardening:
- Extension Panel Isolation: Protects Chrome SidePanel & internal extensions (Bitwarden, Translate) from unexpected URL resets or tab discards.
- Atomic Debounce & Re-entrance Guard: Prevents switcher icon oscillation and desynchronized discard timers during rapid repeated clicks on 'X'.
- Memory Set Leaks Resolved: Added
chrome.tabs.onRemovedlistener to evict destroyed tabs from tracking Sets. - SPA Hash & Subpath Routing: Cleans deep hash fragments and URL queries back to base routes without kicking users out of subpath workspaces.
- Glide Discard Cancellation: Immediately aborts scheduled discard if the user reopens a closing panel during the 150ms glide delay.
- Scoped DOM Container Observer: Scoped
MutationObserverto#panels-containerto eliminate full-window DOM thrashing. - Multi-tier Close Fallback: Works even if the user has hidden the sidebar switcher bar.
-
Automated Test Simulation Suite:
- Added
tests/test_edge_cases.jsvalidating URL clean matrix, extension detection, tab memory eviction, atomic debounce, and container scoping (100% green).
- Added
-
Comprehensive Chronological Ledger:
- Added
CHANGELOG.mdwith low-level technical autopsies of every iteration explaining why each bug happened at the Chromium/React level.
- Added
-
ELI5 ("Explain Like I'm 5") Visual Documentation:
- Complete overhaul of
README.mdfeaturing Mermaid diagrams, spoon-fed Linux distro matrix, and SEO-optimized snippet FAQs.
- Complete overhaul of