Skip to content

chore(app-shell): remove the legacy monolith detail renderer + the renderViaSchema kill-switch (ADR-0085 PR4) #2181

Description

@os-zhuang

What

Delete the legacy monolithic DetailView branch inside packages/app-shell/src/views/RecordDetailView.tsx (~1700-line file; the non-schema-driven path), together with its two entry points:

  • objectDef.detail?.renderViaSchema === false (the last surviving detail.* key — ADR-0085 removed the block from the spec; this key was deliberately kept ONLY as this path's kill-switch)
  • the ?renderViaSchema=0 debug URL param

Why

The dual render path taxes every detail-page feature twice: the fieldGroups wiring (#2149/#2168) had to be implemented in BOTH the monolith and the buildDefaultPageSchema synth, and the two implementations already diverged once (ungrouped-field behavior). Evidence the path is dead: schema-driven has been default-on since Track 3 Phase G, and a two-repo + examples scan found ZERO authors of renderViaSchema: false.

Trigger condition

Soak: let the schema-driven path (with the ADR-0085 consumer switch, objectui#2168) ride through 1–2 release cycles with the Dogfood Gate green, then operate.

Checklist

  • Remove the legacy branch from RecordDetailView + the renderViaSchemaFlag plumbing
  • Drop the detail.renderViaSchema read (last objectDef.detail reference in the repo)
  • framework companion: remove renderViaSchema from any remaining spec typing/docs if still present
  • Browser-verify detail pages across showcase objects (grouped / ungrouped / stageField:false / related-heavy) before merging
  • Update tests that exercised the legacy branch

Context

ADR-0085 (framework docs/adr/0085) Alternatives + Consequences record the decision; the revision comment on #2149 and PR objectui#2168 both note this follow-up.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions