abraunegg / abraunegg/onedrive

Feature Request: On-Demand Files

未关闭
#757 29 条评论 8 个 reaction 已指派 1 人 已被 @abraunegg 认领 在 GitHub 查看
Feature Request In Progress Workaround Available
主要语言
D
星标
12.8k
派生
912
平均合并
1 天 8 小时
30 天内合并 PR
25

描述

Currently on-demand file downloading is not implemented. #105 was opened and closed due to inactivity. While I'd love to contribute this and make a PR instead of a feature request, this is a bit too daunting of a task for me. When "download files on-demand" is checked in the client on Windows, the file behavior is as follows.

- All files and folders in OneDrive _**exist**_ in the local OneDrive folder but are empty. There is some sort of hook (described later) that downloads the file before it is opened or otherwise used by any program
- If a file is to be opened or otherwise used (such as copying or moving) by any program and it is not yet downloaded, it will be downloaded before it is used. It will be downloaded in-place (meaning it is not stored in a temporary location, to my knowledge). After it has been downloaded like this, the file stays downloaded and can be viewed/modified as many times as you like up until "Free up space" is clicked
- Files and folders in the OneDrive folder can be right clicked and and one of the right click options is "Always keep on this device". What this does is keep those files/folders stored locally instead of waiting for them to be used as described in the first bullet point
- (This one could be a stretch goal for a later addition) When right clicking on a folder in OneDrive, there is an option listed to "Free up space". What this does is removes any files that were downloaded (**with the exception of files/folders which have "Always keep on this device" checked off**)

贡献指南

打开贡献指南

调研方向

Look at the existing file synchronization logic in the codebase, particularly around how files are currently downloaded. The issue describes Windows OneDrive's on-demand behavior; need to understand the current client's architecture to add similar hooks. Check for any prior work or comments in the linked PR #921 and issue #105. 'Done' means files exist locally as placeholders and download only when accessed, with right-click options to keep or free space.

由索引模型根据 Issue 内容生成。

评估

领域
cli, desktop
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
活跃
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。