Repository navigation
Fix console leftovers from the UX review - #702
Merged
Merged
Conversation
SaladDay
force-pushed
the
fix-console-leftovers-from-ux-review
branch
from
October 14, 2026 10:07
74e6376 to
fc63157
Compare
A refresh after an uncertain save follows a successful read, so it keeps the "may be out of date" wording. Only the page's first read says the storage could not be read.
Hosted Runtimes showed Status (the Runtime observation, replaced by the sample reason when no sample came back) next to Recorded compute (the allocation's compute phase). Core derives the lifecycle state from that same phase, so both columns answered whether a sandbox uses compute, is suspended or is gone. Status now shows Core's lifecycle record alone, with a help tip. When an active sandbox has no sample, its CPU and Memory cells name why. The Session page's Runtime state uses the same rule and labels.
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.
What
This is Part 2 of UX polish lane E: the console leftovers from the UX review. I checked each premise in the code first, and all seven held.
retry: 1, which also retried 4xx answers. A read is now tried again only once, and only after a 5xx answer or a failed fetch (TypeError).retryTransientmoves tolib/queries.tsas that default. The eight per-queryretry: retryTransientoverrides in detail and Session queries were redundant and are deleted. Deliberateretry: falseoverrides stay, because their polling is the retry.coreErrorshowed Core's English message for any code without copy, e.g.invalid_requestor the client's 502invalid_admin_response, even in Chinese. Such codes now go through one copy entry,readFailure.code:coreFieldErroruses the same fallback.readErrorhad become identical tocoreError, solib/read-error.tsis deleted and its four callers usecoreError.useProjectCollection) now go throughcoreErrortoo, instead oferror.message.docsUrl(docs/getting-started/self-hosted), in the console's language.runtimeLifecycleStateinservices/core/internal/api/runtime_observations.go). Both columns answered whether a sandbox uses compute now, is suspended or is gone.allocationrow field are gone.diagnosticNextgives the next step one home.apps/web/PRODUCT.mdandapps/web/DESIGN.mddescribe the retry rule, the copy for unknown codes, the first-read copy, the toolbar rule, the column order, the failure block and the single Runtime Status.docs/web/index.mdand its zh translation no longer mention Recorded compute; the zh row uses the zh page names (监控 | 沙箱监控) and 项目, and the zhsource_hashis refreshed.Why
These are follow-ups from lanes A, B and D of the UX review, plus the re-walk of the deployed console. Retrying a 4xx answer doubled every definite refusal. Chinese pages showed English text. An empty project trapped the filter. The storage error referred to settings nobody had seen. The narrow Status cell squeezed a two-sentence next step.
Verification
pnpm --filter @oac/web typecheckvitest runacross all of apps/web, becauselib/queries.ts,lib/core-error.tsandlib/projects.tsxare shared: 71 files, 394 tests passed.session-queries.test.ts)core-error.test.ts)workspace-storage-view.test.tsx)session-diagnostics.test.tsx)e2e/resources.spec.ts)sandbox-runtime.test.ts)e2e/sandbox-lifecycle.spec.ts)chromechannel.diagnosticsandmonitoringnow look for the failure block and the docs link.resources,diagnostics,monitoring,overview-readinessandunified-settings, 36 passed.sandbox-lifecycle,monitoring,diagnosticsandunified-settings, 24 passed.make check-names,make check-docsandpnpm --dir website check-translationsSkipped
make check, per lane rules.Follow-up
About ten Web helpers still show
error.messagedirectly:errorTextandmessagein Overview, Session, Vaults, Default models, Session Runtime, session history, Agent metrics, Core metrics, Sandbox metrics' hosted read and Node host. In Chinese they still show Core's English text. Moving them tocoreErroris a separate sweep.Merging with #701
Whichever of #701 and #702 merges second gets small conflicts with adjacent lines:
apps/web/PRODUCT.md,apps/web/e2e/diagnostics.spec.ts:57,en/sessions.ts,zh-CN/sessions.tsanddocs/zh/web/index.md. Keep #702's structure (locators, Status copy, the Sandbox metrics row,source_hash) and #701's terms (e.g. 模型提供商认证失败).