Skip to content

Follow-ups: wire showcase smoke into CI gate + declarative form navigate/reset #1849

Description

@xuyushun441-sys

Two follow-ups deferred from the showcase-QA sweep (the substantive fixes + the live smoke + successMessage already landed: #1829, #1843, #1844, #1847, #1848).

1. Wire the showcase smoke into a CI gate

e2e/live/showcase-smoke.spec.ts (#1847) sweeps every showcase nav surface and asserts health (no render crash, no leaked no actions configured placeholder, charts draw non-zero-size SVGs). It currently runs only in the live suite (playwright.live.config.ts) against a manually-started stack — it is not in the blocking Build & E2E gate (which serves a backend-free production bundle for blank-page smoke).

To gate on it, CI needs a two-server + browser harness:

  • boot the ObjectStack backend serving examples/app-showcase (in-memory SQLite) — cross-repo: the showcase lives in objectstack-ai/framework;
  • build + serve the console frontend;
  • run the live config (its global-setup already signs in).

Design question: does this live in framework CI (which already boots example apps in the Dogfood gate, and depends on the console package) or objectui CI (which owns the spec but not the framework showcase)? Likely framework, invoking the published console + a copy/import of the smoke.

2. Declarative form success: navigate + reset

successMessage (declarative success toast) landed in #1848. The other two behaviors from the original ask still need plumbing:

  • navigate-after-create (e.g. go to the new record): the form layer has no router hook — only window.location (a full reload that drops the toast). Needs a proper SPA-navigate primitive injected into ObjectForm/WizardForm.
  • reset-for-another-entry: ObjectForm has a resetOnSubmit path; WizardForm would need to return to step 1 cleared.

Proposed shape: onSuccess?: { toast?: string; navigate?: string; reset?: boolean } (or extend the existing field), with {id}/{recordId} interpolation for navigate.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions