Skip to content

2.8.7#3410

Merged
magicbug merged 18 commits intomasterfrom
dev
Feb 2, 2026
Merged

2.8.7#3410
magicbug merged 18 commits intomasterfrom
dev

Conversation

@magicbug
Copy link
Owner

@magicbug magicbug commented Feb 2, 2026

This pull request introduces several significant improvements and new features across the awards and backup systems, focusing on enhanced filtering, export capabilities, and performance optimizations. The main changes include the addition of band/mode/confirmation filters to multiple awards pages, streaming and memory-efficient user data export, a new SIG CSV export endpoint, and improved environment detection and diagnostics.

Awards Filtering and Export Enhancements:

  • Added advanced filtering (by band, mode, confirmation) to WWFF, WAB, and SIG awards pages, including human-readable filter summaries and passing filter data to views. [1] [2] [3] [4] [5] [6]
  • Introduced a new CSV export endpoint for SIG awards, allowing users to download filtered SIG data as a CSV file.

Backup System Improvements:

  • Refactored the user data export process to stream JSON output directly to disk in chunks, greatly reducing memory usage and increasing reliability for large datasets; added schema versioning and export timestamp metadata. [1] [2]
  • Added detection of ZIP extension availability to the backup page for improved diagnostics.

Diagnostics and Environment Detection:

  • Added Docker/container environment detection to the debug page, exposing this information to the view for easier troubleshooting.

Other:

  • Updated the migration version in migration.php to 244.

These changes collectively improve user experience, system performance, and administrative capabilities.


Awards Filtering and Export:

  • Added band/mode/confirmation filters and filter summaries to WWFF, WAB, and SIG awards controllers and their views, improving data exploration and reporting for users. [1] [2] [3] [4] [5] [6]
  • Introduced a new SIG CSV export endpoint (sigexportcsv) for easy download of SIG QSOs with confirmation status.

Backup and Export Optimization:

  • Refactored user export to stream JSON in chunks, reducing memory usage and supporting large exports; added schema version and export timestamp. [1] [2]
  • Added ZIP extension check to backup UI for better diagnostics.

Diagnostics:

  • Added Docker/container environment detection to the debug controller, making this info available in the debug view.

Other:

  • Incremented migration version to 244 in migration.php.

Moved the comment reset to the beginning of each line iteration in handleInput(), ensuring comments are cleared before processing each row. This prevents comments from persisting across lines and fixes potential data carryover issues.
Adds JSON_INVALID_UTF8_SUBSTITUTE to json_encode for $qsos_by_ref and $confirmed to handle invalid UTF-8 data, preventing JavaScript errors when rendering the SOTA map.
Modified the mode selection dropdown to display submode if it exists, otherwise fallback to mode. Also updated the iteration to use the result() method for consistency with the data structure.
Refactored the backup export process to stream JSON data directly to a file handle, significantly reducing memory usage for large datasets. QSOs and logbooks are now written in chunks, and memory is freed periodically. Increased max execution time and adjusted memory limit to optimize for streaming. This improves reliability and scalability for users with large logbooks.
The message indicating no results are found is now displayed in the <tfoot> section instead of <tbody> for better semantic HTML structure.
The debug page now displays whether the PHP zip extension is installed, providing clearer visibility into server configuration.
The backup controller now checks if the PHP ZIP extension is installed and passes this information to the view. The backup page displays a warning if the extension is missing, guiding users to install it for backup and restore functionality.
Displays a 'Managed' row in the debug table if the managed.php config file exists, providing clearer visibility into the application's configuration state.
Added display of installation path, server API, HTTPS status, available disk space, database info, PHP settings, session information, and checks for gd and json PHP modules to the debug/main.php view for improved diagnostics.
Introduces logic in the Debug controller to detect if the application is running inside a Docker container and displays the result on the debug view. This helps developers quickly identify the runtime environment for troubleshooting and configuration purposes.
Added QMR-KWT-2, Lobachevsky, and BOTAN satellite entries with their respective communication modes and frequencies.
Introduces band, mode, and confirmed-only filters to the Worked All Britain (WAB) award view and details AJAX endpoint. Updates the controller, model, and view logic to support filtering, and adds new localized strings for WAB award UI elements in multiple languages. Also ensures the correct script is loaded for the WAB section and improves the Bands model to check for field existence before filtering by award.
Introduces filtering by band, mode, and confirmation status to the SIG awards section in Awards.php, including a filter summary helper. Updates all supported language files to add translations for the new SIG award filters, table headers, and related UI elements.
Updated the SIG awards table to redirect WAB entries to a dedicated WAB awards page instead of the generic SIG details page. This improves navigation and user experience for WAB award users.
Introduced a new controller method sigexportcsv() to export SIG QSO data as a CSV file. Added a corresponding button in the SIG QSO list view to allow users to download the CSV export.
Added collapsible filter panel with quick preset buttons, improved form layout, and a new statistics summary section showing WAJA progress and milestones. Prefecture names in the table are now clickable to view QSOs. Updated SQL queries in the Waja model to use the correct band key and improved SAT handling.
Enhanced the WWFF awards page with band, mode, and QSL type filters, quick preset buttons, and a summary section showing worked/confirmed parks and milestone progress. Updated the controller to handle filter input and summary data, and extended the model with methods for filtered queries and statistics.
Bump migration version to 244 and add migration 244_tag_2_8_7. The new migration updates options.version to 2.8.7 and resets user_options.version_dialog.confirmed to false to trigger the version info dialog; the down() method reverts options.version to 2.8.6.
@cursor
Copy link

cursor bot commented Feb 2, 2026

You have run out of free Bugbot PR reviews for this billing cycle. This will reset on March 5.

To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@magicbug magicbug merged commit dfe4a17 into master Feb 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant