The header repeated the active rig's hardware string and mode list beside the rig picker. With a real SDR that reads:
SoapySDR driver=airspyhf,serial=c852eb5dd23539f8 · RX · SDR filters · LSB · USB · CW · CWR · AM · +7 modes
Longer than every other control in the bar combined — and it was also what forced the rig control wider than everything else.
All of it is already on the About tab, split across its Rig, Active rig, Connection, Modes and VFO rows, so the header was duplicating a table that presents the same data better.
Removed the element and the updateRigIdentitySummary builder behind it.
Two details
Rig-switch feedback is preserved. The summary doubled as a transient status line ("Switching to …"), which is worth keeping — it now goes through the existing hint channel instead of briefly rewriting a permanent label.
The rig identity stays in the header, as the display name in the left subtitle (Rig: Primary fixture). What's gone is the hardware/driver/mode detail, not the answer to "which rig am I on".
Effect
The freed width isn't spent: the tab strip now reaches Settings before it needs to scroll, where it previously faded out during Statistics. Header stays 72px.
Verified in Chromium at 1440px and 900px: element absent, bar 72px, overflow menu unchanged. Full gate green — typecheck, lint, 34/34 test, build, test:browser.
## What changed
The header repeated the active rig's hardware string and mode list beside the rig picker. With a real SDR that reads:
```
SoapySDR driver=airspyhf,serial=c852eb5dd23539f8 · RX · SDR filters · LSB · USB · CW · CWR · AM · +7 modes
```
Longer than every other control in the bar combined — and it was also what forced the rig control wider than everything else.
All of it is already on the **About** tab, split across its Rig, Active rig, Connection, Modes and VFO rows, so the header was duplicating a table that presents the same data better.
Removed the element and the `updateRigIdentitySummary` builder behind it.
## Two details
- **Rig-switch feedback is preserved.** The summary doubled as a transient status line ("Switching to …"), which is worth keeping — it now goes through the existing hint channel instead of briefly rewriting a permanent label.
- **The rig identity stays in the header**, as the display name in the left subtitle (`Rig: Primary fixture`). What's gone is the hardware/driver/mode detail, not the answer to "which rig am I on".
## Effect
The freed width isn't spent: the tab strip now reaches **Settings** before it needs to scroll, where it previously faded out during Statistics. Header stays 72px.
Verified in Chromium at 1440px and 900px: element absent, bar 72px, overflow menu unchanged. Full gate green — `typecheck`, `lint`, 34/34 `test`, `build`, `test:browser`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01GdyUjuXejCEfiub675z6cz
The header repeated the active rig's hardware string and mode list beside
the rig picker. With a real SDR that reads
SoapySDR driver=airspyhf,serial=c852eb5dd23539f8 · RX · SDR filters ·
LSB · USB · CW · CWR · AM · +7 modes
which is longer than every other control in the bar combined, and it is
already on the About tab in full, split across its Rig, Active rig,
Connection, Modes and VFO rows.
Remove the element and the builder behind it. Rig switching keeps its
feedback through the existing hint channel rather than by briefly
rewriting a permanent label, and the identity that belongs in a header —
the rig's display name — stays in the left subtitle.
The freed width is not spent: the tab strip now reaches Settings before
it needs to scroll, where it previously faded out during Statistics.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GdyUjuXejCEfiub675z6cz
Signed-off-by: Stan Grams <sjg@haxx.space>
Eight destinations sat flat in the tab strip with equal weight, competing
with the controls for the same row and then scrolling out of reach with
only a fade to say so. They are not equal: Radio is where an operator
spends nearly all their time, Bookmarks, Digital modes and Map are
operating surfaces, and Statistics, Recorder, Settings and About are
occasional.
The mobile layout already grouped them exactly that way, behind its More
menu, so the application carried two navigation models. Adopt the mobile
grouping at every width instead of adding a third: four operating tabs
plus More. The strip no longer scrolls at any width, and the menu keeps
its bottom-sheet placement on mobile while anchoring under its button
elsewhere.
Drop the labels between 701 and 1180px so the tabs degrade to their icons
— which every tab already carries — before the strip could ever need to
hide a destination.
Rename Main to Radio: it is the receiver, not a generic first page, and
the name now says what the destination is rather than where it sits.
Freeing that width also let the style picker and theme toggle return to
the bar inline, leaving only the layout picker in the overflow menu.
Navigating to About in the browser smoke test now goes through More, as a
person would.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GdyUjuXejCEfiub675z6cz
Signed-off-by: Stan Grams <sjg@haxx.space>
sjg
merged commit 27f2558193 into main2026-08-02 19:12:44 +02:00
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.
What changed
The header repeated the active rig's hardware string and mode list beside the rig picker. With a real SDR that reads:
Longer than every other control in the bar combined — and it was also what forced the rig control wider than everything else.
All of it is already on the About tab, split across its Rig, Active rig, Connection, Modes and VFO rows, so the header was duplicating a table that presents the same data better.
Removed the element and the
updateRigIdentitySummarybuilder behind it.Two details
Rig: Primary fixture). What's gone is the hardware/driver/mode detail, not the answer to "which rig am I on".Effect
The freed width isn't spent: the tab strip now reaches Settings before it needs to scroll, where it previously faded out during Statistics. Header stays 72px.
Verified in Chromium at 1440px and 900px: element absent, bar 72px, overflow menu unchanged. Full gate green —
typecheck,lint, 34/34test,build,test:browser.🤖 Generated with Claude Code
https://claude.ai/code/session_01GdyUjuXejCEfiub675z6cz