-
v1.0.24 — Harmonious Icon, Recursive Watching, Download-then-Open, Security Fixes
released this
2026-05-25 00:37:16 +00:00 | 55 commits to main since this releaseChanges\n\n### Icon redesign\nThree identical parallel arcing arrows — same curve shape, same blue-to-teal gradient (#64C8FF → #32EDBB), same arrowhead geometry. Evenly spaced, same direction. Harmonious and clearly visible against the near-black background.\n\n### Recursive folder watching (file detection fix)\n
FileWatchServicenow creates aFileObserverfor every subdirectory, not just the top-level folder. New subdirectories created at runtime also get watchers immediately. Files added anywhere in the folder tree are now detected automatically.\n\n### Download-then-open\nOpening or sharing a file that is not available locally (cloud-only) now downloads it to a local cache first, then opens it. A progress bar shows while downloading. No more "File not found on device" errors for cloud-synced files.\n\n### Security fixes\n- Path traversal guard: server-returned filenames containing..,/, or\\are discarded during WebDAV PROPFIND parsing — prevents a malicious server from writing files outside the sync directory\n- Path traversal guard in FilesViewModel:relativePathvalues containing..are rejected before any filesystem access\n- Debug logs stripped: WebDavProvider now uses Timber instead ofandroid.util.Log— no debug info in release builds\n- file_paths.xml: addedcache-pathentry for the download-preview cache directoryDownloads