Skip to content

1.1.5

Choose a tag to compare

@sebastienfontaine sebastienfontaine released this 12 Nov 11:40
· 16 commits to master since this release
a46cdca

Changelog - Version 1.1.5

πŸ› Bug Fixes

Critical: Chrome crash when using split view with grouped tabs

  • Problem: Chrome crashes entirely when using "Add tab to new split view" on tabs that match a Tabee group rule
  • Root cause: chrome.tabs.group() API doesn't support tabs in split view (Chrome 140+)
  • Fix: Multi-layer split view detection and protection
    • Track tabs entering/exiting split view via changeInfo.splitViewId
    • Guard all grouping/ungrouping operations with split view checks
    • Re-fetch tab state before each retry attempt
    • Detect split view related errors and abort retries
  • Impact: No more Chrome crashes when using split view feature
  • Files changed:
    • src/background.ts
    • src/background/TabGroupsService.ts

Performance: Faster duplicate tab closing (unique feature)

  • Problem: With "unique" enabled, duplicates were only closed 9+ seconds after page load
  • Old behavior: Content script sent message β†’ background closed duplicate (after page fully loaded)
  • New behavior: Background script closes duplicates immediately during tabs.onUpdated event
  • Impact: Duplicates now closed during page load (before it finishes), matching old tab-modifier speed
  • Files changed:
    • src/background.ts
    • src/background/TabRulesService.ts
    • src/content/RuleApplicationService.ts

UI: Fixed icon picker not showing selected image

  • Problem: When selecting an image icon, only the category emoji was displayed in the button
  • Fix: Now displays the actual selected image thumbnail in the picker button
  • Files changed: src/components/options/center/sections/TabRules/EmojiIconPicker.vue

✨ New Features

Search bar for rules

  • Feature: Instant search/filter for rules in the Rules page
  • How it works:
    • Search bar in the navbar (visible on Rules page)
    • Filters rules by name, URL fragment, or title
    • Real-time filtering as you type
  • Keyboard shortcuts:
    • Ctrl+K (Windows/Linux) or Cmd+K (Mac) to focus search
    • Escape to clear search
  • UI: Uses DaisyUI kbd badges to show platform-appropriate shortcut
  • Files changed:
    • src/Options.vue
    • src/components/options/center/sections/TabRulesPane.vue
    • src/stores/rules.store.ts

Debug mode setting

  • Feature: Control content script logging via settings
  • How it works: Toggle in Settings to enable/disable debug logs in page console
  • Files changed:
    • src/content/debugLog.ts
    • src/components/options/center/sections/SettingsPane.vue

πŸ“ Documentation

CSS selector variables in title patterns

  • Feature: Document existing {.css-selector} feature in Help page
  • Use case: Extract text from page DOM and use in tab titles
  • Example: {.ytd-channel-name a} - {title} for YouTube channel names
  • Files changed: src/components/options/center/sections/HelpPane.vue

πŸ§ͺ Tests

Updated test suite

  • Fixed tests for split view protection (added chrome.tabs.get mock)
  • All 218 tests passing
  • Files changed:
    • src/background/__tests__/TabGroupsService.test.ts
    • src/background/__tests__/TabRulesService.test.ts
    • src/background/__tests__/TabRulesService.unique.test.ts

πŸ”§ Maintenance

Migration from yarn to npm

  • Change: Project now uses npm instead of yarn
  • Updates:
    • CI workflow uses npm ci and npm run commands
    • resolutions replaced with overrides in package.json
    • README.md updated with npm commands
    • yarn.lock removed, package-lock.json added
  • Files changed:
    • .github/workflows/ci.yml
    • package.json
    • README.md
    • docs/SECURITY.md

Package updates

  • Updated dependencies to latest versions
  • Applied ESLint formatting across codebase

🎯 User Impact

For users experiencing:

  • βœ… Chrome crash with split view β†’ FIXED
  • βœ… Slow duplicate tab closing β†’ FIXED (now instant during page load)
  • βœ… Icon picker not showing image β†’ FIXED
  • βœ… Hard to find rules in long lists β†’ NEW search bar with keyboard shortcut

πŸ“Š Metrics

  • Test coverage: 218/218 tests passing
  • Duplicate closing speed: Instant (during page load)
  • Split view compatibility: Full protection against crashes

πŸ”„ Migration Notes

No migration needed. All changes are backward compatible.