Skip to content

Releases: bluearchive-cafe/Cafe.Launcher.Avalonia

v1.1.0-beta.10

v1.1.0-beta.10 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Sep 16:57

v1.1.0-beta.10

Cafe Launcher v1.1.0-beta.10 更新概览

Note

本版本聚焦「卸载得干净、拒绝得明白、界面更顺手」:卸载可以连整个安装目录一起清除,标准卸载也会顺手删掉桌面快捷方式,删不掉的东西与主动保留的 Prefix 都会一件件说清楚;凡是以前点了没反应的地方——游戏还在跑、游戏目录被删或被移走、确认之后状态又变了——现在都会就地说明原因;设置里新增「游戏启动后的行为」,保持窗口、最小化到托盘还是直接退出由你决定;资源面板刷新不再清空列表;系统代理(含 PAC 脚本)与需要认证的域内代理都能正常工作;发布页新增摘要清单与构建来源证明,下载后可自行校验。

当前版本仍属于 1.1.0 的 Beta 预发布序列。相较 v1.1.0-beta.9,这些向后兼容的新特性与缺陷修复将预发布号递增为 v1.1.0-beta.10,不改变计划中的稳定版主次版本号。

Windows 为正式支持平台;macOS 与 Linux 仍为实验性构建。macOS 仅支持安装、更新和修复游戏,暂不支持启动游戏。Linux 兼容运行环境的反作弊兼容性仍受发行版、显卡驱动、Proton 版本组合影响,相关组件大版本更新后建议重新验证启动链路。

Warning

当前版本稳定性尚未完全验证,日常使用中可能出现崩溃或异常行为,请酌情更新;如遇问题,欢迎附上诊断日志反馈。

设置

  • 游戏启动后的行为可以自己定:以前游戏启动成功后启动器固定最小化到托盘,不想被最小化的人只能每次自己把窗口找回来。设置「常规」的「应用偏好」分组新增「游戏启动后的行为」(默认「最小化到托盘」),可选「保持窗口打开」或「退出启动器」,改完立刻生效,三个选项各自的提示也如实对应——「游戏正在启动。」「游戏正在启动 — 启动器已最小化到托盘。」「游戏正在启动 — 启动器即将退出。」选「退出启动器」时启动器会真的退出(托盘图标一并消失),想留在托盘里就选「最小化到托盘」。

游戏卸载

  • 可以连整个安装目录一起清除:卸载确认框新增一项默认不勾的「彻底清除」。勾上后,除了清单里的文件与两个状态文件,连整个安装目录(含清单外的残留与已经废弃的暂存文件)和启动器托管的兼容环境目录(Prefix)一起删除;勾选项上直接给出这两处的实测大小,打开确认框时先显示「正在统计大小…」,测好之后把数字填上。不勾则维持原有的标准卸载范围。

  • 标准卸载也会删掉桌面快捷方式:以前卸载只删游戏清单里的文件与两个状态文件,桌面上的快捷方式留在原地,重装之后也不会自动恢复。现在卸载成功时会一并删除;桌面上本来就没有、或当前平台不支持创建快捷方式,都不算失败。

  • 卸载的结果与失败都会说清楚:完成提示会列出删不掉的项目——游戏的反作弊会在安装目录里留下几个用户态删不掉的条目(形如 Xigncode:{GUID},重启后通常即可删除)——以及因为不在启动器管理的目录内而被保留的自定义 Prefix。卸载前的检查不通过时会说明具体原因(游戏目录被删掉或移走了、设置里把路径指到受保护的目录、安装信息不完整),而不是点了卸载没有任何反应;删除目标被启动器的路径检查拒绝时,也会给出理由和目标路径,不再把整句英文原文抛给用户。

  • 确认之后才被拒绝的操作也会说明:修复与卸载的确认框可能开着好一会儿(要统计目录大小,也可能你刚好离开),这期间后台刷新若把游戏状态改掉(例如从「可修复」变成「有更新」),以前点过确认也不会发生任何事。现在会明确提示当前状态不允许该操作,而不是把确认过的手势白吃一次。

游戏运行检测

  • 游戏还在跑时不再放行:判断「游戏是否在运行」以前只认启动器自己启动的那个进程,而它往往在游戏起来之后就退出了,真正占着安装目录的是反作弊的同族进程——于是游戏还在运行时卸载、安装照样开始,删除撞在被占用的文件上,最后留下一层删不掉的残留。现在按进程名字家族识别(名字取自游戏自己带来的配置,不写死在启动器里),提示里点名实际在跑的那几个进程,例如「游戏正在运行:xldr_BlueArchiveOnline_JP.exe / BlueArchive.exe。请关闭游戏后再修改文件。」

  • 动文件之前会再查一次:确认框可能开着一会儿,下载可能要几分钟,那期间从桌面快捷方式把游戏启动起来,先前的检查就已经过期。卸载在真正删除之前、安装/更新/修复在替换安装目录里的文件之前都会再确认一次;被拦住的是那一次写入而不是整个流程,已经下载好的部分留在盘上,关掉游戏后重试会从已有字节继续。

资源面板

  • 刷新不再清空面板:刷新、重载时保留已经加载出来的版本信息,只有换了 UID 才把旧数据作废,面板不再闪空白。「保存」按钮改为按有无改动启停——没有改动时不可点,保存成功后立刻回到不可点。

  • 状态条与版本行更清爽:状态条不再把 UID 重复念一遍,出错时用危险色与普通提示区分开;官方版本与本地化(汉化)版本一致时,把两列相同的内容折成一行结论「官方与本地化(汉化)资源版本一致」加版本号;「修改 UID」入口常驻,不再等来源切到自定义才出现。

  • 资源面板里设置的 UID 不再被设置页悄悄改回旧值:手动 UID 由资源面板写入后,设置页里那份草稿仍是旧值,于是你在设置页改动任意一项并保存时,整份草稿写回会把 UID 悄悄回滚——而设置页里没有这个字段的入口,出了问题也无处发现。现在每次保存后,磁盘上、设置页草稿里和应用正在用的都是同一个值。

界面与外观

  • 应用图标换新:窗口与任务栏的图标、Windows 可执行文件与安装向导,以及 macOS 与 Linux 的打包图标,都换成了新图。

  • 官网与社交入口按钮的悬停、按下不再透出壁纸:主界面右侧那几个直接浮在壁纸上的图标按钮,鼠标悬停或按下时状态层是半透明的,底下的壁纸会透出来;现在改用不透明的专用配色,明暗主题各自取色。

  • 窗口出现时就是壁纸:内置壁纸曾经为了缩短启动改为后台加载,代价是窗口出现后先显示一小段主题底色;现在启动阶段就把壁纸准备好,第一帧即为壁纸,代价是启动阶段多一次内置壁纸解码。

网络与下载

  • 系统代理的取用方式对齐 Windows 自身:以前读系统代理设置时忽略自动配置脚本(PAC),PAC 变更也要重启启动器才生效。现在即使「使用代理服务器」是关的,PAC 脚本也会被采用,脚本一改就立即换用新代理;「系统」模式下需要认证的域内代理也能正常工作,不再每个请求都失败。

  • 安装、更新与下载更省资源:安装/更新阶段对每个文件做 CRC-64 校验,以前一次只读一个文件,现在按机器核心数有界并行(最多 8 路),大清单的等待明显缩短;下载重试时不再每次重新申请 256 KiB 缓冲。

  • 进度不再往回跳:校验、清单比对与卸载的进度以前可能在并行阶段来回跳,重复报走过的百分比、甚至瞬时回退;现在同一阶段内只向前。

  • 暂停、继续、停止点击立即响应:这三个按钮的处理以前要等日志写完,日志一忙,点击就被拖住。

安全与隐私

  • 跟随跳转时不再把凭据发给别的站点:请求被重定向到另一个主机(域名或端口不同)时会剥掉授权头,与浏览器和 .NET 的既有约定一致;同一主机内的跳转不受影响。

  • 发布产物可以自行校验:发布页新增 SHA256SUMS 摘要清单,六个分发包(Windows 压缩包与安装程序、macOS 压缩包、Linux 压缩包/AppImage/deb)都在其中,可用 sha256sum -c 核对下载到的文件有没有被截断或篡改;每个分发包与这份清单还附有构建来源证明,可在 GitHub 的公共证明账本上核验它们确实由本仓库在对应版本上构建,而不只是「没有被改过」。

下载

v1.1.0-beta.9

v1.1.0-beta.9 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Sep 01:58

v1.1.0-beta.9

Cafe Launcher v1.1.0-beta.9 更新概览

Note

本版本聚焦「网络更稳、反馈更好给」:启动校验发现游戏文件损坏时会直接弹出修复入口,不再只丢一句警告;导出诊断信息可以只保留最近一段时间、只勾选要带上的内容;下载与校验在代理、重定向、网络停滞这些异常情况下不再卡死或直接失败,HTTP/2 已默认启用并可在设置里关闭。

当前版本仍属于 1.1.0 的 Beta 预发布序列。相较 v1.1.0-beta.8,这些向后兼容的新特性与缺陷修复将预发布号递增为 v1.1.0-beta.9,不改变计划中的稳定版主次版本号。

Windows 为正式支持平台;macOS 与 Linux 仍为实验性构建。macOS 仅支持安装、更新和修复游戏,暂不支持启动游戏。Linux 兼容运行环境的反作弊兼容性仍受发行版、显卡驱动、Proton 版本组合影响,相关组件大版本更新后建议重新验证启动链路。

Warning

当前版本稳定性尚未完全验证,日常使用中可能出现崩溃或异常行为,请酌情更新;如遇问题,欢迎附上诊断日志反馈。

游戏启动与修复

  • 启动校验发现文件损坏时,可以直接修复:以前启动校验查出游戏文件损坏,只弹一条警告,要自己进设置发起修复。现在会弹出修复确认,并说明它为什么出现——「启动校验发现游戏文件已损坏。修复将检查所有游戏文件并重新下载损坏或丢失的文件。这会耗费一段时间。」点「确认修复」即开始;修复完成与「没有需要修复的文件」都有明确结果。

  • 启动游戏后确实会最小化到托盘:提示语一直写着「游戏正在启动 — 启动器已最小化到托盘」,实际只做了任务栏最小化——窗口仍留在任务栏上,托盘里也没有图标,等于让人去找一个不存在的东西。现在按「有托盘就隐藏到托盘,没有托盘才退回任务栏」的既有规则执行。标题栏的最小化按钮不变,仍然是普通最小化。

诊断与日志

  • 导出诊断信息可以只导需要的部分:导出对话框新增「时间范围」——全部 / 最近 1 小时 / 最近 24 小时 / 最近 7 天 / 最近 30 天,以及「包含内容」——日志文件与系统信息始终包含,崩溃报告与用户数据可选。日志查看器、设置「高级」与调试面板三个入口共用同一个对话框。导出前会先探测所选范围内有没有内容,为空时给出提示但不阻止导出;导出过程可以取消,只有完整写入的文件才会出现在目标位置,导出失败也不会再被报成成功。

  • 日志条目更好按模块翻阅:日志条目标题以前一半是模块名、一半是英文整句,现在统一为简短的模块标签,细节移进条目正文;这些标题正是日志查看器里显示的小标题,条目信息量不变。

  • 不再记录并未发生的「下载已停止」:干净退出时,日志里以前固定出现两条「用户停止了下载」,而当时并没有任何下载在运行(退出时会走两次停止流程,两次都没有在跑的下载)。现在只有真的停掉了一个下载才记录;退出时确有下载在跑,也从两条变为一条。

  • 导出日志的入口图标与导出面板统一:日志查看器与设置「高级」里的「导出日志」按钮,图标改为与它们打开的导出面板一致,同一个动作不再出现两种图标。

网络与下载

  • 新增「启用 HTTP/2」设置(默认开启):新请求优先使用 HTTP/2,不可用时自动回退到 HTTP/1.1,位置在设置「下载与网络」。

  • 网络停滞不再让下载卡死:读取响应正文时若 60 秒没有任何数据(CDN 或家用网络设备静默丢弃连接时的常见形态),以前会一直挂起,且不触发任何重试。现在会按可重试的网络错误处理,自动换源或续传,已经下载的部分不会白费。

  • SOCKS 代理可以正常使用:代理写成 socks://(或系统里遗留的 socks= 条目)时,第一个经代理的请求就会以「不支持该代理方案」失败;现在统一识别为 socks5://

  • 自更新检查更可靠:检查更新在代理端点超时或返回失败时会落到 GitHub Releases 兜底——超时恰恰是最需要备用源的那种故障;两个端点的重定向都会逐跳复验,不再因为服务器的一次重定向就直接失败。

  • 资源面板恢复可用:资源面板的请求改走与其他网络请求相同的重定向路径,每一跳都复验,此前服务器返回重定向时会直接失败并做无用重试;服务器明确拒绝(维护、限流)也不再重试三次。

  • 下载与校验更快:连接超时从运行时默认的 100 秒收紧到 15 秒,连不上的地址不再先耗尽整个请求预算;首屏的多个远端读取加了 30 秒整体预算,到点即按既有降级路径显示远端不可用;主机 DNS 校验结果按 30 秒缓存,全新安装的万级文件不再逐个重新解析;CRC-64 校验缓冲改为复用,不再为每个文件分配 1 MiB;在健康安装上执行修复时,文件不再被完整读两遍。

安全与隐私

  • 导出的日志不再带上玩家 UID:资源面板把玩家 UID 放在网址的查询参数里,而网络错误信息会把完整网址写进日志,导出的日志又始终包含这些内容。现在诊断信息只保留路径,查询串一律去掉。

  • 崩溃报告文件里不再出现你的用户目录:崩溃报告文档中记录自身位置的字段,此前会把完整路径(含 Windows 账户名)写进文件,而导出的诊断会带上这些报告。现在该字段不再落盘;崩溃编号、时间、版本与构建信息都不受影响。隐私说明(PRIVACY.md)承诺的用户目录替换,现在对报告文档里的所有字段都成立。

下载

v1.1.0-beta.8

v1.1.0-beta.8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Sep 12:53

v1.1.0-beta.8

Cafe Launcher v1.1.0-beta.8 更新概览

Note

本版本聚焦「崩溃之后看得见、失败之后说得清」:启动器意外退出时会弹出崩溃报告窗口,带崩溃编号、可复制的技术细节和「打开日志目录」入口;启动游戏失败时会说明具体是哪个运行环境出了问题,不再只给一句通用提示;内置壁纸不再拖慢启动;macOS 的支持范围也已写明——只能安装、更新和修复游戏,暂不支持启动游戏。

当前版本仍属于 1.1.0 的 Beta 预发布序列。相较 v1.1.0-beta.7,这些向后兼容的缺陷修复与体验改进将预发布号递增为 v1.1.0-beta.8,不改变计划中的稳定版主次版本号。

Windows 为正式支持平台;macOS 与 Linux 仍为实验性构建。Linux 兼容运行环境的反作弊兼容性仍受发行版、显卡驱动、Proton 版本组合影响,相关组件大版本更新后建议重新验证启动链路。

Warning

当前版本稳定性尚未完全验证,日常使用中可能出现崩溃或异常行为,请酌情更新;如遇问题,欢迎附上诊断日志反馈。

崩溃诊断

  • 崩溃后会弹出报告窗口:以前启动器崩溃后窗口直接消失,只能自己猜发生了什么。现在无论问题出现在启动过程中还是界面运行中,都会弹出一个崩溃报告窗口:显示崩溃编号、发生时间、版本与构建信息,技术细节默认折叠,可以一键复制,也可以直接打开日志目录。窗口只有三个按钮——「打开日志目录 / 复制详情 / 退出启动器」。同一次运行只把第一个崩溃作为主报告,之后的问题只追加日志;关闭窗口后启动器随即退出,不会回到主界面。

  • 崩溃报告只收集必要信息:报告里只有异常内容、应用版本、构建信息、操作系统与界面语言,路径中的用户目录会替换成 %USERPROFILE%,不会带上你的用户名。报告保存在启动器的数据目录,最多保留 10 份或 30 天;数据目录写不进去时会改用临时目录,两处都写不进去时报告窗口仍会打开并说明情况。隐私说明(PRIVACY.md)已同步列出这一项。

启动与游戏管理

  • 启动失败会说明原因:以前「没有可用运行环境」只会提示一句「游戏进程未能启动」,真正的原因(当前平台不支持 / 运行环境缺失 / 运行环境损坏)只写进日志,用户看不出为什么。现在提示会直接写明是哪个运行环境、为什么不能用,例如「没有可用的运行环境。Windows(原生):当前平台不支持。」

  • 启动更快,不再被内置壁纸拖慢:内置壁纸(2560×1388)以前在界面出现之前就被同步解码,随后第一次刷新还会再解一遍。现在启动阶段不再解码,壁纸改在后台加载,加载完成前窗口先显示主题底色——同一张壁纸在启动时只解码一次。

设置

  • 「重置设置」的确认框现在按 Escape 会取消确认:这个确认框以前不在弹窗层级里,按 Escape 会关掉下层的设置页,而不是取消确认。现在它和其他弹窗一致:Escape 取消确认,也不会再穿透到下层界面。

平台支持

  • macOS 目前不支持启动游戏:macOS 版本可以安装、更新和修复游戏;启动游戏需要额外的兼容运行层,当前不提供,也暂无支持计划。README 与文档站已同步说明。

安全与可靠性

  • 游戏文件清单的路径校验更严格:清单里如果出现指向游戏目录本身(而不是具体文件)的条目,以前会让下载的临时文件落到游戏目录之外,随后安装阶段报错收尾;现在这类条目会被直接拒绝。

  • 网络响应体加上大小上限:从服务器读取数据时,响应体超过 64MiB 会直接中止,异常的服务器响应不会再无限占用内存。

  • 部分静默失败改为记入日志:记录安装来源、读取资源面板的 Cookie 数据等后台小故障以前会被静默忽略,现在会写进诊断日志,便于反馈问题时定位。

下载

v1.1.0-beta.7

v1.1.0-beta.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Sep 15:02

v1.1.0-beta.7

Cafe Launcher v1.1.0-beta.7 更新概览

Note

本版本聚焦语言一致性与安装、更新链路的可靠性打磨:启动后界面语言不再与所选语言混杂显示;安装向导在选择路径阶段即时探测可写性,受保护目录提前给出指引;更新检查在只读游戏目录下不再误报失败;Cafe 下载源故障转移修复;四语言文案按地区习惯统一表述。

当前版本仍属于 1.1.0 的 Beta 预发布序列。相较 v1.1.0-beta.6,这些向后兼容的缺陷修复与体验改进将预发布号递增为 v1.1.0-beta.7,不改变计划中的稳定版主次版本号。

Windows 为正式支持平台;macOS 与 Linux 仍为实验性构建。Linux 兼容运行环境的反作弊兼容性仍受发行版、显卡驱动、Proton 版本组合影响,相关组件大版本更新后建议重新验证启动链路。

Warning

当前版本稳定性尚未完全验证,日常使用中可能出现崩溃或异常行为,请酌情更新;如遇问题,欢迎附上诊断日志反馈。

语言与本地化

  • 修复启动后界面语言混杂:启动序列可能在后台线程应用语言设置,此前设置面板、关于页法务信息等目录绑定会按系统文化回退解析(如简体中文系统上与所选语言混杂显示),保存设置后才恢复;现在所有文案查找均按所选语言显式解析,启动后立即与所选语言一致。

  • 日语文案与下载、校验提示可读性:日语更新提示导航词与设置页实际标签对齐;本地清单缺失提示去除内部字段名,改为用户视角描述;启动校验描述补充本地与远程清单的快慢、可靠性取舍说明;下载源描述标明 Cafe 源由蔚蓝咖啡厅(bluearchive.cafe)日服汉化组提供;统一省略号与中日语句尾标点。

  • 「本地化资源」按地区习惯表述:简体中文作「本地化(汉化)资源」、繁体中文作「中文化資源」、英文作「Chinese-localized resources」、日文作「中国語化リソース」,各语言不再共用直译。

下载与游戏管理

  • Cafe 下载源故障转移修复:Cafe 源主备 CDN 共用同一地址——镜像为单宿主,官方备用路径在该主机上并不存在,此前故障转移到备线路必然失败;现在备线路与主线路一致,切换后可正常继续下载(文件校验不受影响)。

  • 只读游戏目录下更新检查不再误报失败:差异为零的「已是最新」路径此前会无条件重写安装状态文件,在 Program Files 等非提权不可写位置每次检查更新都抛出异常并误报失败;现在状态与待提交内容完全一致时直接跳过重写,确需提交时先探测目录可写性,不可写时给出本地化的失败提示。

安装向导

  • 选路径即时探测可写性:全新安装与修复损坏安装需要写权限,现在选择路径阶段即探测目标目录(不存在时向上探测最近已存在祖先),Program Files 等受保护位置在向导内即被拦下,并展示锁图标与「以管理员身份运行或更换目录」指引(四语言);已有效的安装只读即可运行,不做探测。

  • 路径输入不再逐字符卡顿:路径校验按 300ms 防抖合并击键,慢速介质下不再每个字符触发全量状态读取;可写性探测移出 UI 线程,UNC 网络路径的探测延迟不再冻结界面;快速输入时不再出现虚假「不可访问」状态闪烁。

设置与主题

  • 更新通道设置移至「高级」分类:更新通道从「下载与网络」的连接组移至「高级」页新建的「更新」组,与下载连接类设置分离,两个分类的描述文案同步调整。

  • 动态中性色层级修正:修正动态配色下中性色层级与外观设置相关文案。

工程质量

  • 依赖升级:Avalonia 升级至 12.1.2、Microsoft.Extensions.DependencyInjection 升级至 10.0.11,第三方声明同步再生。

  • 安全与清理:写探测改用随机探针文件名,消除固定文件名被符号链接利用的截断面;移除 40 个零引用本地化键与遗留设计令牌、图标资源。

  • 测试加固:补齐零差异匹配跳过与只读目录闸口的端到端行为测试;中性默认表守卫测试改为钉住 App.axaml 声明值,防止令牌改色静默漂移。

下载

v1.1.0-beta.6

v1.1.0-beta.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Sep 06:44

v1.1.0-beta.6

Cafe Launcher v1.1.0-beta.6 更新概览

Note

本版本围绕主题配色、大图性能与日志查看器进行打磨:Windows 系统强调色变化可即时同步“跟随系统”的主题色;壁纸与运营横幅等大图按窗口所需尺寸解码并限制驻留大小,自定义壁纸在原路径覆盖内容后可正常刷新;日志查看器消除了重复留白并在筛选结果变化时保持稳定高度;同时包含下载校验提速与多项工程质量加固。

当前版本仍属于 1.1.0 的 Beta 预发布序列。相较 v1.1.0-beta.5,这些向后兼容的缺陷修复与性能改进将预发布号递增为 v1.1.0-beta.6,不改变计划中的稳定版主次版本号。

Windows 为正式支持平台;macOS 与 Linux 仍为实验性构建。Linux 兼容运行环境的反作弊兼容性仍受发行版、显卡驱动、Proton 版本组合影响,相关组件大版本更新后建议重新验证启动链路。

Warning

当前版本稳定性尚未完全验证,日常使用中可能出现崩溃或异常行为,请酌情更新;如遇问题,欢迎附上诊断日志反馈。

主题与配色

  • 即时同步 Windows 系统主题色:当主题色来源设为“跟随系统”时,运行中的启动器会监听系统颜色变化并立即重建 M3 配色,同时更新设置页的主题色预览,无需重启或重新切换设置。

  • 进度条遵循程序主题设置:主操作进度条与加载状态不再直接继承 Windows 系统强调色,统一使用程序当前的 Launcher.Color.Primary 主题令牌;Toast 的成功、警告、错误等语义色保持不变。

背景图与横幅

  • 大尺寸自定义背景图不再持续拖慢界面:文件、文件夹随机壁纸与远端缓存图统一按窗口物理像素和铺满比例受限解码,避免 8K 等超大位图在每个渲染帧重复缩采样;窗口显著放大或 DPI 提升时会静默刷新同一张已选图片,且重解码按维度增长触发,避免反复抖动。

  • 壁纸取色不再阻塞 UI 线程:降采样与主题色量化改为后台执行,并使用代数守卫防止快速换图时旧结果覆盖新色板;保存设置前会等待当前壁纸的取色结果,取色失败会写入诊断日志。

  • 自定义壁纸原路径替换内容后正常刷新:文件来源壁纸的“来源未变”跳过守卫并入内容指纹(文件长度与最后写入时间),在原路径覆盖图片文件后立即换用新图,不再停留旧图;目录随机壁纸仍每次刷新。

  • 运营横幅解码加入驻留尺寸上限:新增横幅解码器,常规横幅按原尺寸解码、超过上限的图等比缩小驻留,超大运营横幅不再驻留上百 MB 内存;小于上限的横幅不会被放大,保持全宽显示策略。

日志查看器

  • 修复内容区重复留白:移除日志列表、空状态与“加载更早日志”在共享对话框正文内边距之外重复叠加的外边距,使内容区恢复标准密度。

  • 筛选条与正文对齐:筛选按钮和搜索框的左右边距改为与 Panel 正文的 24px 水平内边距一致。

  • 筛选结果切换时保持稳定高度:日志查看器固定使用既有高度令牌;无匹配日志与存在运行日志时保持相同高度,列表内容继续在对话框内部虚拟化和滚动。

性能与工程质量

  • 下载与安装验证更省时:消除安装验证阶段的重复 CRC64 整读哈希,并以 slicing-by-8 查表提升单次哈希吞吐;下载服务拆分准备阶段与下载校验循环,便于维护。

  • 架构与可维护性整理:模态对话框契约迁至共享 ViewModels 层并明确 Shell 壳层定位;零散的调试输出统一收敛进本地诊断服务并补齐核心服务 XML 文档;异步方法统一 Async 后缀;删除已被跨进程启动桥取代的死入口。

  • 本地化键守卫接入 CI:禁止裸本地化 key 字符串的源码守卫接入 verify.ps1 与 CI,并覆盖 I18n 索引器形态,拼写错误在构建期即被拦截。

  • 构建与供应链加固:全部 GitHub Actions 固定到 commit SHA,Dependabot 接入 nuget 生态;CI 显式接线 locked mode 还原与确定性构建,缓存键覆盖中央包版本与 lock 文件;修复 coverage 脚本在 PowerShell 5.1 下的编码解析与 coverlet 插桩文件锁竞争问题。

下载

v1.1.0-beta.5

v1.1.0-beta.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Sep 13:13

v1.1.0-beta.5

Cafe Launcher v1.1.0-beta.5 更新概览

Note

本版本以稳定性加固为主线:修复所有平台因文件选择器依赖注入配置错误导致的启动崩溃,以及 Linux 分发包的跨进程信号启动崩溃;修复运行环境选择与进程跟踪回归,恢复启动失败诊断的完整上下文;并对远端内容链接引入协议白名单、重构依赖管理与多项内部架构以提升性能与可维护性。

当前版本仍属于 1.1.0 的 Beta 预发布序列。相较 v1.1.0-beta.4,这些向后兼容的新增与修复将预发布号递增为 v1.1.0-beta.5,不改变计划中的稳定版主次版本号。

Windows 为正式支持平台;macOS 与 Linux 仍为实验性构建。Linux 兼容运行环境的反作弊兼容性仍受发行版、显卡驱动、Proton 版本组合影响,相关组件大版本更新后建议重新验证启动链路。

关键修复

  • 修复所有平台打开应用即崩溃:文件选择器服务重构后,生产入口按具体类型解析服务,而依赖注入容器仅登记了接口映射,导致 Windows、macOS 与 Linux 均在创建主窗口前抛出 NoServiceRegistered。现让接口与具体类型共享同一个单例,并加入容器解析回归测试。

  • 修复 Linux 分发包启动即崩溃--launch-game 跨进程信号此前在 Unix 上无条件使用命名事件(.NET 不支持,构造即抛出异常),导致 Linux 分发包一启动就崩溃。现改用用户数据目录下的 Unix 域套接字转发信号,Windows 行为保持不变。

  • 修复运行环境选择与进程跟踪回归:修复自动模式下运行环境选择与游戏进程跟踪在上一轮重构中引入的回归。

  • 恢复启动失败诊断的完整上下文:启动失败时的诊断信息重新包含所选运行器(手动选中或 Auto)、完整请求上下文与候选运行器的可用性证据,便于准确定位故障层级。

安全与远端内容

  • 远端链接协议白名单:横幅、新闻、公告与社媒映射点的远端 URL 现经过协议白名单校验,非白名单协议的链接不再进入打开与下载链路。

界面改进

  • 关于页区分源码与发布仓库链接:关于分区新增源码仓库链接,与发布仓库区分展示;修正官方网站链接指向。

  • 新增 --show-hidden-settings 调试参数:启动时附带该参数可显示默认隐藏的设置项(如主题色提取算法、自定义取色设置),仅影响当前进程、不持久化。

  • UI 修复与细节:移除横幅悬停时的白色遮罩;统一运行时路径输入框尺寸;更新部分文案并修正资源契约。

性能与工程质量

  • UI 线程响应优化:移除 async voidunsafe 代码,异步上下文中的日志与错误处理全部走异步路径;背景图等大图解码移入后台线程,避免解码卡帧。

  • 网络层优化:按代理模式复用代理 HTTP handler,配置变更时才重建,消除每次请求租约新建 handler 的开销。

  • 依赖管理收紧:启用中央包版本管理(Directory.Packages.props)与依赖锁定文件;开启完整 NuGet 依赖漏洞审计,已知漏洞将直接阻断构建。经扫描确认当前依赖链无已知漏洞。

  • 架构与可维护性:启动编排、游戏运行环境、下载会话等核心模块完成收敛重构;本地化键全部常量化(拼写错误从运行时降级为编译期错误);诊断功能与游戏操作之间的横向依赖解耦;补齐大量单元与无头 UI 回归测试。

下载

v1.1.0-beta.4

v1.1.0-beta.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 31 Aug 13:52

v1.1.0-beta.4

Cafe Launcher v1.1.0-beta.4 更新概览

Note

本版本完成跨平台运行环境的正确性加固、健康检查与桌面集成:运行环境可用性检查与实际启动使用同一份配置,可用性升级为真实版本探测与分级诊断;Linux 设置页新增运行环境状态与高级路径设置;新增 --launch-game 命令行与 Linux 桌面快捷方式,Windows 桌面快捷方式改指向游戏目录的 run.bat 启动脚本,不经启动器、可直接启动游戏。

当前版本仍属于 1.1.0 的 Beta 预发布序列。相较 v1.1.0-beta.3,这些向后兼容的新增与修复将预发布号递增为 v1.1.0-beta.4,不改变计划中的稳定版主次版本号。

Windows 为正式支持平台;macOS 与 Linux 仍为实验性构建。Linux 兼容运行环境的反作弊兼容性仍受发行版、显卡驱动、Proton 版本组合影响,相关组件大版本更新后建议重新验证启动链路。

运行环境正确性与健康检查

  • 可用性检查与启动共用同一份配置:运行环境可用性检查现在按用户设置的运行器路径评估;显式配置的路径无效时直接报错,不再静默回退 PATH,避免"配置写错却用另一个运行时启动"。

  • 修复设置文件损坏导致的启动崩溃:手工编辑或旧版本残留的 "gameRuntime": null 不再使启动器加载设置时崩溃,将自动恢复默认运行环境配置。

  • 健康检查升级为真实探测:UMU 与 Wine 的可用性从"文件存在"升级为执行 --version 的真实探测(带超时与进程树清理),并区分不支持、未找到、无法运行与可用四种状态;可用的运行环境会报告可执行文件路径与版本号。

  • 启动诊断包含完整运行环境快照:启动诊断现在记录所选运行器、版本、可执行文件、生效 Prefix 与 Proton 目标,便于把故障定位到正确层级。

稳定运行时标识与数据隔离

  • 引入稳定运行时标识:兼容环境状态改用固定标识 blue-archive-jp,不再依赖游戏可执行文件名,重命名 EXE 不会孤立已有兼容数据。

  • Prefix 按运行器隔离:UMU 与 Wine 使用各自独立的默认 Prefix(compatibility/<游戏标识>/<运行器>/prefix),切换运行器不再互相污染;旧布局不会自动迁移,需要沿用既有环境的用户请显式配置 Prefix 路径。

Linux 设置体验

  • 运行器列表移除 Native:Linux 设置页不再显示必然不可用的原生启动选项;历史遗留的原生设置自动归一化为自动模式。

  • 新增运行环境状态显示:设置页可实时查看各运行环境的可用性、可执行文件与版本号(真实探测)。

  • 新增高级路径设置:可配置运行器、Prefix 与 Proton 路径,留空时以占位文案展示默认管理策略(自动检测 / 由 Cafe Launcher 管理 / 由 UMU 自动选择)。

  • 修复保存按钮不生效的问题:此前更改兼容运行环境相关设置不会激活设置保存按钮(脏检查遗漏嵌套字段),已修复。

桌面集成

  • 新增 --launch-game 命令行cafe-launcher --launch-game 直接启动游戏,仍走清单校验、更新检查、clickCode、运行器选择与诊断的完整管线;已有启动器实例时自动转发启动请求,无竞态丢失。首次安装的设置向导会话不会自动启动游戏,完成初始化后即可正常使用。

  • Linux 桌面快捷方式:可生成符合 freedesktop 规范的 .desktop 入口,经 --launch-game 走启动器完整管线,图标取自启动器资源并写入可执行位。

  • Windows 快捷方式改指向 run.bat:桌面快捷方式的目标从游戏 EXE 改为游戏目录自带的 run.bat 启动脚本(直接运行游戏 EXE 无法启动游戏),不经启动器、行为与直接运行 run.bat 一致;run.bat 缺失时视为游戏未就绪。

关于界面与工程质量

  • 关于分区重设计:重设计关于分区并完善版本信息展示。

  • 文档与社区:重写项目说明与开发指南,新增 GitHub Bug 与功能建议模板。

  • UI 修复:修复重置设置后底部操作区空白;对齐设置页危险操作按钮尺寸。

  • 补充回归测试:新增运行环境配置一致性、健康探测、诊断快照、Prefix 布局、设置脏检查、桌面入口生成与快捷方式目标的回归测试;四语言资源键与占位符契约保持同步。

下载

v1.1.0-beta.3

v1.1.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Aug 17:16

v1.1.0-beta.3

Cafe Launcher v1.1.0-beta.3 更新概览

Note

本版本重点推进 Linux 下的 Windows 游戏兼容运行环境:新增 UMU/Proton 与 Wine 启动路径、可选运行环境设置和启动失败诊断,同时将游戏运行状态改为由实际启动进程维护。

当前版本仍属于 1.1.0 的 Beta 预发布序列。相较 v1.1.0-beta.2,这些向后兼容的新增与修复将预发布号递增为 v1.1.0-beta.3,不改变计划中的稳定版主次版本号。

Windows 为正式支持平台;macOS 与 Linux 仍为实验性构建。Linux 兼容运行环境已在 Arch Linux 上使用 faugus-launcherumu-launcher 的组合完成游戏本体启动实测,但不同发行版、显卡驱动、Proton 版本和反作弊环境仍可能影响兼容性。

Linux 兼容运行环境(实验性)

  • 新增 UMU/Proton 启动支持:Linux 可通过 umu-run 启动 Windows 游戏客户端,并注入游戏标识、Wine Prefix 与可选 Proton 路径;默认 Prefix 使用用户数据目录,不再与游戏安装目录耦合。

  • 新增 Wine 备用路径:当 UMU 不可用或不适用时,可直接通过 Wine 启动;自动模式按 UMU → Wine 的顺序选择可用的兼容运行环境。

  • 运行环境可由用户选择:Linux 设置页新增“兼容运行环境”分组,可选择自动、原生、UMU/Proton 或 Wine;启动器配置可持久化所选运行器,以及可选的运行器可执行文件、Prefix 与 Proton 路径。

  • 实机启动验证:已在 Arch Linux 中安装 faugus-launcherumu-launcher 后成功进入游戏本体,为后续发行版适配与问题定位提供基线。

启动与运行状态可靠性

  • 以实际进程作为运行状态依据:游戏启动后保留宿主进程句柄并观察退出状态;卸载、下载与修复等操作优先依据该跟踪结果判断游戏是否运行,必要时才回退进程名扫描。

  • 运行器架构可扩展:将启动方式拆分为独立运行器层。Windows 原生启动保持既有行为,Linux 运行器则可按平台和环境可用性安全选择。

  • 更完整的失败诊断:运行器不可用时会记录每个候选的原因;启动异常会附带所选运行器、可执行文件、工作目录与原始异常,既显示可操作的提示,也写入本地诊断日志。

跨平台安全与工程质量

  • 按平台校验路径大小写:Windows 继续使用不区分大小写的路径比较;Linux/macOS 使用区分大小写的比较,避免安全检查与实际文件系统语义不一致。

  • Linux 新增 deb 安装包:CI 发版在 Ubuntu 24.04 上使用 dpkg-deb 构建 .deb,安装到 /opt/cafe-launcher,提供 cafe-launcher 命令与桌面入口;CI 会校验包元数据与文件布局,并实际安装后通过启动入口读取版本完成冒烟验证。包管理器安装时默认游戏目录仍位于用户主目录,不会写入受保护的 /opt

  • 发布说明自动附平台下载链接:CI 发布时会在发布说明末尾自动生成「下载」小节,按平台列出全部安装包与便携版的下载链接;源仓库与发行仓库的发布说明各自指向对应 release 的资产。

  • 补充回归测试:新增 UMU、Wine、运行器选择、进程跟踪和启动诊断测试,并扩展设置持久化与跨平台路径契约覆盖。

下载

v1.1.0-beta.2

v1.1.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Aug 11:07

v1.1.0-beta.2

Cafe Launcher v1.1.0-beta.2 更新概览

Note

本版本重点改善 Windows 安装与升级体验,并修复游戏文件落盘、壁纸切换和设置界面的多项问题;同时补充隐私政策、第三方许可与默认壁纸版权信息。

当前版本仍属于 1.1.0 的 Beta 预发布序列。相较 v1.1.0-beta.1,这些向后兼容的新增与修复将预发布号递增为 v1.1.0-beta.2,不改变计划中的稳定版主次版本号。

macOS 与 Linux 版本目前仍为实验性构建,尚未完成针对性适配与充分测试,可能存在兼容性或功能异常,暂不保证运行效果。

Windows 安装与升级

  • 现代目录选择器:安装目录的“浏览”按钮改用 Windows 现代文件夹对话框,支持地址栏、导航和搜索;对话框不可用时会自动回退到内置选择器。

  • 自动沿用原安装目录:升级时优先读取现有 Inno Setup 或受信任的旧版 NSIS 安装路径,不再默认跳回新的安装目录,也不会因目标目录已存在而重复确认。

  • 更安全的旧版迁移:只有在用户确认开始安装后才移除旧版 NSIS 安装;取消向导不会影响当前版本,并继续校验卸载器路径以避免执行异常注册项。

  • 修复安装器兼容问题:修正卸载数据检查在安装阶段触发的错误,并将发布流水线升级至 Inno Setup 7;仓库仍保留本地使用 Inno Setup 6.3+ 编译所需的语言文件。

游戏安装与可靠性

  • 更稳健地覆盖游戏文件:安装、更新、修复或清理文件前会先移除目标文件的只读属性,避免同一文件反复触发 UnauthorizedAccessException

  • 提前检查目录写权限:下载开始前即验证游戏目录是否可写;权限不足时会立即停止并显示具体路径和明确提示,避免下载大量数据后才失败。

  • 修复壁纸切换崩溃:壁纸交叉淡化期间,旧位图会在视图确认解除引用后再释放,避免窗口最小化、遮挡或卡顿时因渲染已释放位图而崩溃;横幅替换与退出清理采用相同的安全顺序。

界面与内容

  • 设置项按场景显示:仅当主题色来源设为壁纸时显示取色算法选项,避免在品牌色或自定义颜色模式下出现无效设置。

  • 修正多行设置文案布局:提示信息改为设置行内渲染,并调整多行内容的上下间距,使分隔线和控件排列更整齐。

  • 更新默认壁纸:采用画师 めるき(Meruki)的插画《初めてのゲーム》作为新默认壁纸,并在“关于”页面及项目文档中注明作者与作品来源。

  • 补充隐私与版权入口:在“关于”页面加入隐私政策和默认壁纸原作链接,方便直接查看相关说明。

Linux 分发

  • 修复 AppImage 启动入口:补齐标准 AppDir 根目录所需的可执行 AppRun,并在打包完成后实际执行 runtime、AppRun 和 .NET apphost 启动链路,避免生成成功但运行时立即退出。

  • 使用可写的默认游戏目录:AppImage 运行时不再把默认游戏目录解析到只读的临时挂载点,而是使用用户主目录下的 YostarGames/BlueArchive_JP

  • 固定并验证打包工具链:CI 固定 appimagetool 与 Type 2 runtime 的版本和 SHA-256,禁止构建时隐式下载可变的最新 runtime;同时在 Ubuntu 24.04 上通过 Xvfb 执行完整桌面启动烟测。

合规与工程维护

  • 完善许可信息:新增根据实际 NuGet 依赖生成的第三方许可清单,并统一应用、安装器和程序文件中的产品元数据。

  • 精简内置资源:移除版本号连点触发的音频彩蛋及不再使用的 NAudio 依赖;12 月 8 日日期彩蛋保持不变。

  • 改进发布工具:统一 PowerShell 脚本的 UTF-8 控制台输出与 LF 行尾,升级发布产物下载 Action,并补充安装器、下载权限、壁纸生命周期、设置布局和本地化契约测试。

v1.1.0-beta.1

v1.1.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@gytxtx gytxtx released this 12 Sep 11:56

v1.1.0-beta.1

Cafe Launcher v1.1.0-beta.1 更新概览

Note

本版本完成了启动器视觉系统的整体升级,并新增游戏快捷操作、窗口状态记忆和更完整的动态配色能力。发布流程也扩展为 Windows、macOS 与 Linux 三平台产物。

由于这些变化属于向后兼容的功能扩展而非补丁修复,版本按 SemVer 从 1.0.1-beta.1 提升至 1.1.0-beta.1;当前仍为 Beta 预发布版本。

macOS 与 Linux 版本目前仅作为实验性构建提供,尚未完成针对性适配与充分测试,可能存在兼容性或功能异常,暂不保证运行效果。

Caution

此版本的壁纸切换动画会导致软件崩溃,请等待修复版本。

界面与交互

  • Fluent / Material 3 视觉系统重构:将颜色、排版、间距、圆角、阴影、状态层和动效统一迁移到语义化设计令牌;主窗口、设置、对话框、安装向导、诊断、Toast 与远端内容区域采用一致的表面层级和控件状态。

  • 统一对话框框架:设置页、日志查看器、调试面板、安装向导和确认对话框统一使用新的 DialogSurface;规范标题、内容、工具栏、页脚和状态样式,并改进模态隔离、焦点恢复与 Escape 关闭行为。

  • 设置工作区重构:分类导航加入语义图标和明确的选中状态,设置行与下拉选择器改为可复用控件;优化键盘导航、滚动区域和最小点击高度,保存/取消操作固定在内容区底部,在长内容滚动时仍保持可见。

  • 动效系统完善:新增启动器入场、底部任务面板状态变形、壁纸交叉淡化、向导步骤切换、Toast 堆栈和横幅方向切换动效;“减少动态效果”会跳过或立即结束这些动画,并暂停自动轮播。

  • 通知交互增强:操作失败可通过 Toast 直接重试或打开日志;带操作的通知不会自动消失,执行期间会显示明确的禁用/处理中状态,多个通知按最新优先排列并独立退出。

  • 首启向导改版:改为紧凑的单表面分步流程,补充游戏目录即时状态、复核页快速返回编辑、退出确认以及步骤滚动复位;首启时会正确应用系统动效偏好。

游戏与个性化

  • 新增游戏快捷操作:主界面的游戏操作菜单现在可以主动检查游戏更新、打开游戏目录,并在 Windows 桌面创建指向已安装游戏的快捷方式;各类失败会给出对应提示。

  • Material 3 动态配色:主题色由完整的 M3 色彩角色驱动,支持 Tonal Spot、Vibrant、Expressive、Fidelity、Content、Monochrome、Neutral 和 Rainbow 八种配色变体,并可选择品牌蓝或跟随种子色的中性色策略。

  • 壁纸取色选项:新增 Celebi + Score、Wu、Wsmeans 与旧版 Octree 四种取色算法;切换取色算法、配色变体、中性色策略或明暗主题时会即时刷新预览和界面颜色。

  • 记住窗口状态:设置中新增“记住窗口位置和大小”,启用后会保存正常窗口状态下的位置与尺寸,并在下次启动时恢复。

可靠性与质量

  • 原子化状态写入:设置、公告已读状态和下载检查点统一改为临时文件替换写入,降低程序中断时留下不完整 JSON 文件的风险。

  • 操作反馈收敛:启动器初始化、状态刷新、安装/更新和修复错误改为面向具体操作的通知;游戏状态刷新严格按订阅顺序完成,避免界面使用尚未同步的快照。

  • 可访问性与视觉回归:扩充键盘焦点、自动化名称、对比度、最小交互尺寸和模态隔离契约测试;新增主界面、进度面板、设置页、确认对话框与 Toast 的 Headless 黄金截图回归。

分发与工程

  • 三平台分发:发布脚本现在可生成 Windows win-x64 ZIP、macOS arm64 .app ZIP、Linux x64 tar.gz 与 AppImage,并加入各平台应用图标和启动元数据。

  • Windows 安装器迁移:安装器由 NSIS 迁移到 Inno Setup 6.3+;升级时会校验并安全移除可识别的旧 NSIS 安装,卸载时可选择是否删除本地应用数据。

  • 发布流水线拆分:CI 分离跨平台打包、Windows 安装器测试和 GitHub Release 发布阶段,加入依赖缓存、并发取消、超时和短期产物传递,并升级所用 GitHub Actions 版本。

  • 设计与测试工具:Debug 构建新增设计令牌画廊;补充动态配色、可访问性、安装器、快捷方式、原子文件写入和 UI 样式契约测试。