Skip to content

feat(updater): remove duplicate Updates UI; now lives in slopsmith #3

Description

@mogul

Restored from slopsmith/slopsmith-desktop#214 — original pull request (open PR; branch did not survive redaction, archived as issue), opened by @byrongamatos on 2026-05-23.
[restored-from: slopsmith/slopsmith-desktop#214]

Summary

Follow-up to slopsmith #372 (merged 145a20a0b), which moved the Velopack auto-update controls into slopsmith's own Settings page as a top-level App Updates block.

The audio_engine plugin's settings panel — where the Updates UI was originally placed — would otherwise render a duplicate copy of the same controls once the desktop bundle picks up the new slopsmith static (bundle-slopsmith.sh clones slopsmith main HEAD). This PR removes that duplicate.

Removed

  • src/renderer/settings.html: the #ae-updates-section card (channel dropdown, Check button, status line, Linux note).
  • src/renderer/screen.js: setupUpdateChannelControls() + its call site in setupEvents(); the top-level restart-banner IIFE — both now live in slopsmith's static/app.js as setupAppUpdates() + initAppUpdateBanner().

Kept (unchanged)

  • src/main/update-manager.ts, src/main/preload.ts, src/main/ipc-channels.ts — the Velopack IPC backend stays. slopsmith's bundled app.js consumes it via window.slopsmithDesktop.update.{getStatus,setChannel,checkNow,apply,onAvailable,onDownloaded}.

Test plan

  • CI matrix (manually triggered — workflow_dispatch on a maintainer branch, per the existing fork-PR pattern).
  • Run the built AppImage on Linux: the audio_engine plugin's settings panel no longer shows the Updates card; slopsmith's Settings page shows the top-level "App Updates" block (disabled, with the Linux fallback note).
  • Verify on a Win/macOS build that "Check for updates" and the restart banner still function (driven by slopsmith's app.js now).

Codex preflight

Codex flagged 1 P1 claiming this removes the only renderer path that calls update:apply. Push-back: false positive — cross-repo blindness. The replacement renderer code lives in slopsmith #372 (already merged) and is pulled in via scripts/bundle-slopsmith.sh. The IPC backend is intentionally left intact for that reason.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactorCode restructure without behaviour changerestored-prArchived from an original pull request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions