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
UI Console Errors and Git Errors Fixes, + recommendations
Converted several variables to constants and removed unused function parameters in the AboutDialog component, addressing lint warnings
Introduced strict JSON interfaces in AlsaDeviceInfo to replace untyped “any” parameters and ensured returned arrays use constants
Simplified styling callbacks and defined props more strictly in App, while using constants for URL parsing
Updated the WithStyles helper to accept unknown argument lists and return types rather than “any”
Added a workflow step so CI runs npm run lint -- --fix inside the vite directory
Testing
Added an explicit host setting so Jekyll serves docs on all interfaces in debugDocs.sh
Documented the signing command for the release package in signPackage.sh
Inserted shebangs for various helper scripts such as makePackage.sh to ensure they run correctly as standalone scripts
Introduced a new dependency checking script that validates required apt packages before building the project
Documented the expanded package list and instructions for running the script within the build prerequisites documentation
Updated build system instructions to call the dependency checker prior to configuring with CMake
Converted several variables to constants and removed unused function parameters in the AboutDialog component, addressing lint warnings
Introduced strict JSON interfaces in AlsaDeviceInfo to replace untyped “any” parameters and ensured returned arrays use constants
Simplified styling callbacks and defined props more strictly in App, while using constants for URL parsing
Updated the WithStyles helper to accept unknown argument lists and return types rather than “any”
Added a workflow step so CI runs npm run lint -- --fix inside the vite directory
Testing
Added explicit checks in “CpuUse::UpdateCpuUse” to avoid division by zero; CPU usage and overhead are forced to 0 when times are zero
Validated audio driver CPU usage in “AudioHost::getJackStatus”, replacing non‑finite results with 0
The ALSA device scanner no longer inserts default sample rates when it cannot read them, preventing invalid frequency choices
Jack server settings now accept independent input and output devices during construction
The latency test utility was updated to handle separate input and output device parameters and display them accordingly
The help text for the latency tool documents the new usage with optional output device specification
Device lists in the configuration dialog are sorted to prefer devices supporting capture and playback, then USB devices, while refresh preserves existing selections
Updated the error handling logic in PiPedalModel’s WiFi Direct configuration. The promise now rejects when the server call fails instead of resolving silently
Modified the “setWifiDirectConfigSettings” method to resolve the promise only on success and reject on errors, matching the pattern used by “setWifiConfigSettings.”
Added error checks around ALSA rate queries so that if querying the minimum rate fails, a warning is logged and 48 kHz is used as a default
When querying the maximum rate fails, the code now warns and falls back to 48 kHz; otherwise it populates valid rates and ensures a fallback if none are found
Buffer size retrieval now occurs after handling rate queries, maintaining previous behavior while supporting the new fallback logic
ntroduced helper functions to verify required fields in configuration structures, ensuring missing property names trigger a descriptive exception
Applied these checks when handling the “setJackServerSettings,” “setWifiConfigSettings,” and “setWifiDirectConfigSettings” messages to validate incoming data
Prevents crashes when input/output devices report no sample rates by defaulting to the current rate or 48 kHz if needed
Provides a fallback option in the UI so the selected rate is visible even when the device list is empty
Prevents crashes when input/output devices report no sample rates by defaulting to the current rate or 48 kHz if needed
Provides a fallback option in the UI so the selected rate is visible even when the device list is empty
Enhanced “same device” configuration to validate that the selected input device also supports playback, falling back to a device with both capabilities if necessary
Updated the “Use same device” change handler so it automatically picks a valid device that supports both capture and playback when enabled
Modified the input device label to display “Device” when using the same device for input and output, maintaining consistency with the configuration
Set alsa_device_name according to the capture and playback device when configuring streams so error messages reference the correct device
Ensure the device name is assigned before opening each stream to accurately report any ALSA errors
When “Use same device” is enabled, changing that setting now ensures the input device also supports playback, switching to the first bidirectional device if necessary
The input device dropdown hides devices lacking playback capability whenever the same-device option is active
The device change handlers now call “applyAlsaDevices” with the latest settings to recalculate latency and validation, ensuring UI state matches valid ALSA configurations
“applyAlsaDevices” accepts an optional same-device flag so callers can specify when input and output devices should be treated as identica
Updated the input and output device change handlers so new settings are validated through applyAlsaDevices, ensuring latency and OK status are refreshed
Added a new “useSameDevice” flag in the Jack server settings dialog state to track whether input and output devices are locked together
Initialized the flag based on whether the current configuration uses the same input and output device
Updated device handlers to mirror the input device into the output device when the toggle is enabled
Inserted a checkbox labeled “Use same device for input/output” into the dialog UI and hid the output selector when this option is active
Added new fields to track ALSA device capabilities, letting the application know whether a device supports capture or playback
Updated serialization to include the new flags in the JSON data exchanged with the UI
Modified the dummy driver so test devices always indicate capture and playback support
Adjusted the TypeScript model and dialog to filter device choices based on the new flags, ensuring only valid options appear in selectors
Summary
Added imports for the new refresh button in the JACK settings dialog, enabling quick reloading of ALSA devices without closing the dialog
Inserted an IconButton next to the audio device selectors so users can refresh the list on demand
The dialog now disables the device selectors and shows a “Loading…” placeholder until ALSA devices are available, preventing runtime errors during the initial render
Added helper functions to combine and intersect ALSA device capabilities, ensuring validation works across separate input and output devices
Updated buffer handling logic to use both selected devices and compute min/max sizes appropriately
Revised validation to check both ALSA input and output devices when enabling the OK button
Simplified rendering logic to intersect sample rates and buffer options for the chosen devices
AlsaDriver single device err calls fixed.
Added guidance on using USB audio interfaces or Raspberry Pi audio HATs and choosing separate ALSA input and output devices during setup
Clarified that the Audio Device Settings dialog allows independent configuration of input and output devices, with updated instructions for selecting audio channels
Summary
Ensured that checking for a query key now returns true when the key is found, allowing accurate existence checks
Added “&” separators when reconstructing query strings so that URIs are properly formatted with multiple parameters