Hello void, and everyone,
This post is intended to summarize the core issue with thumbnails of files under OneDrive locations and propose a robust solution, hopefully making it easier to implement a fix.
The Core Problem:
Like many users, I rely on Everything for (e.g., system-wide) image searches. With OneDrive's "Files On-Demand," thumbnails for cloud-only files do not appear in Everything. Even for locally available files within the OneDrive folder, thumbnails often only show up in Everything after a manual refresh (F5). This creates a significant workflow interruption.
The Technical Reason (as I understand it):
The issue seems to be an architectural conflict. Everything uses standard Windows Shell APIs (IShellItemImageFactory) to get thumbnails, which expects to read the local file. However, OneDrive's cloud-only files are just placeholders (reparse points). Trying to read them via the standard method either fails or triggers an unwanted download of the entire file, which defeats the purpose of Files On-Demand.
The Proposed Solution: Microsoft Graph API
The modern and correct way to solve this seems to be using the Microsoft Graph API. This API has specific endpoints to request and
retrieve thumbnails directly from OneDrive's servers without downloading the file itself. This would solve both problems: thumbnails for cloud-only files (and probably also for locally available files within the OneDrive folder) would appear, and no unwanted downloads would be triggered.
Alternative Approach: The Native Windows Cloud API (as used by Directory Opus)
An alternative, and perhaps more system-integrated method, is using the native Windows Cloud Filter API (CfAPI). This framework allows an application to work with cloud files in a system-compliant way. This is not just a theoretical approach -- Directory Opus successfully uses this exact method. As confirmed by their developer Leo in
this forum thread, Opus then delegates the request to Windows, which instructs the OneDrive client to retrieve the server-generated thumbnail from the cloud. This approach has the advantage that the application itself does not need to handle web requests or authentication.
Microsoft's official documentation for building solutions with this API can be found
here.
Summary:
Integrating either the direct Microsoft Graph API or the native Cloud Filter API to fetch thumbnails for OneDrive's online-only files would be a huge improvement for many users. I hope this summary is helpful and that you might consider this for a future version.
Workaround:
In the meantime, a usable workaround would be to immediately download all image files that are currently listed, or visible, in the file list, at least when the view mode is set to "Thumbnails". Currently, image files are not downloaded until the respective entry in the file list, or thumbnail, is clicked (with the preview pane open). Even then, the thumbnail of that image file is not displayed until you hit F5 in Everything.
Thanks again for your incredible work on Everything!