Skip to content

Preprod Release#215

Merged
rado0x54 merged 5 commits into
mainfrom
develop
May 18, 2026
Merged

Preprod Release#215
rado0x54 merged 5 commits into
mainfrom
develop

Conversation

@rado0x54
Copy link
Copy Markdown
Owner

No description provided.

github-actions Bot and others added 5 commits May 5, 2026 12:22
chore: update CHANGELOG.md for v1.0.1
* fix: prevent wordmark cutoff in README by widening viewBox

* feat: restrict Observer Mode sidebar entry to admin accounts

* feat: add empty-state explainer to Observer Mode page

* docs: add ready-to-copy sshd_config one-liner to Requirements

* feat: show ready-to-copy echo+tee one-liner in onboarding sshd step

* feat: replace Sign Out text with Docs, GitHub and Logout icons in sidebar footer

* feat: collapsible account row in sidebar footer, with inline logout

* feat: expand account row on hover, auto-collapse 3s after click

* fix: add 1s grace period before hover-collapsing the account row

* fix: shorten account row hover-collapse grace to 500ms

* revert: show Observer Mode to all accounts; empty-state copy is the explainer

* fix: grep-guard onboarding sshd one-liner to avoid duplicate appends

* fix: only wire account menu keydown listener while menu is open

* revert: drop grep-q guard from sshd one-liner in README and onboarding
* feat: per-endpoint SSH agent forwarding toggle

* chore: move agent-forward toggle below description, shorten hint

* chore: trim agent-forward hint to single sentence

* fix: split block-level help class so description's inline hint isn't broken
* feat: virtual demoEndpoints config with per-account show toggle

* feat: /demo/authorized-keys lookup + persisted passkey fingerprint

* revert: /demo/authorized-keys lookup + persisted passkey fingerprint

Demo auth is now handled inside the demo container (blanket-allow on a private docker network), no per-user pubkey lookup needed. See #211.

* feat: trim onboarding, lift setup docs to a Settings tab, split SSH keys

Onboarding drops Server Setup, Endpoints, MCP and Advanced steps; users land in the app right after passkey + notifications. Endpoints page no longer carries the UV hint-block, gains an Add Endpoint wizard that prepends a Server Setup step for first-time users, and renders the default shellwatch@ prefix as a gray adornment with a warning on blur. New /settings/setup tab consolidates the lifted help content. /settings/keys renamed to Passkeys; file-based SSH keys move to a separate admin-only Other SSH Keys tab. formatEndpointAddress always renders the username so the wire-level user is unambiguous in the UI.

* chore: align primary actions across Settings pages

Add Endpoint and Generate API Key now sit below the list, left-aligned, in the same .register-section pattern as Add passkey. Generate API Key opens a form modal (label + scopes) instead of an inline form; the existing key-display modal still shows the minted key. Demo Endpoints toggle moves to sit next to the section headline instead of the right edge.

* feat: restructure Settings Setup tab into collapsible per-integration cards

Replace the three-section Setup tab with five collapsible cards (SSH Server, Endpoint, MCP Client, ShellWatch Agent, ShellWatch PAM). Each card has a short explanation and minimum-step setup; Endpoint Setup adds a full field reference covering Label, Address, Description (with a callout on its role for MCP agents), UV, and SSH Agent Forwarding. MCP URL renders the actual origin; Agent install link points at the dedicated agent/v* release stream on GitHub; OpenSSH 10.3+ client requirement noted for the Agent flow. PAM step 3 spells out that the endpoint needs agent forwarding so SSH_AUTH_SOCK is forwarded. ServerSetupGuide placeholder shows a realistic example webauthn-sk one-liner.

* feat: optional description on seed/demo endpoints; expose demo endpoints to MCP

SeedEndpointSchema gains an optional description (max 1000 chars), which propagates to seedAdminEndpoints inserts and to the demo-endpoint synthesizer — so operator-configured context now surfaces in MCP's list_endpoints response. AgentSession and the shellwatch_manage_endpoints tool merge demo entries into the per-account list when accounts.showDemoEndpoints is on; read resolves demo:* ids via the synthesizer; create/update/delete reject demo ids with a clear error. AgentSession.createSession also resolves demo ids so MCP-driven session opens reach demo principals.

* chore: address review feedback (#214) — empty-demo gate, integration coverage, signal-chip badge

Hide the Demo Endpoints section + toggle on deployments with no demoEndpoints in config (new demoEndpointsAvailable field on /api/auth/me). Thread $account?.name into the wizard's ServerSetupGuide so the authorized_keys comment carries the real account, not 'user'. Sidebar gains a demo signal-chip below the endpoint label, reusing the global .badge convention. Doc comments on the showDemoEndpoints visibility-vs-auth semantics and on the seed-export side effect of formatEndpointAddress always emitting the username. Locks in the c228350 MCP demo wiring with 7 REST + 6 MCP integration tests.

* test: cover demoEndpointsAvailable on GET /api/auth/me

Two-case unit test for the field that gates the Settings → Endpoints demo section: false when the operator configured no demoEndpoints, true when at least one is present. Behavior was indirectly exercised in demo-endpoints-flow.test.ts; this nails it down in the most direct test surface.
@rado0x54 rado0x54 merged commit 0ba879c into main May 18, 2026
52 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant