- Add debug option to add an
alias
remote that points to rclone's internal cache directory (PR #133)- This is useful for inspecting rclone's
vfsMeta
JSON files that describe the state of pending file uploads.
- This is useful for inspecting rclone's
- Update rclone to 1.69.1 (PR #130)
- Add support for user CA certificate trust store and Android 14+'s apex trust store (Issue #119, PR #120, PR #125)
- Make file close operations synchronous after VFS initialization (PR #121)
- Ask for confirmation before performing destructive operations on a remote that has pending uploads (PR #123)
- This includes deleting a remote, renaming a remote, or importing a config file.
- Only perform copy and move operations via rclone if they can be done server-side (PR #126)
- Android does not allow file copy/move operations to be slow and will kill RSAF if they are.
- For non-server-side copies/moves, RSAF will report that the operation is unsupported and the file manager will handle it itself instead.
- Fix revoking access to the original path when a directory is moved or deleted (PR #129)
- Add support for resuming background uploads if RSAF crashes or is killed by Android (PR #114)
- This process is automatically triggered after the device boots or when RSAF is opened.
- This also fixes an issue where after a crash, the first file operation on a remote will hang until all leftover pending uploads for that remote have completed.
- NOTE: Due to limitations with how rclone reports errors for asynchronous uploads, RSAF is no longer able to show a notification if a file upload fails. rclone automatically retries failed uploads and the files remain in the VFS cache until the upload succeeds.
- Remove support for POSIX-like file operation semantics (PR #115)
- Android is generally not designed to behave this way and applications expect document providers, like RSAF, to behave like Android's builtin document provider for local files. There are no known client applications that explicitly made use of this feature.
- Fix caching of golang dependencies in Github Actions CI builds (PR #116)
- Update rclone to 1.69.0 (PR #117)
- Update dependencies (PR #118)
- Add support for generating thumbnails for audio, image, and video files (PR #113)
- Make inactivity timeout duration for the app lock configurable and add a button for locking immediately (PR #109)
- Add support for hiding files on a remote while the app is locked (Issue #106, PR #110)
- Update dependencies (PR #111)
- Fix icon scale and rebase off latest material smb share icon (PR #105)
- Suppress errors when closing read-only files (PR #107)
- Show notification when files are open to keep the process alive (PR #108)
- This reduces the chance of RSAF being suspended or killed, for example, when watching videos
- Android's restrictions require RSAF to attempt to show the notification, but the notification channel can be disabled from Android's settings with no negative side effects
- Allow retries when biometric auth fails the first time, instead of just failing and exiting (PR #98)
- Add support for reporting filesystem usage (total and available space) to client apps (PR #99)
- This is configured per-remote and is disabled by default because some remote types (eg. Google Drive) are extremely slow at computing the numbers
- Organize source code files into packages (PR #78)
- Make a proper settings screen for editing remotes instead of just using a dialog box (PR #80)
- Enable predictive back gestures (PR #82)
- Make biometric authentication option more robust (PR #83, PR #92)
- Fix UI jank when rotating the device caused by hiding already-granted permission requests too late (PR #84)
- Sort remote types by description when adding a new remote to match the rclone CLI (PR #85)
- Add support for disabling VFS caching per-remote (Issue #79, PR #86)
- Add progress details to background upload notification (Issue #79, PR #87)
- Increase chance of the post-upload VFS cache directory cleanup finishing before Android stops RSAF (PR #88)
- Avoid spawning the background upload monitor service for a split second when closing a read-only file (PR #89)
- Work around Android limitations to make client apps that rename, copy, or move a newly written file work more reliably (Issue #81, PR #90)
- Prevent background upload notifications from rapidly appearing and disappearing when writing many small files (PR #91)
- Fix biometric and device credential authentication on Android <11 (Issue #93, PR #94)
- Work around an Android bug in Android <11 that causes the edge-to-edge layout to not account for the navigation bar (Issue #93, PR #95)
- Fix potential issue with crash handler itself crashing when attempting to write a log file (PR #96)
- Allow importing any file to work around issues where Android reports an unexpected MIME type (Issue #93, PR #97)
- Avoid appending
.bin
file extension for theapplication/octet-stream
MIME type (Issue #73, PR #74) - Show notification when files are being uploaded in the background and try to keep process alive (PR #75)
- Update dependencies (PR #76)
- Minor code improvements in tests (PR #77)
- Update rclone to 1.68.1 (PR #71)
- Update checksum for
tensorflow-lite-metadata-0.1.0-rc2.pom
dependency (PR #60) - Avoid calling Java functions from Go to prevent a panic when built with go 1.22.5 (PR #62)
- Update all dependencies (PR #63)
- Use Material 3 switches for switch preferences (PR #64)
- Make dynamic shortcuts configurable and fix crash when there are too many shortcuts (Issue #65, PR #66)
- Update rclone to 1.67.0 (PR #58)
- Fix race condition that sometimes causes the OAuth2 authorization dialog to not autofill the token after a successful login (Issue #55, PR #56)
- Fix tests after last rclone update (PR #52)
- Update all dependencies (PR #53)
- Add support for app shortcuts (PR #54)
- Long press RSAF's launcher icon to quickly open remotes in DocumentsUI
- Update rclone to 1.66.0 (PR #51)
- Update rclone to 1.65.1 (PR #47)
- Normalize paths before comparison in
isChildDocument()
(Issue #44, PR #45)- Fixes compatibility with apps that directly manipulate SAF URIs
- Fix debug logging of
projection
parameter value (PR #46)
- Update dependencies (PR #38)
- Disable arm64 memory tagging extensions support (PR #39)
- Golang's cgo runtime currently does not support MTE and would cause rclone/RSAF to crash.
- This workaround only affects people who explicitly enable MTE for user apps on the Pixel 8 series or future ARMv9 devices.
- Update rclone to 1.64.2 (PR #37)
- Update rclone to 1.64.1 (PR #36)
- Update dependencies and target API 34 (PR #34)
- Update rclone to 1.64.0 (PR #33)
- All external app access to files on hidden remotes is now blocked (Issue #27, PR #31)
- Add option to lock app settings behind biometric/PIN/password unlock (Issue #27, PR #32)
- Add option to request "all files" permission on Android 11+ to allow wrapper remotes, like
crypt
, to access/sdcard
(Issue #28, PR #29) - Update all dependencies (PR #30)
- Fix race condition in rclone initialization that could lead to crashes when accessing files while RSAF's user interface is closed (Issue #22, PR #23)
- Update rclone to 1.63.0 (PR #20)
- Reduce directory cache time from 5 minutes to 5 seconds (PR #21)
- After a file copy or move, the files in the target directory will no longer appear as missing for 5 minutes. Due to API limitations, there's no way to manually invalidate the cache after a copy/move operation, so a short timeout is used instead.
- Improve UX for resetting to current/default values and add support for revealing passwords in the interactive configuration dialog (Issue #8, PR #14)
- Add option to show all dialogs at the bottom of the screen (Issue #9, PR #15)
- Fix cache directory being set to non-writable
/data/local/tmp/
in certain contexts (Issue #11, PR #12) - Work around upstream bug where passwords are not obscured in the config file, breaking password-based authentication (eg. smb, sftp) (Issue #7, PR #13)
- Update all dependencies (PR #2, PR #5)
- Fix
isChildDocument
returning false for nested children, which caused some apps to crash (PR #3)
- Add option to open remotes in DocumentsUI (PR #1)
- Initial release