Skip to content

Releases: loerei/Taguru

v1.0.6

Choose a tag to compare

@loerei loerei released this 25 Aug 00:26

Added

  • Group Loading Mode (Lazy Load vs Full Load): Added a configuration option in General Settings allowing users to choose how tabs are restored when opening a saved group.
  • Suspended Tab Group Restoration (Lazy Load): Restores background tabs using Chromium discarded: true and title metadata in both current window and new window load flows, preventing tab media/video autoplay and eliminating RAM/network spikes when opening large groups (e.g. YouTube).
  • Tab Group Live Sync (Auto-Update): Automatically synchronizes tab changes (creating, closing, moving, updating URLs) from a dedicated window back into its saved group without requiring manual "Overwrite".
  • Single-Window Lease & Session Storage Binding: Utilizes chrome.storage.session to cleanly map active windowId to groupId during the browser session, guaranteeing that only the designated primary window writes tab changes.
  • Pre-flight Takeover Modal & Conflict Resolution: Displays an interactive Takeover confirmation dialog when opening a group that is already live-syncing in another window, offering 3 options: Takeover, Open Detached, or Cancel.
  • Sync Loop & Minimalist Status Indicator Dots: Compact status dots (glowing Blue for current window, Slate-Gray for external windows) and intuitive Sync Loop / Sync Disabled toggle icons.
  • Default Group Auto-Sync Setting: Added a configuration toggle in General Settings allowing users to choose whether newly created groups have auto-update turned on by default (defaults to OFF / Static snapshot).
  • Wipe-Prevention Safety Guard: Automatically isolates empty tab states or closing transitions so groups are never accidentally wiped if a synced window is closed down to 0 tabs.

v1.0.4

Choose a tag to compare

@loerei loerei released this 16 Aug 07:11

Added

  • Click-to-Select & Contextual Header Action Bar in Domains View: Streamlined multi-domain selection UX by removing the legacy batch mode toggle and checkboxes in favor of direct card click-to-select, and promoted the batch action controls (Move, Save, Delete, Select All, Clear) directly into the top Toolbar Header.
  • Group Quick-Picker Popover (Save As New vs Add to Existing Group): Added an interactive popover menu when clicking Save on the Toolbar or domain cards, enabling users to seamlessly choose between saving domain tabs as a new group or appending them into an existing saved group with automatic duplicate URL filtering.

Fixed

  • MBD Long-Distance Drag Lock Timeout (0 moved): Replaced the rigid 3-retry counter with a reactive Lock-State Polling mechanism that continuously awaits tabstrip unlock without hardcoded timeouts, eliminating 0 moved failure drops when dragging tabs over long distances.
  • MBD Pre-Drag Adjacency Calculation: Fixed domain adjacency calculation to read true pre-drag domain distance directly from domainOrderCache.keys() (Math.abs(gKeyIndex - cKeyIndex) === 1), preventing non-adjacent long-distance drags from falsely triggering the adjacent-swap branch due to mutated tabstrip arrays.
  • Tab Tear-off & Window Detach Guard: Added active window existence checks (chrome.tabs.get) before moving tabs to gracefully abort MBD if a tab is torn off into a new window or closed mid-drag.
  • ServiceWorker Cold-Start Cache Recovery: Added automatic cache warm-up fallback in moveDomainGroupToTabPosition when domainOrderCache is empty upon ServiceWorker wake-up.
  • Real-Time Snapshot Trigger Source Labels: Fixed hardcoded Manual Sort Button snapshot log labels to accurately reflect event trigger origins (Auto Sort (tab-updated), Auto Sort (tab-created), Auto Re-FSO).

v1.0.3

Choose a tag to compare

@loerei loerei released this 08 Aug 13:05

Added

  • Opening Tab View Persistence: Saved and restored the user's active view tab (Groups, Domains, or Settings) in chrome.storage.local so opening the Popup or Side Panel automatically opens to the user's last visited view.
  • Extension Icon Click Behavior Selector: Added radio options in General Settings to choose whether clicking the extension toolbar icon defaults to opening the compact Popup (Default) window or opening the persistent Side Panel (Sidebar) via chrome.sidePanel.setPanelBehavior.
  • Default Open Keyboard Shortcut (Ctrl+Shift+E / Cmd+Shift+E): Added native _execute_action keyboard shortcut in manifest.json with an interactive editable shortcut input in General Settings (auto-detects OS Cmd+Shift+E on Mac / Ctrl+Shift+E on Windows, supports Backspace to clear, and resets to default when left empty on blur).
  • Real-Time Tab Position Snapshot Logging: Added real-time tab layout snapshot logs after every sort, drag, MBD placement, and startup operation.

Fixed

  • MBD Adjacency Boundary Crossing Check: Added boundary crossing validation (didCrossBoundary) so Adjacency Swap only triggers when a tab is dropped into or across an adjacent domain, preventing drag bounce when dropped at home boundaries.
  • RAM Cache Map Insertion Order Reset: Added domainOrderCache.clear() inside updateDomainOrderCache() so JavaScript Map.keys() accurately updates key insertion order after every tab move, eliminating stale key order lock loops.
  • MBD Pre-Drag RAM Cache Direction Check: Fixed single-tab domain drag bounce bug where dragging domain A[1] down after B[1] was miscalculated as an upward drag due to post-drag DOM tab state, causing A[1] to bounce back to the top. Implemented pre-drag index lookup in domainOrderCache to accurately calculate drag direction.
  • MBD Single-Tab Domain Bypass & Split Domain Prevention:
    • Fixed single-tab domain bypass in moveDomainGroupToTabPosition so 1-tab domains execute inter-domain relocation when dropped into/across another domain.
    • Refined isContiguous split domain detection to check if tabs before and after the moved domain belong to the same non-moved domain, preventing target domains from ever being split.

Taguru v1.0.2

Choose a tag to compare

@loerei loerei released this 08 Aug 06:58

What's Changed in v1.0.2

Added

  • Domain Favicon Rendering: Displayed 18x18 px domain favicon icons on domain cards with automatic SVG globe fallback for missing or broken favicons.
  • Horizontal Compact Domain Card Layout: Aligned tab counts horizontally on the same line as domain names, reducing domain item vertical card height.
  • Real-Time FSO Domain List Synchronization: Added Chromium tab event listeners (onMoved, onCreated, onRemoved, onUpdated) to sync the Domains view order in real-time with actual browser tab bar positions when Auto Sort + FSO is active.
  • Interactive Drag & Drop Domain Re-ordering: Enabled HTML5 drag-and-drop on domain cards in the Domains view when Auto Sort + FSO is active, allowing users to drag domain cards to re-order the actual tab blocks in the browser tab bar in real-time.
  • Move Entire Domain (MBD) as Default Action: Set Move Entire Domain (MBD) as the default drag option in DEFAULT_SORT_OPTIONS and positioned it at the top of the drag action radio group in Settings.
  • General Settings Section: Isolated general mouse shortcuts like Middle-Click Domain Close into a dedicated standalone settings card.

Fixed

  • Windows Middle-Click Autoscroll Suppression: Added onMouseDown preventDefault() event handling to suppress Windows native autoscroll cursor wheel icon when middle-clicking domain items.
  • Sub-Radio Group Layout: Fixed overlapping sub-radio buttons under WHEN YOU DRAG A TAB in Auto Sort Settings by enforcing vertical flex-column container styling.

Taguru v1.0.1

Choose a tag to compare

@loerei loerei released this 08 Aug 06:26

What's Changed in v1.0.1

Added

  • Middle-Click Domain Close: Added optional toggle (closeDomainOnMiddleClick, default OFF) allowing users to middle-click any domain card in Taguru to close all tabs from that website.
  • Enable Debug Logs & Log Controls: Added developer logging utility (devLog()) with timestamp buffering in chrome.storage.local. Added Clear Logs, Export Logs (.txt), and Copy Logs buttons (without emojis) in Developer Options.
  • Refined Move By Domain (MBD) Placement Rules:
    • Implemented middle-tab threshold positioning: Dropping a tab at ≥ 50% of target domain C's space places the entire moved domain G after C (ABCGD), while dropping at < 50% places G before C (ABGCD).
    • Implemented adjacent domain swap rule: Dragging a tab from domain G upwards into an adjacent domain C unconditionally swaps their domain block order (ABGC), preventing domain C tabs from ever being split.
  • Startup RAM Cache Warm-Up: Added initDomainOrderCache() in ServiceWorker startup, onInstalled, and onStartup to pre-warm domainOrderCache in RAM before the first drag action.

Fixed

  • RAM Cache Sync on Internal Drag: Fixed RAM Cache stale order bug by forcing immediate updateDomainOrderCache(targetTabs) sync when tabs are re-ordered internally within a domain, preserving manual internal tab order across subsequent inter-domain drags.

Taguru v1.0.0

Choose a tag to compare

@loerei loerei released this 08 Aug 05:02

Initial public release of Taguru Extension.