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 Report Linux下通过剪贴板上传图片后卡住 #824

Closed
Wave-SYJ opened this issue Jan 16, 2022 · 8 comments
Closed

Bug Report Linux下通过剪贴板上传图片后卡住 #824

Wave-SYJ opened this issue Jan 16, 2022 · 8 comments

Comments

@Wave-SYJ
Copy link
Contributor

声明:我已经仔细看过 文档FAQ、和搜索过已经关闭的 issues 后依然没有找到答案,所以才发了一个新的 issue。

问题类型

Bug Report

PicGo 的相关信息

PicGo:最新的正式版2.3.0,以及目前的dev分支编译运行,都会出现这个问题

操作系统:Manjaro Linux x86_64 KDE,Kernel:5.14.21-2-MANJARO

问题重现

在详细窗口“上传区”点击“剪贴板图片”,或者在小窗口右键“剪贴板图片上传”,在进度条满后,PicGo程序以及操作系统任务栏卡住,点击无响应。等十几秒后,操作系统弹出“上传成功”通知,程序和任务栏恢复正常。

经过排查,是在src/main/apis/app/uploader/apis.ts文件中,uploadClipboardFiles函数的这里卡住的:

notification.show()

如果将它在外面包一层setTimeOut,便不会有这个问题:

setTimeout(() => {
  notification.show()
}, 100)

但是对于这个问题的根本原因,由于对Electron不是很了解,目前我还没有头绪。


@Molunerfinn
Copy link
Owner

感谢帮忙排查问题,由于我手头没有linux机器一直不好排查。后续会研究一下,以及我会把通知改为异步通知不阻塞上传,非常感谢

@Molunerfinn
Copy link
Owner

另外,直接拖拽文件上传就没有这个卡住的问题吗?理论上拖拽文件上传也有通知才对

@Wave-SYJ
Copy link
Contributor Author

另外,直接拖拽文件上传就没有这个卡住的问题吗?理论上拖拽文件上传也有通知才对

我这里测试拖拽不会有这个问题,可能是因为拖拽文件走的uploadChoosedFiles函数已经有setTimeOut

@Wave-SYJ
Copy link
Contributor Author

感谢帮忙排查问题,由于我手头没有linux机器一直不好排查。后续会研究一下,以及我会把通知改为异步通知不阻塞上传,非常感谢

啊不客气,感谢您的对于这个工具的贡献,解决了困扰了我很长时间的问题

@Molunerfinn
Copy link
Owner

另外,直接拖拽文件上传就没有这个卡住的问题吗?理论上拖拽文件上传也有通知才对

我这里测试拖拽不会有这个问题,可能是因为拖拽文件走的uploadChoosedFiles函数已经有setTimeOut

另外想问一下,走了settimeout后,通知能正常出来吗

@Molunerfinn
Copy link
Owner

看起来是electron在linux上的一个陈年老问题

electron/electron#21912

@Wave-SYJ
Copy link
Contributor Author

另外,直接拖拽文件上传就没有这个卡住的问题吗?理论上拖拽文件上传也有通知才对

我这里测试拖拽不会有这个问题,可能是因为拖拽文件走的uploadChoosedFiles函数已经有setTimeOut

另外想问一下,走了settimeout后,通知能正常出来吗

是的,可以正常出来

@Molunerfinn
Copy link
Owner

下个beta版本会带上这个修复,感谢!

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

No branches or pull requests

2 participants