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.
Prevents multiple registrations of the download listener and refactors the download handling logic to immediately call suggest, then process redirection asynchronously. Improves error handling and notification logic for redirected downloads.
Introduces a guard to ensure the suggest callback is only called once in handleDownload, avoiding potential issues from multiple invocations in error or early return scenarios.
Updated all references, documentation, metadata, and user-facing strings to use the new name 'Xget Now' instead of 'Xget for Chromium'. This includes changes in issue templates, workflow files, privacy and security policies, README, manifest, package.json, popup UI, and code comments/logs. Repository URLs and links have also been updated to reflect the new project name.
Introduced 'compact' classes for .setting-group and .setting-label to adjust padding and margin for a more condensed layout. Applied these classes to the extension enable setting for improved UI spacing.
Improved the appearance and behavior of scrollbars in the .content and .platforms sections with custom styles, smooth scrolling, and auto-hide features. Added JavaScript logic for dynamic scrollbar visibility, visual feedback during scrolling, and keyboard navigation support for better accessibility and user experience.
Refactors popup.html with enhanced CSS for a more modern, visually appealing interface, including new color variables, gradients, and interactive effects. Updates status message handling in popup.js to animate hiding with CSS transitions. Also updates some UI text and icons for clarity and consistency.
Expanded download acceleration support to over 20 platforms including npm, PyPI, Maven, RubyGems, CRAN, SourceForge, arXiv, F-Droid, and more. Refactored platform configuration into a dedicated file, updated content/background scripts for broader detection and redirection, and redesigned the popup UI for categorized platform toggles. Updated manifest, package metadata, and documentation to reflect the new capabilities and version 2.0.0.