Releases: cuspymd/text-highlighter
Releases · cuspymd/text-highlighter
v2.6.2
UI/UX
- Minimap tooltips now show the full text for multi-span highlights.
- Minimap emphasis now covers every span in a grouped highlight for clearer navigation.
Sync and reliability
- Firefox highlight URLs now strip selection fragments and normalize more consistently during URL-change handling, improving restore behavior on canonical pages.
Architecture/tests
- Replaced a remaining unwrapped console error path in the settings service with structured error logging.
v2.6.1
User-visible changes
- Improved highlight restoration on single-page apps so highlights come back more reliably during in-page navigation.
- Added safer navigation bridge URL validation to avoid handling unexpected navigation events.
UI/UX
- Improved the experience of restoring highlights after SPA-style page transitions.
Sync And Reliability
- Reduced navigation-related restore edge cases by tightening URL validation before processing bridge events.
Architecture And Tests
- Included the SPA navigation handling refinement in this patch release.
v2.6.0
UI/UX
- No direct UI changes in this release.
Sync and Reliability
- Improved Firefox highlight restoration by retrying a failed restore once after page load.
- Removed the delayed follow-up retry so restored highlights settle more predictably.
- Simplified the restore flow in the content script to reduce duplicate recovery work.
Architecture and Tests
- Refined the content-side restore logic in
content-scripts/content.jsfor a narrower, easier-to-maintain recovery path.
v2.5.0
UI/UX
- Added custom color renaming in settings, with updated localized UI strings.
- Fixed mobile highlight controls positioning.
- Fixed minimap hover preview styling on sites that define global tooltip CSS.
- Improved triple-click selection handling so paragraph and standalone heading selections keep the expected visible text.
Sync and Reliability
- Added TextQuoteSelector-based highlight sync/restore to better preserve highlights when DOM structure changes.
- Preserved spans for highlights that do not have selectors and required quote selectors when spans are empty.
- Improved custom color sync behavior by preserving renamed labels more reliably across first-run merges and synced updates.
- Avoided unnecessary sync writes during custom color cleanup.
Architecture and Tests
- Refactored custom color naming to remove the legacy
nameKeydependency. - Corrected text-model and offset-mapping restore edge cases.
- Stabilized flaky highlight and selection icon tests.
v2.4.0
User-visible changes
- Clarified the popup's delete-all action label so removing highlights from the current page is easier to understand.
UI/UX
- Improved popup wording for the page-level delete-all action.
Sync and reliability
- Hardened in-page controls against a DOM XSS issue.
Architecture/tests
- Added a text quote selector sync storage plan to guide upcoming sync reliability work.
v2.3.0
User-visible changes
- Added a standalone Settings screen for custom highlight colors and keyboard shortcut mapping.
- Improved popup and settings UX across desktop and mobile.
- Fixed multiple reliability issues in color/shortcut refresh and extension-context handling.
UI/UX
- Added a full settings page for managing custom colors and shortcut assignments.
- Hid keyboard shortcut controls on mobile where they are not applicable.
- Disabled the Clear All button when no highlights exist on the current page.
- Refined popup settings icon styling and increased click target size.
- Centered popup windows for more consistent behavior across operating systems.
Sync and reliability
- Fixed intermittent custom-color load race conditions in settings.
- Prevented
shortcutColorMapfrom syncing null values on new devices. - Corrected command ID prefix and context-menu shortcut lookup behavior.
- Refreshed colors and shortcuts when the settings window regains focus.
- Fixed
showSelectionIconerrors when extension context is invalidated.
Architecture and tests
- Refactored command IDs and i18n keys to slot-based naming.
- Updated E2E popup and selection-control tests for settings and loading behavior.
v2.2.0
User-visible changes
- Improved the selection action icon so it stays positioned more reliably on mobile and while scrolling.
- Reduced accidental icon drift around selection handles, making highlight actions easier to trigger.
UI/UX
- Refined selection icon placement logic for touch selections.
- Improved scroll behavior for the in-page selection icon after text is selected.
Sync and reliability
- Updated Firefox minimum version requirements to match support for required manifest fields.
Architecture/tests
- No architecture or test-suite changes were included in this release.
v2.1.2
UI/UX
- Fixed mobile selection controls so tapping the selection icon no longer closes controls unexpectedly.
- Fixed mobile behavior where the floating selection icon could reappear while controls are already open.
- Added a new settings screen flow and updated shortcut-related UX to avoid unsupported
chrome://URL opening patterns.
Sync And Reliability
- Improved context-menu color targeting logic to make highlight actions more consistent.
Architecture/Tests
- Refactored theme watcher logic into a shared utility for cleaner cross-module behavior.
- Removed unused variables in Playwright pages-list tests as part of code-health cleanup.
- Updated project documentation for bookmark sync architecture and settings implementation.
v2.1.1
User-visible changes
- Fixed accidental color activation on Firefox Mobile when selection controls appear, reducing unintended highlight changes.
- Improved selection control interaction behavior to avoid ghost clicks and keep highlight actions predictable.
UI/UX
- Prevent ghost clicks on color buttons when selection controls are shown on Firefox Mobile.
- Scope the
justShowntimer to the captured controls container instance for safer interaction timing.
Sync and reliability
- No sync protocol changes in this release.
- Added API compatibility documentation for sync storage behavior.
Architecture/tests
- Refactored
controls.jsto usecreateHighlightWithColorhelper for clearer highlight creation flow. - Added unit tests for
shared/tab-broadcast.jsand fixed promise matcher handling in tab-broadcast tests. - Removed unused
findTextNodeByContentfunction from content scripts.
v2.1.0
User-visible changes
- Improved text selection controls on mobile and desktop for more reliable interaction.
- Better overlay and custom color picker behavior on constrained/complex page layouts.
- Updated footer links and shortcut copy for clearer in-product guidance.
- Expanded multilingual user guide coverage and documentation polish.
UI/UX
- Improved selection icon hit area and desktop icon sizing.
- Added touch drag support for mobile highlight controls and fixed touch drag initialization in cloned controls.
- Fixed overlay visibility issues on TimesLIVE pages.
- Kept custom color picker within viewport bounds.
- Updated footer links to include User Guide and removed FAQ link.
- Corrected default shortcut description to keys 1-4.
Sync and reliability
- Clarified sync-storage behavior and Firefox Android sync guidance in project docs.
Architecture and tests
- Updated E2E coverage for selection icon interaction behavior.
- Repository maintenance updates for release workflow and agent guidance.