diff --git a/vite/src/pipedal/JackServerSettingsDialog.tsx b/vite/src/pipedal/JackServerSettingsDialog.tsx index 8fd945c..5f7f7ce 100644 --- a/vite/src/pipedal/JackServerSettingsDialog.tsx +++ b/vite/src/pipedal/JackServerSettingsDialog.tsx @@ -561,6 +561,8 @@ const JackServerSettingsDialog = withStyles( } let s = this.state.jackServerSettings.clone(); s.valid = true; + // Accept the new settings so handleClose doesn't revert + this.originalJackServerSettings = undefined; this.props.onApply(s); diff --git a/vite/src/pipedal/PiPedalModel.tsx b/vite/src/pipedal/PiPedalModel.tsx index 0c7e486..176071c 100644 --- a/vite/src/pipedal/PiPedalModel.tsx +++ b/vite/src/pipedal/PiPedalModel.tsx @@ -2525,6 +2525,10 @@ export class PiPedalModel //implements PiPedalModel }); } setJackServerSettings(jackServerSettings: JackServerSettings): void { + // Update the local observable so the UI reflects the new selection + // immediately. Persist the settings via the websocket as well. + this.jackServerSettings.set(jackServerSettings.clone()); + this.webSocket?.request("setJackServerSettings", jackServerSettings) .catch((error) => { this.showAlert(error);