Skip to content

Unify application and download names under DS Bot - #794

Merged
Fei2411 merged 4 commits into
devfrom
chore/ds-bot-brand
Nov 1, 2026
Merged

Fei2411 merged 4 commits into
devfrom
chore/ds-bot-brand

Conversation

@Fei2411

@Fei2411 Fei2411 commented Nov 1, 2026 •

Copy link
Copy Markdown
Owner

Issue

Fixes #793

What changed / 改了什么

Use DS Bot throughout the desktop application, mobile scaffold, dialogs, tray, update messages, installers and current documentation. Executables and private application packages use dsbot; release artifacts use DS-Bot-*. Keep the existing ds-bot plugin and profile identifiers.

Preserve the published Windows installer GUID and reuse existing shell data before Electron initializes its sessions. Keep the old Chromium encryption identity during initialization on macOS/Linux, then restore the visible DS Bot name before menus and windows are built. Existing data locations, workspaces, browser storage and preferences stay in place. The Windows installer also keeps the registered installation directory when its name differs from the new product name. The deb declares replacement/conflict with its retired package. Released macOS/deb clients receive byte-identical asset aliases so their update detection continues to work.

Add regression coverage for data discovery, isolated runs, asset aliases, retired profile bundles and the installer GUID. Extend the source scan to reject retired product names outside compatibility code and historical release notes.

Changelog

The desktop application and downloads are now named DS Bot, with existing teams, settings and browser storage retained across the rename.

How I checked it / 怎么验证的

  • Full plugin suite: 1,347 passed, 2 skipped, 1 existing restart-poll fixture failure. Reproduced on unchanged dev 8758e0d; tracked by PR Fix the restart poll test after team tools became agent-scoped #790 (restart-poll test after tools became agent-scoped).
  • node scripts/build-client.mjs --check
  • npm run lint (existing warnings only)
  • Smoke suite: all 52 steps passed against the pinned installed DSH, mock model and isolated data.
  • Desktop unit suite: 224 passed, 1 skipped.
  • Real Electron window/tray lifecycle check on macOS.
  • Desktop About page opened and inspected on macOS; screenshot attached.
  • Source/leak scan: no mandatory findings; workflow YAML parsed; Windows GUID checked against the old appId derivation.
  • Mobile app typecheck passed in CI.
  • Windows/Linux installed old-to-new upgrades and macOS packaged upgrade with real encrypted browser sessions: pending platform checks. The installer path hook still needs the Windows package job.

Checklist / 检查

  • One issue, one subject.
  • src/client/ changed, build ran and client.js is committed.
  • No keys, tokens or personal data in the patch or screenshot.
  • No AI tool as author or co-author.

Use DS Bot for product labels and dsbot for executable and package identifiers. Keep the published Windows installer GUID, existing shell data and Chromium encryption identity so upgrades retain locations, preferences and browser sessions. Publish compatible asset aliases for already released macOS and deb update clients, update package checks and reject new retired-name references outside compatibility code and historical release notes.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 potential issues.

Devin Review

Comment thread app/electron-builder.yml Resolved
Comment thread app/electron-builder.yml
appId: io.github.fei2411.deepseekbot
productName: DeepSeek Bot
appId: io.github.fei2411.dsbot
productName: DS Bot

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 macOS upgrades retain a stale app

When a macOS user installs the new zip, productName creates DS Bot.app beside the existing DeepSeek Bot.app. Finder cannot replace the differently named bundle, leaving the old app available to launch against the shared team data.

Learn more

The macOS release is a zip whose application bundle derives its name from productName. Existing installations use /Applications/DeepSeek Bot.app, but the renamed release contains DS Bot.app. The manual update instructions tell users to drag the new bundle to Applications, which does not overwrite the old bundle because the filenames differ. The new app explicitly reuses the previous shell data in configureIdentity, and both bundles also use the same team data location.

Example: A user with /Applications/DeepSeek Bot.app downloads the new arm64 zip and drags DS Bot.app into Applications. Both apps remain. Opening the old Dock icon still launches the previous version instead of the updated app.

Recommended fix: Provide a migration path that removes or redirects the legacy bundle and its Dock entry, or explicitly require removal of the legacy app as part of the update instructions. Test an upgrade from the published macOS zip rather than only a fresh install.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

The assisted installer normally appends the product name to a selected folder. Resolve the destination through the same supported page hook used by the writable-directory check, and keep a registered installation path unchanged. This prevents manual upgrades from nesting the renamed app under the old installation directory.
Call the builder-provided instFilesPre function when there is no matching registered installation. The writable-directory check and install page share that result, and the default function remains referenced under NSIS warnings-as-errors.
@Fei2411
Fei2411 marked this pull request as ready for review November 1, 2026 14:40
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T14:41:26.554807Z 79f20b9 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Fei2411
Fei2411 merged commit ecd02c7 into dev Nov 1, 2026
14 checks passed
@Fei2411
Fei2411 deleted the chore/ds-bot-brand branch November 1, 2026 14:40
@Fei2411 Fei2411 mentioned this pull request Nov 1, 2026
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.

1 participant