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.
Replaced custom tab navigation and styling in the ADIF import view with Bootstrap's native nav-tabs for improved maintainability and consistency. Removed related custom CSS and JavaScript, simplifying the codebase and leveraging Bootstrap's built-in tab functionality.
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.
Revamped the logbooks management page for improved usability and modern appearance, including enhanced table layout, action buttons, and empty state messaging. Added dedicated CSS styles for logbooks management components to ensure consistent spacing, card appearance, badge sizing, and DataTable integration.
Revamped the station profile management page with improved Bootstrap-based layout, enhanced alert and card components, and a more user-friendly table for station locations. Added new CSS styles for the station management page, including custom card, badge, button, and DataTable styling for a modern, consistent look.
Improves the ADIF import/export page with a more structured layout, icons, grouped options, and clearer forms for import, export, LoTW, and DCL actions. Adds extensive CSS for better visual hierarchy, card and tab styling, form controls, and alert presentation to provide a modern, 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.