Skip to content

Open popups are restored after a browser refresh / page reload as long as the URL hash is present

Choose a tag to compare

@levonisyas levonisyas released this 10 Feb 16:38
c3d29a0

🚀 Release Notes — Unified Engine Backbone Update (Faz.2)

🔧 Engine Architecture

This release introduces a unified engine backbone for Overlay Pro Card.

Both single and multi popup behaviors now run on the same deterministic Set/List reconciliation engine, eliminating legacy code paths and inconsistent state handling.


✅ Key Changes

Unified Popup Engine

  • A single Set/List-based backbone is now used for all modes
  • Internal state is always reconciled from the URL hash
  • Eliminates split behavior between single and multi popup modes

multi_mode Behavior Update

  • multi_mode no longer switches between different engines

  • It now only controls popup capacity:

    • multi_mode: false → maximum 1 open popup
    • multi_mode: truemultiple popups allowed

Deterministic URL Hash Handling

  • Both formats are supported by the same engine:

    • Single popup: #embed_001
    • Multi popup: #embed_001,003
  • In multi_mode: false, multi hashes are automatically normalized to a single embed

  • URL hash remains the single source of truth

Refresh & Reload Stability

  • Open popups are correctly restored after browser refresh or page reload
  • No more “open in logs but invisible in UI” issues
  • Works consistently in both portal_mode: local and portal_mode: global

🧹 What Was Removed (Internally)

  • Legacy single-popup state handling
  • Divergent code paths between single and multi modes
  • Non-deterministic visibility edge cases

(No public APIs or configuration options were removed.)


🧠 Why This Matters

  • Predictable behavior across refreshes
  • Cleaner mental model: one engine, one state model
  • Easier future extensions (groups, priorities, policies)
  • Fewer hard-to-reproduce edge-case bugs

⚠️ Backward Compatibility

  • Existing configurations continue to work without changes
  • Menu behavior and click handling remain unchanged
  • URL formats are fully backward compatible