Skip to content

fix(nest): use buzz-dev symlink name for dev builds#1587

Merged
wpfleger96 merged 1 commit into
mainfrom
duncan/dev-build-cli-symlink
Jul 7, 2026
Merged

fix(nest): use buzz-dev symlink name for dev builds#1587
wpfleger96 merged 1 commit into
mainfrom
duncan/dev-build-cli-symlink

Conversation

@wpfleger96

Copy link
Copy Markdown
Collaborator

Dev builds currently stomp on the same ~/.local/bin/buzz symlink the installed DMG maintains. A running DMG and a concurrent dev build race to re-point the single link to their own bundled binary — the exact clobber that ~/.buzz-dev namespacing fixed for the nest directory.

Changes

desktop/src-tauri/src/managed_agents/nest.rs

  • Add cli_link_name(is_dev: bool) -> &'static str — pure helper that returns "buzz-dev" for dev builds and "buzz" for prod.
  • ensure_cli_symlink(exe_parent, is_dev: bool) — thread the flag through; link name comes from cli_link_name. Bundled binary lookup stays exe_parent.join("buzz") unchanged.
  • Updated doc comment explains the prod/dev split and the concurrent-clobber motivation, mirroring the NEST_DIR_DEV rationale at line 66.
  • Tests: replace the two hardcoded-"buzz" simulation tests with six tests — two pure cli_link_name unit tests covering both branches, prod/dev creates-symlink variants, prod/dev no-clobber-regular-file variants.
  • Bump nest.rs file-size override (15011569) with rationale comment.

desktop/src-tauri/src/lib.rs

  • Pass is_dev_nest (already computed at the call site) to ensure_cli_symlink.

Acceptance

  • Dev build links ~/.local/bin/buzz-dev; prod DMG links ~/.local/bin/buzz. The two never touch each other's link.
  • Regular file at either path is preserved (no clobber).
  • just desktop-tauri-test: 981 passed, 0 failed.
  • just desktop-check: clean.

Dev builds currently stomp on the same `~/.local/bin/buzz` symlink that
the installed DMG maintains. A running DMG and a concurrent dev build
race to re-point the single link to their own bundled binary — the same
clobber that `~/.buzz-dev` namespacing fixed for the nest directory.

Add `cli_link_name(is_dev) -> &str` (pure helper, easily testable) and
thread `is_dev` through `ensure_cli_symlink` so:
- prod builds link `~/.local/bin/buzz`  → bundled buzz
- dev  builds link `~/.local/bin/buzz-dev` → bundled buzz

The `is_dev_nest` bool already computed at the call site in lib.rs is
passed straight through — no second detector.

Bumps the nest.rs file-size override to cover the new helper + tests
(~68 lines); queued to split with the rest of that list.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
@wpfleger96 wpfleger96 merged commit dcbb3ff into main Jul 7, 2026
25 checks passed
@wpfleger96 wpfleger96 deleted the duncan/dev-build-cli-symlink branch July 7, 2026 16:17
tellaho added a commit that referenced this pull request Jul 7, 2026
…ivity

* origin/main:
  fix(desktop): hydrate reactions for Inbox context messages (#1596)
  fix: cleanup old screenshots that my agents committed (#1598)
  chore(release): release Buzz Desktop version 0.3.46 (#1585)
  fix(desktop): preserve agent model/provider when persona snapshot fields are blank (#1583)
  feat(acp,desktop): identify and reap stale agent harness processes (#1582)
  feat(desktop): active-draft badge, send-from-drafts confirm dialog, thread-deleted state (#1581)
  fix(desktop): treat baked build env vars as satisfying required agent config (#1580)
  feat(desktop): add "Copy image" to image right-click context menu (#1579)
  fix(nest): use buzz-dev symlink name for dev builds (#1587)
  fix(composer): address image-editor follow-up nits on #1491 (#1565)
  fix(desktop): render black static boot screen (#1570)
  feat(agents): group activity tool bursts (#1571)
  feat(desktop): aggregated overview rail, commit detail page, and full breadcrumbs (#1573)
  fix(desktop): fetch profiles for reaction actors and thread-reply authors (#1550)
  refactor(desktop): unify EditAgentDialog styling with PersonaDialog (#1540)
  feat(desktop): add 10-minute message grouping window (#1578)
  feat(desktop): unify sidebar section actions into a per-section ⋮ menu (#1577)
  feat(desktop): emoji avatar picker for agents + reliable picker scroll (#1576)

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
tlongwell-block pushed a commit that referenced this pull request Jul 7, 2026
* origin/main:
  docs(readme): add Getting started section routing install paths (#1606)
  fix(desktop): restrict shared-agent sync to dev data dirs (#1597)
  feat(desktop): restart-required badge from spawn-time config hash (#1602)
  feat(desktop): boot-time reconcile of managed agents to relay events (#1601)
  feat(desktop): canonical <PubKey> component — hover to view/copy full keys, owner "you" labels (#1589)
  fix(desktop): hydrate reactions for Inbox context messages (#1596)
  fix: cleanup old screenshots that my agents committed (#1598)
  chore(release): release Buzz Desktop version 0.3.46 (#1585)
  fix(desktop): preserve agent model/provider when persona snapshot fields are blank (#1583)
  feat(acp,desktop): identify and reap stale agent harness processes (#1582)
  feat(desktop): active-draft badge, send-from-drafts confirm dialog, thread-deleted state (#1581)
  fix(desktop): treat baked build env vars as satisfying required agent config (#1580)
  feat(desktop): add "Copy image" to image right-click context menu (#1579)
  fix(nest): use buzz-dev symlink name for dev builds (#1587)
  fix(composer): address image-editor follow-up nits on #1491 (#1565)
  fix(desktop): render black static boot screen (#1570)
  feat(agents): group activity tool bursts (#1571)
  feat(desktop): aggregated overview rail, commit detail page, and full breadcrumbs (#1573)
  fix(desktop): fetch profiles for reaction actors and thread-reply authors (#1550)
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