- Updated `checkReachPageEnd` function to include `currentBook` parameter for better handling of multi-role voice books.
- Added logging for debugging purposes to track page end checks.
- Modified conditions in `SyncSetting` component to restrict WebDAV access based on authentication status and Electron environment.
- Improved error handling by checking for response code and data presence.
- Consolidated state updates for loading and error messages.
- Added console log for debugging metadata search results.
- Updated translations in zh-CN.json for clarity and consistency in sync feature descriptions.
- Added console log for debugging in TextToSpeech component to track visible text list.
- Enhanced string comparison in findLastMatchIndex function to ignore leading/trailing whitespace.
- Removed the syncWordToEudic and syncWordToAnki methods from PopupDict class.
- Introduced WordSyncManager to handle synchronization with Eudic and Anki.
- Updated the saveWord method to utilize the new WordSyncManager for syncing words.
- Removed unnecessary console logs from ImportLocal, TextToSpeech, Header, and Viewer components to clean up the code and enhance performance.
- Streamlined the components for better readability and maintainability by eliminating debug statements that are no longer needed.
- Added background color for .protection-overlay to enhance visual distinction.
- Combined styles for .plugin-tab-bar and .pin-keypad-container for streamlined styling.
- Ensured consistent background settings across related components.
- Added new styles for pin keypad elements in dark.css and default.css, enhancing visual consistency.
- Refactored component rendering in ProtectionOverlay and MoreSetting to streamline pin key display logic.
- Removed unnecessary background color definitions in protection.css for cleaner styling.
- Updated theme utility to include new selectors for biometric and pin key elements, improving theme management.
- Introduced a new method to verify the usability of the directory handle in LocalFileManager, ensuring it is not stale or invalid.
- Updated permission handling logic to clear stored access if the directory handle is found to be unusable.
- Enhanced overall robustness of file access management by checking handle validity before proceeding with operations.
- Added console logs to display permission status, local usage configuration, and support status in the Header component for better debugging.
- Enhanced the clarity of the code by providing insights into the current state of local file management and configuration settings.
- Commented out the previous tray icon path and creation logic for macOS to streamline the code.
- Updated the tray icon resizing to ensure better quality and clarity in the status bar.
- Maintained the non-template image setting for improved visual fidelity.
- Updated the logic for setting the tray icon path based on the operating system.
- Changed the icon to use a dedicated template image for macOS, ensuring better appearance in the status bar.
- Removed unnecessary resizing logic for the tray icon, simplifying the code.
- Adjusted the tray icon resizing logic for macOS to ensure proper display in the status bar.
- Changed the icon to remain non-template to avoid rendering issues with the app's full-color icon.
- Enhanced the quality of the resized icon for improved visual fidelity.
- Simplified the filtering logic for supported formats in the ImportLocal component by removing unnecessary file types from the check.
- Improved code readability by consolidating the filter conditions into a single line.
- Ensured that only relevant formats are considered for import, enhancing user experience.
- Updated the cloud synchronization logic in ImportLocal and Manager components to check for the 'isDisableAutoSync' setting before executing the sync function.
- Improved code readability by consolidating the conditional statements for synchronization.
- Ensured consistent behavior across components when handling book imports and synchronization.
- Updated the cloud synchronization calls in ImportLocal and Manager components to conditionally execute based on the default sync option setting.
- Improved code readability by consolidating the cloud sync function calls into a single conditional statement.
- Ensured consistent handling of synchronization after importing books across both components.
- Added state management for fullscreen mode in OperationPanel, allowing users to toggle fullscreen and persist the setting.
- Introduced event listeners for fullscreen changes to update the component state accordingly.
- Updated UI elements to reflect the current fullscreen status with appropriate icons and text.
- Enhanced fullscreen handling in common utility functions to support both web and Electron environments.
- Updated color codes in emptyCover component for better visual consistency.
- Added HTML entity decoding in ImportLocal component to handle special characters in titles.
- Adjusted width of popupNote component for responsive design.
- Enhanced page number handling in PageWidget and ProgressPanel components to prevent errors when page info is unavailable.
- Removed deprecated warning message in accountSetting component for cleaner UI.
- Slightly adjusted sidebar width for better layout.
- Introduced the @mozilla/readability library to improve HTML content extraction from URLs.
- Enhanced the importHtmlFromURL method to fetch, parse, and sanitize HTML content, ensuring relative URLs are converted to absolute.
- Added utility functions for escaping HTML and making URLs absolute within the imported content.
- Updated type definitions to include Readability class for TypeScript support.
- Introduced a `throttle` utility function to optimize resize event handling in the Background, ImportLocal, Header, BookList, Viewer, and main application logic.
- Replaced existing resize event listeners with throttled versions to improve performance and reduce unnecessary re-renders.
- Ensured proper cleanup of event listeners in component lifecycle methods to prevent memory leaks.
- Removed unnecessary console.log statements from BookCardItem, MetadataDialog, SelectBook, TextToSpeech, common utility functions, CoverUtil, and DatabaseService components.
- Improved code readability and maintainability by eliminating debug logs that are no longer needed.
- Integrated `cloudSyncFunc` into the ImportLocal component to trigger synchronization after importing books.
- Updated the Manager component to call `cloudSyncFunc` after importing a book.
- Added `cloudSyncFunc` to the props in both ImportLocal and Manager interfaces and their respective state mappings.
- Added `loadUrlInAuxWindow` function to manage URL loading in auxiliary windows, ensuring proper handling of same-origin navigation and reloading.
- Updated IPC handler for opening URLs to utilize the new loading function for both dictionary and translation windows.
- Updated BookCardItem, BookCoverItem, and BookListItem components to conditionally display the original file name without extension based on user settings.
- Introduced getFileNameWithoutExtension utility function to handle file name extraction.
- Removed redundant code in ImportLocal component related to name assignment.
- Adjusted DictSetting component to utilize the new utility for dictionary file name handling.