- 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 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.
- 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.
- 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.
- Implemented a new option to import books from a URL in the ImportLocal component.
- Added user prompts for entering a book download URL and validation for http/https links.
- Included loading feedback during the download process and error handling for failed imports.
- Updated English and Chinese translations for new URL import features.
- Introduced auto sync feature for notes and highlights to SiYuan, including necessary settings for server URL and API token.
- Updated localization files for multiple languages to reflect the removal of "Siyuan" from the description of markdown sync compatibility.
- Ensured consistency across various language files for the updated descriptions.
- Added localization strings for IMA sync in Chinese (zh-CN).
- Introduced new settings for auto-syncing notes and highlights to IMA, including API key and client ID fields.
- Updated the data setting component to manage the new IMA sync state.
- Extended the SettingInfoState interface to include the IMA sync state.
- Added handleJumpPosition action to manage jump positions in the Redux store.
- Integrated jump position handling in ContentList and NavList components.
- Updated PageWidget to utilize jump position for navigation and added a return button.
- Removed unused background.css and replaced it with pageWidget.css for styling.
- Enhanced state management in the reader reducer to accommodate jump positions.
- Added `toBlob` utility function to convert content strings to Blob objects with appropriate MIME types.
- Implemented `groupByBook` function to group notes and highlights by book name.
- Introduced `sanitizeFileName` function to replace illegal characters in file names with underscores.
- Created `convertNotesData` and `convertHighlightsData` functions to convert notes and highlights to various text formats.
- Updated `exportNotes` and `exportHighlights` functions to support exporting multiple books as ZIP files, including individual files for each book.
- Refactored PDF generation logic to handle multiple books and fallback to HTML if necessary.
- Improved overall code organization and readability.
- Updated zh-CN.json to include a new translation for "Recommended layout".
- Modified dropdownList.tsx to add "Recommended layout" option for book layout selection.
- Introduced kookit.min.css with comprehensive styling rules for various HTML elements, enhancing the visual presentation of content.
- Introduced Tufte CSS for enhanced typography and layout.
- Added Typebase CSS for foundational typography styles.
- Included Typo CSS for comprehensive typographic control and responsive design.
- Moved logic for determining if the end of the page is reached into a new utility function `checkReachPageEnd`.
- Added `findLastMatchIndex` helper function to assist with matching visible text against node text.
- Updated the text-to-speech component to utilize the new utility functions for improved readability and maintainability.
- Added console logs for debugging purposes to track visible text lists and last match indices.
- Added a new error message for failed metadata fetching in the Chinese localization file (zh-CN.json).
- Introduced a delay before calling the renderBookFunc in both NavigationPanel and SettingPanel components to improve UI responsiveness.
- Removed unused imports and code related to Apple and Open Library book items.
- Simplified the metadata fetching logic to use a single API call.
- Updated state management for loading and error handling.
- Cleaned up the metadata application logic to focus on cloud book items.
- Removed the "Get more results" button and related functionality.