Introduces a submission state flag to prevent double submissions of the QSO form, disables the submit button during processing, and restores its state if the page visibility changes or fields are reset. Also adds handling to prevent Enter key from causing duplicate submissions.
Introduced clearCallsignLabels() to remove callsign labels when map data is refreshed or markers are removed. Ensures label state is reset and UI button appearance is updated, preventing stale labels from persisting after data changes.
Extended the failsafe timeout for map loading from 10 to 60 seconds in the footer and increased the AJAX request timeout in leafembed.js from 30 to 50 seconds to better accommodate slow responses.
Added console logging to map loading callbacks and AJAX requests for better debugging. Reduced failsafe timeout from 35s to 10s to improve user experience. Improved date range display logic to check for element existence before updating.
Improves the custom map interface with a redesigned filter section, quick action buttons, advanced filters, and a statistics display. Adds a loading spinner, disables the submit button during map load, and provides success/error feedback with failsafe timeout. Integrates new CSS for better map and legend styling, and updates JS to support callbacks for AJAX success/error, improving user experience and reliability.
Ensures statistics are updated both on DataTable initialization and after rendering. Adds a fallback selector for counting active bands and delays initial statistics update to wait for table rendering.
Improved the bands configuration page with info and controls cards, search/filter functionality, statistics, and visual feedback for checkbox actions. Updated bands.js to add animations, keyboard shortcuts, bulk award toggling, and dynamic statistics updates for a more user-friendly experience.
Introduced helper functions to hide/disable and show/enable state input sections, improving code readability and maintainability. All state inputs are now disabled when hidden and enabled when shown, ensuring correct form behavior.
Refactored PHP model to always use 'station_state' from the form, removing special handling for Canadian states. Updated JS to clear hidden state dropdowns on form submission, ensuring only the visible state's value is submitted.
Added a default fallback for DataTables language selection if lang_datatables_language is undefined. Refactored checkbox event handling in qslprint.js to ensure proper attachment after DataTable redraws, prevent duplicate handlers, and keep the 'select all' checkbox in sync. Also improved checks for AJAX response data in markSelectedQsos and removeSelectedQsos.
Added a 'qso-checkbox' class and value attribute to QSO checkboxes in the QSL print table for easier selection and identification. Updated JavaScript to use the new class for batch selection, row highlighting, and QSO actions, improving code clarity and maintainability.
Replaced all occurrences of the '.qslprint' class selector with the more specific '#qslprint_table' ID selector for table row and checkbox operations. This improves selector accuracy and ensures the correct table is targeted for QSL print actions.
- Updated setRst() function in footer.php to include Q65, FST4, FST4W modes
- Extended getReportByMode() function in simplefle.js to handle dB reports for all digital modes
- Ensures consistent signal report handling (-5 dB default) across all WSJT-X compatible modes
- Fixes issue where Q65, FST4, FST4W used traditional RST instead of dB reports
- Implement autoReconnect() function to automatically reconnect to previously authorized serial devices on page load
- Use navigator.serial.getPorts() to retrieve previously connected ports
- Add graceful error handling for auto-reconnect failures
- Improve disconnect() function with null check for port
- Eliminates need for manual reconnection after page refresh
- Maintains backward compatibility with existing functionality
Fixes issue where Web Serial connection was lost on page refresh, requiring users to manually reconnect their devices each time.