Tags: jmu/tabnest
Tags
fix: integrate timeline-utils.js with background.js using ES modules - background.js now imports tested functions from timeline-utils.js - Added type: 'module' to manifest for ES module support - All 24 unit tests pass - Code is now consistent between tests and production
test: Achieve 100% code coverage (v1.0.8) - Add tests for default parameters (now, timeThresholdMs) - Coverage improved from 90% to 100% branch coverage - 24 tests, all passing Coverage Report: - Statements: 100% - Branch: 100% - Functions: 100% - Lines: 100%
test: Add unit tests for timeline grouping (v1.0.7) - Extract core logic to timeline-utils.js for testing - 22 unit tests covering: - formatTimeRange: today vs non-today formatting - groupByTimeline: date separation, time threshold, edge cases - Cross-midnight, cross-year, cross-month boundaries - Unsorted input handling - All tests pass ✅
fix: Persist timeline data to storage (v1.0.6) - Timeline data now persisted to chrome.storage.local - Survives extension reloads and browser restarts - Group by date first, then time within each date - Better logging for debugging timeline issues
fix: Timeline grouping respects date boundaries (v1.0.5) - Different days are now separated into different groups - Include popup.css in package (fixed broken styles) - Same-day tabs grouped by time threshold - Cross-day boundary always breaks grouping
fix: Timeline grouping improvements (v1.0.4) - Non-today groups show date (e.g., '3/12') instead of time range - Today groups show time range (e.g., '09:00-09:05') - Tabs within each group sorted by time (later on right) - Groups sorted by time (later groups on right)
feat: Add timeline-based tab grouping (v1.0.3) - Track tab creation time via tabTimeline Map - Group tabs by time windows (configurable threshold) - New 'Group by Timeline' button in popup - Timeline threshold setting in options (default 5 min) - Group names show time range (e.g., 14:00-14:25) - Update README with timeline grouping documentation
Fix v1.0.2: Major bug fixes - Fix: groupAllWindows now groups by window (Chrome groups must be in same window) - Fix: Auto-group now uses onUpdated instead of onCreated for reliable URL access - Fix: Ungroup tabs before creating new groups to avoid conflicts - Fix: Check sendMessage response for success status - Fix: Use originalContent for all button state restoration - Improve: Added truncateTitle for long group names - Improve: Better docs site detection with subdomain support - Improve: Auto-group can now create new groups (not just join existing)