| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(engine): URL 加载规范 — 自定义 scheme(RFC 3986)+ 无 scheme 默认分流(/ 开头→file,其他→rawfile) - UrlUtils(ETS/Java) 新增 getScheme/hasScheme/isValidScheme/resolveDefaultScheme - loadCard: url 归一化后按 scheme 分流 jsAssetsPath/jsFilePath/raw loader(新 FlexURawUriBundleLoader) - runScriptFromUri/runEngineScriptFromUri 入口归一化,显式 scheme 原样透传 - FlexUIResourceLoader 支持自定义 scheme 路由(构造注入 + registerSchemeHandler,内置 scheme 不可覆盖) - FlexUIEngineConfig.customResourceLoaders / FlexUIEngineContext.registerResourceLoader 双注册通道 - loadModuleWithListener 补上此前缺失的 bundleLoader 优先分支;Android checkModuleLoadParams 校验放宽 - DynamicLoad.js isSchema 正则升级为 RFC 3986(旧正则误判 asset:/ 为无 scheme) - Android resolveDefaultScheme asset 前缀用三斜杠 assets:///(双斜杠会被 java.net.URI 当 authority 吞目录) - 文档:integration.md / usage-guide.md 补充 URL 加载规范说明 Co-Authored-By: Claude <noreply@anthropic.com> | 29 天前 | |
fix(engine): multi-card DOM root routing — SceneBuilder ops carry root_id OHOS 多卡片共享单个 JSVM/Scope/Context,之前 SceneBuilder DOM 命令不带 root 参数、一律打到 scope 最后 attach 的 root,导致卡片间 DOM 写回串扰(第二张 卡片起无法渲染)。 C++ 侧: - SceneBuilder 增加 root_node_ 绑定,constructor 接收可选 root_id,从 RootNode::PersistentMap() 解析;7 个方法回调 + CreateNode/CreateDomInfo/ HandleJsValue 链统一走 ResolveSceneBuilderTarget(优先绑定 root,fallback scope 当前 root,向后兼容 Android/旧调用) - UIManagerModule::CallUIFunction 支持可选 root_id JS 侧(flexui-backend): - 6 个入队函数(create/update/delete/move/addEvent/removeEvent)加可选 rootId 参数,NativeBackendElement 全部调用点显式传 _context.rootViewId——事件驱动/ 异步渲染不再依赖全局 activeRoot 状态(修复 activeRoot 被污染导致 op 错标) - flushQueue 按 rootId 分组,每组一个绑定 root 的 SceneBuilder - reserveRootId 单值改为 Set(多卡 root id 全保留) - 新增 multi-root.test.ts(含 activeRoot 污染回归用例);id-collision 测试适配 Set 语义 其他: - SkillActivator 移除 skill-bootstrap.js 冗余调用(职责已由 has_apis/agent_api 覆盖) - build.sh 加 WSL bash 拦截;dev.sh 修 hdc install 双路径 bug(复用相对路径方案) - ascf-toolkit package.json 对齐 terser-webpack-plugin 版本(修 npm EOVERRIDE) - CLAUDE.md 补充 C++ 强制验证流程;docs/bugfix 归档本次修复 | 1 个月前 | |
docs(flexui): 屏幕事件整体方案设计(docs/design/screen-events.md) 按先整体后细节重写:核心思路=复用既有容器尺寸推送链落地端(setWindowSize)做「变化即广播」出口,前端 screen_events 以页面根注册表按 rootId 翻译成 Page.onResize + 组件 pageLifetimes.resize;含三层职责、一次 resize 完整旅程、设计推理、多 scope 隔离边界、验证结果与扩展方向。flexui-frontend.md §3.10 补充互链。 | 18 小时前 | |
feat(engine): support devtools debugging in release builds - build-profile.json5: enable ENABLE_INSPECTOR for the release variant; runtime gating stays with debugMode (create JS inspector / connect devtool only when debugMode=true) - FlexUIEngine.ets: log switch now driven by build type via BuildProfile.DEBUG (imported from module-root generated BuildProfile.ets) instead of debugMode; enableLog remains an explicit override - FlexUIEngineContextImpl.ets: create DevtoolsManager only inside the debugMode branch so debugMode=false never connects/creates devtools - build-jsfwk/index.js: remove stale flexui_jsfwk.js.map on release builds so sourcemaps are not packaged into the HAR - scripts: build-engine gains --verbose (full hvigorw log + retained logfile), build-jsfwk no longer swallows failures, hvigorw auto-detection now covers Windows DevEco paths, and all $HVIGORW calls are quoted (path with spaces) - docs: README + pkg-size-reduce updated to reflect ENABLE_INSPECTOR=true for both debug and release builds | 1 个月前 | |
fix: update import paths to scoped packages and fix wx→has prefix test spans - Update all import paths: flexui → @flexui/core, flexui-template-compiler → @flexui/template-compiler, etc. - Fix template compiler Rust test span values for wx: → has: prefix shift - Add non-null assertions in class_list.ts for strict null check compliance - Fix webpack plugin CSS loader path and config references - Update doc examples with correct package names - Fix chaining.test.ts ts-expect-error placement Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | 2 个月前 | |
feat(flexui-engine): 系统配置变更自动重建卡片 recreateOnConfigChange(三层级联) 新增通用能力:深色模式等系统配置变更时按策略自动重建存活卡片 (类页面 onConfigurationChanged 自适应)。colorMode 只是可重建配置之一。 - 类型/工具:FlexUIConfigChange.ets(FlexUIConfigChangeKind / resolveRecreateConfigChange / FlexUIConfigChangeListener) - 三层级联(逐层向上取首个非 undefined,默认关闭不重建): FlexView.recreateOnConfigChange(单卡)> scope (FlexUIEngineContext.setRecreateOnConfigChange)> engine (FlexUIEngineConfig.recreateOnConfigChange,false = 不自动重建) - 检测在引擎:FlexUIEngineManagerImpl 环境回调通用快照 diff (colorMode/direction/screenDensity/fontSizeScale/fontWeightScale/language), colorMode 先做内置自适应(C++ 色模 + JS 环境推送)再广播 - 广播与执行:引擎 add/removeConfigChangeListener → FlexView 注册/注销监听, onConfigChange 命中策略后 reloadCard()(旧实例销毁 + 同参重建,created/attached 重走、新 rootId);in-flight 合并防同 rootId 叠卡 - 修复:pushColorModeToJs 支持按 scope 播种 / 缺省遍历全部 scope 推送 (额外 scope 的 JS 环境此前收不到 colorMode) - 诊断/测试:FlexUIEngine.simulateSystemConfigChange(kinds) 等价广播(不改状态) - engine-test-demo 新增 feature 用例 config-change-recreate(真机 4 场景 + 全量回归通过: all 47 total,43 PASS / 0 FAIL / 4 SKIP) - 文档:docs/learn/flexui-engine-arkts-api.md §1.2.2 等;engine demo entry 保留 EntryAbility.onConfigurationUpdated 观测日志(ability 不重建验证用) Signed-off-by: flexui dev | 18 小时前 | |
修改pickerview子组件渲染方式;解决pickerview页面不能滑动问题 | 6 天前 | |
docs: add learning notes and summary docs - docs/learn/: FlexUI engine, ASCF bridge, rendering flow, component analysis - docs/summary/: rendering architecture and ArkUI NDK APIs summary Co-Authored-By: Claude <noreply@anthropic.com> | 1 个月前 | |
fix(security): LLM API key 改为本地 gitignored 配置读取,移除硬编码密钥 - Index.ets / MainActivity.kt / ascf-toolkit config.js 改为从本地配置读取 apiKey - 本地配置: ai-agent/.../local-config.ts、toolkit/local-llm-config.json、Android local.properties(llm.apiKey) - 新增 .example 模板 + .gitignore;文档中的 key 替换为占位符 | 9 天前 | |
feat: add Card Tester mock data via bridge dispatch + fix Windows path bugs - Card Tester: inject mock data via bridgeManager.callJavaScriptModule('__ascfCallbacks', 'onCardEvent') - FlexView.params carries __ascfInstanceId__ for instance routing - Mock data dispatched in onViewReady with 50ms delay for JS init - Generation guard prevents stale dispatch on rapid card switching - Fix hvigor Windows path bug: copy HAR to ascf-agent/libs/ (relative path) - build-engine.sh auto-copies HAR after build - ascf-agent entry & agent-runtime now reference libs/flexui_engine.har - Fix hdc install path bug on Windows (use relative path) - as_apis uses local framework/ohos source for flexui-engine build Co-Authored-By: Claude <noreply@anthropic.com> | 1 个月前 | |
| 6 天前 |