Kuingsmile / PicList

An image upload and manage tool, base on PicGo
https://piclist.cn
MIT License
2.17k stars 91 forks source link

[Bug]: 在obsidian中选择piclist删除图片后客户端自动退出 #51

Closed lanx214 closed 1 year ago

lanx214 commented 1 year ago

前置阅读 | Pre-reading

PicList的版本 | PicList Version

v1.9.1

系统信息 | System Information

Windows

问题重现 | Bug reproduce

在obsidian中选择图片链接右键选择「使用piclist删除图片」,成功删除图片后,客户端自动退出。 特别说明:使用了githubPlus插件,不知道是否有影响,从日志也没看出来自动退出的原因。

相关日志 | Logs

2023-05-19 21:50:23 [PicList INFO] [PicList Server] get the request {"list":[{"fileName":"测试202305192149033.jpg","width":1497,"height":727,"extname":".jpg","imgUrl":"https://fastly.jsdelivr.net/gh/lanx214/picbed@main/img/测试202305192149033.jpg","sha":"a4738be61e49eb6c4312d578f4bd4ec35598a2ed","type":"githubPlus","config":{"repo":"lanx214/picbed","branch":"main","token":"手动马赛克","path":"img/","customUrl":"https://fastly.jsdelivr.net/gh/lanx214/picbed@main/","origin":"github","_configName":"Default","_id":"7611a61b-72c9-4ea3-9f36-b5509fba9e29","_createdAt":1681786094966,"_updatedAt":1683250913366},"id":"2f6d212b-e140-4b41-895f-2cfb05ce1a38","createdAt":1684504176209,"updatedAt":1684504176209}]} 2023-05-19 21:50:30 [PicList INFO] [PicList Server] is listening at 36677

Kuingsmile commented 1 year ago

@lanx214 已复现,感谢反馈 经过测试和debug,这是由于githubPlus监听了相册内的remove事件,然后这个插件的图床名用的是github,和内置的github图床一样,和ob的删除接口冲突了 只是为了云端删除的话,可以禁用插件,软件本体内置github图床已经实现了这个功能 image

lanx214 commented 1 year ago

@Kuingsmile 感谢回复,我更换了默认的Github端口,想测试一下是否能解决这个问题。 但是遇到了一个奇怪的麻烦,在ob中右键就没有使用piclist删除图片的选项了,我再返回使用githubPlus插件也同样不出现右键选项。 这个似乎应该是 image auto upload 插件执行的问题,但是从昨天报告问题到现在我并没有更新这个插件,或者主动更改什么设置,所有的变化都是在piclist客户端中,所以想请教一下作者是否知道可能的原因。谢谢! image

Kuingsmile commented 1 year ago

@Kuingsmile 感谢回复,我更换了默认的Github端口,想测试一下是否能解决这个问题。 但是遇到了一个奇怪的麻烦,在ob中右键就没有使用piclist删除图片的选项了,我再返回使用githubPlus插件也同样不出现右键选项。 这个似乎应该是 image auto upload 插件执行的问题,但是从昨天报告问题到现在我并没有更新这个插件,或者主动更改什么设置,所有的变化都是在piclist客户端中,所以想请教一下作者是否知道可能的原因。谢谢! image

我明天看一下哈 今天一天都在外面玩

Kuingsmile commented 1 year ago

@lanx214 我试了下先安装github plus插件然后卸载掉,再去ob里使用内置github图床上传图片,是可以有删除选项的 image

ob的image auto upload 插件里,piclist相关的功能部分最初都是我写的,然后原作者合并了我的PR,这里右键的删除选项是否出现的判断流程是这样的:

  1. 用户选择一部分文本,然后点击右键弹出菜单,这时插件会判断选择的文本是否符合/!\[.*\]\((.*)\)/g这个正则,如果是的话说明选择的是md格式的图片链接,进入下一步
  2. 提取选择的文本中的链接部分,然后查找是否在保存的上传图片URL列表中,是的花进入下一步
  3. 添加使用PicList删除图片这个菜单项 image

可以根据流程看下可能是哪里的问题导致没有加载出菜单项

lanx214 commented 1 year ago

@Kuingsmile 十分感谢,找到原因了。测试改用默认GitHub接口之后已经不会再自动关闭了,感谢~ 因为我当天回到宿舍用笔记本测试删除,结果两边设备的data.json不一致,OneDrive在同步的时候就按照设备名称重命名了一个带后缀的json文件(这个文件里存储了上传图片的列表)。 新的data.json只有插件设置,并且不知道什么原因新上传的图片也没有成功写入data里面,列表是空的也就任何图片都没办法右键删除了。