Skip to content

[P3] Report: prune dangling ReportColumnSchema/ReportGroupingSchema exports + retire the legacy ReportViewer fallback #3463

Description

@os-zhuang

Deep-cleanup follow-up from the report-chart disposition (#3441, umbrella #1878). #3441 was the non-breaking accuracy fix; these two items are breaking / cross-repo and were deferred.

1. Prune the dangling ReportColumnSchema / ReportGroupingSchema

After the ADR-0021 single-form cutover, a dataset-bound report expresses columns/grouping as dataset measure/dimension name arrays (rows/columns/values = z.array(z.string())). ReportColumnSchema / ReportGroupingSchema (packages/spec/src/ui/report.zod.ts:26-41) are referenced by no schema body — they survive only as public type exports (ReportColumn/ReportGrouping/…Input) and were marked @deprecated in #3441.

  • Remove the schemas + their type exports from @objectstack/spec.
  • Remove the objectui re-exports (@object-ui/types spec-report.ts SpecReportColumn* / SpecReportGrouping*, index.ts:694-712).
  • Breaking (public exports) → schedule with a major + a one-line migration note. Coordinated framework + objectui PRs.

2. Retire the legacy ReportViewer chart path

DatasetReportRenderer (objectui) is the live, primary report renderer — it plots the spec chart.xAxis/yAxis as dataset dimension/measure via useDatasetRows. The older ReportViewer (reads the invented xAxisField/yAxisFields, ReportViewer.tsx:326-330) is only a fallback now (app-shell/.../ReportView.tsx:502-508).

Refs #1878, #1890, #3441.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions