2951 Commits

Author SHA1 Message Date
g00586423 ffe2be4520 输入不足告警整改-问题-SA发通知失败
Co-Authored-By: Agent
Signed-off-by: g00586423 <guxiang11@huawei.com>
2026-08-23 18:20:03 +08:00
openharmony_ci 511aa556b6 !4924 merge master into master
输入不足告警整改

Created-by: lx180327070811
Commit-by: g00586423
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4924
2026-08-23 11:33:29 +08:00
g00586423 641224f6db 输入不足告警整改
Signed-off-by: g00586423 <guxiang11@huawei.com>
2026-08-23 10:13:05 +08:00
xdongs2009 99b66ae400 AI检视意见修复 Co-Authored-By:Agent
Signed-off-by: xdongs2009 <xdongs@163.com>
2026-08-22 10:06:32 +08:00
openharmony_ci cd1420725b !4996 merge master into master
extendInfo增加createTime Co-Authored-By:Agent

Created-by: xdongs2009
Commit-by: xdongs2009
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4996
2026-08-19 18:20:54 +08:00
openharmony_ci 3947c75def !4991 merge master into master
处理异回调资源

Created-by: yi-zihan1
Commit-by: yizihan
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4991
2026-08-19 18:00:17 +08:00
xdongs2009 010b93b538 extendInfo增加createTime Co-Authored-By:Agent
Signed-off-by: xdongs2009 <xdongs@163.com>
2026-08-19 16:50:03 +08:00
openharmony_ci e2489e0d83 !4976 merge fix/mst-rdb-isolation-v2 into master
fix(test): auto-isolate all test RDB via ans_service_sources_test wrapper

Created-by: cheerful_ricky
Commit-by: CheerfulRicky
Merged-by: openharmony_ci
Description: ## 背景

测试套(含新增)若未显式引入 RDB mock,会经 `NotificationRdbMgr` 连到真实 `notificationdb.db`,运行后文件属主变 `root`,导致 ANS 服务无法加载数据库。`ClearNotificationInRestoreFactorySettings` 相关测试已修(PR #4928),但其他测试/新增测试仍需手动加 mock,易遗漏。

## 方案

新增 `ans_service_sources_test`(`ohos_static_library`,`testonly`),包装 `ans_service_sources` 并自动提供 `mock_ans_rdb_mgr_builder` 强符号 override(隔离临时库)。所有测试目标改依赖 `ans_service_sources_test` 而非 `ans_service_sources`,**新增测试套自动获得 RDB 隔离,无需手动改动**。

`ans_service_sources_test_config` 向测试目标传播全部所需 include 路径(ans/rdb/mock 头)。mock 源编译进静态库一次,规避 source_set 在每个依赖者上下文重编译导致的 include 路径传播问题。

## 变更

- `services/ans/BUILD.gn`:新增 `ans_service_sources_test_config` + `ans_service_sources_test`(testonly 静态库)
- 全部测试 BUILD.gn(services/ans/test/unittest、aggregation/badge/advanced_notification_service_test、services/test/moduletest、frameworks/test/moduletest、services/domain、tools、bechmarktest、fuzztest、.gni):依赖 `ans_service_sources` → `ans_service_sources_test`

## 验证

- `distributed_notification_service_unit_test` 编译通过
- 设备全量 unittest 通过率 99.5%(3255/3273),18 失败均在我未改的二进制(预存)
- 真实 `notificationdb.db` 未被破坏

Co-Authored-By: Agent

See merge request: openharmony/notification_distributed_notification_service!4976
2026-08-19 15:11:48 +08:00
yizihan c003455997 处理异回调资源
Signed-off-by: yizihan <yizihan@huawei.com>
Co-Authored-By: Agent
2026-08-18 16:22:56 +08:00
yizihan 56bc361a00 处理静态告警
Signed-off-by: yizihan <yizihan@huawei.com>
Co-Authored-By: Agent
2026-08-15 11:35:15 +08:00
openharmony_ci a175392373 !4975 merge master into master
Group the boolean behavior flags previously scattered across function signatures into the...

Created-by: let_it_rot
Commit-by: let_it_rot
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)

Group the boolean behavior flags previously scattered across function signatures into the ShowLimit struct, and use a new isUpdateDeliveryTime flag to control whether the notification delivery time is refreshed when showing a reminder.

- Add isPlaySound/isSysTimeChanged/isCloseDefaultSound/isSlienceNotification fields to ShowLimit in reminder_data_manager.h
- Add isUpdateDeliveryTime field (default true) to ShowLimit
- ShowReminder: signature changes to (reminder, const ShowLimit& limits); pass limits.isUpdateDeliveryTime through to ReminderRequest::UpdateNotificationRequest
- HandleImmediatelyShow: signature changes to (vector, ShowLimit&, size_t index = 0); OnShow and the recursive ffrt callback now read isSysTimeChanged/isSlienceNotification from limits
- Update all call sites (OnLanguageChanged, LoadShareReminders, UpdateShareReminders, OnDataShareInsertOrDelete, InitShareReminders, boot complete, system time change, ShowActiveReminder) to populate the relevant flags on a local ShowLimit before invoking
- isUpdateDeliveryTime is true only for normal timer trigger (ShowActiveReminder) and system time change trigger; false for all other cases (boot, init, data share, language change)
- Update unit test and both fuzz harnesses to the new signatures
![image.png](https://raw.gitcode.com/user-images/assets/4402302/9b4a97eb-5751-40f6-b5ba-96744735226b/image.png 'image.png')
### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4975
2026-08-14 18:56:39 +08:00
CheerfulRicky fe8ae95ff0 fix(test): auto-isolate all test RDB via ans_service_sources_test wrapper
Add ans_service_sources_test (ohos_static_library, testonly) that wraps ans_service_sources and automatically provides the mock_ans_rdb_mgr_builder strong override (isolated temp DB). All test targets now depend on ans_service_sources_test instead of ans_service_sources, so new test suites automatically get RDB isolation without manual changes.

ans_service_sources_test_config propagates all needed include paths (ans headers, rdb headers, mock headers) to test targets. The mock source (mock_ans_rdb_mgr_builder.cpp) is compiled once into the static lib, avoiding include-path propagation issues with source_set recompilation.

Co-Authored-By: Agent
Signed-off-by: CheerfulRicky <yuegang7@h-partners.com>
Change-Id: Ieafd58f9f1e1433e3381c89a8c105f7191662986
Signed-off-by: CheerfulRicky <yuegang7@h-partners.com>
2026-08-14 16:24:58 +08:00
openharmony_ci 7b8a2b53c4 !4980 merge master into master
ace_napi整改,独立增加libuv和node依赖和ans子领域整改

Created-by: hanwenhui
Commit-by: hanwenhui
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4980
2026-08-14 11:00:03 +08:00
hanwenhui 36699a8655 Co-Authored-By: hanwenhui
Signed-off-by: hanwenhui <hanwenhui2@h-partners.com>
2026-08-13 11:29:23 +08:00
hanwenhui 38fcba8182 Co-Authored-By:hanwenhui
Signed-off-by: hanwenhui <hanwenhui2@h-partners.com>
2026-08-12 19:17:21 +08:00
openharmony_ci f6fbcceeaf !4977 merge master into master
isShared按照number类型解析 Co-Authored-By:Agent

Created-by: xdongs2009
Commit-by: xdongs2009
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4977
2026-08-12 18:53:49 +08:00
xdongs2009 e4690bcda3 isShared按照number类型解析 Co-Authored-By:Agent
Signed-off-by: xdongs2009 <xdongs@163.com>
2026-08-12 15:36:30 +08:00
let_it_rot c190dd678e Group the boolean behavior flags previously scattered across function
signatures into the ShowLimit struct, and use a new isUpdateDeliveryTime
flag to control whether the notification delivery time is refreshed when
showing a reminder.
- Add isPlaySound/isSysTimeChanged/isCloseDefaultSound/isSlienceNotification
  fields to ShowLimit in reminder_data_manager.h
- Add isUpdateDeliveryTime field (default true) to ShowLimit
- ShowReminder: signature changes to (reminder, const ShowLimit& limits);
  pass limits.isUpdateDeliveryTime through to ReminderRequest::
  UpdateNotificationRequest
- HandleImmediatelyShow: signature changes to (vector, ShowLimit&,
  size_t index = 0); OnShow and the recursive ffrt callback now read
  isSysTimeChanged/isSlienceNotification from limits
- Update all call sites (OnLanguageChanged, LoadShareReminders,
  UpdateShareReminders, OnDataShareInsertOrDelete, InitShareReminders,
  boot complete, system time change, ShowActiveReminder) to populate the
  relevant flags on a local ShowLimit before invoking
- isUpdateDeliveryTime is true only for normal timer trigger
  (ShowActiveReminder) and system time change trigger; false for all
  other cases (boot, init, data share, language change)
- Update unit test and both fuzz harnesses to the new signatures

Signed-off-by: let_it_rot <gaojiaqi7@h-partners.com>

Co-Authored-By: Agent
2026-08-12 15:27:22 +08:00
openharmony_ci 5dc876e8cc !4967 merge master into master
Refactoring calendar reminder with repeated triggering of time calculation for month and day, and fixing multiple defects

Created-by: let_it_rot
Commit-by: let_it_rot
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)

Refactoring calendar reminder with repeated triggering of time calculation for month and day, and fixing multiple defects

Abandoning the old GetNextDay+monthly jump algorithm and replacing it with a single-layer monthly jump scheme based on absolute month numbers,
Year=absMonth/12 automatically crosses years, eliminating the hidden danger of manual setYear accumulation. Fix the following defects:

1. Multiple accumulations of setYear after the New Year result in a delay of 1 to N years in the next cycle
2. The candidate trigger time is earlier than the start date of firstDesignate
3. When firstDesignate exceeds the coverage range of the loop, it is misjudged as expired
4. setDay=255 is incorrectly normalized by mktime (such as invalid configuration for Hb 30)

Scan range expanded to 5 years, correctly handling the leap year cycle on February 29th.
Add 10 regression tests covering all reachable branches, constructed based on relative time to ensure future feasibility.
![image.png](https://raw.gitcode.com/user-images/assets/4402302/c7bede8b-01be-4b6a-84b0-2063c52a1edf/image.png 'image.png')
### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4967
2026-08-11 21:37:58 +08:00
let_it_rot 08870ddb32 Refactoring calendar reminder with repeated triggering of time calculation for month and day, and fixing multiple defects
Abandoning the old GetNextDay+monthly jump algorithm and replacing it with a single-layer monthly jump scheme based on absolute month numbers,
Year=absMonth/12 automatically crosses years, eliminating the hidden danger of manual setYear accumulation. Fix the following defects:

1. Multiple accumulations of setYear after the New Year result in a delay of 1 to N years in the next cycle
2. The candidate trigger time is earlier than the start date of firstDesignate
3. When firstDesignate exceeds the coverage range of the loop, it is misjudged as expired
4. setDay=255 is incorrectly normalized by mktime (such as invalid configuration for Hb 30)

Scan range expanded to 5 years, correctly handling the leap year cycle on February 29th.
Add 10 regression tests covering all reachable branches, constructed based on relative time to ensure future feasibility.

Signed-off-by: let_it_rot <gaojiaqi7@h-partners.com>

Co-Authored-By: Agent
2026-08-11 11:18:10 +08:00
openharmony_ci 47213945cf !4948 merge master into master
添加角标日志+修改GetShowBadgeEnabledForBundles返回值

Created-by: zhaobaoxin
Commit-by: zhaobaoxin
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4948
2026-08-09 16:33:52 +08:00
openharmony_ci 5d05d8785c !4962 merge master into master
BTI使能 Co-Authored-By:xdongs2009

Created-by: xdongs2009
Commit-by: xdongs2009
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4962
2026-08-08 17:39:39 +08:00
openharmony_ci 2fc45d841d !4960 merge fix/mst-db-isolation into master
fix(ans): fix cross-SO singleton issue by adding AnsNotification::GetInstance()

Created-by: cheerful_ricky
Commit-by: CheerfulRicky
Merged-by: openharmony_ci
Description: ## Problem

`DelayedSingleton<AnsNotification>::GetInstance()` returns different singleton objects in different shared libraries because the template's static members (`instance_`, `mutex_`) have vague linkage (COMDAT) and are hidden per-SO by `-fvisibility=hidden` + version scripts.

## Solution

1. **Add `AnsNotification::GetInstance()`** using function-local static (C++11 thread-safe, defined out-of-line in `ans_notification.cpp` within `libans_innerkits`, symbol exported via `*Ans*` in `.map`)
2. **Replace ALL callers** (NAPI/ANI/Tools/Tests/CJ FFI) from `DelayedSingleton<AnsNotification>::GetInstance()` to `AnsNotification::GetInstance()`
3. **Clean up** `#include singleton.h` from files that no longer use `DelayedSingleton` (kept in `ans_manager_death_recipient.h` and `pixelmap_cache_manager.h` which still use `DelayedSingleton` as base class)

## Why it works

The function-local static in `ans_notification.cpp` lives in `libans_innerkits.so`'s data segment. `AnsNotification::GetInstance()` is a non-inline member function compiled only in `libans_innerkits.so` and exported via `*Ans*` pattern in `libans_innerkits.map`. All SOs call this exported function through dynamic linking, sharing the single instance.

## Verification

Syntax-checked key files with exact ninja build flags: `ans_notification.cpp`, `notification_helper.cpp`, `ans_manager_death_recipient.cpp`, `napi_cancel.cpp`, `ani_cance.cpp`, `notification_manager_impl.cpp` (CJ FFI), `notification_shell_command.cpp` (Tools) — all passed.

Co-Authored-By: Agent

See merge request: openharmony/notification_distributed_notification_service!4960
2026-08-08 16:30:13 +08:00
xdongs2009 c4fe4a0e2d BTI使能 Co-Authored-By:xdongs2009
Signed-off-by: xdongs2009 <xdongs@163.com>
2026-08-08 08:41:18 +08:00
CheerfulRicky dfb21d3fcf fix(ans): fix cross-SO singleton issue by adding AnsNotification::GetInstance()
DelayedSingleton<AnsNotification>::GetInstance() returns different
singleton objects in different shared libraries because the template's
static members (instance_, mutex_) have vague linkage (COMDAT) and are
hidden per-SO by -fvisibility=hidden + version scripts.

Solution:
1. Add AnsNotification::GetInstance() using function-local static
   (C++11 thread-safe, defined out-of-line in ans_notification.cpp
   within libans_innerkits, symbol exported via *Ans* in .map)
2. Replace ALL callers (NAPI/ANI/Tools/Tests/CJ FFI) from
   DelayedSingleton<AnsNotification>::GetInstance() to
   AnsNotification::GetInstance()
3. Fix singleton.h include hygiene:
   - Add #include singleton.h to 34 files that use Singleton<>,
     DelayedSingleton<>, DECLARE_SINGLETON etc. but relied on
     transitive includes
   - Add #include nocopyable.h to 7 files that use
     DISALLOW_COPY_AND_MOVE but relied on transitive includes
   - Remove #include singleton.h from 70 files that no longer use
     any singleton.h symbols after the DelayedSingleton replacement

The function-local static in ans_notification.cpp lives in
libans_innerkits.so's data segment. AnsNotification::GetInstance() is
a non-inline member function compiled only in libans_innerkits.so and
exported via *Ans* pattern in libans_innerkits.map. All SOs call this
exported function through dynamic linking, sharing the single instance.

Co-Authored-By: Agent
Signed-off-by: CheerfulRicky <yuegang7@h-partners.com>
Change-Id: I1089cfa5bb010daf37c68333a1e71c55fc1f16f3
2026-08-07 18:43:39 +08:00
lx180327070811 080e73ae43 tdd执行异常失败,返回错误码1200004
Signed-off-by: lx180327070811 <guxiang11@huawei.com>
2026-08-07 16:43:38 +08:00
stepend98 3f25dcccf5 Merge branch 'fix/null-check-stability' of git@gitcode.com:stepend98/notification_distributed_notification_service.git into 'master'
# Conflicts:
#   conflict services/ans/src/advanced_notification_service_ability.cpp
#   conflict services/ans/test/unittest/notification_preferences_test.cpp
2026-08-06 10:13:16 +08:00
openharmony_ci e4a3f10f20 !4945 merge master into master
fix ut

Created-by: let_it_rot
Commit-by: let_it_rot
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)

UT问题修复
![image.png](https://raw.gitcode.com/user-images/assets/4402302/9595eaa0-056c-4917-b16d-f9f960172cd1/image.png 'image.png')
### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4945
2026-08-05 14:45:25 +08:00
zhaobaoxin 08eb5ea920 update
Signed-off-by: zhaobaoxin <zhaobaoxin1@huawei.com>
Change-Id: I11d2edd975f9c90a33183c34e85f8a7df12a57e3
2026-08-04 20:33:12 +08:00
openharmony_ci 000668dbc9 !4942 merge master into master
ans_innerkits整改,新增部件依赖image、abiltiy_runtime

Created-by: hanwenhui
Commit-by: hanwenhui
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4942
2026-08-04 19:42:59 +08:00
CheerfulRicky 693ae4fd08 fix(ans): fix heap-use-after-free in singleton DCLP and notificationList_ race
1. NotificationPreferences::GetInstance() and SystemSoundHelper::GetInstance():
   replace broken DCLP with Meyer's singleton (C++11 thread-safe static local).
   The DCLP had unprotected shared_ptr reads causing data race when static
   instance_ was destroyed during process exit while ffrt worker threads
   called GetInstance().

2. ClearRingtoneByApplication / ClearOverTimeRingToneInfo:
   - Remove 5-second delay (DEL_TASK_DELAY) from Submit calls. The delay
     caused SelfClean()'s drain to not wait for delayed tasks, leaving them
     pending after process exit.
   - Remove redundant std::bind wrapper, pass lambda directly.
   - Use Submit(func) without delay parameter.

3. serviceprivateutilsa_fuzzer: wrap direct DeleteAllByUserStopped() call
   with notificationSvrQueue_.SyncSubmit() to serialize with async tasks
   from OnUserRemoved/OnUserStopped, preventing concurrent read/write race
   on notificationList_ (list iterator use-after-free).

4. Fix empty if block in mock_ans_rdb_mgr_builder.cpp (cpplint).

Co-Authored-By: Agent
Signed-off-by: CheerfulRicky <yuegang7@h-partners.com>
Change-Id: I8197f195c73f6cf2ea90e5a68c2afdea00d73ac0
2026-08-04 17:15:52 +08:00
let_it_rot 20714e9c67 fix ut
Signed-off-by: let_it_rot <gaojiaqi7@h-partners.com>
2026-08-04 16:15:22 +08:00
hanwenhui 3664807734 Co-Authored-By: hanwenhui
Signed-off-by: hanwenhui <hanwenhui2@h-partners.com>
2026-08-03 20:01:16 +08:00
openharmony_ci b8c44133b5 !4921 merge master into master
No power-on reinforcement

Created-by: let_it_rot
Commit-by: let_it_rot
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4921
2026-08-03 18:58:35 +08:00
openharmony_ci bee44773fc !4928 merge fix/mst-db-isolation into master
fix(moduletest): isolate MST service DB to protect real notificationdb

Created-by: cheerful_ricky
Commit-by: CheerfulRicky
Merged-by: openharmony_ci
Description: ## 背景

MST (module system test) 链接 `ans_service_sources`,进程内 `AdvancedNotificationService` 经 `NotificationRdbMgr` 将偏好/slot 记录写入真实 `notificationdb.db`。`CheckBundle` 会为测试 bundle 创建行,跨运行残留导致第二次运行失败(问题1)。

## 方案

让 `GetAnsNotificationRdbMgrInstance()` 成为弱符号,在 moduletest mock 中提供强符号 override,返回指向临时库 (`/data/local/tmp/ans_rdb_test_<pid>/notificationdb_test.db`) 的 `NotificationRdbMgr`。进程内 service 的全部 RDB 操作(偏好/统计/live view)落到隔离临时库,`TearDownTestCase` 调 `DestroyTestRdb()` 销毁。

**不 mock client 路由**:MST 全链路(`AddSystemAbility` + IPC + 真实 service)完整保留。问题2(顶替真实 ANS SA)由用户重启设备恢复,本 PR 不引入 client 路由 mock。

## 变更

- `services/domain/settings/rdb_mgr_repo/src/ans_rdb_mgr_builder.cpp`:`GetAnsNotificationRdbMgrInstance()` 加 `__attribute__((weak))`(默认行为不变)
- `frameworks/test/moduletest/mock/mock_ans_rdb_mgr_builder.{cpp,h}`:强符号 override(临时库)+ `DestroyTestRdb()`
- `frameworks/test/moduletest/BUILD.gn`(publish/slot):sources 加 mock + 4 rdb include 路径
- publish/slot test:`TearDownTestCase` 加 `DestroyTestRdb()` + include

## 验证

设备实测(slot MST,干净设备):
- 第 1 次运行:12 通过 / 0 失败
- 第 2 次运行:12 通过 / 0 失败(与首次一致,无残留)
- 真实 `notificationdb.db` mtime 全程不变
- 隔离临时库按 PID 每次新建

Co-Authored-By: Agent

See merge request: openharmony/notification_distributed_notification_service!4928
2026-08-03 16:06:19 +08:00
openharmony_ci 2a54114f39 !4938 merge master into master
实况分享需求新增TDD Co-Authored-By:Agent

Created-by: xdongs2009
Commit-by: xdongs2009
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4938
2026-08-03 14:12:05 +08:00
CheerfulRicky ec4a664b85 fix(test): isolate test service DB to protect real notificationdb
Make GetAnsNotificationRdbMgrInstance() a weak symbol and override it in a single shared test mock (frameworks/test/moduletest/mock) so the in-process service constructed by tests operates on an isolated temp DB (/data/local/tmp/ans_rdb_test_<pid>/notificationdb_test.db) instead of the real notificationdb.db. All affected test targets reference the single mock via absolute path (no duplicate files).

Root cause: tests that call ClearNotificationInRestoreFactorySettings() invoke rdbDataManager_->Destroy() which deletes the DB file. Without an RDB mock, the real notificationdb.db is deleted on device, wiping real data.

Scope: all tests calling ClearNotificationInRestoreFactorySettings without an RDB mock - ans_module_test (services/test/moduletest), 10 UT targets in services/ans/test/unittest (permission_filter, notification_service, live_view, slot, utils, snooze_delay, service_publish, preferences, ringtone, geofence), aggregation_test, badge_manager_test, plus the publish/slot moduletest.

Review fixes: DestroyTestRdb now resets the static instance and removes the temp dir (rmdir); mkdir checks errno==EEXIST. Empty NtfRdbHook is intentional (nullptr-safe per docs, avoids pulling hisysevent-dependent production hooks into tests; hooks are DFX/observational and do not affect CRUD).

Verified on device: slot MST 12/12 pass both runs; real notificationdb.db mtime unchanged; full unittest 99.5% pass (3255/3273), 18 failures in unmodified binaries (pre-existing).

Co-Authored-By: Agent
Signed-off-by: CheerfulRicky <yuegang7@h-partners.com>
Change-Id: I7e076d07003d6e30813e0f0f72e7f6ad38b8186d
Signed-off-by: CheerfulRicky <yuegang7@h-partners.com>
2026-08-03 10:05:54 +08:00
xdongs2009 14ba1eb0a5 实况分享需求新增TDD Co-Authored-By:Agent
Signed-off-by: xdongs2009 <xdongs@163.com>
2026-08-03 09:57:09 +08:00
stepend98 c5690cf239 fix: add null pointer checks to prevent crashes in notification service
Add comprehensive null pointer validation across frameworks and services
layers (notification_request, subscriber_image_util, napi converters,
geofence service, live view service, preferences, subscriber manager, etc.)
to prevent null-dereference crashes, and add unit tests covering the new
null-check branches.

Co-Authored-By: Agent
Signed-off-by: stepend98 <yangjun273@huawei.com>
Change-Id: I62f9e3a450dbdbbcf7b0657c7187c6f7709b01df
2026-08-01 16:41:22 +08:00
stepend98 8016219d9d fix(ans): fix memory leaks in NAPI async work and resource lifecycle management
Check return values of napi_create_async_work and napi_queue_async_work_with_qos, properly clean up callback references, async work objects and asynccallbackinfo on failure paths. Use unique_ptr for exception safety in FromJson, fix null deref in ANI CheckCompleteEnvironment, dlclose handle in ExtensionWrapper destructor, and destroy timers in ExtensionServiceConnection destructor.

Co-Authored-By: Agent
Signed-off-by: stepend98 <yangjun273@huawei.com>
Change-Id: I9f681bba5677db209f6f3691d19f78623699dbb3
2026-08-01 11:04:13 +08:00
stepend98 250f82ba55 fix(memleak): cleanup resources on napi async work failure and in service destructors
Co-Authored-By: Agent
Signed-off-by: stepend98 <yangjun273@huawei.com>
Change-Id: I844bc20ffa457a05d7c4753e2c0e898e8c1097c9
2026-08-01 10:42:39 +08:00
CheerfulRicky f2987c78ea fix(ans): fix warning check defects from issue #4250
Fix various static analysis findings including memory leaks, null
pointer dereferences, use-after-free risks, integer overflow, enum
range validation, and resource management issues.

A. NAPI async work return value unchecked (30+ sites): check
   napi_create_async_work/napi_queue_async_work_with_qos return values,
   free asynccallbackinfo on failure; fix subscribe.cpp UB, badge query
   timeout leak, ETS variant GetEnv leaks
C. Type safety: add enum range validation for IPC deserialization
   (SWITCH_STATE, LiveViewStatus), JSON (clone switch info), JS input
   (InputEditType, RingtoneType, BadgeStyle, SlotType); fix uint8_t
   truncation in multiline content marshalling
D. Integer overflow: replace atoi/atoll with strtol/strtoll+ERANGE;
   fix FindLastString logic error (pos != npos always true); fix
   VectorToString int64_t->int truncation; fix GetRemainPartitionSize
   returning -1 as uint64_t
E. UAF/memory: unregister distributed callbacks in destructor; add
   ffrt::wait in StopCacheCleanupTimer; unsubscribe CommonEvent in
   DialogManager destructor; remove DeathRecipient in SubscriberImpl
   destructor; wait for FFRT queue in LocalLiveViewSubscriberManager
F. new(nothrow) unchecked: add null checks for recipient_/deathRecipient_
   allocation in 5 manager classes
G. Other: implement ClearButtonIconsResource; init HaMetaMessage
   sceneId_/branchId_; add dlsym for 5 missing function pointers;
   check OH_DecodingOptions_Create return; fix GetAllDoNotDisturbProfiles
   substring match; add array length limits; check CreateTimer return;
   fix pushRecipient_ overwrite logic; add try-catch for JSON parse

Change-Id: I4204fe52d9fbbd8d89cf188892ab243847649f59

Change-Id: I5588bd9c663d54a17c429143721c124259401e8d

Change-Id: If0705f229837ed1edf0a05712481fb9cfc1f7cda

Change-Id: Id494add5740c95d908016934e69ae704c4ad6f70

Change-Id: I73990ec7e4ff7374a71e3da4692e5bc53bfdbc2c

Change-Id: I57840e82aa808259fc43b9ae8b942f9b999f1271

Change-Id: I715fc92bede97bde739aed63e384359fd39ad3d7

Change-Id: Ib7dce869072b3b4b812fa46319dca3ce946b7c5a

Change-Id: If7359da9013fb008cee436d4db3fd6aa3508421f

Change-Id: I984f57d01cc39b9682f8ce08c88b146e50d132d1

Change-Id: I5b307d34ae22ae8a3919eacb1f3d4efe6c7ef75b

Change-Id: I922a6fdfadb7344c4649a5e54f8ee439f87069cd

Change-Id: I90d91e060c92d6fb0ff056801a58dc056d51b4bc

Change-Id: I21e6e587511d98b2fff3306089b42d997333dfcf

Change-Id: Ie9afd57cfeb66e5a68fa76a35862e84b47177fbf

Change-Id: I29bc907d5653ee322b8a46c9c4523388f8492d47

Change-Id: Ie82eb2cf6541ef43bcd9254cf342e980e4ab19b7

Change-Id: I480ebfe965c7dcb13a2ca30a3b7fb73e35606309

Change-Id: I4e00bfd6020f9f6e50fcab4c7b2d11e824371417

Change-Id: I384d6621b6915c45ad4dc6013c52406bba1b2491

Change-Id: Ifb01195d74f70604e5dd1bad9e291e5ce4d96fcc

Change-Id: I99764684c4c029a114734de1161d0591d59e15c1

Change-Id: I2637febf7282779082f5135671328dfaa75f441a

Change-Id: I8db817f8e84da51e6c1bf69dfc67c90b1b516f41

Co-Authored-By: Agent
Signed-off-by: CheerfulRicky <yuegang7@h-partners.com>
Change-Id: Idaeb6de6233925455d7da38dc41299229244ba32
2026-07-30 20:12:34 +08:00
let_it_rot ebc59c899e No power-on reinforcement
Signed-off-by: let_it_rot <gaojiaqi7@h-partners.com>
2026-07-30 19:55:30 +08:00
bettykico cdb8c412d5 fix subscribeNotification bug
Co-Authored-By: Agent

Signed-off-by: bettykico <fangxiaofen1@h-partners.com>
2026-07-29 19:23:35 +08:00
bettykico 0aa7411df7 Revert "Co-Authored-By: Agent"
This reverts commit 2a0b858722.

Signed-off-by: bettykico <fangxiaofen1@h-partners.com>
2026-07-27 13:59:21 +08:00
openharmony_ci 9bff7c0b7f !4911 merge master into master
fix subscribeNotification bug & add ut

Created-by: bettykico
Commit-by: bettykico
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)

Issue: #4259

### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4911
2026-07-25 18:21:28 +08:00
bettykico d06233a98e fix subscribeNotifictaion bug & add ut
Co-Authored-By: Agent

Signed-off-by: bettykico <fangxiaofen1@h-partners.com>
2026-07-25 16:50:04 +08:00
openharmony_ci b3349f7cf2 !4909 merge fix/add-extension-exported-symbol into master
add extension exported symbol

Created-by: cheerful_ricky
Commit-by: CheerfulRicky
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4909
2026-07-24 20:27:50 +08:00
openharmony_ci cbd4255c4e !4850 merge awaitSync into master
revert "fix(ani): replace waitForCompletion with awaitSync in notificationManager"

Created-by: qq_45775036
Commit-by: zhangyu
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)

Issue: https://gitcode.com/openharmony/arkcompiler_runtime_core/issues/11910

### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/notification_distributed_notification_service!4850
2026-07-24 19:58:55 +08:00
openharmony_ci a978bc7175 !4905 merge fix/strengthen-want-params-helper-test into master
test(ans): strengthen WantAgent serialize/parse test assertions

Created-by: cheerful_ricky
Commit-by: CheerfulRicky
Merged-by: openharmony_ci
Description: ## 修复 #4252

### 问题
 中三个测试用例只断言了非空/非 nullptr,未验证序列化/解析的内容正确性:
- :仅断言输出非空
- :仅断言解析返回非 nullptr
- :同上(legacy 格式路径)

### 修复
1. **SerializeWantAgent_00002**:增加 `HasWantParamsEnvelope(out)` 验证输出使用了 envelope 格式(`SerializeWantAgent` 相对 legacy `ToString` 的核心价值),并验证序列化字符串包含原始 bundle name。
2. **ParseWantAgent_00002**:通过 `GetBundleName` 验证 envelope 格式 serialize→parse 往返保留了 bundle name `com.ohos.launcher`。
3. **ParseWantAgent_00003**:同上,验证 legacy 格式往返路径也保留了 bundle name。
4. 新增 `#include "errors.h"` 为 `ERR_OK` 宏提供定义。

### 验证
`distributed_notification_service_unit_test` 目标编译通过(rk3568,25min)。

Co-Authored-By: Agent

See merge request: openharmony/notification_distributed_notification_service!4905
2026-07-24 18:00:07 +08:00