Conversation
1. Root cause: wallpaper blur service migrated to on-demand plugin in dde-services, D-Bus cold-start (systemd + plugin load + Qt init + image processing) can exceed the hardcoded 2s timeout on first boot 2. Fix: increase timeout from 2s to 5s as a safety net, the primary fix is pre-generating blur cache in dde-services before boot 3. Impact: worst-case fallback delay increases from 2s to 5s, normal operation (cache hit) returns in milliseconds unaffected Log: Increase wallpaper blur service timeout for first-boot reliability Influence: 1. Test first boot greeter shows blurred wallpaper within timeout 2. Test subsequent boots are unaffected (cache hit returns fast) 3. Verify fallback to original wallpaper still works if service fails fix: 增加 ImageEffect D-Bus 超时时间应对首次启动冷启动延迟 1. 根因:壁纸模糊服务迁移为 dde-services 按需激活插件后,D-Bus 冷启动延迟(systemd 启动 + 插件加载 + Qt 初始化 + 图像处理) 在首次启动时可能超过硬编码的 2 秒超时 2. 方案:将超时从 2 秒增加到 5 秒作为保底措施,主要修复在 dde-services 侧预生成模糊壁纸缓存 3. 影响:最差情况回退延迟从 2 秒增至 5 秒,正常情况(缓存命中) 毫秒级返回不受影响 Log: 增加壁纸模糊服务超时时间提升首次启动可靠性 Influence: 1. 测试首次启动登录界面在超时内显示模糊壁纸 2. 测试后续启动不受影响(缓存命中快速返回) 3. 验证服务不可用时仍能回退到原始壁纸 PMS: BUG-335593
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: mhduiy The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThe PR increases the ImageEffect D-Bus request timeout from 2s to 5s so first-boot cold starts have more time to initialize the on-demand blur service and generate the blurred wallpaper; cache-hit behavior remains unchanged, with existing fallback behavior retained. Sequence diagram for wallpaper blur request timeoutsequenceDiagram
participant Background as FullScreenBackground
participant DBus as ImageEffect D-Bus
participant Service as OnDemandBlurService
participant Cache as BlurCache
Background->>DBus: Get(path)
DBus->>Service: Start or handle request
alt cache hit
Service->>Cache: Get(path)
Cache-->>Service: blurPath
Service-->>DBus: blurPath
DBus-->>Background: blurPath
else first-boot cold start
Service->>Cache: Generate and store blur
Cache-->>Service: blurPath
Service-->>DBus: blurPath
DBus-->>Background: blurPath within 5s
else request exceeds 5s or service fails
DBus-->>Background: Error
Background->>Background: Use original wallpaper
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
deepin pr auto review🤖 AI 代码审查报告📊 总体评价
🔍 详细分析1. 语法逻辑 ✅评价: 优秀 ✅ 通过 潜在问题: 建议: 语法正确,逻辑清晰,无需修改。 2. 代码质量 ✅评价: 优秀 ✅ 通过 潜在问题:
建议: 建议将超时值提取为命名常量(如 static constexpr int kBlurDbusTimeoutMs = 5000;),并添加注释说明首次启动冷启动场景下的超时选择依据。 3. 代码性能 ✅评价: 优秀 ✅ 通过 潜在问题:
建议: commit message 已说明正常情况(缓存命中)毫秒级返回不受影响,5 秒超时仅为保底措施。可考虑在 QDBus::BlockWithGui 模式下使用较短超时或异步调用以避免 UI 冻结。 4. 代码安全 🔒评价: 优秀 ✅ 通过
安全漏洞详情: 建议: 无安全漏洞,D-Bus 调用使用标准 Qt API,参数传递安全,超时值修改不影响安全性。 💡 改进建议代码示例// 建议将超时值提取为命名常量
// 在类定义或匿名命名空间中添加:
static constexpr int kBlurDbusTimeoutMs = 5000; // 5s timeout for first-boot cold-start
// 使用命名常量替代硬编码值:
QDBusPendingReply<QString> reply = QDBusConnection::systemBus().call(
message, callMode, kBlurDbusTimeoutMs);本报告由 AI 代码审查工具自动生成 |
fix: increase ImageEffect D-Bus timeout for first-boot cold-start
dde-services, D-Bus cold-start (systemd + plugin load + Qt init +
image processing) can exceed the hardcoded 2s timeout on first boot
fix is pre-generating blur cache in dde-services before boot
operation (cache hit) returns in milliseconds unaffected
Log: Increase wallpaper blur service timeout for first-boot reliability
Influence:
fix: 增加 ImageEffect D-Bus 超时时间应对首次启动冷启动延迟
冷启动延迟(systemd 启动 + 插件加载 + Qt 初始化 + 图像处理)
在首次启动时可能超过硬编码的 2 秒超时
dde-services 侧预生成模糊壁纸缓存
毫秒级返回不受影响
Log: 增加壁纸模糊服务超时时间提升首次启动可靠性
Influence:
PMS: BUG-335593
Summary by Sourcery
Bug Fixes: