Skip to content

Fix first-run onboarding classification before startup - #634

Merged
yaojin3616 merged 1 commit into
dataelement:mainfrom
cinderzhan:codex/onboarding-startup-fix
Oct 1, 2026
Merged

yaojin3616 merged 1 commit into
dataelement:mainfrom
cinderzhan:codex/onboarding-startup-fix

Conversation

@cinderzhan

Copy link
Copy Markdown
Collaborator

问题

首次安装分类函数已存在,但应用启动从未调用。Onboarding 宿主读取不到 .desktop-install-state.json,于是把所有安装视为不符合弹窗条件;即使清空用户数据也不会显示。DesktopService 初始化和 bootstrap 又会创建旧安装痕迹,分类必须发生在它们之前。

修复

在单实例主启动路径中、DesktopService 初始化之前写入首次安装分类。保持开发构建和已有安装不弹窗的既有规则,并增加测试验证标记写入顺序。

验证

  • 相关首次安装/启动测试:13 项通过
  • npm run build:通过
  • git diff --check:通过
  • 更宽测试中的 desktop-onboarding.test.ts 对已安装 Harness client.js 的字符串断言失败;npm run typecheck 在 test/session-delete-remote.test.ts 的 remote.delete 类型检查有 3 处错误,均非本 PR 修改文件。需要在 CI 中确认/处理基线问题。

发布注意

此 PR 只修复源码。已分发的安装包不会随源码更新;需要新的构建并用干净的正式版用户数据目录验证弹窗。

@yaojin3616
yaojin3616 merged commit 25ac3eb into dataelement:main Oct 1, 2026
9 checks passed
scpli pushed a commit to scpli/dsh-desktop that referenced this pull request Oct 2, 2026
…#634/dataelement#635

- src/main/index.ts: keep both desktop-startup-install and
  workbench-market-recovery imports.
- workbenches client.js: keep sortMarketEntries (main) and FailureHint
  (dataelement#633); combine local removal status (dataelement#635) with stale-record removal
  (dataelement#633) so the uninstall button honours both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants