Introduced README.en.md providing comprehensive English documentation for the Xget Now extension. Updated the main README.md to include a prominent link to the English version.
Updated the GitHub Actions workflow to ignore changes to documentation, images, and other non-code files when triggering on push and pull_request events. This reduces unnecessary CI runs for changes that do not affect the codebase.
Updated the README to clarify extension usage, simplify installation steps, and condense performance and service requirement sections. Removed redundant details about Xget's internal mechanisms and focused on essential deployment and usage information for end users.
Refactor all references to JavaScript, HTML, and compatibility files to use the new 'src/' directory structure in dev.py and the GitHub Actions workflow. This ensures consistency and correctness after reorganizing source files, and updates file existence checks, file watching, and linting logic accordingly.
The step that checked for the existence of required files in the test-build GitHub Actions workflow has been removed. This simplifies the workflow and may indicate that the check is no longer necessary or is handled elsewhere.
Moved source files into a structured src/ directory for better organization. Updated build.py to copy and flatten files from src/ during the build process for Chrome and Firefox, introducing a new flatten_for_browser function. Improved .gitignore to exclude additional build artifacts. Also reformatted and improved error handling in webext-compat.js.
Introduces firefox-compat.js to handle Firefox-specific messaging and storage, and updates background.js and popup.js to robustly detect and use the appropriate extension APIs for both Chrome and Firefox environments. Manifest and popup files are updated to load the new compatibility script, ensuring reliable settings management and messaging across browsers.
Updated all references from 'Microsoft Edge' to 'Edge' across issue templates, pull request templates, workflow files, privacy policy, and README for consistency and brevity.
The 'URL 转换器' link was moved from the bottom of the popup to the header section and given new styles for improved visibility and consistency with other header elements.
Adds robust error handling for missing or inaccessible WebExtension APIs, including safe fallbacks for runtime, tabs, and downloads. Enhances sendMessage wrappers for both runtime and tabs to handle various argument patterns and errors gracefully. Exports the compatibility layer in more environments (window, self, global) and logs the environment where it is loaded. This improves reliability in diverse extension contexts and non-browser environments.
Expanded extension support to include Firefox alongside Chromium browsers. Updated README with detailed installation, build, and troubleshooting instructions for both Chromium and Firefox, clarified browser compatibility, and improved cross-browser guidance throughout code comments and documentation. Minor terminology changes were made in scripts and workflow files to consistently refer to 'Chromium' instead of 'Chrome/Chromium'.
Added detailed docstrings and comments to Python build and dev scripts, improving maintainability and clarity. Enhanced JavaScript files (background.js, content.js, popup.js, platform-detector.js, webext-compat.js) with module-level and function-level documentation. Standardized package naming in build.py and updated the GitHub Actions workflow for simplified, platform-agnostic publishing, removing platform selection input and automating release steps for Chrome, Edge, and Firefox. Improved code quality checks and test coverage in dev.py.
Removed detailed Firefox-specific release notes and manual Firefox publishing reminders from the GitHub Actions workflow. The release step now relies on auto-generated release notes, streamlining the publishing process for multi-browser support.
Changed the gecko extension ID from 'xget-now@xixu.me' to 'i@xi-xu.me' and removed the deprecated 'applications' field. This aligns the manifest with current Firefox extension manifest standards.
This update introduces full Firefox support using a new manifest-firefox.json (Manifest V2), adds a webext-compat.js compatibility layer for unified API usage, and refactors all extension scripts (background.js, content.js, popup.js) to use the new webext API. The build and development process is automated with new Python scripts (build.py, dev.py), and GitHub Actions workflows are updated to support multi-platform build, test, and release. Platform detection and capability abstraction are added, and all relevant files and manifests are updated for cross-browser compatibility.