Stop the shell asserting things that are not true
The footer was rebuilt on a real ledger two commits ago. The rest of the shell was never audited the same way, and a multi-agent pass over it found the same class of defect everywhere else: - A sidebar card reading "Buzz · lumbridgecode / connected · signed identity" in the success colour. lumbridge-buzz is not a dependency of this binary. - A saved host "amd-server", and a WORKTREES section with five entries and a working selector, backed by a lumbridge-git crate that does not exist. - A first-run workspace of six panes announcing "Codex · runtime / metal · Tailscale SSH", "Claude Code · UI / MacBook Air · local" and a Pi pane on a saved host. Every one of them was a /bin/sh, and the machine names were this developer's. - A declared "Pi · spark-1 · laguna-s-2.1" usage profile with no probe of any kind behind it. Declaring a profile promises the gap is real; that one could never be filled. - FOOTER_CENTER = "Codex · ChatGPT subscription · 62% window remaining", rendered by the Floem shell. Decision 0013 names that exact form as the thing that must never be shown. - The header's PTY count painted green unconditionally, so "0/5 LIVE PTYS" read as success. runtime_rows already had the right rule three hundred lines away. - A browser panel describing itself as "An isolated system-web-engine surface" on the chooser screen where you pick it. There is no web engine in this build. First run is now three real local shells, and a pane claims a harness when one has actually been launched into it. The seed mapping stays for when that is possible. Also removes the only unsafe block in the shell: a test set LUMBRIDGE_*_PROBE through the environment, which needs unsafe under edition 2024 and silently disabled both probes for every other test in the binary. Replaced with UsageFeedOptions passed to start_with. Clippy pedantic on the spike goes 79 -> 15 against root CI's -D warnings, so graduating it into the workspace is not gated on a warning cleanup. The four remaining too_many_lines are the render split, which the sidebar work needs to do anyway. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
219c674aea
commit
834b73e831
@@ -12,8 +12,7 @@ use floem::{
|
||||
window::WindowConfig,
|
||||
};
|
||||
use lumbridge_spike_model::{
|
||||
FOOTER_CENTER, FOOTER_RIGHT, FocusDirection, PaneId, PaneState, ShellAction, ShellModel,
|
||||
SurfaceKind, WORKSPACES,
|
||||
FOOTER_FIXTURE_NOTICE, FocusDirection, PaneId, PaneState, ShellAction, ShellModel, SurfaceKind,
|
||||
};
|
||||
|
||||
const BG: Color = Color::from_rgb8(9, 12, 18);
|
||||
@@ -132,22 +131,16 @@ fn render_pane_card(pane: PaneState, selected: bool, model: RwSignal<ShellModel>
|
||||
}
|
||||
|
||||
fn sidebar() -> impl IntoView {
|
||||
let worktrees = Stack::from_iter(WORKSPACES.into_iter().enumerate().map(|(index, name)| {
|
||||
Stack::vertical((
|
||||
Label::new(name),
|
||||
Label::new(if index == 0 { "main · metal" } else { "" })
|
||||
.style(|s| s.font_size(10.0).color(MUTED).margin_top(2.0)),
|
||||
))
|
||||
.style(move |s| {
|
||||
s.width_full()
|
||||
.padding_vert(7.0)
|
||||
.padding_horiz(10.0)
|
||||
.margin_bottom(3.0)
|
||||
.color(if index == 0 { TEXT } else { MUTED })
|
||||
.apply_if(index == 0, |s| s.background(PANEL_ALT).border_radius(5.0))
|
||||
})
|
||||
}))
|
||||
.style(|s| s.flex_col().padding_horiz(8.0));
|
||||
// The worktree list this shell used to render came from a five-entry
|
||||
// fixture naming this developer's machines, backed by no git integration.
|
||||
// The GPUI shell's copy was deleted in the same pass; this one renders the
|
||||
// workspace it is actually open on.
|
||||
let worktrees = Stack::vertical((Label::new("Lumbridge Code"),)).style(|s| {
|
||||
s.flex_col()
|
||||
.padding_horiz(8.0)
|
||||
.padding_vert(7.0)
|
||||
.color(TEXT)
|
||||
});
|
||||
|
||||
Stack::vertical((
|
||||
Label::new("ATTENTION · 1").style(|s| s.font_size(10.0).color(ATTENTION).padding(12.0)),
|
||||
@@ -434,8 +427,7 @@ fn app_view() -> impl IntoView {
|
||||
})
|
||||
})
|
||||
.style(|s| s.flex_grow(1.0)),
|
||||
Label::new(FOOTER_CENTER).style(|s| s.flex_grow(1.0)),
|
||||
Label::new(FOOTER_RIGHT),
|
||||
Label::new(FOOTER_FIXTURE_NOTICE).style(|s| s.flex_grow(1.0)),
|
||||
))
|
||||
.style(|s| {
|
||||
s.height(32.0)
|
||||
|
||||
Reference in New Issue
Block a user