✨ ScoutNext: responsive presentation, connection hardening + composer rework#203
Merged
Conversation
…yle connection log - DesignFrame: author every surface at the 393pt reference, scale down to fit the 13 mini, fill fluidly on larger phones (small + large iPhone presentation) - Cockpit kit: hand-drawn Glyphs, Theme palette, bottom StatusBar readouts, and the in-app TerminalHostedKeyboard - Friendly machine names (first host component) so a long Tailscale host no longer overflows the fixed-width status bar and shoves every surface off-screen - Projects list: leaf-dot rail aligns single-agent rows with the expandable ones; drop the redundant harness tag - Settings connection log: contained dark terminal block (time · event · message, color-coded by level) with URL-stripped messages instead of loud inspector rows - Home: neutral back-navigation — refresh in place, never blank to the loading state - Transport classification + tests; hkit build driver (hkit.ts/json) + run scripts - web SettingsScreen tweaks
Codex review (fresh project-scoped session via Scout) findings: - Status bar caps the machine readout — a long host truncates instead of forcing the bar (and every surface) past the screen; readouts get a stable id so pulse animations don't churn on each body pass - Route-disabled connection-log lines read as a warning, not muted - Fleet counts keep the last-good rollup on a failed poll (no zero-blink), mirroring the HomeSurface refresh guard - Classify ::1 as loopback rather than WAN (+ test) New session composer: - Reading order is now Project -> Agent (Harness+Model) -> Prompt -> Start - "Instructions" renamed to "Prompt"; taller editor - Floating, centered dictation mic (shared HudDictation) with a live partial transcript above it
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The New-session composer's harness menu now reflects what's actually installed on the connected Mac instead of a hardcoded list. - ScoutCapabilities: new `WorkspaceSummary` (readiness-aware harnesses) + `ListingCapability.listWorkspaces` with a default impl (source-compatible) - BridgeBrokerClient: `listWorkspaces()` over the already-served `mobile/workspaces` RPC; add the missing `mobile/workspaces` entry to `trpcRouteMap` (its absence surfaced as a misleading `encodingFailed`) - NewSessionSurface: harness menu = union of usable harnesses across the Mac's workspaces, defaulting to the selected project's `defaultHarness`; curated catalog stays as the offline fallback. Models remain curated (not machine cataloged). Load keys on `reloadToken` so it fills in once the bridge connects.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ScoutNext — responsive presentation + connection/composer polish
Reworks the ScoutNext iOS app for a clean small ↔ large iPhone presentation, hardens the connection chrome, and reworks the New-session composer. Reviewed by a fresh project-scoped Codex session via Scout; findings addressed in the second commit.
Presentation
DesignFrame— authors every surface at a 393pt reference width, scales the whole UI down to fit the iPhone 13 mini (375pt), and fills fluidly at ≥393pt. Verified on the 13 mini and the 17 Pro Max.Connection / routing
prettyMachineName→ first host label) so a long Tailscale host (arachs-mac-mini.tail1e8e67.ts.net) no longer overflows the.fixedSize()status bar and shoves every surface off-screen.time · event · message, color-coded by level);wss://URLs stripped from messages. Route-disabled lines read as warning, not muted.TransportClassification:::1classified as loopback rather than WAN (+ test).Surfaces
HudDictation).Tooling
hkitbuild driver (hkit.ts/hkit.json) +scoutnext/scoutnext:buildrun scripts.Test plan
swift test(scout-ios-core) — transport classification incl.::1.iPhone 17 Pro MaxandScoutNext 13 minisimulators across LAN and forced-TSN routes.Follow-ups (not in this PR)
mobile/workspaces; the iOS client just needs to consume it.HudLogViewto HudsonKit (the log block generalized).compactLogMessageURL-token hardening;DesignFramenarrow-floor / zero-size first pass; decide whether to wrap Settings/conversation surfaces inDesignFrame.