| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
!20467 merge FixSecondLanAI-sty into master 修复蓝区AI扫描问题第二批 Created-by: SKY2001 Commit-by: SKY2001 Merged-by: openharmony_ci Description: https://gitcode.com/openharmony/ability_ability_runtime/issues/16239?ref=&did=4328730#tid-4328730 See merge request: openharmony/ability_ability_runtime!20467 | 25 天前 | |
minimize header exposure: move services/ paths from public_config to private include_dirs Move services/ include paths out of public_config blocks to private include_dirs across 22 BUILD.gn files. public_config propagates include paths to all downstream consumers, leaking internal service implementation headers that no external module actually includes. Also fixes TDD and SDK build targets that depended on abilityms_config being in public_configs. Signed-off-by: xialiangwei <xialiangwei1@huawei.com> Change-Id: Ifa69faca82800b78b0ecdec99d235a3386d5cab2 | 1 个月前 | |
!20685 merge deps into master Add node:node_header_notice to BUILD.gn for napi deps decoupling Created-by: zhangyuhang72 Commit-by: zhangyuhang72 Merged-by: openharmony_ci Description: ## 变更说明 napi 仓将 node_header_notice 从 public_external_deps 移至 external_deps,传递依赖链断裂。napi/native_api.h 第 51 行 #include "node_api.h",所有依赖 napi:ace_napi 且源文件(直接或间接)include 了 napi 头文件的 target 需显式声明 node:node_header_notice。 ### 变更范围 - **32 个非 test BUILD.gn**:frameworks/js/napi/、frameworks/ets/ani/、frameworks/native/、agent_runtime_framework/、interfaces/inner_api/ - **4 个 test BUILD.gn**:js_startup_config_test、child_process_manager_test、js_service_extension_test、js_app_service_extension_test(通过 include 链分析确认需要修改) ### 验证 hb build ability_runtime -i -t 编译通过,0 error,9890 targets,耗时 19:44 --- # 代码检视报告 — ability_runtime deps decoupling(Round 1 / 最新提交) > 统一报告由 codecheck 工作台生成,**用于门禁管控**。 --- ## 报告元数据 <!-- codecheck-report-metadata:start --> yaml codecheck_report: schema_version: "1.0" scope: "ability_runtime BUILD.gn node:node_header_notice deps decoupling" round: 1 commit_id: "889423caea27c1ba224259785df05d2199a7b227" change_id: "Ia6bf4fc5b7a0fce259f4a54d29a70d12b995b62f" report_id: "Ia6bf4fc5b7a0fce259f4a54d29a70d12b995b62f-R1" date: "2026-10-09" gate_decision: "approve" risk_level: "low" score: 100 dimensions_required: ["security-scanner", "logic-scanner"] dimensions_executed: ["security-scanner", "logic-scanner"] findings_total: 0 findings_by_severity: {"p0": 0, "p1": 0, "p2": 0, "p3": 0} gate_blockers: 0 must_fix: 0 followups: 0 <!-- codecheck-report-metadata:end --> --- ## 1. 门禁结论 | 项目 | 结论 | |---|---| | 决策 | **approve** | | 风险等级 | low | | 评分 | **100/100** | | 阻塞项 | 无 | | 必须修复(P0/P1) | 0 项 | | 建议跟进(P2/P3) | 0 项 | **一句话结论**:纯 BUILD.gn 依赖声明变更,36 个文件统一添加 node:node_header_notice 到 external_deps,配合 napi 仓将 node_header_notice 从 public_external_deps 移至 external_deps 的解耦改动;编译验证通过(hb build ability_runtime -i -t 0 error),无安全/逻辑风险。 --- ## 3. 必须立即处理(P0/P1) **无。** --- ## 4. 建议本轮或下一补档处理(P2/P3) **无。** --- ## 5. 分维度速览 | 维度 | 结果 | 关键说明 | |---|---|---| | security-scanner | 通过 | 无源码变更(36 个 .gn 文件),仅向 external_deps 数组追加依赖项 "node:node_header_notice",无安全风险引入面 | | logic-scanner | 通过 | 逐一验证:所有含 napi:ace_napi 的 target 均已补充 node:node_header_notice;service_extension_ability/BUILD.gn 的 2 个 target 均覆盖;frameworks/native/ability/native/BUILD.gn(用户已提前处理,43 处)经抽查确认完整;无重复条目;4 个 test BUILD.gn 通过 include 链分析确认需要修改 | --- ## 6. 关键发现详情 本次提交无 P0/P1/P2/P3 发现。 ### 变更摘要 - **变更类型**:BUILD.gn 依赖声明修改(36 个文件,86 insertions,15 deletions) - **变更目的**:napi 仓将 node_header_notice 从 public_external_deps 移至 external_deps,传递依赖链断裂,消费方需显式声明 - **变更范围**:22 个非 test BUILD.gn + 4 个 test BUILD.gn - **验证方式**:hb build ability_runtime -i -t 编译通过,0 error,9890 targets,耗时 19:44 - **验证结论**:所有修改的 BUILD.gn 编译通过,node:node_header_notice 依赖声明正确生效 See merge request: openharmony/ability_ability_runtime!20685 | 7 天前 | |
!20685 merge deps into master Add node:node_header_notice to BUILD.gn for napi deps decoupling Created-by: zhangyuhang72 Commit-by: zhangyuhang72 Merged-by: openharmony_ci Description: ## 变更说明 napi 仓将 node_header_notice 从 public_external_deps 移至 external_deps,传递依赖链断裂。napi/native_api.h 第 51 行 #include "node_api.h",所有依赖 napi:ace_napi 且源文件(直接或间接)include 了 napi 头文件的 target 需显式声明 node:node_header_notice。 ### 变更范围 - **32 个非 test BUILD.gn**:frameworks/js/napi/、frameworks/ets/ani/、frameworks/native/、agent_runtime_framework/、interfaces/inner_api/ - **4 个 test BUILD.gn**:js_startup_config_test、child_process_manager_test、js_service_extension_test、js_app_service_extension_test(通过 include 链分析确认需要修改) ### 验证 hb build ability_runtime -i -t 编译通过,0 error,9890 targets,耗时 19:44 --- # 代码检视报告 — ability_runtime deps decoupling(Round 1 / 最新提交) > 统一报告由 codecheck 工作台生成,**用于门禁管控**。 --- ## 报告元数据 <!-- codecheck-report-metadata:start --> yaml codecheck_report: schema_version: "1.0" scope: "ability_runtime BUILD.gn node:node_header_notice deps decoupling" round: 1 commit_id: "889423caea27c1ba224259785df05d2199a7b227" change_id: "Ia6bf4fc5b7a0fce259f4a54d29a70d12b995b62f" report_id: "Ia6bf4fc5b7a0fce259f4a54d29a70d12b995b62f-R1" date: "2026-10-09" gate_decision: "approve" risk_level: "low" score: 100 dimensions_required: ["security-scanner", "logic-scanner"] dimensions_executed: ["security-scanner", "logic-scanner"] findings_total: 0 findings_by_severity: {"p0": 0, "p1": 0, "p2": 0, "p3": 0} gate_blockers: 0 must_fix: 0 followups: 0 <!-- codecheck-report-metadata:end --> --- ## 1. 门禁结论 | 项目 | 结论 | |---|---| | 决策 | **approve** | | 风险等级 | low | | 评分 | **100/100** | | 阻塞项 | 无 | | 必须修复(P0/P1) | 0 项 | | 建议跟进(P2/P3) | 0 项 | **一句话结论**:纯 BUILD.gn 依赖声明变更,36 个文件统一添加 node:node_header_notice 到 external_deps,配合 napi 仓将 node_header_notice 从 public_external_deps 移至 external_deps 的解耦改动;编译验证通过(hb build ability_runtime -i -t 0 error),无安全/逻辑风险。 --- ## 3. 必须立即处理(P0/P1) **无。** --- ## 4. 建议本轮或下一补档处理(P2/P3) **无。** --- ## 5. 分维度速览 | 维度 | 结果 | 关键说明 | |---|---|---| | security-scanner | 通过 | 无源码变更(36 个 .gn 文件),仅向 external_deps 数组追加依赖项 "node:node_header_notice",无安全风险引入面 | | logic-scanner | 通过 | 逐一验证:所有含 napi:ace_napi 的 target 均已补充 node:node_header_notice;service_extension_ability/BUILD.gn 的 2 个 target 均覆盖;frameworks/native/ability/native/BUILD.gn(用户已提前处理,43 处)经抽查确认完整;无重复条目;4 个 test BUILD.gn 通过 include 链分析确认需要修改 | --- ## 6. 关键发现详情 本次提交无 P0/P1/P2/P3 发现。 ### 变更摘要 - **变更类型**:BUILD.gn 依赖声明修改(36 个文件,86 insertions,15 deletions) - **变更目的**:napi 仓将 node_header_notice 从 public_external_deps 移至 external_deps,传递依赖链断裂,消费方需显式声明 - **变更范围**:22 个非 test BUILD.gn + 4 个 test BUILD.gn - **验证方式**:hb build ability_runtime -i -t 编译通过,0 error,9890 targets,耗时 19:44 - **验证结论**:所有修改的 BUILD.gn 编译通过,node:node_header_notice 依赖声明正确生效 See merge request: openharmony/ability_ability_runtime!20685 | 7 天前 | |
!20671 merge master into master renderer startup performance optimization Created-by: GoNewWay Commit-by: GoNewWay Merged-by: openharmony_ci Description: ## IssueNo: https://gitcode.com/openharmony/web_webview/issues/7072 **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | pass | | 成员变量进行赋值或创建需要排查并发 | pass | | 谨慎在lambda表达式中使用引用捕获 | pass | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | pass | | map\vector\list\set等stl模板类使用时需要排查并发 | pass | | 谨慎考虑加锁范围 | pass | | 在IPC通信中谨慎使用同步通信方式 | pass | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | pass | | 禁止将外部传入的裸指针在内部直接构造智能指针 | pass | | 禁止多个独立创建的智能指针管理同一地址 | pass | | 禁止在析构函数中抛异步任务 | pass | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | pass | | 禁止在对外接口中未经判空直接使用外部传入的指针 | pass | | 禁止接口返回局部变量引用 | pass | | 禁止在信号函数中加锁 | pass | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | pass | | 禁止将同一个cpp编译在不同的so中 | pass | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | pass | | json对象在取值之前必须先判断类型,避免类型不匹配 | pass | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | pass | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | pass | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | pass | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | pass | | readParcelable获取的对象使用前需要判空 | pass | | 分配和释放内存的函数需要成对出现 | pass | | 申请内存后异常退出前需要及时进行内存释放 | pass | | 内存申请前必须对内存大小进行合法性校验 | pass | | 内存分配后必须判断是否成功 | pass | | 禁止使用realloc、alloca函数 | pass | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | pass | | 禁止打印内存地址 | pass | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | pass | | 禁止对有符号整数进行位操作符运算 | pass | | 禁止对指针进行逻辑或位运算 | pass | | 循环次数如果收外部数据控制,需要检验其合法性 | pass | | 禁止使用内存操作类危险函数,需要使用安全函数 | pass | | 谨慎使用不可重入函数 | pass | | 必须检查安全函数的返回值,并进行正确处理 | pass | | 禁止仅通过TokenType类型判断绕过权限校验 | pass | **TDD Result**: 不涉及 **XTS Result**: ### 是否已执行L0用例 - [x] 已验证 - [ ] 不涉及。如不涉及,请写明理由 ### AI检视评分(使用本地代码检视skills扫描): # 代码检视报告 — CR 29545: renderer startup performance optimization(Round 1 / 最新提交) > 统一报告由 codecheck 工作台生成,**用于门禁管控**。所有 codecheck 报告(含 orchestrator 合并出的统一报告、单 scanner 直接产出的统一报告)必须遵循本模板:章节顺序、字段名、报告元数据块、评分与门禁规则均为**固定格式**,跨报告保持一致,便于门禁脚本解析与历史对比。 > 生成入口:[ README.md](README.md) → Step 5;合并逻辑见 [orchestrator/SKILL.md](orchestrator/SKILL.md)。 > 权威评分与门禁规则为**通用规则**,不在输出报告中呈现;生成时必须按 [conventions.md](conventions.md) §7(等级归一化)/ §8(必检维度)/ §9(评分与决策矩阵)计算,不得自创分值。 --- ## 报告元数据 > **门禁脚本只读取本 YAML 块**。字段名与取值域为固定合约,禁止改名、增删或自定义取值。人工阅读部分从「1. 门禁结论」开始。 <!-- codecheck-report-metadata:start --> yaml codecheck_report: schema_version: "1.0" scope: "renderer startup performance optimization #20671" round: 1 commit_id: "d63acac9121f36e344449720b26e3434a34e9006" change_id: "d63acac9121f36e344449720b26e3434a34e9006" report_id: "I17914446744738cc6161a3ad4b0ba548578762e8-R1" date: "2026-10-12" gate_decision: "approve" risk_level: "low" score: 100 dimensions_required: ["security-scanner", "logic-scanner"] dimensions_executed: ["security-scanner", "logic-scanner"] findings_total: 0 findings_by_severity: {"P0": 0, "P1": 0, "P2": 0, "P3": 0} gate_blockers: [] must_fix: [] followups: [] <!-- codecheck-report-metadata:end --> --- ## 1. 门禁结论 | 项目 | 结论 | |---|---| | 决策 | **approve** | | 风险等级 | 🟢 low | | 评分 | **100/100** | | 阻塞项 | 无 | | 必须修复(P0/P1) | 0 项 | | 建议跟进(P2/P3) | 0 项 | **一句话结论**:变更仅在 HandleNWebPreload() 中新增 initArgs->SetIsPreloadNWeb(true) 一行,为 NWeb 预加载实例设置布尔标志位,安全与逻辑两个维度均无发现,评审通过。 --- ## 3. 必须立即处理(P0/P1) **无。** --- ## 4. 建议本轮或下一补档处理(P2/P3) **无。** --- ## 5. 分维度速览 | 维度 | 结果 | 关键说明 | |---|---|---| | security-scanner | ✅ 0 发现 | 11 项检查全部不适用;initArgs 由 make_shared 创建不可能为 null,无 IPC/反序列化/敏感数据/资源泄漏风险;G01-G16 无模式命中 | | logic-scanner | ✅ 0 发现 | 变更类型为数据流新增(setter 调用),不影响控制流/状态机/边界条件/错误处理/并发/业务规则;SetIsPreloadNWeb(true) 是标准 init args 配置模式 | --- ## 6. 关键发现详情 无发现。变更分析摘要如下: ### 变更概述 - **文件**: frameworks/native/appkit/app/main_thread.cpp:2390 - **函数**: MainThread::HandleNWebPreload() (line 2364–2405) - **编译守卫**: #if defined(NWEB) && defined(NWEB_GRAPHIC) (line 2363) - **变更类型**: 数据流新增 — 在 NWebEngineInitArgsImpl 创建后、CreateNWeb 调用前,设置 IsPreloadNWeb 标志为 true - **调用链**: HandleNWebPreload() ← 由 appLaunchData.IsAllowedNWebPreload() 守卫触发 (line 2226-2227),lambda 以 idle task 延迟 2000ms 执行 ### 变更上下文 cpp // line 2389-2396 auto initArgs = std::make_shared<NWeb::NWebEngineInitArgsImpl>(); initArgs->SetIsPreloadNWeb(true); // ← 新增行 preloadNWeb_ = NWeb::NWebAdapterHelper::Instance().CreateNWeb(surface, initArgs, NWEB_SURFACE_SIZE, NWEB_SURFACE_SIZE, false); if (!preloadNWeb_) { TAG_LOGE(AAFwkTag::APPKIT, "create preLoadNWeb failed"); return; } ### 安全性分析 1. **空指针**: initArgs 由 std::make_shared 创建,成功时返回有效 shared_ptr,失败时抛出 std::bad_alloc(不会返回 null),因此 initArgs->SetIsPreloadNWeb(true) 不存在空指针风险。 2. **生命周期**: initArgs 为 lambda 内局部 shared_ptr,仅在 lambda 作用域内使用,传给 CreateNWeb 后由 NWeb 引擎持有或随作用域自动释放,无 UAF/泄漏。 3. **并发**: initArgs 不跨线程共享,lambda 在 mainHandler_ 的 idle task 中单线程执行。 4. **IPC/反序列化/权限**: 变更不涉及 IPC、反序列化、权限管控或敏感数据。 ### 逻辑分析 1. **数据流**: SetIsPreloadNWeb(true) 设置布尔标志 → 传入 CreateNWeb → NWeb 引擎根据此标志区分预加载实例与正常实例,优化启动性能。数据流路径清晰,类型匹配。 2. **状态机**: 不影响 MainThread 状态转换——标志位是 CreateNWeb 的输入参数,不改变进程/应用状态机。 3. **错误处理**: SetIsPreloadNWeb 为 setter,不会失败。若后续 CreateNWeb 失败返回 null,已有 if (!preloadNWeb_) 守卫并 return,initArgs 随 shared_ptr 自动释放,无需额外清理。 4. **业务规则**: NWebEngineInitArgsImpl 创建后配置再传入 CreateNWeb 是标准使用模式,符合 NWeb API 契约。 See merge request: openharmony/ability_ability_runtime!20671 | 4 天前 | |
USB类型长时任务枚举值变更 Signed-off-by: beauty-bag <huwei169@huawei.com> | 7 天前 |