## 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`
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Commit structure
Each numbered follow-up is implemented in its own commit; a final audit commit keeps contextual descriptions permanently visible.
Verification
cargo fmt --all -- --checkcargo test -p trx-frontend-http(52 passed)cargo clippy --workspace --all-targets --all-features -- -D warningsRUSTFLAGS="-D warnings" cargo build --workspace --all-targets --all-featuresgit diff --check