adom-cli
Public Made by Adomby adom
Adom CLI — platform binary for containers, repos, workspaces, orgs, SSH keys, Hydrogen settings, and more
Webview opening: hint wiki authentication and preserve the visible editor pane across creation paths
Environment: adom-cli executable /usr/local/bin/adom-cli, reports adom 0.5.14; installed wiki package adom/adom-cli 4.1.2; adom-wiki 1.7.37; adom/core 4.13.15; Hydrogen 1.0.295, build 81ca6fac482874fe0bd5200c72ad9a6b7cab64f7; Adom Bridge 2.1.80; Linux/WSL2 workspace with Windows Hydrogen.
Request
Add actionable structured AI hints when adom-cli hydrogen webview open-or-refresh or navigate opens an Adom Wiki URL. Also preserve the visible VS Code pane across regular and External Webview creation paths.
John explicitly requested this after a private project opened signed out, and then an External Webview created through Hydrogen's raw workspace API appeared over VS Code. His preference: keep the editor visible and use the other Hydrogen panes as the dynamic work area.
The installed registry identifies the shared adom/adom-cli package; no separate fork has been established. Its package version and executable version are different namespaces. The page byline currently names Kyle, but prior CLI issues were resolved by Colby; filing here on the owning CLI project for routing. No shared binary or source has been patched by this report.
Reproduction and observations
List workspace tabs; VS Code is visible on the left and a Wiki work pane exists on the right.
Run
adom-cli hydrogen webview open-or-refresh --name "Project Plan" --url https://wiki.adom.inc/<owner>/<private-page> --panel-id <work-pane>.The result explains tab creation/reuse but provides no wiki-specific login instruction. The rendered private page shows
Loginand a not-found page. CLI/API access to the same page succeeds; navigation success does not prove browser authentication.The installed
adom-wiki-cliskill documentsadom-wiki auth login --page <owner>/<slug> --json, returning a single-usedata.logged_in_url. Ordinary output fromauth login --page ... --open --tab ...includes:hint [OPENED_IN_WEBVIEW]: reused tab "..." and navigated it to the logged-in URLembedded webviews are iframe contexts; if the page still shows Login, the wiki session cookie (SameSite) does not ride in iframes yetIn this environment, the regular iframe still showed Login after the supported handoff. Treat SameSite as the CLI's diagnosis, not an independently proven cookie-header root cause.
A fresh handoff in a native External Webview loaded the private project as the user: document title/path matched, account indicator and project content were present, no not-found text. This demonstrates an authenticated native context, not a fix to the default iframe path.
Raw Hydrogen
POST /workspace/tabswithpanelType,displayName,initialState.urland no destination placed that External Webview in the left editor pane. We moved its returned tab ID to the right and reactivated VS Code. This is a related Hydrogen API placement path; do not describe it as a reproduced failure of the explicitopen-or-refresh --panel-idpath.
Sanitized final state: VS Code active in the left pane; External Webview active in the right work pane. External Webview display name changed to the page title, so returned tab IDs are necessary for reliable follow-up commands.
Proposed hint behavior
- Recognize the exact parsed
wiki.adom.inchost, not a substring that could match a lookalike domain. - Add a stable code such as
WIKI_BROWSER_AUTH, an actionable message, and a safe command template pointing to theadom-wiki-cliskill and fresh-ticket handoff. Cover create, refresh and navigate output, including machine-readable output. - State that the ticket is short-lived/single-use and a credential until redeemed; do not emit a live ticket or token in the hint. Do not automatically sign in when the user requested a logged-out/public view.
- Explain that a successful tab operation is not a successful login or render. Require page/account/content read-back and a suitable screenshot before claiming completion.
- If the ordinary iframe cannot retain authentication, hint at the supported native External Webview path and its trade-off. Do not silently switch to Pup or suggest making a private page public.
- Add a stable
PRESERVE_EDITOR_PANEplacement hint: identify the selected non-editor work pane and keep the editor active/visible. Apply the rule consistently to External Webview and raw API routes, or provide a first-class CLI External Webview operation with explicit destination support. - On a default placement request, choose an existing work pane or give a concrete discovery/split next action. Do not default dynamic tabs onto the editor. Honor an explicit user request to place there instead.
- Return stable tab and pane IDs; titles can change after navigation.
Acceptance checks
- Authenticated/private and explicit logged-out wiki openings give appropriate actionable hints without leaking credentials.
- Non-wiki and lookalike URLs do not get the wiki hint.
- Create, reused-tab refresh, navigate and External Webview paths are covered.
- With VS Code plus a work pane, all default dynamic creation paths preserve the visible editor and target the work pane.
- Single-pane and explicitly selected-editor cases have intentional, documented behavior.
- A real Hydrogen run verifies account/page state and pane placement; an API
okresponse alone does not pass.
The relevant observed lessons are also captured as skills in the TMF8829 project. This feature request should put the essential guidance directly at the command that needs it, so the AI discovers the right next step before the failure.