Skip to content

Releases: liixnglinb/Disk-cleanup-assistant

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 16:03

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 14:35

v0.6.0 更新说明

更新的最后一步现在交回给你:下载完成后,软件会关闭并打开安装程序,
按提示点「下一步」就能装好,装完会自动重新打开软件。
以前是后台静默装完直接重开,全程看不到安装界面、也不知道装到哪一步。

安装前仍会先收掉后台服务,避免文件被占用导致安装失败,这一点没有变化。

v0.5.7

Choose a tag to compare

@github-actions github-actions released this 06 Oct 11:36

「更新并重启」不再假装成功

以前安装包还没下载完时点「更新并重启」,窗口照常关闭、重开还是旧版本,看起来就像更新过了。现在这种情况会明确报错;安装前还会先收掉后台服务,避免文件占用导致安装半途失败。软件启动失败(本地服务没起来)时会弹出说明原因的错误框,不再打开一个全空白的窗口。

界面补上断掉的地方

  • 目录百科六个类目的图标位一直是空格子,现在有真图标;「推荐清理」列表点哪一行就筛哪一行。
  • 整页都是系统保护文件时,表头的「本页」勾选框会禁用,不再点了没反应。
  • AI 设置:留空保存=保留现有 Key(此前保存一次就把 Key 抹掉),清除 Key 改成单独按钮;Key 是否加密保存在界面上如实标注;配置读取失败会给原因和重试按钮。
  • 开始/暂停/继续/取消扫描加了防连点;卸载某个软件时,其他软件的卸载按钮一并禁用。
  • 软件列表、缓存、重复文件面板补齐加载骨架、失败原因和重试,慢响应不再覆盖新结果。

键盘与窄窗口

输入框和下拉框的键盘焦点环、图标按钮的读屏名称、通知条的读屏播报都补齐了;窗口宽度 980–1240 之间文件列表不再出现内部横向滚动条,「问 AI」小按钮的点击面积放大。

稳定性与交付

后台服务退出改为同步收尾(不再留占端口的孤儿进程);后端出错信息落盘到数据目录的 backend_stderr.log,报 500 有处可查。Python 依赖全部锁定精确版本;发布流水线新增"安装包三件套"断言与后端新鲜度闸门,杜绝"新界面配旧后端"的包。安装包瘦身约 2.4 MB。

安装包:DiskCleanup-Setup-0.5.7.exe

v0.5.6

Choose a tag to compare

@github-actions github-actions released this 06 Oct 06:07

修复了三个能碰到你文件的安全口子

  • 日志导出接口以前接受调用方传来的任意保存路径:本机任何一个能连上本地服务的进程,
    都能让它把内容写到「启动」文件夹等位置。现在导出固定保存在软件自己的数据目录。
  • 大模型 API Key 以前是明文存在配置文件里的,现在改用 Windows 的用户级加密(DPAPI)
    保存——密文只有这台电脑上的这个用户能解开。旧的明文配置仍能读取,下次保存时自动
    迁移成密文。换电脑或重装系统后需要重新填写 Key,这是加密的代价,也是它的意义。
  • AI 服务地址现在强制校验:只允许 https 公网地址,拒绝明文 http、本机/内网地址和
    带账号密码的 URL。以前配置一旦被改写,你的 Key 会原样发往对端;现在这类请求直接拒绝。

不再撒谎的部分

  • 扫描数据库一时读不到时,删除操作会明确提示"数据库暂时不可读",不再误报成
    "该路径不在扫描结果里"。
  • 中途被强关的扫描,重新打开软件后会标注"上次扫描未跑完",半份结果不再冒充完整清单。
  • 工具路由装载失败时软件会直接报错,不再出现"每个面板都是空的但软件看起来正常"。

快了不少

删除前的安全校验在大扫描库上从"点删除卡 20 秒"降到 0.15 秒以内;有挂起的网络
映射盘时,盘符列表不再卡住十几秒。

安装包:DiskCleanup-Setup-0.5.6.exe

v0.5.5

Choose a tag to compare

@github-actions github-actions released this 06 Oct 04:28

删除操作不再接受"任意路径"

三个可以碰文件系统的入口以前都是把前端传来的路径直接交给删除/卸载逻辑,等于任何能连上本地后端的人都能删掉磁盘上任何一个文件。现在:

  • 删除接口只承认扫描记录里真实存在的路径,并且删除前再确认一次文件没被占用;不在册或正被占用的路径返回 403,一个字节都不动。
  • 缓存清理同样只放行候选目录白名单(或扫描库里有的路径),其余拒绝。
  • 卸载软件必须和注册表里的 UninstallString 完全一致才执行,前端拼出来的命令一律拒绝。

恢复点创建失败不再当成"已删除成功"

以前清理会在没有恢复点的情况下继续,界面还显示成功。现在恢复点创建失败会直接返回 409 并中止本次删除,返回体里明确带 restore_point_created 字段,界面按真实结果显示。

扫描与数据库的健壮性

同一时刻只允许一个扫描任务(重复开始会被拒绝);会话数据库损坏时改名保留为 .corrupt 并重建,不再让软件打不开;文件查询对 LIKE 通配符做了转义(关键词搜 "%" 不会再返回全部文件),分页参数改为绑定变量并限制范围;启动时清理过期的历史扫描记录。

日志导出会如实报告失败

导出 CSV 以前用浏览器新窗口打开,鉴权失败(401)时界面照样提示"已开始导出"。现在改为带鉴权的下载流程,成功与失败分别给真实反馈,日志面板也有加载中/加载失败/共多少条三种状态。

界面校准

补齐了深浅两套主题下主按钮、危险按钮的实际对比度(按像素取样算过,不是按声明值);勾选框自绘后统一了尺寸与选中态、表头"本页"作用域标注;文件列表分页窗口、下拉框、开关、分段控件的位置与焦点层级重新对齐;错误提示改为在任何面板都会显示出来,不再出现"后端挂了却显示磁盘很健康"这种假结论。

安装包:DiskCleanup-Setup-0.5.5.exe

v0.5.4

Choose a tag to compare

@github-actions github-actions released this 05 Oct 09:01

更新说明现在真的能在应用里看到了

以前应用内的更新面板永远显示"本次发布未提供更新说明"——因为 electron-builder 写进 latest.yml 的只有版本号、资产名、校验和与日期,并不包含 Release 正文,更新器自然给不出说明。现在软件会自己按版本号回读 GitHub 上这条 Release 的正文,并把 markdown 降级成纯文本再显示(去掉 ## 与加粗星号、列表符号转成「·」、链接只留文字、丢掉自动追加的 Full Changelog 行)。取不到时仍退回原提示,不会卡住更新流程。

右下角更新胶囊的操作顺序

下载完成后点胶囊,现在会先展开这段更新说明,面板底部给出「更新并重启」按钮;按下才会弹确认框。此前 ready 状态一点胶囊就直接进确认框,说明没有任何地方能看到。确认框里保留一条 240 字摘要,正文高度因此从 640px 压回 426px。三种状态的箭头改为常驻,副文案补上"点击查看说明并安装"。

系统通知文案纠错

后台下载完成时弹出的 Windows 通知原来写的是"点击标题栏的更新方块",但更新入口早在 v0.5.0 就从标题栏搬到了右下角胶囊——现在改成"点击右下角的「更新」胶囊"。

安装包:DiskCleanup-Setup-0.5.4.exe

v0.5.3

Choose a tag to compare

@github-actions github-actions released this 05 Oct 07:16

更新确认弹窗、控件尺寸、勾选态

「更新已就绪」弹窗:改为标准居中对话框 —— 460px 宽、水平垂直居中(实测 offset 0,0)、四角等圆角、图标 chip 44×44、标题 20px、动作区两个等宽 104px 按钮右对齐。此前它借用删除流程的贴底 Action Sheet,且通用分支的图标底没有语义色类,实测底色是 rgba(0,0,0,0)(一个透明框)。破坏性删除流程仍走 Action Sheet,那是有意的设计,未改。更新胶囊一并规整:环 30→34、内圆 22→26、图标 13→15、主文案 12→13px。

下拉与按钮尺寸:同一条工具栏里原本混着 5 种高度(.btn 30 / .btn.small 26 / select 26 / .switch 21 / .seg-item 26)。统一到 32px 基线、字号 12→13;下拉框改自绘箭头(appearance:none + 明暗两套 data URI)并加 hover 描边;开关 38×21→42×24;分段控件 26→30。

勾选态:复选框自绘 18px(未选描边盒 / 选中主色底+白对勾 / 半选一横杠 / 键盘聚焦有环);选中行三重冗余 = 3px 主色左条 + 主色软底 + 文件名提亮加粗。表头勾选此前是「状态按已加载集合、动作却跨全部筛选」,翻页改造后会出现表头显示勾满而实际只勾了本页 —— 现在表头只管本页并在旁边标注「本页」,跨页全选仍用工具栏「全选筛选结果」。

实测(mock 2,500 条驱动真实渲染)

明暗两主题 + 1280×820 与 980×640 最小窗口:弹窗 offset 0,0 且动作按钮在视口内;设置与工具栏控件高度集合均为 [32]、勾选框 18×18、对勾 ::after 4×9 旋转 42°;表头一次点选 96 条(本页 100 去掉锁定行)且底部计数同步;无横向溢出、无 pageerror。tsc + vite build、后端 42 项测试、node --check 全通过,版本号 7 处一致。

安装包:DiskCleanup-Setup-0.5.3.exe

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 05 Oct 06:16

文件列表改定长分页窗口(治掉「滚不到头」)

实测根因:每页 500 行、触底回调只追加不清空,每触底一次列表就再长 22,028px;2,500 条要滚到 110,000px,真扫整盘几十万文件时这条滚动条永远到不了头。虚拟滚动本身没问题(490px 视口里只有 20~28 个 DOM 行),也不是自动加载死循环(触底后静置 6s/8s 零请求)。

  • 每页 100 条,翻页是替换不是累加 → 滚动高度恒定 4,428px
  • 列表下方新增分页条:上一页 · 第 X / 共 Y 页 · 本页 N 条 · 共 M 条 · 下一页
  • ← / → 键翻页;焦点在搜索框/下拉框内、或确认弹窗打开时不抢键
  • 翻页与换筛选都自动回到列表顶部;末页「下一页」置灰
  • 底部「已加载 N 项大小」改称「本页 N 项大小」,与新口径一致

验证

mock 2,500 条驱动真实渲染:触底静置 0 次追加请求;下一页后 scrollTop 归 0、首行变 file-101;键盘 →/← 各翻一页;搜索框内按 → 页码不变且零请求;末页按钮 disabled;换筛选回第 1 页;无横向溢出、无 pageerror。后端 42 项测试通过,版本号 7 处落点一致。

安装包:DiskCleanup-Setup-0.5.2.exe

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 05:34

导航与设置页布局

  • 左侧导航 48px 纯图标 → 120px 图标 + 常驻文字标签(概览 / 清理 / 软件 / 设置):一级导航不该靠悬停 tooltip 才知道去哪
  • 激活项区分更明确:主色文字 + 600 字重 + 左侧 2px 指示条(悬停仍为浅底)
  • 设置页面板受 880px 行长上限影响一直贴在左侧,现改为在内容区内水平居中;980px 最小窗口下自动铺满不溢出

验证

启动打包产物量几何(非仅构建通过):4 个导航项 103×36、标签 28px 宽无截断、无横向溢出、无 pageerror;1280 窗口下面板左右各 136px(右侧多 8px 为滚动条)。后端 42 项测试通过,版本号 7 处落点一致。

安装包:DiskCleanup-Setup-0.5.1.exe

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 02:55

界面重构:外壳令牌 + 数据网格 + 三项交互

按《UI/UX 重构方案(二)「克制专业风」》完成全部三个阶段。

外壳与设计令牌

  • 标题栏 34px → 64px,导航栏 168px → 48px 纯图标(悬停显示标签)
  • 设计系统 v9:完全采用方案二 Tokens。浅色底 #F9F9F9、面板 #FFFFFF;
    深色底 #121212、面板 #1E1E1E;语义色 #6366F1 / #10B981 / #F59E0B / #EF4444
  • 字号从 17 种碎片收敛为 7 档刻度
  • 移除 voyra-ui.css 跨产品皮肤覆盖层 —— 它用 :root 把上述令牌整体改回旧值,
    不删则重构不生效

数据网格

  • 新增通用 DataTable:虚拟滚动 + Sticky 表头 + 触底分页节流
  • 240 万文件量级下只渲染可视区 ±8 行
  • 修复表头三态勾选随滚动抖动的问题

三项新交互

  • Bento 概览:非对称两栏,Hero 配真实容量值作巨大水印 + 流体数字动画;
    右侧分类占比转为彩色刻度线,点击直达对应筛选
  • 软件卡手风琴:整卡可点原地展开残留文件树,互斥展开,展开后浮现卸载 / 扫残留
  • 浮动更新胶囊:从标题栏移到右下角常驻,点击展开更新说明

统一确认流

  • 删除确认从居中模态改为底部 Action Sheet:动作落在拇指可达区,
    破坏性操作用实心红按钮 + 顶部危险描边,长清单下按钮始终可点

修复

  • 深色模式小字对比度不足(#6B7280 → #8A8F98,4.1:1 → 6.0:1,达 WCAG AA)
  • 时间格式化遇异常值输出 NaN-NaN-NaN
  • Toast 与更新胶囊同占右下角互相压盖

Full Changelog: v0.4.0...v0.5.0