Repository navigation
v6.8.16
6.8.15 起图片时间由图片 ID 唯一提供,metadata.image_time 只为回退保留;本版确认不再回退,删除该列,并对全库做一次遗留代码、补丁叠加与冗余测试审计,把重复处理收口到各自的职责源头。
refactor:
- 数据库结构去掉
metadata.image_time,接入提交不再写入、启动必需列契约不再包含该列;接入请求的image_time/batch_time输入与后台按图片时间排序不变。已有数据库中的该列非空且无默认值,新版本不再写入,须在启动前处理,否则启动检查会拒绝并报告该列。 - 有序翻页游标只按排名定位,随机窗口按图片 ID 现算后缀分数;Redis Lua 命令注册不再写回客户端选项。
- 图片编辑提交后的缓存交接、回收站永久删除的加锁取消、外链原图代理的同源 Referer 各由唯一一层负责:代理跨域重定向时每一跳使用该跳自身的同源 Referer,与导入抓取一致。
- 微博导入上限只在抓取时检查一次,导入时区不再逐层传递而由时间解析统一读取;版本冲突判断、缓存条目解析与 Redis 可用性判断各由所属模块唯一提供;删除只剩测试使用的函数、无人读取的配置项、从未传入的参数与走不到的防御分支,重复图片查询去掉恒无效的排序与逐行子查询。
- 后台图片列表与分组详情在切换筛选、排序或视图时,由列表 Hook 在绘制前统一清空选择并回到顶部;展映渲染 runtime 自行读取并跟随减少动态设置,不再由页面在创建时传入;数字输入框回车先同步结算再提交表单。
- 删除从未传入的组件参数、接入任务里只写不读的字段、无人读取的 data 属性、反馈目标标签与不起作用的样式声明,
!important改为明确的选择器优先级;Redis JSON 读取去掉无人消费的三态包装。 - shared 导出存储删除阻断原因、删除动作、永久删除任务状态与回收站检查问题种类的取值数组,前端不再另抄一份;编码事实类型移到服务端,图片对象键格式只定义一次。
fix:
- 词表与分组管理在最后一页删除最后一项时,列表会先显示一帧越界的空页;后台图片末页恢复或删除后也会短暂显示错误空态。现在分页状态在渲染时收敛有效页码,保留原有缓存与重试语义。
- 数据库启动检查拒绝阻止应用 INSERT 的额外必填列,并报告具体列名,避免启动就绪后才发现写入失败;可空、有默认值或自动生成的额外列继续兼容,既有结构与数据保持只读。
build:
- 删除不再使用的本机开发脚本与 Vite 开发代理(会把数据写入未被忽略的目录,并在占位域名下把
/api以明文 HTTP 代理出去);产物装配去掉整目录重建后走不到的清理分支,门禁不再允许依赖已删除的目录。
test:
- 测试夹具不再写入图片时间列;删除测内部实现、文案、图标路径与初始状态形状的断言及不具判别力的断言,以及与挂载用例或公开入口重复的用例;以真实 Redis 核心抽样覆盖替代参数数组镜像,补数据库额外必填列和页面错误空态回归;随机限流过期用例放宽时间余量,回收站进度流的截止定时器不再拖住进程。
docs:
- 部署说明写明额外列的兼容条件及启动失败处理;数据库参考同步该规则并更正非空库启动检查的范围,架构参考、结构指南与测试说明对齐现状;提交信息规范要求正文只写功能、行为与影响。