Version 1.2 focuses on expanding HamClock-Next to mobile platforms, introducing seven new specialized widgets, and a major internal infrastructure refactor to ensure long-term maintainability and safety.
Mobile Platform Support (Android & iOS)
HamClock-Next is now officially compatible with mobile operating systems, bringing the desktop dashboard experience to tablets and smartphones.
- Official Android Support: Complete APK build workflow via Docker/GitHub Actions. Includes native touch UX refinements (scroll-gesture suppression, immersive landscape mode, and immersive fullscreen display).
- Official iOS Support: CI/CD pipeline for iOS simulator builds with automatic landscape orientation enforcement and Apple framework bridging.
- Advanced Touch UX: Field taps automatically initialize soft keyboards without input collisions, and improved scrolling logic handles touch-emulated mouse events to prevent accidental selections during panel scrolling.
[!IMPORTANT] Side-loading Requirement: Mobile builds currently require manual side-loading. While this process is straightforward on Android (via
.apkinstallation), iOS users will need to use a side-loading utility such as AltStore to install and sign the application.
New Dashboard Widgets
Seven new widgets have been added to the suite, reaching and exceeding parity with the original HamClock.
- VOACAP DE-DX: Restored the hour-by-hour path reliability matrix showing 24-hour propagation forecasts for the active DE-DX path.
- Solar Cycle 25 Tracker: Real-time SSN trends, cycle phase classification, and time-to-maximum predictions.
- Greyline Windows: A 24-hour timeline visualizing the ±30 minute sunrise/sunset windows for both DE and DX locations.
- DXCC Progress (Recent): Dynamic tracking of unique DXCC entities worked based on the 100 most recent ADIF log entries.
- Space Weather Alerts: A live stream of NOAA SWPC alerts (X/M Flares, GeoStorms, CME) with color-coded severity.
- NOAA Severity Scales: Instant visualization of R (Radio Blackouts), S (Solar Radiation), and G (Geomagnetic) scales.
- Standalone Satellite: Added a dedicated satellite tracking widget that can be placed in any pane, decoupled from the DX info panel.
UI & UX Enhancements
- Calendar Enhancements: Introduced "Today" and "Tomorrow" date headings in the CalendarPanel for improved event legibility.
- Map Interaction: Implemented map-hover tooltips for all LiveSpots (RBN, PSK Reporter, WSPR). Hovering over a spot now instantly reveals frequency, mode, and country name.
- Astronomical Star Field: Added a rotating star field (Yale BSC subset, mag ≤ 4.5) to the map background, correctly projected for Robinson and Azimuthal views.
- Side Panel "Full Height" Mode: Users can now toggle Pane 5/6 to "Full Height" mode for scrollable list widgets (Cluster, Spots, Calendar), enabling longer visibility without rotation. Support for any widget in any side pane, matching native Setup Modal.
- Visual Pane Selection: Replaced abstract "Top 1-4" buttons in Setup with a visual pane diagram of the current layout.
- DX Marker Alignment: Updated DX marker style to match original HamClock “CircleWithDot” bullseye and implemented band-color coding for active spots.
- Map Symbol Parity: NCDXF beacons are now rendered as standard triangles on the map.
Infrastructure & Stability
- Widget Self-Registration: Eliminated the centralized
WidgetTypeenum and massiveDashboardContextswitch blocks. Widgets now self-register using aREGISTER_WIDGETmacro, making the codebase more modular. - C++ Safety Audit: Completed a comprehensive thread-safety audit. Fixed 5 critical concurrency hazards (data races, TOCTOU, and blocking joins) to improve shutdown stability.
- Sensor Thread-Safety: Transitioned GPS, BME280, and LTR329 handlers from bare sleeps to interruptible condition variable waits, improving shutdown responsiveness and reliability.
- O(1) Geo-Lookup: Implemented an optimized coordinate-to-country lookup table for instant geographic identification.
- Observer Coordinate Loading: Fixed issues where widgets (DXSatPane, GimbalPane) would start with 0,0 location. Now reliably load user-defined coordinates.
- REST API Expansion: Added endpoints for build information, sensor data, and automated screenshot generation.
- Model Context Protocol (MCP): Tooling improvements for maintainability, scaffolding safety, and async guidance.
Bug Fixes & Refinements
- Semantic Versioning: Rewrote the update checker to use 32-bit integer bit-packing for deterministic version comparison (e.g., v2.0.0B01 > v1.1.0).
- Windows Compatibility: Fixed font discovery paths and SysInfo panel crashes on Windows environments without thermal zones.
- Tooltips: Improved tooltip rendering lifecycle to prevent "ghost" tooltips when crossing pane boundaries.
- Build System: Upgraded all GitHub Actions to Node.js 20 to resolve runner deprecation warnings. Resolved Clang compilation failures by restoring dropped operator usage.
- SpaceWxAlerts: Layout properly improved to prevent collision styling and flicker.
- MCP Parity Cleanup: Removed legacy Model Context Protocol parity tracking machinery and stale references as 100% feature parity has been achieved.