Conversation
- Replaced deprecated accessibility properties with 'accessibleDescription' for improved screen reader support across multiple customization steps in the wizard. - Ensured that labels are independently focusable when an accessible description is provided, enhancing usability for visually impaired users.
…popup - Introduced a new accessory view for NSSavePanel to allow users to select file types from a dropdown menu. - Implemented parsing of Qt filter formats into structured filter information for better handling of file type filters. - Updated the file dialog logic to support multiple filters, improving user experience when saving files on macOS.
…ns across platforms - Eliminated the O_SYNC flag from OpenDevice methods in Linux and macOS implementations to simplify file handling. - Cleaned up unnecessary code related to flushing file buffers in the Windows implementation, improving readability.
- Updated keyboard navigation settings for improved user experience, increasing search reset timeout and scroll animation duration. - Implemented clear search functionality when the popup closes and added a search indicator overlay to guide users. - Enhanced scrolling behavior with native-like wheel support and smooth animations for better interaction. - Adjusted search logic to prioritize multi-character input and refined fallback mechanisms for improved search accuracy.
…steps - Updated comments in multiple customization steps to clarify that labels are automatically skipped when the screen reader is inactive, enhancing accessibility. - Adjusted focus handling logic in WizardStepBase to ensure proper navigation for users relying on assistive technologies.
- Introduced a new command line option `--log-file` to enable logging output to a specified file. - Implemented a file log handler to capture and format log messages, including support for different message types. - Enhanced the main function to parse the `--log-file` argument early, ensuring logging is set up before Qt initialization. - Added logic to differentiate log file names based on user privileges on Linux systems.
…e bundles - Added functionality to check if the application is running from an elevatable bundle (e.g., AppImage). - Introduced methods for installing elevation policies and restarting the application with elevated privileges using pkexec on Linux. - Enhanced the user interface with an "Install Authorization" button that allows users to set up automatic privilege elevation. - Updated process launching to use a detached method for better handling of external applications. - Improved logging and error handling for elevation-related operations.
…tion - Refactored the installation and execution of elevation policies into dedicated methods in PlatformQuirks. - Removed redundant code from ImageWriter for better clarity and maintainability. - Enhanced platform-specific implementations for Linux while ensuring no-op behavior on macOS and Windows. - Improved argument handling for elevated process execution, allowing additional arguments to be passed seamlessly.
…bility - Added support for WPA2/WPA3 transition mode in generated systemd and cloud-init configurations. - Updated the systemd script to include key management settings and enabled Protected Management Frames (PMF). - Modified cloud-init network configuration to include hidden network support and updated authentication settings. - Enhanced unit tests to verify the inclusion of new WPA2/WPA3 settings in generated configurations.
…ername/password - Updated the systemd script generation to ensure userconf runs even when only SSH public keys are provided, preventing the initial setup wizard from appearing. - Enhanced cloud-init user data generation to include a users section when SSH public keys are configured, ensuring proper system configuration. - Added regression tests to verify functionality for SSH public key-only scenarios in both systemd and cloud-init configurations.
…nect - Modified the user-data generation to ensure the deploy key file is created using printf in runcmd instead of write_files, addressing user existence issues during cloud-init parsing. - Added checks for the creation of the config directory and the correct permissions for the deploy key file. - Enhanced unit tests to verify the updated behavior in cloud-init user-data generation.
- Added a new function to handle backspace key events, allowing users to delete characters from the search string in the ComboBox. - Enhanced search logic to reset the selection to the first item when the search string is empty. - Improved keyboard input handling for search when the popup is visible, ensuring a smoother user experience during text input.
…ants - Introduced a new script `regenerate_icns_with_dark.sh` to automate the regeneration of the `rpi-imager.icns` file, supporting multiple appearance variants (Default, Dark, Tinted, Clear). - The script ensures the correct icons are copied from the exports directory and generates the .icns file using `iconutil`. - This update enhances the icon management process for macOS, ensuring compatibility with different visual themes.
- Added dependency on Icon Composer for macOS to manage dark mode icons. - Introduced new icon assets and JSON configuration for dark mode support. - Updated CMake configuration to handle icon resources and fallback .icns file. - Removed obsolete script for regenerating icons, streamlining the icon management process.
- Updated installation paths to use SVG icons instead of PNG for better scalability. - Removed the obsolete PNG icon files and added a new SVG icon for the rpi-imager. - Introduced a script to regenerate Windows .ico files from PNG sources using ImageMagick, enhancing icon management for Windows builds.
Signed-off-by: Tom Dewey <tom.dewey@raspberrypi.com>
…ttings - Removed WPA2/WPA3 transition mode references from systemd and cloud-init configurations. - Updated key management settings to only include WPA-PSK in generated scripts. - Adjusted unit tests to reflect changes in WiFi configuration, ensuring compatibility with the updated settings. Signed-off-by: Tom Dewey <tom.dewey@raspberrypi.com>
- Added a check in the _writeComplete method to avoid reporting errors if the download operation was cancelled. - Ensured that files are closed properly when the operation is cancelled, improving resource management and user experience.
- Added tooltips to display full device, OS, and storage names when truncated in the DoneStep and WritingStep components. - Implemented mouse area interactions to improve user experience by providing additional context for selected items. - Ensured text elision for better layout management in the wizard steps.
- Changed the installation path for the rpi-imager icon from PNG to SVG format for better scalability. - Updated the destination directory to use scalable icons, enhancing desktop integration for GUI builds.
- Added originalIndex property to store the initial selection when the popup opens. - Implemented Escape key handling to restore the original selection and close the popup. - Enhanced Enter/Return key handling to select the highlighted item and close the popup. - Improved Tab key handling to allow normal navigation without interference. - Refined search string management to clear when the popup closes, ensuring a better user experience.
- Added checks to prevent reporting write errors if the download operation was cancelled, ensuring a smoother user experience. - Updated the _writeData method to abort CURL cleanly when cancelled, avoiding unnecessary error dialogs. - Enhanced the _onWriteError method to skip error reporting for cancelled operations, aligning with user expectations during cancellations.
- Enabled HTTP/2 for HTTPS connections with fallback to HTTP/1.1, improving performance through header compression and multiplexing. - Implemented TCP keepalive settings to detect dead connections more quickly. - Added tracking for HTTP/2 failures to gracefully fallback to HTTP/1.1 after a specified number of failures. - Enhanced logging to include HTTP version used upon successful download, aiding in diagnostics.
- Introduced _configureArchiveOptions method to set multi-threading hints for XZ/LZMA decompression based on CPU core count, enhancing performance. - Added _logCompressionFilters method to log active compression filters for better diagnostics during extraction. - Updated extractImageRun and extractMultiFileRun methods to utilize the new configuration and logging features, improving overall extraction efficiency and traceability.
…em memory - Introduced dynamic queue size and memory limits in AsyncCacheWriter to optimize caching based on available system memory. - Added _initializeQueueLimits method to set queue parameters adaptively, enhancing performance across different memory tiers. - Updated write method to utilize the new adaptive limits, improving error handling and caching efficiency during downloads.
- Added methods to pause, resume, and set slow polling for drive scanning to optimize performance during write operations. - Enhanced DriveListModelPollThread to support adaptive scanning behavior, reducing I/O contention and improving user experience during critical operations. - Updated ImageWriter to manage polling state based on write operations, ensuring minimal disruption during device access.
- Added `analyse_performance.py` script for parsing and visualizing performance data from Raspberry Pi Imager. - Implemented summary statistics, event timing breakdown, and throughput analysis. - Created example performance data JSON file and updated README with usage instructions. - Added `.gitignore` for generated graph files to keep the repository clean. - Integrated performance statistics tracking into the image writing process, allowing for detailed performance insights.
Improves disk opening performance by 98.8% in local testing. In addition: - Updated `analyse_performance.py` to include new performance metrics for drive operations, including `driveUnmountVolumes`, `driveDiskClean`, and `driveRescan`. - Added functionality to generate a self-contained HTML report with embedded graphs for better visualization of performance data. - Enhanced the example performance data JSON to reflect new metrics and system information. - Updated README to include new usage instructions and details on the performance metrics captured. - Modified `.gitignore` to include HTML report files.
… writing phases - Updated performance metrics to include separate tracking for decompression and writing phases, allowing for better identification of bottlenecks. - Introduced new signals for progress updates during decompression and writing in the DownloadExtractThread. - Enhanced PerformanceStats to record and visualize decompression metrics alongside existing download and write statistics. - Updated README to reflect changes in performance metrics and their significance in identifying CPU vs. I/O bottlenecks.
… operations - Updated drive scanning behavior to pause during write and verify states, reducing I/O contention and improving performance. - Enhanced comments for clarity on the impact of drive enumeration on Windows. - Adjusted polling logic to ensure device removal is detected through I/O errors, streamlining the user experience during critical operations.
…vable drives - Added functionality to suppress the Windows system error dialog when attempting to open removable drives, improving user experience during file operations. - Implemented error mode management to restore previous settings after file operations, ensuring consistent behavior across different file access scenarios.
- Updated DriveListModel to treat NVMe drives as SCSI for icon representation, improving visual consistency. - Added support for identifying NVMe bus type in the drive list. - Modified Linux drive listing logic to allow NVMe drives to appear in embedded mode while filtering them out in non-embedded mode, enhancing user experience.
…ork and drive operations - Introduced `analyze_latest.py` script for detailed performance summaries, including network connection stats and throughput metrics. - Updated `analyse_performance.py` to highlight new metrics such as `networkRetry` and `ringBufferStarvation`, improving visibility into performance bottlenecks. - Enhanced performance tracking in `DownloadExtractThread` to capture decompression, write wait, and ring buffer wait times, facilitating better analysis of I/O operations. - Updated README to reflect new performance metrics and their significance in identifying issues during drive operations. - Added functionality to emit detailed network connection stats and retry events for improved diagnostics.
- Added a countdown property to manage dialog acceptance delay, enhancing user experience by providing a visual wait indicator. - Adjusted timer behavior to repeat and decrement the countdown, allowing the accept button to be enabled after the countdown reaches zero. - Updated UI to display a "Please wait..." message during the countdown, improving clarity for users.
The SHA256 code previously relied on double-buffering, where the fence was enforced inside the next writefile call - but, because we now have decompression and writing in a thread pool, the decompression could have happened into a buffer that had not yet been hashed, or was actively being hashed! D'oh. Fix this by replacing the double buffering mechanism with a 4-slot ring buffer, that strongly enforces acquire/release semantics. Additionally, block in _writeFile to ensure that we are actually done with the data before releasing. Additionally, expand the performance framework to capture this new ringbuffer's data.
- Introduced a bottom spacer item to balance the internal top padding of the dialog, enhancing the overall visual alignment and user experience.
- Updated focus group registrations across various dialogs and steps to include elements only when the screen reader is active, improving accessibility for visually impaired users. - Adjusted focus handling in multiple components to ensure non-focusable elements are excluded, streamlining navigation and enhancing user experience.
…n macOS - Added support for requesting location permission asynchronously, allowing for improved user experience when accessing SSID on macOS. - Introduced a callback mechanism to handle permission changes, ensuring that SSID detection can retry once permission is granted. - Updated ImageWriter and related components to integrate new location permission logic, enhancing functionality and responsiveness in the WiFi customization step.
- Implemented caching for child devices to avoid re-scanning during unmount operations, improving performance by approximately 1 second. - Added methods to set child device information and indicate when this information is provided, enhancing the efficiency of the unmount process. - Updated DriveListItem and DriveListModel to support child device management, ensuring seamless integration with existing drive listing functionality. - Enhanced ImageWriter to utilize cached child devices during write operations, further optimizing performance on macOS.
|
I dont't see that #1302 is fixed. There's no commit stating that customization of local images was re-enabled. |
|
On release of the new Raspberry Pi Imager, you should notify which images can be customized with new Imager. Or with other words, you should notify, which (older) images cannot be customized, because they are not compatible with the new customization done by cloud init. |
No customisation has been removed. |
No description provided.