Skip to content

feat(spec): ActionSchema — opensInNewTab + newTabUrl zero-roundtrip new-tab contract - #1787

Merged
xuyushun441-sys merged 1 commit into
mainfrom
feat/spec-action-newtaburl
Jun 12, 2026
Merged

feat(spec): ActionSchema — opensInNewTab + newTabUrl zero-roundtrip new-tab contract#1787
xuyushun441-sys merged 1 commit into
mainfrom
feat/spec-action-newtaburl

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

Summary

  • Add opensInNewTab (documents the existing renderer convention: pre-open the tab synchronously on click, popup-blocker-safe, then drive it to the handler's redirectUrl) to ActionSchema
  • Add newTabUrl: a direct new-tab URL template ({recordId} placeholder). When set together with opensInNewTab, the renderer navigates the pre-opened tab to it immediately on click — no action POST. The target endpoint must perform all auth/authz itself.

Motivation

The cloud console's environment Open button felt laggy: the click paid a full POST round trip before the popup started navigating, even though GET /sso-open re-runs every check server-side (defense in depth). This contract lets metadata declare the zero-roundtrip path. Renderer support: objectui PR (app-shell fast path); first consumer: cloud sys_environment.sso_as_owner.

Test plan

  • pnpm --filter @objectstack/spec build
  • pnpm --filter @objectstack/spec test — 240 files / 6529 tests ✓

🤖 Generated with Claude Code

…ip contract
Documents the existing opensInNewTab renderer behavior in the schema and
adds newTabUrl: a direct new-tab URL template ({recordId} placeholder)
the renderer navigates the pre-opened tab to immediately on click,
skipping the action POST. The target endpoint must enforce all
auth/authz itself (e.g. the cloud /sso-open endpoint, which re-runs
every check the POST half would have done).
Removes one full network round trip of white-screen latency from
click-to-popup on actions like sys_environment sso_as_owner.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercelBot commented Jun 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJun 12, 2026 1:24pm

Request Review

@xuyushun441-sys
xuyushun441-sys merged commit b1c6ec9 into mainJun 12, 2026
12 checks passed
@xuyushun441-sys
xuyushun441-sys deleted the feat/spec-action-newtaburl branch June 12, 2026 13:36
xuyushun441-sys added a commit that referenced this pull request Jun 14, 2026
* docs(skills): sync objectstack-* skills with 9.0→9.4 changes
Audited all changes from @objectstack/types@9.0.1 to 9.4.0 and updated the
six skills whose documented contracts had drifted or gained capabilities:
- ui: fix matrix report example (rows down × columns across, ADR-0021 D2) +
drilldown; add Action opensInNewTab/newTabUrl (#1787); App.hidden (ADR-0045);
userFilters toggle deprecation
- platform: correct namespace prose — manifest.namespace is enforced
(ADR-0048, validateNamespacePrefix/NamespaceConflictError); split-app boot
sequence; os package install/publish; cloud-connection; sys_metadata opt-in
- automation: inbound webhook (api) triggers + queue prerequisite (ADR-0041);
ADR-0044 send-back-for-revision (revise/back edges, maxRevisions)
- api: document the /meta REST surface — ?preview=draft (#1763), ?package=
(ADR-0048), /meta/doc content omission (ADR-0046)
- ai: built-in data_chat assistant + visualize_data + query-only gate
(ADR-0040); fix stale guardrails example keys; model-registry providers
- data: seed lookup id-fallback (#1814)
query/formula/i18n skills required no changes (no contract drift in range).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* chore: add empty changeset for docs-only skills sync
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@xuyushun441-sys@os-zhuang