1.1.5
·
16 commits
to master
since this release
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
- Track tabs entering/exiting split view via
- Impact: No more Chrome crashes when using split view feature
- Files changed:
src/background.tssrc/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.onUpdatedevent - Impact: Duplicates now closed during page load (before it finishes), matching old tab-modifier speed
- Files changed:
src/background.tssrc/background/TabRulesService.tssrc/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) orCmd+K(Mac) to focus searchEscapeto clear search
- UI: Uses DaisyUI kbd badges to show platform-appropriate shortcut
- Files changed:
src/Options.vuesrc/components/options/center/sections/TabRulesPane.vuesrc/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.tssrc/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.getmock) - All 218 tests passing
- Files changed:
src/background/__tests__/TabGroupsService.test.tssrc/background/__tests__/TabRulesService.test.tssrc/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 ciandnpm runcommands resolutionsreplaced withoverridesin package.json- README.md updated with npm commands
- yarn.lock removed, package-lock.json added
- CI workflow uses
- Files changed:
.github/workflows/ci.ymlpackage.jsonREADME.mddocs/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.