Repository navigation
Releases: midoBB/picshow
Releases · midoBB/picshow
Release list
v3.0.28
v3.0.27
fix(repository): make seeded random sort reshuffle per seed and bound…
v3.0.26
fix(repository): fix write semaphore handling and permit leaks during…
v3.0.25
refactor(mobile): overhaul server connectivity and media caching arch…
v3.0.24: feat(backup): implement automatic scheduled backups and recovery
- Add configuration fields for scheduled backups to AppConfig in src/config.rs, including enabled status, interval, and retention count. - Introduce a background backup scheduler in src/cmd/serve.rs that runs periodically based on the defined interval. - Implement backup rotation in src/data/backup_manager.rs to maintain a fixed number of recent backups. - Add robust automatic recovery in src/data/repository.rs: if the database fails to open, the application now attempts to restore the latest verified-good backup from the backup folder, renaming the corrupt database file for forensic preservation. - Introduce BackupFileLock in src/ipc.rs, a low-level file lock that allows long-running background tasks (like the scheduler) to safely manage backup mutual exclusion without triggering premature process exits, separating this logic from the CLI-specific OperationLock. - Consolidate backup filename generation and listing logic in src/data/backup_manager.rs to standardize backup handling across both manual CLI commands and the new automated system. - Add unit and integration tests for backup rotation, name generation, and recovery behavior to ensure system reliability during data corruption events.
v3.0.23: feat(gallery): implement video caching and media cache eviction
- Introduce MediaCacheEvictor to handle best-effort cleanup of disk-cached media. This utility is used in PagedFilesNotifier to remove local cache entries for files that have been deleted server-side, preventing orphaned data from consuming storage. - Update ThumbCacheManager and FullImageCacheManager configurations. Increased the object limit for FullImageCacheManager from 50 to 500 to support better gallery preloading and extended the stale period for both managers. - Add VideoCacheManager to manage video disk caching with a conservative capacity of 60 objects, considering the larger file sizes of videos. - Implement video pre-caching in GalleryScreen, triggered by nearby-slide preloading. Added _videoPreloadRadius to limit bandwidth usage by prefetching only the immediate next video. - Modify k_gallery vendor components (KGallery, GalleryImageViewer, and GalleryVideoItem) to support an optional VideoCacheManager. This enables videos to be downloaded once and played from a local file subsequent times instead of re-streaming, significantly improving playback responsiveness. - Update GalleryVideoItem._openMedia to handle the local caching logic, falling back gracefully to network streaming if the cache file cannot be retrieved or if the cache manager is unavailable.
v3.0.22
v3.0.21: refactor(gallery): remove unused date formatting from gallery screen
- Remove unused import of intl package in mobile_app/lib/features/gallery/gallery_screen.dart. - Remove the description field mapping in the GalleryItem creation within mobile_app/lib/features/gallery/gallery_screen.dart, as the formatted date string is no longer required for the gallery item display logic.
v3.0.19: chore(ci): upgrade flutter version to 3.44.4
Update the flutter-version in .github/workflows/build.yml from 3.32.0 to 3.44.4 to ensure the build pipeline utilizes the latest stable release. This update includes the latest framework improvements, bug fixes, and performance enhancements provided by the newer Flutter SDK version.
v3.0.18: feat(ci): add android apk build pipeline to github actions
- Add build-android job to .github/workflows/build.yml to automate the release process for the mobile application. - Configure the workflow to checkout the repository and set up Flutter version 3.32.0. - Implement dependency installation and release APK build steps within the mobile_app directory. - Integrate automated APK versioning using git tag references and GitHub run numbers for build tracking. - Add an upload step to attach the generated app-release.apk to GitHub releases, ensuring it is accessible as an asset.