Repository navigation
fix(app-shell): Studio Interfaces names a package with no app by its display name (objectui#12718) - #12849
Merged
objectstack-fleet[bot] merged 3 commits intoOct 17, 2026
Conversation
…display name (objectui#12718) The pillar seeded its app label with the package id and the app resolve returned on the no-app branch before setting one, so the rail heading and the pillar title read the id beside a top bar reading the package name. The surface now hands the pillar the name from the package list it already reads for the writability gate, and the pillar holds no app label until an app is found. A draft-only app is named by its `_drafts` row's label. Claude-Session: https://claude.ai/code/session_017wgGVVegwUuFc4uhBx7Lot Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017wgGVVegwUuFc4uhBx7Lot Co-authored-by: Claude <noreply@anthropic.com>
…udio-no-app-package-label
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
Contributor
Author
席位核对 · ACCEPT ·
|
objectstack-fleet
Bot
deleted the
claude/issue-12718-studio-no-app-package-label
branch
October 17, 2026 03:39
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.
Fixes #12718
Clause-②: no
What
On the Studio Interfaces pillar of a package that has no app yet, the rail heading and the pillar title now name the package by its display name, the same name the top bar shows, instead of its id.
COM.QA.RECHECK · NAVIGATIONand titlecom.qa.recheck, under a top bar readingQA Recheck.QA RECHECK · NAVIGATIONand titleQA Recheck.A package whose manifest declares no name still shows its id, because that is the only name it has.
A draft-only app (created, never published) is now named by the label its pending-draft row serves, as the shell header already names it, instead of by its machine name. A published app keeps its own label.
Mechanism (measured at main 5e15928)
InterfacesPillarstarted its app label withpackageId. The app resolve returned on the no-app branch before it ever set a label, so the id stayed.fetchPackages()answer, the read it makes for the read-only gate. That read now also keeps the package entry, and the surface passespackageLabelto the pillar./api/v1/packagesis read at most once.packageId.railAppLabel, objectui#12688), the pillar title, and the create dialog's description._draftsrow'slabel(served since metadata-protocol/spec: the_draftsheader carries no label, so a draft-only item can only be shown by its machine name (ListDraftsResponseSchema drops the label the repository already reads) objectstack#22200) and falls back to the app name.packageIdfallback can never be reached: a row without a name drops to the drafts or no-app branch. It is left unchanged.Tests
StudioDesignSurface.noAppPackageLabel-12718.test.tsxrenders the real surface with the package list stubbed. It has 4 tests:Ablation, with the fix committed first and a trap that restores the file:
Family: 226 files that name
StudioDesignSurface,appLabel,navHeadingordisplayAppLabelall pass (1855 tests).Live reading
Backend from
e2e/live/ci/start-backend.sh(published 18.0.0-next.2).POST /api/v1/packageswith a named manifest and no app returned 201.Screenshots are on branch
claude/issue-12718-evidence, underevidence/12718/. A live reading of a draft-only app was NOT MEASURED; the unit test covers it.Acceptance notes
AppSchema.labelis required by the spec, so the existing app-name fallbacks were left in their current order. The package name comes before the id only, not before an app's own name.objectui:packages-changed(the top bar does). After a rename made elsewhere, the no-app heading updates on the next remount. Noted, not filed.Clause-② reason: no export, type member, spec key or language-pack key changes.
InterfacesPillargains an internal prop and is not exported from the package entry.Provenance: built by the cloud session
session_017wgGVVegwUuFc4uhBx7Lot(claim6228641111) and opened by thedomain:uiseat 1 PM (session_011K9g23W67dy2zwnyzaoB6o) from that session's final message, because a cloud session cannot open a PR from its container. The seat replaced the dev's footer line with this paragraph and changed nothing else.Generated by Claude Code