Commit graph

232 commits

Author SHA1 Message Date
Peter Goodhall
fe38b96cce Add migration 250 tagging release 2.8.8
Bump migration version to 250 and add Migration_tag_2_8_8. The new migration sets the stored app version to 2.8.8 and resets the user's version_dialog confirmation (option_value = 'false') to trigger the version info dialog. The down() method rolls the version back to 2.8.7.
2026-02-19 16:06:41 +00:00
Peter Goodhall
41a8849d7e Cache dashboard stats and add DB indexes
Add per-user/logbook file caching for dashboard statistics (15min TTL) and update Dashboard controller to use cached qso, countries, VUCC and QSL queries. Introduce clear_dashboard_cache() in Logbook_model and call it on QSO create/update/delete to invalidate affected users' cache entries. Add migration (249) to create composite indexes (idx_dxcc_stats, idx_vucc_gridsquare, idx_vucc_grids) to improve dashboard query performance, and bump migration_version to 249. Also include generated cache files under application/cache for current stats.
2026-02-11 13:18:52 +00:00
Peter Goodhall
d4a7e4cfac Batch eQSL updates and add indexes
Add batch processing for eQSL imports/exports and introduce performance indexes. Bump migration_version to 248 and add Migration_add_eqsl_performance_indexes to create idx_eqsl_qslrdate and idx_eqsl_confirmation_match indexes to speed up eQSL queries and batch matching. Modify Eqsl controller to collect successful uploads and perform a single batch mark-as-sent update. Update EqslImporter to queue confirmations and run a single batch update at the end. Implement eqsl_update_batch() and eqsl_mark_sent_batch() in Eqslmethods_model to perform efficient batch DB operations and logging, reducing per-record queries for large eQSL operations.
2026-02-11 11:32:25 +00:00
Peter Goodhall
cfa24d9f1a Add LoTW batch updates and performance indexes
Bump migration version to 247 and add a migration that creates performance indexes for LoTW workflows (idx_lotw_qslrdate, idx_lotw_qsos_to_upload, idx_lotw_confirmation_match) to speed common queries. Refactor Lotw controller to collect records in memory, build rows for rendering, and perform a single batch confirmation update via a new Logbook_model::lotw_update_batch() method instead of many individual updates. Implement lotw_update_batch() to look up matching QSOs, perform update_batch() calls, and separately update gridsquares/distances using the Qra library. Simplify LotwCert::toggle_archive_certificate() to toggle archived state with a single UPDATE and return the resulting status.
2026-02-11 11:14:59 +00:00
Peter Goodhall
2cb8d62860 Add gridsquare prefix index and optimizations
Bump migration version and add a new migration (246) to create/drop a 4-char prefix index on COL_GRIDSQUARE to speed LIKE queries; migration 245 now also drops the prefix index if present. Add Stations::user_owns_station and use it in Logbookadvanced_model to avoid N+1 station lookups. Add caching to Logbooks_model::list_logbook_relationships to prevent redundant queries. Optimize Oqrs_model queries to select only needed columns for several methods. Add Stats::getUniqueCallsignsConsolidated to combine multiple unique-callsign groupings into a single set of queries for better performance. Database debug toggles added where appropriate.
2026-02-11 11:09:39 +00:00
Peter Goodhall
f01599e6a5 Add indexes and batch processing for uploads
Improve query performance and memory usage by adding a migration to create several indexes and converting various upload/reporting flows to batched processing. Changes include:

- Add migration 245 to create indexes: idx_mode, idx_sat_name, idx_continent, idx_qsl_stats (composite), idx_hrdlog_upload, idx_qrz_upload to speed common queries.
- Bump migration version to 245 in config.
- Hrdlog and Qrz controllers: switch to fetching QSOs in LIMIT/OFFSET batches, process updates in chunks, add logging for batch progress, and use break 2 to stop outer loops on invalid API keys to avoid continuing work.
- Logbook_model:
  - get_hrdlog_qsos and get_qrz_qsos now accept limit/offset and use ORDER BY/LIMIT/OFFSET for batching.
  - Replaced a subquery with a JOIN for grid-based filtering to improve performance.
  - get_modes rewritten to use query builder (distinct/select/order_by).
  - Bulk DXCC updates use update_batch instead of per-row queries.
  - calls_without_station_id limited to 500 results to avoid UI hangs.

Overall goal: prevent memory exhaustion with large datasets and improve database query performance.
2026-02-11 10:59:24 +00:00
Peter Goodhall
dfb005899e Add migration to tag Cloudlog 2.8.7
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.
2026-02-02 13:07:24 +00:00
Peter Goodhall
953b27783b Tag Cloudlog as version 2.8.6 and update SOTA UI
Added migration 243 to tag Cloudlog as version 2.8.6 and updated the migration version in config. Improved SOTA awards table to display a message outside the table when no results are found. Modified the SOTA index page to trigger filter refresh on 'Apply' and adjusted DataTables language options for empty states.
2026-01-14 16:43:53 +00:00
Peter Goodhall
ae97ef5152 Add created_at to notes and enable date filtering
Introduces a migration to add a created_at timestamp to the notes table. Updates the Note model and Notes controller to support filtering notes by creation date, and enhances the notes view to include date filter fields and display the created date for each note. Migration version is incremented to 242.
2026-01-09 16:13:57 +00:00
Peter Goodhall
4cf7d79c25 Add migration to tag Cloudlog as version 2.8.5
Introduces migration 241 to update the application version to 2.8.5 and trigger the version info dialog for users. Updates the migration version in the configuration accordingly.
2026-01-08 16:34:46 +00:00
Peter Goodhall
30ee758cce Add migration for Cloudlog version 2.8.4
Introduces migration 240 to update the application version to 2.8.4 and trigger the version info dialog for users. Updates migration configuration to reflect the new version.
2025-12-23 10:49:18 +00:00
Peter Goodhall
78592547dd Add migration for Cloudlog version 2.8.3
Introduces migration 239 to update the application version to 2.8.3 and trigger the version info dialog for users. Updates the migration version in the configuration to 239.
2025-12-17 17:25:28 +00:00
Peter Goodhall
3acfa64e57 Add migration for Cloudlog version 2.8.2
Introduces migration 238 to update the application version to 2.8.2 and trigger the version info dialog for users. Updates the migration version in the configuration to 238.
2025-12-10 13:25:11 +00:00
Peter Goodhall
88f328581b Added Awards Settings 2025-12-02 13:32:11 +00:00
Peter Goodhall
83a28957c0 Add migration for Cloudlog version 2.8.1
Introduces migration 236 to tag Cloudlog as version 2.8.1 and update related options. Also updates migration version in config to 236.
2025-11-26 12:35:24 +00:00
Peter Goodhall
a3669f92ea Add migration for Cloudlog version 2.8.0
Introduces migration 235 to update the application version to 2.8.0 and trigger the version info dialog for users. Updates migration configuration to use the new migration version.
2025-11-21 13:46:44 +00:00
Peter Goodhall
b287af642b Add multi-user logbook sharing and permissions
Introduces logbook sharing with read, write, and admin permission levels via a new station_logbooks_permissions table and related migration. Updates controllers, models, and views to support managing collaborators, restricts sensitive actions to owners/admins, and adds UI for sharing management. Also adds user lookup by callsign and improves logbook/station location access logic.
2025-11-19 15:37:34 +00:00
Peter Goodhall
9587aeaffc Add migration to tag Cloudlog as version 2.7.8
Introduces migration 233 to update the application version to 2.7.8 and trigger the version info dialog for users. Updates the migration configuration to use the new migration version.
2025-11-15 15:43:19 +00:00
Peter Goodhall
765e4691c2 Add migration to tag Cloudlog as version 2.7.7
Introduces migration 232 to update the application version to 2.7.7 and trigger the version info dialog for users. Updates migration configuration to use the new migration version.
2025-11-09 15:29:04 +00:00
Peter Goodhall
5fce83b201 Add migration for Cloudlog version 2.7.6
Introduces migration 231 to update the application version to 2.7.6 and trigger the version info dialog for users. Updates the migration version in the configuration to 231.
2025-10-20 17:36:03 +01:00
Peter Goodhall
7e6ba3537b Add migration to tag Cloudlog as version 2.7.5
Introduces migration 230 to update the application version to 2.7.5 and trigger the version info dialog for users. Updates the migration version in the configuration to 230.
2025-10-13 17:06:11 +01:00
Peter Goodhall
51e5003a0f Validate CAT frequency/mode data and clean up errors
Adds strict validation to the Cat model to prevent non-numeric frequency and invalid mode values from being stored, logging any invalid data for debugging. Introduces migration 229 to clean up existing corrupted CAT table data caused by rig control error messages, and updates migration version. Includes documentation of the issue and applied fix.
2025-10-13 16:58:50 +01:00
Peter Goodhall
44a729f335 Optimize QRZ QSO upload/download with batch processing
Improves performance of QRZ QSO upload by batching database updates in the controller and model, reducing the number of individual update queries. Adds a new migration to create indexes supporting QRZ upload/download operations. Refactors QRZ download batch processing to use temporary tables and efficient JOINs for large batch updates, further enhancing speed and scalability.
2025-10-13 15:01:25 +01:00
Peter Goodhall
e6ecfa4f1b Require Clublog username to be a valid email address
Enforces that Clublog usernames are valid email addresses throughout the application, reflecting Clublog's policy change to no longer accept callsigns as usernames. Updates validation in controllers, models, and views, adds a migration to clear non-email usernames, and updates language files in multiple languages to clarify the requirement.
2025-10-13 13:40:56 +01:00
Peter Goodhall
31efbd0da2 Add migration to tag Cloudlog as version 2.7.4
Introduces migration 226 to update the application version to 2.7.4 and trigger the version info dialog for users. Updates the migration version in the configuration to 226.
2025-10-12 21:46:45 +01:00
Peter Goodhall
530267caa7 Add indexes to bands and bandxuser tables for performance
Introduces a migration that adds several indexes to the bands and bandxuser tables to improve query performance, especially for user, band, and award-based lookups. Updates the migration version to 225.
2025-10-12 17:45:57 +01:00
Peter Goodhall
aa5c3d4ed0 Add performance indexes to key tables and update migrations
Added new migrations to create performance indexes on station_logbooks_relationship, station_profile, options, and adif_modes tables to improve query speed for frequent lookups and filtering. Updated migration version to 224 in configuration.
2025-10-12 17:44:45 +01:00
Peter Goodhall
ca0f344d9d Add IOTA table performance indexes and migration
Introduces migration 221 to add indexes on the IOTA table for Tag, Prefix, and Status fields to improve query performance. Updates migration version in config to 221.
2025-10-12 17:38:40 +01:00
Peter Goodhall
84a93bbf49 Add performance indexes to DXCC tables
Introduces migration 220 to add several indexes to the dxcc_entities, dxcc_master, dxcc_exceptions, and dxcc_prefixes tables. These indexes are designed to improve query performance for common lookups, filtering, and joins based on usage patterns such as country name, prefix, continent, CQ/ITU zones, and date ranges.
2025-10-12 17:32:57 +01:00
Peter Goodhall
9420baf038 Add indexes to CAT table for performance
Introduces migration 219 to add several indexes to the CAT table, optimizing queries involving user_id, radio, and timestamp fields. Updates migration version to 219.
2025-10-12 17:25:42 +01:00
Peter Goodhall
9c3a8d3c51 Add composite indexes for LoTW performance
Introduces migration 218 to add composite indexes to optimize LoTW upload and certificate lookup queries. Updates migration version to 218 in the config. These indexes improve query performance for LoTW-related operations.
2025-10-11 15:42:11 +01:00
Peter Goodhall
592ea25c45 Add migration for performance indexes
Introduces migration 217 to add indexes on station_profile.user_id, qsl_images.qsoid, and lotw_users.callsign to improve query performance. Updates migration version in configuration.
2025-10-10 23:10:55 +01:00
Peter Goodhall
0c4f84d488 Add migration to optimize QSO table indexes
Introduces migration 216 to add a composite index (station_id, COL_TIME_ON, COL_PRIMARY_KEY) for efficient QSO sorting and removes redundant single-column indexes. Updates migration version in config to 216.
2025-10-10 22:40:23 +01:00
Peter Goodhall
3215f6847c Tag Cloudlog as version 2.7.3 and remove API docs
Bump migration version to 215 and add migration to update Cloudlog version to 2.7.3. Remove API_DOCUMENTATION.md and RADIO_COMMANDS_API.md files. The migration also resets the version info dialog for users.
2025-10-07 14:10:40 +01:00
Peter Goodhall
5c63e5099e Add radio command queueing and management system
Introduces a new radio command queueing system with API endpoints and a user interface for sending, viewing, and managing radio commands. Adds migration for the radio_commands table, extends the Cat model with command-related methods, and implements new controllers and views for both API and web interfaces. This enables integration with desktop apps and provides users with tools to send, track, and cancel radio commands.
2025-10-04 11:48:48 +01:00
Peter Goodhall
8ee56acb17 Remove Bandmap feature and related files
This commit removes the Bandmap feature, including its controller, views, JavaScript assets, and navigation menu entry. This is because it was broken upstream
2025-10-02 09:46:01 +01:00
Peter Goodhall
c6af63ebb2 Update BASEPATH check to use lowercase 'or'
Changed 'OR' to 'or' in the BASEPATH check for consistency with PHP coding standards.
2025-09-26 14:11:28 +01:00
Peter Goodhall
a1c0c38d16 Add ADIF 3.1.6 modes and contests migrations
Added migrations to support new SCAMP modes and contests from the ADIF 3.1.6 specification. Updated migration version to 212 in configuration.
2025-09-25 17:10:50 +01:00
Peter Goodhall
20c202a9cc tag 2.7.1 2025-08-25 13:10:09 +01:00
Peter Goodhall
67a652bce6 Add archive status for LoTW certificates
Introduces an 'archived' boolean column to the lotw_certs table via migration, adds model and controller logic to toggle archive status, and updates the view to display and allow archiving/unarchiving of certificates. This enables users to mark LoTW certificates as archived for better management.
2025-08-22 17:15:51 +01:00
Peter Goodhall
82a5edc9b7 Add indexes to lotw_users table
Introduces migration 208 to add indexes on 'callsign' and 'lastupload' columns in the lotw_users table for improved query performance. Updates migration version to 208.
2025-08-22 16:29:49 +01:00
Peter Goodhall
5ff5e12890 Add public radio status option to logbooks
Introduces a new 'public_radio_status' field to station logbooks, allowing users to enable or disable the display of radio status on public logbook pages. Updates migration, controllers, model, views, and language files to support this feature and provide UI controls for toggling the option.
2025-08-22 14:52:07 +01:00
Peter Goodhall
12f02b7e6f Add migration to tag Cloudlog as version 2.7.0
Introduces migration 206 to update the application version to 2.7.0 and trigger the version info dialog for users. Updates migration configuration to use the new migration version.
2025-08-15 15:47:50 +01:00
Peter Goodhall
9b17ff9250 Optimize DXCC list queries and add DB indexes
Refactored Workabledxcc controller and model to batch DXCC entity and worked/confirmed status lookups for improved performance. Added migration to create composite indexes on DXCC-related columns to further speed up queries. Updated migration version to 205.
2025-08-11 14:50:56 +01:00
Peter Goodhall
d7cb489353 Update migration.php 2025-08-02 13:10:24 +01:00
Peter Goodhall
6e98223505 Add migration to tag Cloudlog as version 2.6.21
Introduces migration 203 to update the application version to 2.6.21 and reset the version info dialog confirmation. Updates migration config to set the latest migration version.
2025-07-30 12:44:46 +01:00
Peter Goodhall
c3c1f1e325 Add migration to set TEVEL2-3 QSL sent status to N
Added migration 202 to update COL_LOTW_QSL_SENT to 'N' for TEVEL2-3 satellite records. Updated migration version in config and added TEVEL2-3 to the satellite name mapping in Lotw controller.
2025-07-30 10:26:16 +01:00
Peter Goodhall
90d2e58754 Add migration to tag Cloudlog as version 2.6.20
Introduces migration 201 to update the application version to 2.6.20 and trigger the version info dialog for users. Updates the migration version in the configuration to 201.
2025-07-17 17:35:50 +01:00
Rodrigo Freire
bf43158f7e
DXCC database: Fix Brazilian data
There's a number of issues in Brazilian DXCC entities, namely:
- Misspeled state names
- Wrong time zone
- Wrong ITU zone
- Wrong callsign assignment plan

This commit addresses these issues, while allowing for a full reversion
of the old data, by using UPDATE statements, changing the database
to a minimum and being as safe as possible.
2025-07-10 23:23:23 -03:00
Peter Goodhall
4f08dd4804 tag 2..6.19 2025-06-11 15:25:08 +01:00