Added an explicit reset for the dialog’s close guard when the dialog mounts or reopens, preventing saved settings from reverting after pressing OK
Modified the close handler to skip reverting settings whenever the dialog was closed via the OK path
Pressing OK in the JACK server dialog now clears the stored original settings so the close handler doesn’t revert them, ensuring the new devices remain active
Declared Equals as a const method in JackServerSettings so it can be called on const instances without compiler errors
SetJackServerSettings now checks for changes before restarting audio, preventing redundant restarts
Added better fallback logic when computing the optimal sample rate. If no common sample rate is found, the code now defaults to 48 kHz or the desired rate when provided. The intersection list is sorted before evaluating the best match
Pressing ok/apply/refresh all were starting a cascade o waits. A restart request now cleans up any previous restart thread so multiple restarts cannot overlap
Apply button does not save settings, it is only used for testing. As per Robin on git. Ok button will save settings only. If the box is closed/cancelled, the settings revert to what they were before.
When reopening the JACK server settings dialog, the selected settings now remain intact. The dialog only applies device defaults after ALSA information has loaded, preserving current values otherwise
Introduced a new field to track memory usage in the backend status structure, allowing the server to report memory utilization as a percentage
Implemented a Linux-specific routine to read /proc/meminfo and calculate the memory usage percentage, and integrated this into the status query
Added serialization for the memory usage field so it is included in JSON responses
Updated the frontend class to deserialize and display memory usage alongside CPU usage on the status readout
vite/src/pipedal/PiPedalModel.tsx - For this file only!
Expected outcome is that the server may (or may not) reboot). The purpose of the catch handler (which would happen in the case of a socket disconnect) is to make sure that an error or abort does not get reported, since it is expected.
Changes to wifi configuration, where the handler code MUST NOT PROPAGATE AN EXCEPTION.
(1) just leave this function to rot in its shameful state of decay, but do NOT relay the error.
(2) Write the audio properties (specifically) without waiting for a response. The settings are propagated to other clients (and ourselves) with a on...changed notifications from the server, so there's no actual response from the server required.
Audio properties specified:
const audioProps = [
"http://two-play.com/plugins/toob-player#audioFile",
"http://two-play.com/plugins/toob-player#loop",
"http://two-play.com/plugins/toob-player#seek",
];
Changed the Apply action so that pressing “Apply” immediately sets and loads the selected devices, allowing the status display to confirm whether the configuration worked
Added “whiteSpace: 'nowrap'” to input label styles so audio device labels remain on a single line without awkward wrapping
Removed the “Please select all audio settings.” warning and now show only the device status in the dialog footer.
Introduce legacy alsaDevice_ field in JackServerSettings to preserve compatibility with older configs. Include this field in serialization to allow old config files to load. Add migration logic in Storage::GetJackServerSettings to copy the legacy device value to new separate input/output fields and clear the legacy value after migration.
Update frontend validation so that device selections are only validated when the user presses OK. Improve buffer selection logic to prioritize 32×4, then other x4, x3, or x2 options, falling back to 64×3 if none match.
Use standard MUI styling for device selectors. Labels stay above the field and no longer animate. Dropdown labels now use background padding to prevent underline overlap.
Add a compactWidth flag to adjust layout on narrow screens. Stack device selectors vertically in compact mode while keeping the refresh button on the right. Refreshing ALSA info sets unknown device IDs to a blank value.
Add real-time status updates with a polling timer. Separate Apply and OK handlers so settings can be tested without closing the dialog. Add an Apply button alongside Cancel and OK.
Update the UI summary logic to show “Input → Output” when devices differ and “Not selected” when config is incomplete. Filter out internal devices like HDMI and bcm2835 from the device list.
Retain the legacy alsaDevice_ field in the JSON for backward compatibility, with helper accessors and documentation for legacy constructor behavior. Update latency text calculation to show when sample rate and buffer size are defined, even if the config is invalid.
Removed libsdl2-dev from dependency checking and dependencies.
only clear the ALSA device fields when you uncheck the box,
still refresh the device list (via requestAlsaInfo()) but
preserve the checkbox state (so it doesn’t get recalculated back to true)
Import warning caused build stop. Commenting it out.
Removed an unused import from the top of the JackServerSettingsDialog component to resolve the TypeScript build error
Added responsive logic using ResizeResponsiveComponent so the device configuration dialog can switch to full screen on displays narrower than 420 px or shorter than 700 px
When toggling “use same device,” the previous device choices are cleared and device information is refreshed to reset the dropdowns
Buffer and sample‑rate options now remain disabled until the appropriate number of devices has been selected