905e905eca
fix: 修复 SLS 实例删除残留外部数据与重装共用文件夹
...
删除实例残留外部数据:
- remove_instance 原先只在 game_dir_override 指向 versions/<name>
隔离目录时才删除外部目录;SLS(hosted)实例使用版本共享布局
(外部目录直接作为游戏根),删除时落到托管目录分支,外部 mods/
存档/配置残留。
- 现在 game_dir_override 只要指向实例独占目录(非共享 .minecraft
根)就一并删除;新增 is_shared_minecraft_root 判据:含
libraries/ 或 assets/ 的目录视为共享游戏根,删除实例时保留。
重装共用同一文件夹:
- hosted::create 生成 game_dir_override 时直接拼接
`<root>/<pack name>`,无冲突处理;同一整合包安装两次会指向同一
目录,两个实例共用一份游戏数据。
- 新增 unique_game_dir:目标目录已存在时依次尝试 `<name> (1)`、
`<name> (2)` …,与 create_instance::resolve_instance_path 的
实例目录去重逻辑保持一致。
2026-09-19 19:37:08 +08:00
cda7bb284a
fix: 修复实例日志窗口停更与日志行重叠
...
日志停更(实例启动后日志不再刷新):
- process.rs 的 XML 日志分支原先使用 quick-xml 流式异步 Reader。
该解析器在任何 I/O/解析错误或瞬时 Eof 后会把内部状态永久置为
ParseState::Done(quick-xml #513),此后永远只返回 Eof,导致
日志转发在客户端启动、日志量变大后彻底停止。
- 改为把原始字节累积到缓冲区,切出完整的 <log4j:Event …>…
</log4j:Event> 帧后逐帧同步解析;坏帧/分片帧只跳过,不再毒化
解析状态,日志转发持续进行。
- 新增 take_next_log4j_frame(切帧)与 handle_log4j_frame(单帧
解析与转发)两个辅助函数。
日志行重叠:
- LogViewport.vue 原先用手动虚拟滚动,按估算高度为每行设置固定
height;估算与实际渲染高度不符(高亮、wrap 折行等)时,绝对
定位的行会溢出并相互重叠。
- 改用原生虚拟化 content-visibility: auto + contain-intrinsic-size,
全量渲染由浏览器跳过屏外行的布局绘制,进入视口时以真实高度
修正,从根本上消除估算误差导致的重叠。
- 保留 scrollToBottom / 自动跟随底部 / 搜索高亮 / 错误警告配色
等既有行为与对外接口。
2026-09-19 19:13:59 +08:00
ffe529df57
Merge branch 'main' of https://git.starlight.cool/aptxyyds/Starlight_Lancher
2026-09-19 18:52:08 +08:00
984f3ddbd6
fix: 修复从 .minecraft 导入实例的多项缺陷
...
修复从 .minecraft / PCL / HMCL 等启动器导入实例时的 6 个问题:
- 复制模式不再克隆 versions/ 下的所有实例,只保留选中的版本
- 版本隔离导入时把 .minecraft 根内容(mods/saves/config)与选中
versions/<name> 合并进实例目录,不再得到纯原版实例
- 符号链接导入不再因 game_dir_override 被丢弃而在错误目录创建
游戏数据,实例也不会在失败后被误删
- 不再将用户选择的版本隔离模式强行改为共享(InstallRequest::
ImportInstance 的 game_dir_override 现在正确透传到导入逻辑)
- 清洗非标准加载器坐标(如 net.neoforged:neoforge:21.1.250:client]
中的 :client] 后缀),并补充回归测试
涉及 api/pack/import 下的 generic/mod/instance_json 及各启动器
导入器,以及 install/runner 的调用点。
2026-09-19 18:49:55 +08:00
a477b1fb9a
feat: integrate StarLight updates and improve font settings and skin editor loading
2026-09-19 18:14:41 +08:00
5006f432dc
feat: 一键安装支持自选游戏目录
...
StarLight 实例一键安装此前固定落到启动器默认目录,无法选择游戏数据位置。
现复用创建流程的外部游戏目录能力:点击一键安装后弹出目录选择框,
只允许修改游戏目录,其余参数仍由服务器整合包决定。
- hosted::create 接受 game_dir_root,拼为 <root>/<包名> 作为 game_dir_override
(刻意避开 versions/ 布局,该结构被外部直链实例检测占用)
- 新增顶层命令 get_launcher_root_dir,作为弹窗默认值(可执行文件所在目录)
- 新增 HostedGameDirModal 弹窗:只读路径框 + 浏览 + 默认位置 + 安装预览
- 补齐 en-US / zh-CN / zh-TW 三语文案
hosted_create 增加 game_dir_root 参数,前端 hostedCreate/install 同步透传。
2026-09-18 13:04:28 +08:00
51fb0c30f7
fix: 完善整合包同步与启动器交互
2026-09-16 17:01:22 +08:00
bd09fed0ed
fix: improve parallel pack downloads and suppress stale notifications
...
Download hosted pack files concurrently, recover file transfers from proxy and content-encoding failures, and prevent old installation failures from reappearing in notifications.
2026-09-15 21:14:18 +08:00
bc904065c3
feat: complete hosted mod sync and launcher interface updates
...
Add pack sync markers, tagged mod updates, parallel progress, JWT downloads and retry recovery. Include pending onboarding, about scene, compatibility data pack and download fixes.
2026-09-15 19:06:56 +08:00
0b30fc96a0
fix: 复用皮肤站逻辑并稳定玩家头像
2026-09-14 23:06:03 +08:00
2a1dfa3c42
feat: 添加获批整合包同步与 StarLight 实例模式
2026-09-14 22:59:16 +08:00
fbcaed528b
feat: 完善 StarLight 皮肤站集成
2026-09-14 11:29:48 +08:00
1593ac7a7c
refactor: 移除遥测并修复启动器流程
2026-09-13 20:32:57 +08:00
f8aa654198
fix:修复了一下皮肤站的登录逻辑
2026-09-13 20:18:04 +08:00
89aa661e75
修复了角色列表未能完全同步的问题
2026-09-13 18:56:53 +08:00
ceda000578
change:修改部分axolotl为starlight
...
(不过怎么这么多)
2026-09-12 23:29:28 +08:00
6a295f9a7a
feat:移除了弹窗,服务器添加sls
2026-09-08 22:39:45 +08:00