-
-
Notifications
You must be signed in to change notification settings - Fork 461
依旧 XML 渲染问题 #668
Copy link
Copy link
Open
Labels
UI-UXVisual interaction issues such as interface alignment, bubbles, and themes.界面对齐、气泡、主题等视觉交互问题Visual interaction issues such as interface alignment, bubbles, and themes.界面对齐、气泡、主题等视觉交互问题tool-calling工具规划/调用/处理问题Tool planning/call/handling issues工具规划/调用/处理问题Tool planning/call/handling issues
Description
Metadata
Metadata
Assignees
Labels
UI-UXVisual interaction issues such as interface alignment, bubbles, and themes.界面对齐、气泡、主题等视觉交互问题Visual interaction issues such as interface alignment, bubbles, and themes.界面对齐、气泡、主题等视觉交互问题tool-calling工具规划/调用/处理问题Tool planning/call/handling issues工具规划/调用/处理问题Tool planning/call/handling issues
问题描述
Operit 1.12.0 中,通过
ToolPkg.registerXmlRenderPlugin注册的 XML 渲染插件,在消息列表刷新(如新消息插入、上下文回滚等场景)时,会导致 composeDsl 组件完全重建,所有用户交互状态(useState)丢失。表现为:
根因分析
xml_render路径的executionContextKey构建函数buildXmlRenderComposeDslExecutionContextKey包含了renderInstanceKey:当
renderInstanceKey变化时(消息列表刷新导致),executionContextKey变化,ToolPkgManager.getToolPkgExecutionEngine返回新的JsEngine实例,导致memoStore(即useState底层存储)完全丢失。而
ToolPkgComposeDslScreen路径(非 xml_render)使用containerPackageName+uiModuleId作为rememberkey,不受此问题影响。受影响的内置包(只找到一个内置包)
复现步骤
com.operit.plan_mode_bundle插件