Repository navigation
fix: review follow-ups for Time Shift playback and the VOACAP heatmap - #1270
Merged
Merged
Conversation
Addresses the non-blocking review notes on accius#1263, accius#1265 and accius#1266. VOACAP on the globe (accius#1265) - subscribeVoacapSettings also reacts to openhamclock-config-change, but only when mode or power actually differ: a mode/power change in the main Settings now reaches the globe's fetch and its panel at once instead of after the 5-minute refresh. - publishVoacapData / getLastVoacapData keep the globe's last response summary, so a remounted panel shows its status line at once instead of "Loading..." until the next refresh. VOACAP and Time Shift (accius#1266) - Status line adds "· today's solar" for a shifted day without a forecast (the past, or beyond the 27-day outlook), where today's live SFI/K stand in. - useVOACAPHeatmap: a request aborted by a newer one no longer clears the newer one's loading state (status flicker during playback). Time Shift playback (accius#1263) - Fine slider anchored on a whole display hour (absolute time): its centre reads e.g. "19:00z" instead of real time + offset ("18:48z"). - Satellite Passes: while playing, a hint says passes update on pause (the list filters on the moving display time while prediction waits). - Grayline Planner moves to subscribeDisplayTimeSettled, like the Sat and EME planners. - VOACAP stays on the live subscription during playback, as suggested. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
accius
approved these changes
Nov 5, 2026
accius
left a comment
Owner
There was a problem hiding this comment.
Thanks, Koen. This covers every note from the three reviews. I test-merged it onto current Staging: the full suite passes, lint shows no errors and the build is fine. Approving.
The pieces I checked closely:
subscribeVoacapSettingskeeps its ownlastper subscriber and only fires on a real mode/power change, so a theme save doesn't refetch. Good.- Guarding
setLoading(false)onsignal.abortedis the right fix for the playback flicker. - Anchoring the fine slider on an absolute display hour reads much better. The clamped
fineMin/fineMaxkeep it inside ±30 days.
One nit, not blocking: the Satellite Passes hint hardcodes #ff4d4d. voacapHeatmap.js already exports that as SHIFTED_COLOR ("the Time Shift colour"), so importing it would keep the two in step if the colour ever changes.
And thanks for flagging hardware-plugins.test.js writing to the real ~/.config/openhamclock/rig-bridge-config.json. It reset mine too, so the fix PR will be very welcome.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
This PR takes up the non-blocking review notes on #1263, #1265 and #1266. Thanks for the careful reviews.
#1265: VOACAP on the globe
subscribeVoacapSettingsnow also listens foropenhamclock-config-change. It only fires when mode or power actually change, so unrelated settings such as the theme don't trigger a refetch. A mode or power change in the main Settings now updates the globe's fetch and its panel's dropdowns immediately, instead of after the 5-minute refresh.publishVoacapDataandgetLastVoacapDatakeep the globe's last response summary, so a remounted panel shows its status at once instead of "Loading..." until the next refresh.#1266: VOACAP and Time Shift
· today's solar. Shifting within today adds nothing, since the values are today's anyway.useVOACAPHeatmap, a request that a newer one aborted no longer clears the newer one's loading state, so the status line no longer flickers during playback.#1263: playback
19:00zinstead of real time plus offset (18:48z). It still re-centres when the display time leaves the ±3 h window.subscribeDisplayTimeSettled, like the Sat and EME planners, so its windows no longer re-list five times a second.defaultValues. That leaves the wording to translators. One string is new:satPasses.updatesWhenPaused.Type of change
How to test
· today's solar.18:00zat 18:28 UTC; after a +5 h shift it reads23:00z.npx vitest run src/utils/voacapHeatmap.test.js src/components/VoacapGlobeControl.test.jsx src/components/TimeShiftControl.test.jsx.Checklist
server.js: n/a.bak,.old,console.logdebug lines, or test scripts includedFull suite: 3775 tests pass, including 8 new ones covering the Settings sync, remount status, the
today's solarand forecast notes, and the whole-hour fine-slider label. eslint reports no new warnings.Side note for anyone running the suite locally:
rig-bridge/plugins/hardware-plugins.test.js(the brightness plugin tests) writes rig-bridge's default config to the real~/.config/openhamclock/rig-bridge-config.json. That resets a developer's radio settings and API token. I found it while testing this and am fixing it in a separate PR. Until then,HOME=$(mktemp -d) npx vitest runavoids it.🤖 Generated with Claude Code