Skip to content

Fix Rotator usability + local-only safety (addresses setup confusion)#446

Open
Delerius wants to merge 2 commits intoaccius:mainfrom
Delerius:feature/rotator-panel-v1-resubmit
Open

Fix Rotator usability + local-only safety (addresses setup confusion)#446
Delerius wants to merge 2 commits intoaccius:mainfrom
Delerius:feature/rotator-panel-v1-resubmit

Conversation

@Delerius
Copy link
Contributor

This PR addresses usability and stability concerns around the Rotator feature.

The original issue was that Rotator was merged but:

  • There was no obvious configuration path
  • Hosted deployments showed no clear indication that it is local-only
  • Backend assumptions could cause confusion or errors

What this update does:

Rotator:

  • Explicitly labeled as a Local-only integration (Settings → Integrations → Local-only)
  • Hidden/disabled automatically on hosted deployments
  • Added clear Quick Start instructions
  • Requires explicit enable toggle
  • No longer attempts backend interaction unless enabled
  • No crashes if rotator backend is unavailable

N3FJP:

  • Also clarified as Local-only
  • Cleaned up UI by moving display controls into Integrations
  • Added configurable display window (15 min → 24h)
  • Added server-side retention control via N3FJP_QSO_RETENTION_MINUTES
  • Prevented rendering errors

Hosted behavior:

  • Hosted OHC shows no rotator controls
  • No backend calls are attempted
  • No runtime errors occur

Local behavior:

  • Fully functional when running Node server locally
  • Requires PstRotatorAz HTTP endpoint (configurable in .env)
  • Setup documented inline

This should resolve the previous confusion about how Rotator is intended to work and ensure safe operation in both hosted and local environments.

This update stabilizes the Rotator and N3FJP integrations and improves local-only UX clarity.

Rotator:
- Explicitly treated as a local-only feature
- Hidden/disabled in hosted deployments
- Added Integrations → Local-only setup section
- Added quick start instructions
- Prevented runtime errors when backend is unavailable
- Ensured overlay state does not auto-enable unexpectedly

N3FJP:
- Cleaned up on-map controls (moved configuration to Integrations)
- Added display window options up to 24 hours
- Added server retention configuration support via .env
- Auto-enable map layer when integration is enabled
- Added warning if layer is disabled
- Fixed rendering crash in display window selector

Server:
- Support for N3FJP_QSO_RETENTION_MINUTES in .env and .env.example

This ensures hosted OHC never crashes, while local installations gain full functionality with clear setup guidance.
@Delerius Delerius mentioned this pull request Feb 15, 2026
@alanhargreaves
Copy link
Contributor

alanhargreaves commented Feb 16, 2026

Is there a way to disable it when running locally? I'm working on some unrelated stuff and need to turn on debug logging. The rotator stuff is really chatty.

Strike that, looks like it was addressed in that batch of 70 of commits a few hours ago.

@Delerius
Copy link
Contributor Author

Note: PR #426 added a basic hosted safety gate for Rotator (local-only panel list + endpointUrl). This PR builds on that by adding explicit Local-only Integrations UX, documentation, and graceful behavior when backends are unavailable

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