Skip to content

fix(desktop): 设备注册后执行目标缓存失效命中错误键 #2327

Description

@DeliciousBuding

Summary

在复核 #2274 键家族残项时发现一处独立漏网:DesktopHubTaskBridge 在设备注册就绪/设备 ID 改变后失效 ['execution-targets'],而它实际使用的 useHubExecutionTargets 注册键是 [...hubQueryKeys.executionTargets.list('hub'), baseUrl],即 ['hub','execution-targets','hub', ...]。两者不是前缀关系,该失效为空操作。

正常 10 秒轮询或查询重新启用可能掩盖它;不主张所有首次注册都会失败,也不把该问题描述为无界陈旧。

Scope / Files

  • app/desktop/src/components/DesktopHubTaskBridge.tsx:复用现役 hubQueryKeys.executionTargets.root
  • 同目录组件行为测试:通过生产 useHubExecutionTargets 建立真实 QueryClient 缓存,再检验注册后的重取;不 mock 被测失效函数,不用自造缓存键证明自身。

Invariants / Negative Constraints

保持查询键形状、轮询间隔、注册/同步流程不变;未注册时不刷新目标清单。不扩展成 Desktop 所有本地缓存的风格重构,不改 API 或真实设备。

Acceptance

  1. 新回归测试在旧失效键下翻红、修复后通过。
  2. 设备未就绪的负向用例保持零刷新;非执行目标缓存不受影响。
  3. Desktop 相关回归与 typecheck 通过;PR required checks 通过后 squash merge。

Owner:Desktop;写集由当前主 Agent 独占。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions