Make operator workspaces capability-aware #18

Merged
sjg merged 9 commits from feat/capability-aware-workspaces into main 2026-08-01 11:21:03 +02:00
Owner

Summary

  • derive Broadcast and Digital workspace availability from every enumerated rig and the decoder registry
  • hide unsupported active-rig controls while retaining Power and restoring controls across rig switches
  • add always-visible workspace descriptions and capability requirement explanations
  • persist workspace selections independently for each rig
  • make Broadcast a reception-focused workspace for WFM, RDS, bandwidth, audio, and interference monitoring
  • make rig switching atomic, block commands during transitions, roll back failures, and show hardware/capability context
  • add dependency-free component tests for notifications, confirmation dialogs, keyboard tabs, capability fallback, and per-rig state
  • close the mobile More menu on Escape, outside click, navigation, history changes, and viewport changes, restoring focus on Escape

Commit structure

Each numbered follow-up is implemented in its own commit; a final audit commit keeps contextual descriptions permanently visible.

Verification

  • shared UI component suite passes
  • JavaScript syntax validation for 18 first-party scripts
  • cargo fmt --all -- --check
  • cargo test -p trx-frontend-http (52 passed)
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • RUSTFLAGS="-D warnings" cargo build --workspace --all-targets --all-features
  • CSS brace structure validation
  • git diff --check
## Summary - derive Broadcast and Digital workspace availability from every enumerated rig and the decoder registry - hide unsupported active-rig controls while retaining Power and restoring controls across rig switches - add always-visible workspace descriptions and capability requirement explanations - persist workspace selections independently for each rig - make Broadcast a reception-focused workspace for WFM, RDS, bandwidth, audio, and interference monitoring - make rig switching atomic, block commands during transitions, roll back failures, and show hardware/capability context - add dependency-free component tests for notifications, confirmation dialogs, keyboard tabs, capability fallback, and per-rig state - close the mobile More menu on Escape, outside click, navigation, history changes, and viewport changes, restoring focus on Escape ## Commit structure Each numbered follow-up is implemented in its own commit; a final audit commit keeps contextual descriptions permanently visible. ## Verification - shared UI component suite passes - JavaScript syntax validation for 18 first-party scripts - `cargo fmt --all -- --check` - `cargo test -p trx-frontend-http` (52 passed) - `cargo clippy --workspace --all-targets --all-features -- -D warnings` - `RUSTFLAGS="-D warnings" cargo build --workspace --all-targets --all-features` - CSS brace structure validation - `git diff --check`
sjg added 9 commits 2026-08-01 11:20:29 +02:00
sjg merged commit 6566eae2c7 into main 2026-08-01 11:21:03 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sjg/trx-rs#18