Repository navigation
·
1 commit
to main
since this release
Immutable
release. Only release title and notes can be modified.
π Added
- Desktop System Tray Integration & Taskbar Hiding:
- Added desktop system tray icon with left-click show/hide toggle and right-click context menu (Open ProtoFS, Exit ProtoFS) via
tauri::trayincrates/protofs-tauri/src/lib.rs. - Updated
minimize_window_commandincrates/protofs-tauri/src/commands/settings.rsto hide window completely to the notification area (system tray), removing the app from the taskbar just like qBittorrent/Telegram.
- Added desktop system tray icon with left-click show/hide toggle and right-click context menu (Open ProtoFS, Exit ProtoFS) via
- Configurable Window Close Behavior & Action Prompt:
- Added interactive
CloseAppModaldialog when clicking the window close button (X), allowing users to choose between Minimize to System Tray (keeps background sync & active transfers running) and Exit Application (cleanly unmounts virtual drives and terminates). - Added a "Remember my choice" checkbox to persist the preference in
useSettingsStore(closeAction: 'prompt' | 'minimize' | 'exit'). - Added interactive 3-way toggle in Settings -> General Tab (
GeneralTab.tsx) allowing users to update or reset their close behavior anytime between Always Ask, Minimize to Tray, and Exit Application. - Added
exit_app_commandbackend Tauri command insettings.rsto ensure graceful virtual drive unmounting and clean process exit.
- Added interactive
- Multi-ABI and Universal Android Release Workflow:
- Configured Android Gradle ABI splits (
arm64-v8a,armeabi-v7a) withisUniversalApk = trueinbuild.gradle.kts. - Streamlined GitHub Release packaging in
.github/workflows/release.ymlto bundle and publish standaloneProtoFS_v${VERSION}_universal.apk,ProtoFS_v${VERSION}_arm64-v8a.apk, andProtoFS_v${VERSION}_armv7.apkrelease assets.
- Configured Android Gradle ABI splits (
π Fixed
- In-Place Telegram Pinned Manifest Editing & Deduplication:
- Upgraded candidate manifest lookup in
manifest.rsto use a robust multi-strategy search (InputMessagesFilterPinned,channels::GetFullChannelpinned ID lookup, earliest channel messages, caption#protofs_manifest_v1, and document filename). - Ensured
update_pinned_manifestedits the existing pinned manifest message in-place rather than sending a new message after batch uploads, cleans up any previous duplicate manifest messages, and guarantees that only one pinned message remains in the Telegram storage channel.
- Upgraded candidate manifest lookup in