Skip to content

szuDesktop beta0.8.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Sep 19:27
· 42 commits to main since this release
faf22af
  • 新增「场地与琴房规则速查」。学校场地接口其实一直把规则数据发给我们,此前全部丢掉了:类型名(共享琴房 3 / 网络面试间 6 / 心灵小屋 2 / 共享会议室 4)、单日上限、可提前天数、每日开放时段、爽约黑名单天数,以及一份学校统一使用须知。现在按「类型 + 社区」分组展示,一次请求拿全(列表里内嵌的 type 与单独查询键集相同,不新增任何接口目标),不需要登录。

    • 使用须知是学校返回的 HTML,已在服务端剥成纯文本,原始 HTML 不进浏览器,前端照旧转义。
    • 学校四类场地的须知是同一份文本,所以只显示一次,不按场地重复。
    • 没有做图片:学校只给裸文件名,拼不出可访问 URL,这轮不热链,改为引导去学校页面。
    • 办理预约仍在学校官方页面完成,本页只读。
  • 修掉「场地与琴房规则速查」可能让整个「校园服务」页静默停止渲染的缺陷。学校返回的每日开放
    时段是一个 64 位整数掩码,而 JavaScript 的位运算只有 32 位,所以只能另算位数;原实现在遇到
    非整数、带千分位的字符串或超出安全整数范围的值时会抛异常,而它又在页面渲染的关键路径上被
    无条件求值——结果是整个「校园服务」页静默不更新,并且不向用户报任何错。现在这类值一律
    显示为「—」,绝不抛。同时给「校园服务」的每张卡片和整个页面各加了一层兜底:坏掉一块只降级
    这一块,整页坏掉也换成一页可读的提示,不再留空白。

  • 场地规则不再张冠李戴:原来按类型名称分组,两类场地重名时会被并成一组、并用其中一类的
    规则去描述另一类;现在按类型编号分组。

  • 同一份场地数据不再被两个卡片各请求一遍,读取失败时也不会把失败结果缓存住。

  • 学校统一使用须知的分段修好了:学校用 div / h3 / 表格排版时,整段须知原来会被挤成
    一行;HTML 注释文字也不再混进正文。

  • 修好「用命令行版开机自启」(F27)。这条路上登记给系统的参数是 szunet login --auto,而
    szunet login 从来没有 --auto 这个参数——参数解析遇到不认识的开关会直接退出,所以开过
    这个开关的用户,开机时程序什么都没做,而且不会有任何报错
    。现在改为登记 login(登录本来
    就是非交互的,只用已保存的凭据),同时保留了 --auto 兼容开关,已经开过这个开关的用户不必
    手动改注册表
    。桌面端(szudesktop)的开机自启不受影响,一直是好的。

  • 新增 Windows 安装版:Electron 提供独立窗口,安装包内含 Go 引擎;旧版便携 EXE 和各平台命令行版继续提供。保留荔枝庭院的像素校园界面和原有本机存档。

  • 离线启动:窗口就绪只检查本机服务,网络与学校门户查询在后台进行,避免校外或断网时误报启动超时。

  • 首次打开卡住:明确设置前端模块的 JavaScript 响应类型,避免 Windows 文件关联把脚本误判为普通文本,导致安装版或便携版停在“正在打开庭院”。

  • 修复启动与退出:已有 Go 引擎可以复用,不再把正常复用误判为启动失败;引擎文件缺失、健康检查超时和分块启动日志都会得到正确处理。关闭安装版只清理本次启动的引擎,复用的后台服务保留。

  • 升级 Electron 至 44.4.5,限制窗口导航和权限,增加内容安全策略;引擎意外停止时提供重新打开/退出提示。

  • 学校查询不再卡住整页:读取公告、场地、校历时仍可切换页面;加载状态留在对应卡片,过期查询结果不会覆盖新条件。

  • 明确安装版自启范围:本版不新建开机自启项,可关闭旧项;便携版与命令行的自启保留。常驻宠物窗、托盘与安装版后台自启留到后续版本。

  • 发布与安装检查:发布只收取指定构建产物,安装包和便携 ZIP 均提供 SHA256;CI 增加安装、再次启动、同版本覆盖保留存档、已有引擎共存及卸载检查。

安装包仍未签名。学校真实成绩与课表的完整账号验收仍未完成;预约继续在学校原页面办理。本次桌面安装包更新不代表这些业务已通过验收。


下载

  • szuDesktop-Setup-0.8.0.exe — Windows 安装版(Electron 窗口),旁边是同名 .sha256 校验文件
  • szudesktop-beta0.8.0-windows-amd64.zip — 解压即用,旁边是同名 .sha256 校验文件
  • szudesktop-windows-amd64.exe — 单文件版,与 ZIP 里的程序逐字节一致
  • 命令行版:szunet-windows-amd64.exe、szunet-darwin-amd64、szunet-darwin-arm64、szunet-linux-amd64、szunet-linux-arm64

What's Changed

  • fix: 修复〈场地规则速查〉的渲染静默失败与命令行版开机自启 by @StrangeWh in #5
  • fix: 修正命令行状态报告误报门户不可达,并更正贡献指南的 CI 说法 by @StrangeWh in #6
  • docs: 把「应用内承载学校原页(套壳登录)」登记为待做 by @StrangeWh in #7
  • feat: beta0.8.0 Electron 安装版与发布前修复 by @Alakazamc in #8

New Contributors

Full Changelog: beta0.7.3...beta0.8.0