forked from AxTps/Starlight_Lancher
日志停更(实例启动后日志不再刷新): - 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 / 自动跟随底部 / 搜索高亮 / 错误警告配色 等既有行为与对外接口。