Hello, and welcome! Thank you for trying RcloneView and for the detailed list. Here are answers in order.
1. Selecting all files after a comparison
There is no Select All button or per-row checkboxes yet. What you can do today:
- Click the first row, scroll to the end, and Shift+click the last row to select everything in between.
- Ctrl+click adds or removes single rows.
- The Copy buttons only copy the selected rows that need copying in that direction (files that exist on one side only, or that differ). Hover over a Copy button to see how many files and how much data it will copy.
We have added Select All and per-row checkboxes to our list.
2. Time taken for comparison and transfer
While Compare copies files it shows the speed and the time left, but not the total time for the comparison or for the copy. (Jobs do record it: Job Manager > History has a “Time Spent” column.) We have added this for Compare to our list as well.
3. Collapsing the Compare window
Right now Compare opens on top of the main window, and the main window can’t be used until you close it. We have added your request to our list: collapse it and keep working while the comparison or copy continues.
For 1, 2 and 3: we would be grateful for your input. If you send us your ideas, including the photos or videos you offered (how this looks in Air Explorer and what you would like to see in RcloneView), we will review them carefully and reflect them in RcloneView.
4 and 7. hasher
First, Compare only asks for hashes when “Use hashes for comparison” (bottom left of the Compare window) is checked. Otherwise it compares names and sizes, and hasher isn’t involved.
When it is checked, Compare lists both folders with hashes, and hasher answers each file like this (tested with rclone 1.75.1):
- If the wrapped remote supplies that hash itself, hasher passes it through.
- If the cache has a value whose fingerprint still matches the file, hasher returns it.
- If the wrapped remote can compute the hash but slowly (a local disk, for example), it is computed now and stored in the cache. So in that case, comparing does fill the cache.
- If the file is smaller than
auto_size, hasher reads it now and stores its hashes. auto_size is 0 (off) by default.
- Otherwise (e.g. hasher over a cloud or crypt remote that has no such hash, and the file isn’t cached), it returns no hash and the cache is not filled.
The cache is filled whenever a file passes through hasher in full: uploading through hasher, or downloading a whole file through it. So a copy or sync through the hasher remote fills it for the files it transfers. Files that a sync only checks are handled the same way as in Compare. To fill the cache for everything at once, run rclone hashsum MD5 --download yourhasher:path. In our test the --download flag was needed: without it, uncached files came back blank.
How hasher knows a file changed: each cached value is stored with a fingerprint of the file: its size, its modification time (if the wrapped remote supports it), and the wrapped remote’s own fast hash (if it has one). If the file’s current fingerprint doesn’t match, the cached value is not used. Uploads, deletes and server-side moves through hasher update the cache too. max_age controls how long values are kept (default off, meaning they never expire). One limitation to be aware of: if a file is changed without going through hasher (by another app, or directly on the wrapped remote) and its size and modification time stay exactly the same, hasher still returns the old hash.
One more thing we found while checking this: with “Use hashes for comparison” checked, if one side has a hash for a file and the other side returns none (for example a file not yet in the hasher cache), Compare currently shows the pair as different even when the contents are the same. rclone check instead reports these as “hashes could not be checked” and matches them by size. We will look into making Compare behave the same way. Until then, a “different” result on a not-yet-cached file may just mean that hasher had no hash for it.
5. Russian
RcloneView is currently available in English, German, Spanish, French, Indonesian, Japanese, Korean and Chinese (Simplified and Traditional). We will add Russian in the next version.
6. AI
Yes, we use AI in development, and we review the changes ourselves.
Thanks again, and we look forward to your feedback!