Repository navigation
fix(console): send members to an Installation administrator for repository setup and align deploy and Namespace copy - #3740
Conversation
…itory setup and align deploy and Namespace copy D754: the Repositories tab without repository access says the Installation has no repository access and, for anyone but a known Installation administrator, asks one to set it up; only an administrator keeps the setup guide link. The 'until an operator sets up repository access' sentence is gone. D755: a first deployment the caller cannot read gets the same summary card as a redeploy (Deployment accepted / You cannot read the version you deployed.), and the Namespaces page and the shell panel share one 'No readable Namespaces' heading.
…ona; narrow the first-deploy card check
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review endedClawSweeper stopped reviewing this revision because the pull request closed. |
|
Verification on a remote test VM (head 23428d2; 063b11e only drops an unused
UI media is not attached yet. The change is copy only. The member view has a Storybook story: Pages/Agent detail, "Repository access without a Repo Driver, for a member". |
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: fix(console): send members to an Installation administrator for repository setup and align deploy and Namespace copy This is item 1/1 in the current shard. Shard 0/1. This temporary status tracks the active review worker. The completed review will appear in the durable ClawSweeper review comment. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
Problem
A member walk of the console found four wording leftovers:
Change
agents/repositories.mts: one first sentence for everyone: "This Installation has no repository access, so this Agent cannot use repositories." The setup guide link now shows only to a known Installation administrator. Anyone else sees "Ask an Installation administrator to set it up." (askAdministratorTo). The "until an operator sets up repository access" sentence is gone. Save stays hidden in that state, as before. The follow-up sentences that tell the user how to continue without repository access are unchanged.agents/detail.mts: with no readable versions, a version that this tab deployed sets the card to "Deployment accepted" / "You cannot read the version you deployed." (one constant, also used by the redeploy note).namespaces.mts/console.mjs: oneNO_READABLE_NAMESPACESheading ("No readable Namespaces") for both places.tests/helpers/refusal-text.mjs. They cover a new member case for the Repositories tab, a summary-card check on the first-deploy test, and both Namespace headings. A new Storybook story covers the member view:Pages/Agent detail"Repository access without a Repo Driver, for a member".Two items from the same walk needed no change:
POST /namespaces/{id}/credential-sources403 names the Namespace ID that the request path carried. That is allowed by the denial rule (fix(iam): name the missing grant in a caller's own denial #3699/fix(api): name a denied resource the caller can already read #3712). The console never shows it to a member: Agent create is administrator-only, and Create Agent refuses up front. So no console text is rephrased and the API is not changed.PATCHof an Agent withoutconfigurationIdanswers 400 before 403. Fastify's schema validation runs before identity resolution and authorization (preHandler/ handler), so every Agent ID gets the same 400. It is not an existence oracle. Every console AgentPATCHsendsconfigurationId. API validation order is unchanged.Verification
checks-browserandchecks-browser-2lanes, and the touched browser files pinned 20/20 at 2 CPUs: see the comment below.tsc --build(incl. tests), Prettier, and ESLint on the touched files.Risks
Low. Console copy only. An administrator whose Installation-access answer is unknown (the probe failed) sees the member line without the link until a reload. A known administrator keeps the link.