| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Refactor(HAR):裁剪RNOH的npm包 裁剪RNOH的npm包,主要裁剪boost未使用的子库,hermes不参与构建的文件 Close:#2682 Signed-off-by: fangyygw <fang_zhen@hoperun.com> | 2 个月前 | |
fix(oat): align copyright and license headers 问题描述: 最新一轮静态检查中,仓内部分脚本、模板、测试与 CLI 相关文件缺少统一的版权与许可证头注释,导致 OAT 头注释类告警未完全收敛,也增加了仓内文件头规范不一致的问题。 解决方案: - 为命中的 JS、TS、ETS、TSX 与配置文件补充统一的 MIT 版权头 - 对 Handlebars 模板文件补充等价的模板注释头,保持模板语法正确 - 统一文件头年份与版权格式,消除缺失头注释和格式不一致告警 影响范围: - 主要影响 CLI、tester、testerino、公共脚本与模板文件的头部注释规范 - 不改变文件原有实现逻辑、运行行为与构建结果 Signed-off-by: jiaxuan_wong <1801330925@qq.com> | 5 个月前 | |
chore(Upgrade): 版本号对齐 0.86 线首发为 0.86.1 并更新发版说明 影响范围: - RNOH 自有包版本号 0.86.3(含 hvigor-config 残留 0.86.2)统一调整为 0.86.1:react-native-harmony、react-native-harmony-cli、@rnoh/hvigor-plugin(含 lock)、@rnoh/react-native-openharmony、template 模板与 tester 配置。按包管理规范,版本号前两位对齐 RN 上游线、第三位为鸿蒙侧迭代序号,0.86 线首发应为 0.86.1;npm 上 0.86 线尚无已发布版本,重置无冲突 - 重写 CHANGELOG.md:以 0.86.1 开头,收录 0.84 → 0.86 大版本升级主要改动点(升级 commit 与上游 RN 0.85/0.86 要点),删除 0.84 段落(0.84 线后续在 0.84-main 分支维护),并同步 tester CHANGELOG - release notes:react-native-harmony-v0.86.3.md 更名为 v0.86.1.md(中英文)并更新版本信息,删除 0.84 旧版 note,同步版本说明、release-notes-overview 与各 README 目录树 - 版本相关文档(中英成对)与 Samples 中 @react-native-oh 包版本引用统一为 0.86.1,RN 上游 0.86.3 引用保持不变 - 对齐 root package.json 中 @react-native/typescript-config 至 0.86.3(升级遗留) - 发版脚本配套修复:bump-version.js 纳入 template 包;generate-changelog.js 保留版本段引言;gen-release-notes.js 修复版本号排序并新增英文侧 release notes 生成 - 同步 AGENTS.md 与 .agents/ARCHITECTURE.md 版本信息 Signed-off-by: liu_wentao <liuwentao57@h-partners.com> AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: opencode (glm-5.3) <ai@local> | 1 个月前 | |
fix(lint): 修复代码合规扫描告警(282文件) G.TYP.04 单引号(6933处): 双引号字符串统一改为单引号 G.FMT.12 分号(4516处): 补充缺失的语句分号 G.FMT.09 if大括号(440处): if/for/while执行体补充{} G.FMT.08 空格规范(317处): 关键字后补空格, 删除分号前多余空格 G.EXP.02 严格相等(228处): ==改为===, !=改为!== Signed-off-by: jiaxuan_wong <1801330925@qq.com> | 3 个月前 | |
fix(lint): 修复代码合规扫描告警(282文件) G.TYP.04 单引号(6933处): 双引号字符串统一改为单引号 G.FMT.12 分号(4516处): 补充缺失的语句分号 G.FMT.09 if大括号(440处): if/for/while执行体补充{} G.FMT.08 空格规范(317处): 关键字后补空格, 删除分号前多余空格 G.EXP.02 严格相等(228处): ==改为===, !=改为!== Signed-off-by: jiaxuan_wong <1801330925@qq.com> | 3 个月前 | |
fix(lint): 修复代码合规扫描告警-零风险+低风险类(32文件56处) G.FMT.02 行宽过长(10处): 注释折行/函数签名换行/字符串拼接 G.FMT.06 else/catch同行(1处): RNApp.ets catch合并到同行 G.FMT.10 大括号同行(1处): PackageProvider.ets return换行 G.FMT.11 条件用大括号(2处): SurfaceDeadlockTest.ets if补{} G.OBJ.04 点号访问(13处): obj['prop']改为obj.prop(HttpClient/BlobRegistry/ImageLoaderTurboModule/OHPackageJSON5/format-cpp) G.OTH.03 删除注释代码(2处): SelectBox.ets删除注释掉的emitComponentEvent 冗余代码(1处): ViewTest.tsx删除注释掉的driver.move G.OTH.05 公网地址(4处): SampleTurboModule2.ets URL提取为常量, commitlint email@example.com改为<your-email> G.EXT.01 访问修饰符(17处): 类属性加public/private(SelectBox/BuilderType/LoadBundle/EntryAbility/NavigationManager/PromiseRejectTestTurboModule/setupRNOHWorker) TypeScript export type(3处): ts.ts/index.ts类型导出改为export type 禁止将this赋值给变量(1处): LiveCell.tsx删除const self=this,改用箭头函数捕获this Signed-off-by: jiaxuan_wong <1801330925@qq.com> AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> | 3 个月前 | |
chore(Upgrade): 版本号对齐 0.86 线首发为 0.86.1 并更新发版说明 影响范围: - RNOH 自有包版本号 0.86.3(含 hvigor-config 残留 0.86.2)统一调整为 0.86.1:react-native-harmony、react-native-harmony-cli、@rnoh/hvigor-plugin(含 lock)、@rnoh/react-native-openharmony、template 模板与 tester 配置。按包管理规范,版本号前两位对齐 RN 上游线、第三位为鸿蒙侧迭代序号,0.86 线首发应为 0.86.1;npm 上 0.86 线尚无已发布版本,重置无冲突 - 重写 CHANGELOG.md:以 0.86.1 开头,收录 0.84 → 0.86 大版本升级主要改动点(升级 commit 与上游 RN 0.85/0.86 要点),删除 0.84 段落(0.84 线后续在 0.84-main 分支维护),并同步 tester CHANGELOG - release notes:react-native-harmony-v0.86.3.md 更名为 v0.86.1.md(中英文)并更新版本信息,删除 0.84 旧版 note,同步版本说明、release-notes-overview 与各 README 目录树 - 版本相关文档(中英成对)与 Samples 中 @react-native-oh 包版本引用统一为 0.86.1,RN 上游 0.86.3 引用保持不变 - 对齐 root package.json 中 @react-native/typescript-config 至 0.86.3(升级遗留) - 发版脚本配套修复:bump-version.js 纳入 template 包;generate-changelog.js 保留版本段引言;gen-release-notes.js 修复版本号排序并新增英文侧 release notes 生成 - 同步 AGENTS.md 与 .agents/ARCHITECTURE.md 版本信息 Signed-off-by: liu_wentao <liuwentao57@h-partners.com> AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: opencode (glm-5.3) <ai@local> | 1 个月前 | |
chore(Upgrade): 版本号对齐 0.86 线首发为 0.86.1 并更新发版说明 影响范围: - RNOH 自有包版本号 0.86.3(含 hvigor-config 残留 0.86.2)统一调整为 0.86.1:react-native-harmony、react-native-harmony-cli、@rnoh/hvigor-plugin(含 lock)、@rnoh/react-native-openharmony、template 模板与 tester 配置。按包管理规范,版本号前两位对齐 RN 上游线、第三位为鸿蒙侧迭代序号,0.86 线首发应为 0.86.1;npm 上 0.86 线尚无已发布版本,重置无冲突 - 重写 CHANGELOG.md:以 0.86.1 开头,收录 0.84 → 0.86 大版本升级主要改动点(升级 commit 与上游 RN 0.85/0.86 要点),删除 0.84 段落(0.84 线后续在 0.84-main 分支维护),并同步 tester CHANGELOG - release notes:react-native-harmony-v0.86.3.md 更名为 v0.86.1.md(中英文)并更新版本信息,删除 0.84 旧版 note,同步版本说明、release-notes-overview 与各 README 目录树 - 版本相关文档(中英成对)与 Samples 中 @react-native-oh 包版本引用统一为 0.86.1,RN 上游 0.86.3 引用保持不变 - 对齐 root package.json 中 @react-native/typescript-config 至 0.86.3(升级遗留) - 发版脚本配套修复:bump-version.js 纳入 template 包;generate-changelog.js 保留版本段引言;gen-release-notes.js 修复版本号排序并新增英文侧 release notes 生成 - 同步 AGENTS.md 与 .agents/ARCHITECTURE.md 版本信息 Signed-off-by: liu_wentao <liuwentao57@h-partners.com> AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: opencode (glm-5.3) <ai@local> | 1 个月前 | |
fix(lint): 修复代码合规扫描告警(282文件) G.TYP.04 单引号(6933处): 双引号字符串统一改为单引号 G.FMT.12 分号(4516处): 补充缺失的语句分号 G.FMT.09 if大括号(440处): if/for/while执行体补充{} G.FMT.08 空格规范(317处): 关键字后补空格, 删除分号前多余空格 G.EXP.02 严格相等(228处): ==改为===, !=改为!== Signed-off-by: jiaxuan_wong <1801330925@qq.com> | 3 个月前 | |
test(UnitTests): fix 18 failing gtest targets + coverage script Completed all 9 items from gtest-fix-task-list: 1. stub/folly/dynamic.h: fix item_pair self-reference (unique_ptr + out-of-class definition) 2. e2e/CMakeLists.txt: call rnoh_generate_folly_config() + add generated include path 3. stub/glog/logging.h: add missing FlushLogFiles(int) 4. RnohTestSetup.cmake: add _GNU_SOURCE + _DARWIN_C_SOURCE global compile definitions 5. stub/signal.h: undef sigemptyset macro + inline impl on macOS 6. core/CMakeLists.txt: add target_include_directories for rnoh_task_test 7. ArkJSRealTest.cpp: fix object() call + rewrite mock/stubs/folly/dynamic.h (ObjectInit/ArrayInit helper types, items(), asBool(), operator=) 8. stub/folly/dynamic.h: add TypeError class 9. rni_capi_stubs: create drawing_font_collection.h + raw_file_manager.h stubs B. LRUCache11Test.cpp: Cache(5, 0) explicit elasticity=0 Additional fixes (~15 items): - callback_guard_test: add fmt/double-conversion/boost -idirafter paths - performance_test: reorder includes to avoid stub/real folly conflict - image_source_resolver_test: add jsi + platform/cxx include paths - rnicapi_real_test: add view/platform/cxx + graphics/platform/cxx paths - mock/stubs/folly/dynamic.h: complete rewrite with ObjectInit/ArrayInit - rni_capi_stubs/folly/dynamic.h: sync mock stub fix - RNOHError stub: add getMessage/getStacktrace/getSuggestions - folly/Function.h: new minimal stub in mock/stubs_min - native_type.h: __has_include_next with fallback definition - mock/stubs/native_node.h: match SDK types (struct ArkUI_Node*, 3-member union) - mm_capi_stubs: sync typedef/union fixes - native_interface.h: remove #include native_type.h to avoid enum conflicts - napi_module: void* -> function pointer types - ColorComponents: add ColorSpace enum + colorSpace field - LinearGradient/SharedColor: add toString() overloads - HostPlatformColor: include ColorComponents.h - CMAKE_RUNTIME_OUTPUT_DIRECTORY: all binaries to build root - CMake Warning fix: separate SDK check from gate check - /WX- MSVC flag: if(MSVC) guard Coverage script: revert to 08cf63918 version Temporarily gated 2 targets for coverage: - rnoh_arkui_surface_real_test (TouchEventDispatcher.cpp 310 lines 0%) - rnoh_turbomodule_test (ArkTSTurboModule.cpp 923 lines 9.8%) Results: 49 targets build (0 failures), 1954 tests 99% pass, 93% quality GREEN, 65.5% line / 69.4% branch coverage Signed-off-by: liu_wentao <liuwentao57@h-partners.com> AI[0%] Human Fixed[0%] Human[100%] AI Adopted[0%] | 2 个月前 | |
test(UnitTests): 修复 gtest 测试基建在 Linux(libstdc++/glibc) 上的编译失败 Linux CI(clang 12.0.1 + gcc-12 libstdc++ 头 + glibc 2.35)与 macOS/libc++ 在头文件传递包含与诊断上存在差异,gtest 门禁构建时暴露以下问题,一并修复: 1. tests/stub/pthread.h:Linux 走 include_next 真实系统 pthread(原假桩使 libstdc++ gthr-default.h 报 pthread_equal 等 undeclared);保留 g_testThreadName 宏拦截,Windows 保留假桩。 2. napi_value__ 递归容器成员 ill-formed(5 份 js_native_api.h 副本 + mock_poc/MockNapiAPI.h):unordered_map<string, napi_value__> 改 shared_ptr<napi_value__> 容器,MockNapiAPI.cpp 与相关用例同步适配。 3. 传递包含缺失补齐:MockArkUIAPI.cpp(两份)补 <algorithm>; FontRegistry.h 补 <array>/<vector>/<unordered_map>;CircularBuffer.h 补 <cstddef>;TouchTarget/RNOHAppNapiBridgeTest/TextConversionsTest 补 <limits>。 4. signal.h POSIX guard(rni_capi_stubs + mm_capi_stubs):POSIX 平台纯 include_next 透传,仅 Windows 提供 typedef 桩(修复 sigset_t 重定义)。 5. scroll-node 系 target 加 FOLLY_CFG_NO_COROUTINES:规避 clang 12 + libstdc++ <coroutine> 无条件 #error。 6. rnoh_image_component_test 改链真实 jsi.cpp + jsilib:RN 0.86.3 的 jsi.h 将 asObject/asFunction 参数改为 IRuntime&,旧 stub 签名失配; exception_stack_handler_test 删除 stub 兜底分支。 7. text 系 9 文件补 <cmath>,裸 isnan 统一改 std::isnan(10 处): libstdc++ 的 <cmath> 不提供全局 isnan(libc++ 两者皆有),仅补头 文件不足以修复裸调用。 8. mock/stubs 的 native_interface.h(arkui/ 与根目录)、根目录 native_node.h 补 include_next 转发:修复桩与 SDK 真实头混链导致的 ArkUI_NativeAPIVariantKind 等类型重复定义。 9. textinput_node 系(gated target)stub 对齐 0.86.3:TextAttributes 字段(optional fontWeight/fontStyle、fontFamily 等)、 AttributedString::Range、前置兼容头 textinput_node_compat.h (unordered_set/RawEvent);TextInputNodeTest 的 GradientDirection 适配 0.86.3 variant API。 10. configure_scroll_node_target 补 fast_float include(0.86.3 css 头链 需要);tests/stub/folly/dynamic.h 补 reserve()(JSIDynamic 需要)。 11. Linux CI 兼容约束固化到测试规范与工具链(防再犯): gtest-quality-check.js 的 X1 规则新增裸数学函数检测(isnan/isinf/ isfinite 等无 std:: 前缀,libstdc++ <cmath> 不提供全局名,自动检测 并拉低 Cross-platform 评分);gtest-guide.md §4.7 与 rnoh-gtest-case / rnoh-gtest-quality skill 补充编写规范(数学函数 std:: 前缀 + 显式 标准库 include,gcc-12 头传递包含远少于 libc++)。 12. AI 检视修复(mock 正确性): - mock/stubs 与 mock_poc 的 MockNapiAPI.cpp:napi_value__ 容器 shared_ptr 化后,vector<shared_ptr>::resize() 会把新增元素值初始化 为空指针而非有效 napi_value__——mock_napi_create_array_with_length 与 mock_napi_set_element 扩容产生的空 shared_ptr 会在后续 get_element + typeof/get_value_* 链路中被解引用(未定义行为)。 修复:resize 后填充 type=napi_undefined 的有效对象,对齐真实 NAPI"未设置数组元素为 undefined"语义(独立驱动程序验证: unset/间隙元素 typeof 返回 napi_undefined、set 值可读回)。 - mock/stubs 的 TextAttributes.h apply() 补 maxFontSizeMultiplier 传递(对齐真实 TextAttributes::apply 与 text_conversions_test 版 stub,漏传会导致 apply 模拟嵌套继承时钳制逻辑被跳过)。 Docker 同源环境验证(ubuntu:22.04 + clang 12.0.1 + gcc-12 头 + SDK sysroot + googletest v1.16.0 + RN 0.86.3 ReactCommon):48/48 门禁 target 构建通过,ctest 1940/1940 用例通过;分支覆盖率基线 77.4% (728/940) > 60% 门禁阈值。 Signed-off-by: liu_wentao <liuwentao57@h-partners.com> AI[100%] Human Fixed[0%] Human[0%] AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> Co-authored-by: opencode (glm-5.3) <ai@local> | 2 个月前 | |
test: verify compatibility with react-native 0.88.0-rc.0 and targetSdkVersion 26.0.0 - update targetSdkVersion and compatibleSdkVersion to 26.0.0 in all harmony build profiles (tester, template, init templates, resources) - update SDK version configuration guide doc accordingly - add missing harmony entry points for react-private-interface and asset-registry (removed upstream from Libraries/) - add ReactDevToolsSettingsManager.harmony.js implementation - remove InteractionManager export (removed from react-native core in 0.88) - update metro.config.js assetRegistryPath for 0.88 layout - skip license check for codegen-generated FBReactNativeSpec files Signed-off-by: 坚果 <jianguo@nutpi.net> Co-Authored-By: AtomCode <jianguo@nutpi.net> | 1 个月前 | |
chore: add patch:rn script and update react-native patching instructions Co-authored-by: Arkadiusz Kasprzyk<arkadiusz.kasprzyk@swmansion.com> # message auto-generated for no-merge-commit merge: merge kas/patch-react-native into 0.77.1-rc.1-ohos chore: add patch:rn script and update react-native patching instructions Created-by: arkadiuszkasprzyk Commit-by: Arkadiusz Kasprzyk Merged-by: huangyouhua Description: ## Description pnpm patch:rn simplifies the process of patching react-native for RNOH_MAINTAINERS. I expect it to happen more often in the nearest future due to active development of interop 61 package. This MR also updates react-native patching and upgrading instructions because they are outdated. ## Changes - [chore] added pnpm patch:rn script - [chore] updated react-native patching and upgrading instructions ## Test Plan Play around with pnpm patch:rn. Try adding custom style in View.js. ## Checklist - [x] Does not involve incompatible changes; if involved, has been reviewed accordingly. - [x] Does not impact performance, or performance testing has been conducted without degradation. - [x] Complies with the relevant coding standards. - [x] Does not involve documentation updates, or the documentation has been updated. - [x] Meets testability requirements with necessary self-test cases, appropriate logging, or trace information added. - [x] No illegal file inclusions exist, such as images or code. See merge request: openharmony-sig/ohos_react_native!1458 | 1 年前 | |
feat: adapt to React Native 0.88.0 Impact: every RNOH app built on the 0.88.0 line. Workspace installs now resolve react-native from the vendored tarball instead of the registry, and the build regenerates the rnoh-hvigor-plugin tarball for 0.88.0. - Bump react-native submodule to v0.88.0 (5c35c82cf) and regenerate react-native.patch against it (applies cleanly, no conflicts) - Vendor react-native 0.88.0 as packages/react-native-0.88.0.tgz: npm has not published react-native@0.88.0 yet, while the @react-native/* 0.88.0 packages are already available (published 2026-10-15) - Point workspace react-native dependencies at the vendored tarball and add it as a root dependency: @react-native/virtualized-lists@0.88.0 pins peer react-native@0.88.0 and pnpm resolves peers from the workspace root, so the missing registry version used to break install - Move pnpm overrides from package.json into pnpm-workspace.yaml, which pnpm 10 actually reads - Skip .tgz in pre-commit checks so vendored tarballs are not rewritten as text (appending a newline to a binary gzip stream) - Sync upstream sources into react-native-harmony and the tester ReactCommon; regenerate the rnoh-hvigor-plugin tarball for 0.88.0 - Bump version references to 0.88.0 across packages, tester configs and lockfiles Verified: pnpm build:rnoh (assembleHar) succeeds. Co-Authored-By: AtomCode (deepseek-flash) <noreply@atomgit.com> Signed-off-by: 坚果 <jianguo@nutpi.net> | 20 天前 | |
fix(lint): 修复代码合规扫描告警(282文件) G.TYP.04 单引号(6933处): 双引号字符串统一改为单引号 G.FMT.12 分号(4516处): 补充缺失的语句分号 G.FMT.09 if大括号(440处): if/for/while执行体补充{} G.FMT.08 空格规范(317处): 关键字后补空格, 删除分号前多余空格 G.EXP.02 严格相等(228处): ==改为===, !=改为!== Signed-off-by: jiaxuan_wong <1801330925@qq.com> | 3 个月前 | |
fix(lint): 修复代码合规扫描告警(282文件) G.TYP.04 单引号(6933处): 双引号字符串统一改为单引号 G.FMT.12 分号(4516处): 补充缺失的语句分号 G.FMT.09 if大括号(440处): if/for/while执行体补充{} G.FMT.08 空格规范(317处): 关键字后补空格, 删除分号前多余空格 G.EXP.02 严格相等(228处): ==改为===, !=改为!== Signed-off-by: jiaxuan_wong <1801330925@qq.com> | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 20 天前 | ||
| 3 个月前 | ||
| 3 个月前 |