Skip to content

Conversation

@magicbug
Copy link
Owner

@magicbug magicbug commented Nov 26, 2025

This pull request introduces several significant improvements and new features across backup/restore, label generation, logbook management, and email notification functionality. The most notable changes include the addition of user-level backup and restore endpoints, enhanced label rendering with better error handling, improved logbook sharing workflow with email notifications, and better logging for email-related errors.

Backup and Restore Enhancements

  • Added new user-level backup and restore endpoints in Backup.php, allowing authenticated users (level 2+) to export and import their stations, logbooks, and QSOs as JSON+ZIP files, including conflict handling and preview during import.
  • Updated backup access control to allow all authenticated operators (level 2+), not just admins.

Label Generation Improvements

  • Improved label generation in Labels.php by defining the font path correctly, adding bold font support, and updating the label rendering method to display the callsign in bold and larger font. Enhanced error handling now logs errors and provides more informative feedback to users. [1] [2] [3]

Logbook Management and Sharing

  • Modified logbook creation workflow so users are redirected to the edit page of the newly created logbook instead of the logbooks list.
  • Enhanced logbook sharing: when a user is added as a collaborator, an email notification is sent if the user is new and has a valid email address. Added a dedicated method for sending these notifications, with support for SMTP configuration and logging. [1] [2]

Email Notification and Logging

  • Improved error logging for failed test emails in Options.php, including details in the application logs and more informative user-facing messages.
  • Added support for sending a welcome email to new users when they are created, if the option is selected.

Other Changes

  • Removed the deprecated accessibility-alt-text-bot GitHub Actions workflow.
  • Updated migration version to 236 in migration.php to support new database changes.

Updated the csadditions regular expression in Logbook_model.php and Dxcc.php to include 'B' as a valid suffix for DXCC lookup and call sign parsing. This change ensures callsigns with '/B' are properly recognized in DXCC-related functions.
Moved the country name badge to appear after the worked status icon in the DX cluster callsign display for improved clarity and logical grouping of status indicators.
Added a check to ensure DataTable is initialized only if the table contains actual data rows and not just a 'no data' message. This prevents unnecessary initialization and potential errors when the table is empty.
After creating a new logbook, users are now redirected to the edit page for the newly created logbook instead of the logbooks list. The add method in Logbooks_model now returns the new logbook ID to support this change.
Introduces email notifications when a logbook is shared with a new user, including a new email template and improved error logging for email sending. Also enhances the test email UI with a loading spinner and updates error messages for better clarity.
Introduces functionality to send a welcome email with credentials to new users upon creation and allows admins to resend a reminder email (without password) to existing users. Adds email templates, UI options for sending emails, and improves user management interface with new actions and enhanced layout.
Introduces Add_Label_With_Bold_Callsign to render the callsign in bold and larger font on label PDFs. Updates font path to use unifont, adds DejaVuSans-Bold font files, and modifies label generation to use the new method for improved visual emphasis of callsigns.
Replaces standard callsign ordering with natural sorting by splitting callsigns into prefix, number (padded), and suffix. This improves the order of QSO label results for better readability and organization.
Refactored the labels index view to enhance layout and styling, including improved card headers, table responsiveness, and icon usage. Added better alert messages and reorganized action buttons for label and paper types, making the interface more user-friendly and visually consistent.
Enhanced the QSL print page layout with better Bootstrap styling, icons, and improved message alerts. Updated the QSO table for better readability and responsiveness, added icons to action buttons, and refined the overall user interface for a more modern look.
Improved the layout and styling of the API help page, adding a header with quick-create buttons for API keys, enhanced table responsiveness, and updated action buttons with icons. Added better feedback for empty API key lists and improved alert handling for notices.
Radio status now loads immediately on page load and updates every 2 seconds, with a loading spinner shown until data is available. The radio index page UI has been enhanced for better clarity, accessibility, and user feedback, including improved alert styling and more informative icons.
Added a definition for FPDF_FONTPATH to ensure the correct font directory is set before creating the PDF object in the Labels controller.
Adds logging of actual errors during label generation for better debugging. Updates error messages to include the specific exception message, and ensures FPDF_FONTPATH is only defined if not already set.
Updated the FPDF_FONTPATH definition to remove the 'unifont/' subdirectory, as AddFont() automatically appends it. This ensures fonts are loaded correctly when generating PDFs.
Ensures that the current font file path is always used in the AddFont function, rather than relying on a cached path from .mtx.php. This change improves reliability when loading font files.
The DXCluster navigation link has been removed from the options sidebar. This streamlines the sidebar and may reflect a change in available features or navigation structure.
Added checks to return empty results when no user is logged in, preventing SQL errors and ensuring consistent behavior for unauthenticated access in logbook-related queries.
Updated User_model to store user_callsign in uppercase using strtoupper when creating or updating users. Also added a style to the edit form input to visually enforce uppercase entry for callsign.
Introduced custom hover styles for success and danger badges with pointer cursor to improve visibility and user interaction.
Introduces user-facing JSON+ZIP export and import for stations, logbooks, and QSOs, including preview and progress views. Updates backup controller to allow all authenticated operators (level 2+) and replaces legacy backup card with new workflow in the UI. Adds new views for import preview and progress, supporting selective import and conflict handling.
Relocated the 'Backup Cloudlog content' menu item to appear after the webADIF export option in the header dropdown for improved menu organization.
Deleted the GitHub Actions workflow for the accessibility-alt-text-bot. This removes automated checks for alt text on issues, pull requests, and discussions.
Renamed 'Live QSO' to 'General Logging' and 'Live Contest Logging' to 'Contest Logging' in language file. Reordered contest and fast log entry links in the header dropdown for improved clarity.
Changed quick logging links to include 'manual=0' query parameter and updated button icons for General and Contest Logging on the dashboard.
Replaced Font Awesome icons for General Logging, Contest Logging, and Fast Log Entry links in both dashboard and header views to improve visual clarity and consistency.
Replaced several Font Awesome icons in the header navigation dropdowns for improved clarity and consistency. Updated icons for QSL, eQSL, statistics, awards, export options, backup, hardware interfaces, and version information. This enhances the visual representation and user experience across the interface.
Introduces migration 236 to tag Cloudlog as version 2.8.1 and update related options. Also updates migration version in config to 236.
Added a check for the page header and increased timeout for table existence to ensure the test waits for the page to fully load before verifying the station logbook entry.
Enhanced Cypress logbook tests for reliability by adding waits for login and page load, and improved assertions for table and button presence. Updated login command to use environment variables for credentials, allowing more flexible test configuration.
@magicbug magicbug merged commit 047b651 into master Nov 26, 2025
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.

2 participants