fix(preload): expose desktop bridge as window.feedBackDesktop (#40)

* fix(preload): expose desktop bridge as window.feedBackDesktop

The core feedback app reads window.feedBackDesktop, but the desktop
preload exposed the bridge as window.slopsmithDesktop. On the desktop
build window.feedBackDesktop was therefore undefined: the DLC-folder
Browse button stayed hidden in both the first-run wizard
(#v3-ob-songdir-browse) and Settings (#btn-pick-dlc), and the rest of the
bridge silently fell back to browser mode.

Finish the rebrand: rename the exposed global slopsmithDesktop ->
feedBackDesktop, plus the internal api object, the renderer +
plugin-manager consumers, the private __feedBackDesktopAudioHooks scratch
namespace, and the comments/migration doc. No compatibility alias — the
ecosystem moves to the new name (TARGET-CURRENT).

Plugins that still read window.slopsmithDesktop are renamed in their own
PRs; nothing ships until the next desktop build bundles them together, so
there is no broken shipped artifact.

Fixes the "Select DLC Songs Folder — No Browse" report (wizard + Settings,
Mac + Windows).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QbexxfTt8q2tAn436MqGWF

* fix(preload): also expose bridge under legacy slopsmithDesktop name

Keep plugins/community code built against the pre-rename bridge working
after the rename. Same isMainFrame gating. See got-feedback/feedBack-desktop#41.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: ChrisBeWithYou <chris@rifflarr.local>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: byrongamatos <xasiklas@gmail.com>
This commit is contained in:
ChrisBeWithYou
2026-06-27 13:16:03 +02:00
committed by GitHub
co-authored by Claude Opus 4.8 ChrisBeWithYou byrongamatos
parent 5188aab938
commit 59e1c1cb0e
5 changed files with 42 additions and 36 deletions
+2 -2
View File
@@ -66,7 +66,7 @@ under both the old filename key and the new `settings-v1-...` key after the
Core `audio-effects` owns provider selection, policy, safe diagnostics, and the
`slopsmith.audio_effects.chain_plan.v1` schema. Desktop owns the trusted physical
executor. Renderer plugins may pass a core-resolved chain plan plus a private
trusted asset map to `window.slopsmithDesktop.audioEffects.loadChainPlan(...)`;
trusted asset map to `window.feedBackDesktop.audioEffects.loadChainPlan(...)`;
desktop validates the schema, authorization, stage kinds, stage counts, opaque
asset references, local asset paths, and extension/kind compatibility before it
builds the native preset JSON and calls the existing native `loadPreset` path.
@@ -100,7 +100,7 @@ When migrating more desktop integrations to capabilities:
- Use `target.settingsKey` for local per-song plugin settings.
- Use `targetId` only for arrangement/session correlation, not persistent
per-song settings.
- Route effect-chain execution through `window.slopsmithDesktop.audioEffects`
- Route effect-chain execution through `window.feedBackDesktop.audioEffects`
rather than passing raw native preset JSON through plugin-visible capability
state.
- Keep raw filename fallback code behind a capability-version check.