Releases: Coeris/PicLinker
Release list
PicLinker 1.3.0
PicLinker 1.3.0
新增
移动端触控预览:双指缩放、单指平移、双击重置
未找到图片按引用笔记分组,组头显示完整路径与引用计数,支持折叠与单行精确删除
选中回调统一清理,刷新不再累积失效监听
删除操作防重入保护
云端哈希缓存 24 小时有效期
同名区与去重区选中集合隔离
修复
设置页图床卡片消失(误接新版设置 API),已回退、最低版本降至 1.8.7
云端删除打错对象(重载图床后指向错误文件)
空文件夹删除可能永久丢数据(误用递归删非空目录,已移除)
未找到区批量删多张缺失图静默漏删
同名区与去重区选中串区
同一重复组被推成两组(删除执行两遍、引用改两次)
去重「保留引用最多」从未生效(计数恒为 0)
去重结果重启后丢图片关联(静默断链)
键盘上下键误全选整组
键盘导航越界误取消首行勾选
同名区刷新重现云端重复项(未按图床与地址去重)
本地图标在部分主题变灰
视图复用白屏(状态未复位)
标签高亮误中其他图片同名标签
同名数据只写不读(打开视图时丢失)
空库提前退出致界面错乱
去重「清除缓存」按钮勾选或刷新后消失
去重选中项协议不匹配(点去重零处理却提示无重复)
收起所有丢失目录展开偏好
展开所有后本地目录树仍收起
吸顶边框逻辑空转(靠样式兜底未暴露)
图床配置把可选项当必填(显「未配置」)
选中回调泄漏(刷新越用越卡)
云端探测失败静默判断链(可能误删云端仍存在的图)
WebDAV 下载空配置清空本地凭据
移动端状态码分支失效(错误统归网络异常)
SM.MS 删除后缓存不失效(5 分钟内仍显已删文件)
云端比对按文件名忽略路径(跨目录同名误判)
图床路径前缀回退写死、不读用户设置
自定义域名签名推导错误且无提示
云端列表分页中断返残缺结果(当断链处理)
GitHub 删除子目录文件缺路径
全选快捷键只认小写字母
单个文件夹删除后缓存未刷新
云端未引用分组勾选关联错按钮
云端过滤只搜文件名忽略目录
吸顶层级重渲染前未复位
设置关闭后定时器仍触发上传
云端哈希缓存无有效期(同名覆盖后永久错分组)
优化
未找到区独立选中集合,计数改「(X 篇笔记,Y 项内容)」
按钮文案统一:清理引用行显示「清理引用 (N)」
界面文本全可复制,去图床卡片副标题
构建产物约 406KB
文档更新:中文说明 / 开发指南 / 配置指南
PicLinker 1.2.6
PicLinker 1.2.6
✨ 新增
重复图片区新增「清除缓存」按钮,可手动清空去重哈希缓存并持久化
🐞 修复
腾讯云 COS 含中文/空格的对象名签名全错,导致删除和建目录必失败
阿里云 OSS 自定义域名时区域拼出 oss-oss-cn-hangzhou,签名与 host 全错
阿里云 OSS 超过 1000 个对象时分页 token 二次编码导致分页断裂
阿里云 listBuckets 失败时日志回显 AccessKeyId,存在凭据泄露风险
加密迁移后明文 Token 直接落盘,下次启动时密文被覆盖为明文
连续触发文件刷新时 1 秒回调定时器叠加,onunload 只能清理最后一个
loadSettings 未剔除 _bedTestResults 等私有键,混入 settings 污染类型
WebDAV 下载/诊断保存误刷 lastLocalModifiedAt,导致冲突检测恒误报
全局收起按钮未同步分区标题收起态,边框和圆角显示异常
manifest 描述含「Obsidian」字样且缺英文句号,未通过官方商店审核
🔧 优化
分区标题边框从 JS 内联改为纯 CSS class 驱动,消除折叠后边框残留竞态
同名文件区补全 bedType 检测并按 (bedType,url) 合并云端项,消除重复显示
saveSettings 新增 markLocalModified 参数,区分用户编辑与同步/诊断保存
PicLinker 1.2.5
修复
- 远程图片(豆瓣 banner/cover 等外链)被误归入「未找到」:按真实链接类型判定、取扩展名前先剥离 URL 查询串与锚点,非本地链接统一归入云端引用区
- 去重时「云端名A / 本地名B」内容相同却漏判:移除按文件大小跳过下载的预筛(跨格式 webp/png 大小不同会被误杀),改为全量下载未缓存云端文件计算哈希
- 分区标题吸顶时边框样式不刷新(阈值偏差):改为读取标题条真实吸附位置,吸顶态正确收扁为底边分隔线
- directFetch 在受限网络下逐个 HEAD 请求超时(约 30s/图):新增超时与禁止回退参数,云端存在性检测改用 HEAD + 8s 超时
- 云端删除逻辑:先识别图床类型(识别不出则取消),确认云端删除成功后再清理本地引用
- 统一全插件用户可见提示文案
优化
- 统一卡片圆角与衔接样式:展开态标题条与内容区连成无断缝卡片,收起态四角圆角,末项去重底边线避免双线
- VaultScanner 将 getFiles() 预取到 Map,避免内循环重复全库列举(大库提速)
- 云端存在性检测的 HEAD 请求改为批并发,避免无限并发
- main.ts 为云端刷新用的嵌套 setTimeout 增加清理,防卸载时崩溃
其它
- 新增 bedTypeLabel():图床类型为空时回退显示 URL 主域名,不再一律显示「未知」
- DedupCache / HashCache 增加 clear() / size 方法
- manifest.json 描述改为中文
PicLinker 1.2.4
PicLinker 1.2.4
修复
Frontmatter 裸路径移除正则转义错误,功能未生效
优化
移除 LinkEditor 中未使用的 altText 变量
英文 README 补全安装说明
PicLinker 1.2.3
PicLinker 1.2.3
修复
Wiki/HTML/Frontmatter 三种引用格式替换和移除遗漏
去重扫描无防重入,双击触发并发
去重删除后标签选中状态残留
图片预览在部分上下文下报 HierarchyRequestError
空白文件夹扫描 O(n²) 改为 O(n)
页面重建后滚动位置丢失
空白文件夹缓存未随数据刷新失效
优化
开发热加载改为检测 .hotreload 标记文件
WebDAV 同步区新增凭据安全提示
去重分组标题行移除缩略图
图床排序常量提取为 BED_TYPE_ORDER
删除未引用缓存的死代码版本号变量
删除与导入重复的 getTopBedIcon 方法
import 语句统一移至文件顶部
英文 README 精简,导航链接移至底部
中文 README 截图分散至对应章节并补充标题
更新截图:新增展开视图,替换主面板和设置面板
版本号同步:package.json 与 manifest.json 统一为 1.2.3
PicLinker 1.2.2
PicLinker 1.2.2
✨ 新增
重命名被引用的图片时,自动更新全库笔记中的图片链接(标准链接、wikilink、frontmatter 裸路径字段),避免产生断链
🐞 修复
云端存在性比对按文件名大小写精确匹配,导致本地引用 IMG.PNG 而云端实为 img.png 时误报「云端不存在」
PicLinker 1.2.1
PicLinker 1.2.1
🐞 修复
🌗 图床与区域图标写死十六进制色值,深色模式不跟随主题且偏色
⚙️ 设置页原生开关、输入框、按钮沿用默认样式,浅色泛蓝边、深色泛白底
🔘 原生开关与自定义开关尺寸、圆点不一致,上下两行未对齐
🧱 顶端工具栏用毛玻璃加自定义底色,滚动透出灰蒙空白且与页面有色差
✨ 优化
🫥 工具栏改用 Obsidian 原生背景并移除分隔线,融入页面不再像悬浮条
🔔 诊断报告只走通知,不再写入浏览器控制台
📄 补齐全中文、英文、开发三类文档的外观主题与去重触发说明
PicLinker 1.2.0
新增
列表键盘导航:↑/↓ 切换选中行、Space 勾选/取消当前行、Ctrl/Cmd+A 全选当前可见区域
点击行空白区域切换勾选,复选框与行操作解耦,符合标准文件管理器交互习惯
图片预览支持拖拽平移,双击重置缩放与位置
修复
同名文件和去重区域的复选框缺少点击事件拦截,点击复选框无反应(与行点击互相抵消)
首次按方向键时误取消第一行的勾选状态
全选操作未过滤无复选框的条目(组标题等),语义不正确
优化
设置面板折叠卡片统一由 CSS 类驱动,消除 inline display 操作导致的状态不同步
功能开关滑块点击改为委托给原生 input,避免手动翻转与 change 事件双重触发
配置指南中的链接点击改用 closest 查找,点击链接内子元素也能正确识别
开发模式热重载检测和防抖定时器声明位置规范化
PicLinker 1.1.1
修复
批量删除回调传入全部项目而非仅成功删除的项目,导致删除失败的文件记录被错误清除,用户无法重试(高危)
GitHub 图床分页被禁用(parseNextPageHeader 恒返回 null),大仓库文件列表仅前 30 条,云端比对/删除/去重判定全部受影响(高危)
GitHub 图床删除和文件列表请求未对路径做 URL 编码,含空格或中文的文件名请求失败
配置文档中 SM.MS API 地址错误,用户按文档填写无法连接
PicLinker 1.1.0
PicLinker 1.1.0
新增
- 扫描 frontmatter 中的裸路径图片字段(如
cover/banner),纳入引用统计与去重 - 批量删除过程增加进度提示,大批量操作可见进展
- 嵌套折叠目录改为懒加载渲染,降低大库展开时的卡顿
修复
- 去重时引用重写用了错误路径,导致部分重复引用未被正确更新
- 同名图片删除因 key 不匹配,导致笔记引用零清理(高危)
- WebDAV 同步全量覆盖,会清空远程已有文件(高危)
- 确认弹窗按 ESC 后界面卡死
- 腾讯云 COS V1 签名在特定场景返回 403
- vault 改名后图床凭据被静默清空(高危)
- 扫描器单文件读取失败导致整批扫描结果丢失
- HTTP 请求未跟随 3xx 重定向,部分图片获取失败
- frontmatter 图片字段此前未被识别为引用
- 扫描缓存 TOCTOU 竞态,文件改动后未重读
- XML 列表解析遇非法编码崩溃中断
- XML 错误响应误判,正常结果被报为错误
- HTTP 缺 Content-Length,导致签名接口请求失败
- 选中云端图片去重被静默忽略
- 未引用图片按文件名误判,漏报同名未引用文件
- 去重整组全选无操作提示
- 扫描器同行多图写入重复行号
优化
- 图床凭据加密迭代 100k→600k,salt 改为持久随机值,根除改名清空凭据
- 删除改为先删文件成功后再清引用,避免「引用已删、文件还在」的脏态
- WebDAV 同步改为增量合并,不再全量覆盖
- 大图哈希改为分块读取,降低内存峰值
- HashCache 反序列化增加类型校验,损坏条目自动跳过
- 围栏代码块支持 4+ 反引号,闭合按完整标记精确匹配
- 行内代码检测改为逐行扫描,提升大文件解析性能
clearAll后同步清除各区域 UI 高亮- 类型安全提升(移除约 40 处
as any),eslint 零警告 - 最低支持版本升至 1.8.7