Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG反馈]无限循环下载文件 #129

Open
Gokou-Ruri opened this issue Sep 18, 2024 · 11 comments
Open

[BUG反馈]无限循环下载文件 #129

Gokou-Ruri opened this issue Sep 18, 2024 · 11 comments
Labels

Comments

@Gokou-Ruri
Copy link

错误描述 | Describe the bug

A客户端复制文本或文件以后,B客户端会无限循环下载此文本内容或文件。

复现步骤 | Steps to Reproduce

使用alist挂载本地磁盘作为webdav服务器,alist运行在A设备上,期间所有数据交换行为都处于局域网内。
A、B两台设备均运行相同版本的SyncClipboard(例如v2.8.5),A端复制任何文本或文件,B端未进行任何操作,SyncClipboard会无限循环下载A设备复制的文本或文件,反之亦然。

截图 | Screenshots

2024-09-16.185342.mp4

服务端信息 | Server

alist webdav服务端,本地存储模式(非网盘挂载)

桌面端信息 | Desktop

Windows 11 23h2 | Synclipboard Version: 2.8.4/2.8.5

移动端信息 | Smartphone

No response

其他附加信息 | Additional context

A、B设备的log和配置文件:
SyncClipboard-A.zip
SyncClipboard-B.zip

@Jeric-X
Copy link
Owner

Jeric-X commented Sep 21, 2024

这个问题是一直存在吗?还是偶尔发生

可以再使用这里的SyncClipboard.WinUI3再抓一版log吗,我添加了更多的调试信息
https://github.com/Jeric-X/SyncClipboard/actions/runs/10972976447

@Gokou-Ruri
Copy link
Author

Gokou-Ruri commented Sep 22, 2024

这个问题是一直存在吗?还是偶尔发生

可以再使用这里的SyncClipboard.WinUI3再抓一版log吗,我添加了更多的调试信息 https://github.com/Jeric-X/SyncClipboard/actions/runs/10972976447

是的,这个问题必定复现。

@Jeric-X
SyncClipboard-A.zip
SyncClipboard-B.zip

@Jeric-X
Copy link
Owner

Jeric-X commented Oct 1, 2024

https://github.com/Jeric-X/SyncClipboard/actions/runs/11161725789
麻烦用这个再抓一次
另外你有使用过别的种类的服务器吗,有没有这个现象

@Gokou-Ruri
Copy link
Author

Gokou-Ruri commented Oct 5, 2024

https://github.com/Jeric-X/SyncClipboard/actions/runs/11161725789 麻烦用这个再抓一次 另外你有使用过别的种类的服务器吗,有没有这个现象

这次用的是SyncClipboard的内置服务器,没有用外部webdav服务器。
SyncClipboard-A.zip
SyncClipboard-B.zip

@Jeric-X
Copy link
Owner

Jeric-X commented Oct 5, 2024

https://github.com/Jeric-X/SyncClipboard/actions/runs/11161725789 麻烦用这个再抓一次 另外你有使用过别的种类的服务器吗,有没有这个现象

这次用的是SyncClipboard的内置服务器,没有用外部webdav服务器。 SyncClipboard-A.zip SyncClipboard-B.zip

这次的log里拷贝的都是文字,没有触发问题吧?
另外更新版本了,Release v2.8.6是最新的

@baifengs
Copy link

好像我之前了遇到过。因为这几天用的少了,好像没有此问题了。不过我只有一台电脑和一个手机。

@Gokou-Ruri
Copy link
Author

Gokou-Ruri commented Nov 3, 2024

https://github.com/Jeric-X/SyncClipboard/actions/runs/11161725789 麻烦用这个再抓一次 另外你有使用过别的种类的服务器吗,有没有这个现象

这次用的是SyncClipboard的内置服务器,没有用外部webdav服务器。 SyncClipboard-A.zip SyncClipboard-B.zip

这次的log里拷贝的都是文字,没有触发问题吧? 另外更新版本了,Release v2.8.6是最新的

纯文本也会的无限复制的,log里就有。我排查了很多次始终没发现到底是什么原因,软件log里也看不出什么。
其实如果这个BUG不好排查的话可以给软件增加一个不重复下载文件或文本的功能,比如文件上传到服务端以后进行hash(或者客户端在上传前对文件进行hash),客户端如果检测到服务端的文件未更新就不继续下载。
或者不hash也行,改成服务端对剪切板的缓存目录进行监测,未监测到文件出现更新或生成新文件(新上传),就不向客户端声明文件已更新,这样客户端认为文件未更新,就不会重复下载同一个文件或文本了。

甚至衍生一下,这个功能除了防止重复下载以外,还能防止重复上传。例如客户端在上传前对文件或文本进行hash能防止多端上传重复内容,反正hash小文件或文本内容的速度非常快,基本是毫秒级,在剪切板同步这个使用场景中也不会对性能和响应速度产生什么负担。

@Jeric-X
Copy link
Owner

Jeric-X commented Nov 3, 2024

文件上传下载前都有提前检查hash的
我看你同步后通知也是关的,文字无限下载你是怎么看出来的?

@Gokou-Ruri
Copy link
Author

文件上传下载前都有提前检查hash的 我看你同步后通知也是关的,文字无限下载你是怎么看出来的?

#129 (comment)
这里面有无限下载文本内容的log。
另外,即使是空剪切板也会无限下载(因为之前有几次测试前我试过清空过剪切板),之前的log里也有的,所以和剪切板里的内容没什么关系。

@Jeric-X
Copy link
Owner

Jeric-X commented Nov 3, 2024

我想你说的是轮询检查服务端剪贴板内容的产生的log,这个软件当前的原理就是不断轮询服务器。文件的话会每次只下载hash值,文字的话确实会完整下载文字内容,这点不是bug。将这条issue打上bug标签的原因是1L视频里中的内容:文件下载失败无限弹窗系统通知

@Gokou-Ruri
Copy link
Author

Gokou-Ruri commented Nov 3, 2024

我想你说的是轮询检查服务端剪贴板内容的产生的log,这个软件当前的原理就是不断轮询服务器。文件的话会每次只下载hash值,文字的话确实会完整下载文字内容,这点不是bug。将这条issue打上bug标签的原因是1L视频里中的内容:文件下载失败无限弹窗系统通知

视频里不是下载失败,是无限下载。网速和磁盘读写都在持续波动,关掉SyncClipboard就无网速和磁盘读写波动了。而且被无限下载的文件也能在客户端上成功粘贴。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants
@Jeric-X @baifengs @Gokou-Ruri and others