v1.0.9
What's Changed
Extensive refactoring has been done to make commonMain reusable across multiple platforms, preparing for mobile implementation
Bug Fixes
- 🐛 [Win] Fix mouse cursor displacement to bottom-right when invoking search window by @guiyanakuang in #1816
- 🐛 Fix bug where app reads pasteboard on first launch to get CrossPaste source by @guiyanakuang in #1875
- 🐛 Failure to copy images exceeding backup file threshold by @guiyanakuang in #1879
New Features
- ✨ Add a switch to control whether to read pasteboard content set before application startup by @guiyanakuang in #1877
UI Improvements
- 💄 Hide tray immediately on application exit by @guiyanakuang in #1810
Optimizations
- ⚡ Prioritize matching pasteboard when searching and pasting by @guiyanakuang in #1815
Refactor & Code Style
- 🔨 Refactor atomic operations for cross-platform reuse by @guiyanakuang in #1796
- 🔨 Remove endpoint package and refactor code by @guiyanakuang in #1798
- 🔨 Internationalize project by converting Chinese comments to English by @guiyanakuang in #1800
- 🔨 Move Realm storage initialization to commonMain by @guiyanakuang in #1802
- 🔨 refactor UserDataPathProvider: use cross-platform APIs by @guiyanakuang in #1804
- 🔨 standardize logger creation within respective classes by @guiyanakuang in #1806
Click to expand detailed Refactor & Code Style notes
- 🔨 Refactor TxtRecordUtils for multi-platform support by @guiyanakuang in #1809
- 🔨 Refactor Ktor plugin and client code for multi-platform support by @guiyanakuang in #1812
- 🔨 Extract cross-platform logic into BaseSyncRouting for iOS/Android reuse by @guiyanakuang in #1818
- 🔨 Move PasteRouting and PullRouting to commonMain for code reuse by @guiyanakuang in #1820
- 🔨 Move AppPathProvider interface to desktopMain for desktop-specific impl by @guiyanakuang in #1824
- 🔨 Merge os package into platform package and rename currentPlatform to getPlatform by @guiyanakuang in #1826
- 🔨 Refactor file persistence to multiplatform impl by @guiyanakuang in #1828
- 🔨 Refactor DesktopDeviceManager to DeviceManager for multi-platform support by @guiyanakuang in #1832
- 🔨 Refactor SyncManager and SyncHandler for multi-platform reuse in iOS and Android by @guiyanakuang in #1834
- 🔨 Refactor DesktopPasteServer for multi-platform support by @guiyanakuang in #1836
- 🔨 Refactor QR code generation to support multiplatform by @guiyanakuang in #1847
- 🔨 Refactor task module for multi-platform impl by @guiyanakuang in #1849
- 🔨 Convert TaskUtils to multiplatform impl by @guiyanakuang in #1851
- 🔨 Move Realm query impl to commonMain by @guiyanakuang in #1853
- 🔨 Migrate clientApi impl to commonMain by @guiyanakuang in #1855
- 🔨 Migrate SyncInfoFactory to commonMain by @guiyanakuang in #1859
- 🔨 Adopt Ktor's multiplatform concurrent map by @guiyanakuang in #1857
- 🔨 Abstract AbstractFileExtImageLoader for multi-platform reuse by @guiyanakuang in #1864
- 🔨 Categorize and sort dependency injection items by @guiyanakuang in #1865
- 🔨 Rename PlatformUtils to DispatcherUtils for better accuracy by @guiyanakuang in #1867
- 🔨 Refactor DesktopPasteSyncProcessManager to commonMain for multi-platform reuse by @guiyanakuang in #1869
- 🔨 Optimize lock usage and replace AtomicLock by @guiyanakuang in #1871
- 🔨 Refactor Compose dependency injection to use official Koin methods by @guiyanakuang in #1873
- 🔨 Remove unused implementation of PasteResourceLoader by @guiyanakuang in #1882
- 🔨 Standardize using 'get' method to obtain utils classes by @guiyanakuang in #1884
- 🔨 Merge two interfaces of NotificationManager, no need for repetition by @guiyanakuang in #1886
Documentation
- 📝 Add Frequently Asked Questions (FAQ) document by @guiyanakuang in #1794
Dependencies
- ⬆️ Bump ch.qos.logback:logback-classic from 1.5.7 to 1.5.8 by @dependabot in #1840
- ⬆️ Bump dev.hydraulic.conveyor from 1.10 to 1.11 by @dependabot in #1839
- ⬆️ Bump compose from 1.6.8 to 1.7.0 by @dependabot in #1837
New Contributors
- @sunxiang0918 Thanks for providing multiple detailed bug reproduction processes
Full Changelog: 1.0.8.925...1.0.9.974