v2.0.0
Changelog
[2.0.0] - 2025-04-13
This is a major update introducing operational modes, a whitelist, and significant internal improvements.
Added
- Standard Mode: The new default mode. Uses CSS overrides (
user-select,pointer-events) and capture-phase event listeners (copy,cut,contextmenu,selectstart,mousedown) to enable copying. Designed for broad compatibility with minimal site interference. - Force Mode: An aggressive mode for stubborn websites. Includes all Standard Mode features PLUS an override of
EventTarget.prototype.addEventListenerwithin the content script to block sites from adding new restrictive listeners. Warning: This mode is risky and may break website functionality. - Whitelist Functionality: Users can now disable the extension on specific domains.
- Added an "Disable on this site" button to the popup for quick whitelisting.
- Created a dedicated Options Page for viewing, adding, and removing domains from the whitelist.
- Popup UI Overhaul:
- Clear button to toggle the global enabled/disabled state.
- Button to switch between Standard and Force modes for the active tab.
- Buttons for quick whitelisting and accessing the Options page.
- Status indicators for whitelisted sites or incompatible pages.
- Detailed logging for debugging purposes (primarily in development builds).
Changed
- Core Logic: Reworked the internal state management and communication between background, popup, and content scripts for better reliability.
- Manifest V3: Migrated the extension to Manifest Version 3.
- Default Behavior: The extension now defaults to Standard Mode when enabled on a non-whitelisted page. Force Mode must be explicitly activated.
- Popup Interaction: The popup now queries the background script for the authoritative state of the current tab on opening.
Fixed
- State Restoration (Standard Mode): Disabling the extension (or switching modes) now attempts to properly restore original element attributes (
oncopy, etc.) and inline styles (user-select: none) that were modified by the extension in Standard Mode. - Badge Updates: Improved reliability of the extension icon badge updating based on the current tab's state (ON, OFF, F).
- Handled edge cases related to browser-specific pages (
about:,chrome://, etc.) where the content script shouldn't run or modify state.
[1.0.0]
Initial Release
Added
- Basic functionality to enable copying by overriding CSS
user-select. - Simple popup to toggle the extension on/off globally.
- Basic icon and manifest setup.