Skip to content

fix(update): restore a Desktop build wiped by an earlier Windows update - #91193

Closed
andrexibiza wants to merge 1 commit into
NousResearch:mainfrom
andrexibiza:fix/windows-desktop-wipe-recovery
Closed

fix(update): restore a Desktop build wiped by an earlier Windows update#91193
andrexibiza wants to merge 1 commit into
NousResearch:mainfrom
andrexibiza:fix/windows-desktop-wipe-recovery

Conversation

@andrexibiza

@andrexibiza andrexibiza commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes the residual self-concealing recovery gap in #83846 and supersedes stale/conflicting PR #87879 while preserving its exact implementation and author identity.

After an earlier Windows ZIP-fallback/update failure deletes apps/desktop/release/, every later update can incorrectly conclude that Desktop was never installed:

  • the current run sees no packaged executable;
  • the normal rebuild gate returns early;
  • an up-to-date checkout short-circuits before Desktop repair;
  • the user remains permanently stranded behind “Already up to date!” and a dead shortcut.

This current-main rebase uses $HERMES_HOME/desktop-build-stamp.json as the durable evidence that Desktop existed before the prior destructive run. The up-to-date repair path now invokes the existing Desktop rebuild owner; content-stamp checks keep the no-op path cheap, and users who never installed Desktop still do not pay for an Electron build.

Provenance

This is the exact #87879 commit rebased cleanly through GitHub onto current main; the original Git author is preserved:

Exact-head verification

All hosted workflows attached directly to 531e465e... are green:

No status is inherited from #87879 or its former base.

Interlock

Closes the two residual NousResearch#83846 gaps left after 4aa9f73:

- _rebuild_desktop_after_update gated on in-run signals only
  (had_desktop_app_before_update / current presence), both False for
  every update AFTER the run that wiped apps/desktop/release/. The
  HERMES_HOME desktop-build-stamp.json survives the wipe (it lives
  outside the checkout) and now counts as the durable 'this user had
  Desktop' signal.
- The commit_count==0 'Already up to date!' short-circuit never
  reached the desktop rebuild at all, making the failure
  self-concealing: the version check passes forever while the app
  stays missing. The path now calls _rebuild_desktop_after_update;
  the in-process stamp check keeps it a no-op for healthy installs
  and users who never built Desktop return immediately.
@alt-glitch alt-glitch added type/bug Something isn't working comp/cli CLI entry point, hermes_cli/, setup wizard comp/desktop Electron desktop app (apps/desktop/*) platform/windows Native Windows-specific behavior or breakage area/install-update Installer, updater, packaging, wheels, doctor P3 Low — cosmetic, nice to have sweeper:risk-platform-windows Sweeper risk: may break or behave differently on native Windows sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades duplicate This issue or pull request already exists labels Aug 21, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Duplicate of #87879: this is the same desktop build-stamp recovery mechanism and regression coverage, rebased onto current main.

Copy link
Copy Markdown
Contributor Author

Topology correction: #87879 remains open and currently mergeable, and this PR carries the same two-file Desktop wipe-recovery surface. The rebased head here served as current-main verification, but it should not replace the original contributor's PR.

I posted the exact-head validation receipt back to #87879 and am closing this duplicate. The verified rebased evidence remains linked from the canonical PR.

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

Labels

area/install-update Installer, updater, packaging, wheels, doctor comp/cli CLI entry point, hermes_cli/, setup wizard comp/desktop Electron desktop app (apps/desktop/*) duplicate This issue or pull request already exists P3 Low — cosmetic, nice to have platform/windows Native Windows-specific behavior or breakage sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:risk-platform-windows Sweeper risk: may break or behave differently on native Windows type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants