Uh oh!
There was an error while loading. Please reload this page.
chore: release packages - #1961
Merged
Merged
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub. |
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@object-ui/app-shell@7.1.0
Minor Changes
7b5d0f0: Build-history timeline + revert UI for AI builds (ADR-0067)
The unpublished-app banner gains a History button that opens a commit timeline (
GET /packages/:id/commits): every change an AI build/edit landed, newest-first, with Revert per apply commit (POST /packages/:id/commits/:cid/revert). The history-not-confirm model — review the timeline and revert, instead of approving each publish.commitHistory.ts—fetchCommits/revertCommithelpers.CommitTimeline.tsx— slide-over panel (sibling ofDraftChangesPanel).UnpublishedAppBar— History button + timeline mount (package-scoped).7cd950e: feat(metadata-admin): dataset create opens the rich designer + dual-axis preview
datasetjoinsobject/reportinCREATE_MODE_CANVAS_TYPES, so "New dataset" opens the structured designer(base-object picker, joins, dimension/measure editors, live preview) instead
of the degraded generic SchemaForm.
DatasetDefaultInspectorgains acreate-mode Name field that auto-derives a snake_case identifier from the
label until edited (mirrors
ReportDefaultInspector/ObjectDefaultInspector),so a dataset created through the canvas saves with a valid identity instead of
dead-ending.
(e.g.
utilization,0.0%) with magnitude measures (currency in thehundred-thousands), the ratio measures now plot as a line on a secondary
(right) Y axis via the existing
combochart — they're no longer crushed to aninvisible sliver beside the large bars. Same-scale selections stay a plain bar
chart.
fccebfe: feat(metadata-admin): visual filter authoring in the dataset designer
The dataset designer gains a visual filter editor (reusing the shared
FilterBuilder) for both the dataset-level Scope filter (dataset.filter)and per-measure Filter (
measure.filter) — previously only settable via theraw Source/JSON tab. Both are backed by real runtime: the analytics executor ANDs
the scope filter into every query and runs measure-scoped filters as supplementary
grouped queries, so e.g.
won_amount = sum(amount) where stage = wonand an"exclude archived" dataset scope are now authorable without hand-writing JSON.
A small, unit-tested converter bridges the builder's flat
{field, op, value}group ⇄ the spec
FilterCondition(Mongo-style$and/$op). Conditions itcan't faithfully round-trip (nested groups,
$or, multi-operator objects) aredetected and shown as "edit in Source" rather than being silently rewritten.
0acf0c8: feat(metadata-admin): friendlier + safer dataset measure authoring
The
datasetdesigner's measure editor gets three improvements so a businessuser can author measures without spec knowledge and without saving a broken
dataset:
format/currencynumeraltext inputs with a structured Kind (Raw / Number / Currency / Percent) +
Decimals + Currency selection and a live sample (e.g.
US$1,234.50). Parsesan existing format string back into the picker, so editing an existing measure
round-trips.
still unnamed defaults the name to the field's leaf (
account.region→region).relationship.fielddimension/measure whoserelationship isn't in
includenow shows an inline warning with a one-click"Add it", catching at design time the "relationship not declared in include"
error that previously only surfaced when the live preview query ran. A derived
measure with too few operands is flagged too.
3e1fcf5: feat(chatbot): reveal the Build/Ask switcher in the app floating assistant when AI dev is unlocked
The bottom-right FAB assistant bound each app to a single agent and hid the
agent picker unless
VITE_AI_SHOW_AGENT_PICKERwas set, so a user on anAI-unlocked environment could not switch from
ask(read-only data/query) tobuild(authoring) without leaving for the full/aipage.The picker now auto-reveals when AI development is unlocked for the viewer — the
live agent catalog serves BOTH an
askand abuildagent (alias-aware, solegacy
data_chat/metadata_assistantcount) AND authoring isn'tdeployment-disabled (
aiStudio). Pure end-user apps (onlyask) stay clean andnever see a picker. An explicit
showAgentPickerprop orVITE_AI_SHOW_AGENT_PICKERstill forces it on.e2b0072: Flow builder: live preview for Screen nodes (Flow builder: live preview for Screen nodes #1944)
Screen-flow nodes were authored blind — there was no way to see the form an end user would get, and the Debug simulator showed only
pausedwhen it reached a screen. Add a live preview that renders the screen exactly as it runs.The runtime
FlowRunner's screen body (flat input fields + object-form mode) is extracted into a sharedScreenView, so the preview reuses the same renderer as runtime and can't drift (the design↔runtime divergence fix(studio/flow): wire decision branches to edges, expand screen config, align simulator #1927 fixed). A newScreenPreviewbuilds aScreenSpecfrom the node's authoredconfigand feeds it toScreenView.title,description(with{var}interpolation), inputfields, and object-form mode (objectName/mode/defaults, rendered viaplugin-form'sObjectForm).paused).780cabc: feat(studio): add a "Local / Custom (this env)" scope to the package selector
In a self-hosted, metadata-customizable environment (single-tenant — no org
dimension), the package selector only listed code packages, so metadata authored
at runtime (
package_id = null/sys_metadataprovenance) was filtered out ofevery code-package view and became un-navigable — opening such an item redirected
to "new". This complements framework Console 记录详情页 script 动作失败时错误 toast 弹两次(删除动作同样成功/失败都重复) #2252 + objectui fix(studio): localize lookup picker config + keep published org objects editable #1937, which stop runtime
metadata from being stamped into a loaded code package and keep it editable.
Studio package context-selector (
ContextSelectors), mapped to thesys_metadatascope the metadata list/get API already understands.StudioHomePage,DirectoryPage,ResourceListPage) via a sharedbuildPackageScopeOptionshelper, so it no longer redirects, and the list shows this environment's
runtime-authored items (
package_id = null).the user can start authoring locally even with zero items yet.
93cf2b1: feat(studio): preview record pages against a real sample record
The Studio page editor's Preview tab rendered a
type: 'record'page'srecord:*blocks (details / highlights / path / alert / quick_actions) as the"bind a record to preview" placeholder — the metadata editor has no record
route, so the author designed blind.
The preview now fetches a handful of real records of the bound object (with
lookup / master_detail fields
$expanded so they show display names, not rawforeign-key IDs), auto-binds the first one, and wraps the canvas in a
<RecordContextProvider>— mirroring the runtimeRecordDetailView. A"Preview record" dropdown lets the author switch records, so
visibleCELexpressions (e.g.
record.status == 'in_review') and per-record field valuesre-render live.
Patch Changes
68d82ae: New script action seeds a valid body; add create-roundtrip conformance guard
A new action defaults to
type: 'script', which the spec requires to carry an executablebodyortarget— the create form seeded neither, so "New action → Save" failed validation (422). Seed a no-op L2 body increateDefaultsso the default create round-trips. Adds a conformance guard that asserts every authorable type's default create-form output passes spec validation (catches the "designer minimal shape ≠ spec required" family before it ships).aae8791: Flow Screen preview: render inline master-detail subforms (follow-up to Flow builder: live preview for Screen nodes #1944)
The object-form mode of the Screen-node preview now renders inline master-detail
child grids, matching runtime.
ScreenPreviewfeeds the SAME enriched objectlist the runtime
FlowRunneruses (useMetadata().objects, which derivesform.subformsfrominlineEditrelationships viaattachInlineSubforms), soe.g. a
showcase_invoiceobject-form step previews its Line Items grid(with live Subtotal/Tax/Total) — only fetched in object-form mode.
To keep the preview non-persisting — consistent with the flat-field preview
(disabled Submit) and the simple object-form preview (no Save) —
MasterDetailFormnow honours a
showSubmitflag (default shown; backward-compatible) thatObjectFormforwards, so the preview hides the master-detail Save bar. Also dropsa dead
e = formDataassignment inObjectForm(lintno-useless-assignment).4014bc9: Flow Screen preview: gate fields by
visibleWhen(follow-up to Flow builder: live preview for Screen nodes #1944)The Screen-node preview now evaluates each input field's
visibleWhenagainstthe active variables — reusing the simulator's own condition evaluator
(
evalCondition), normalising{var}placeholders to bare identifiers — so ithides/shows conditional fields exactly as the runtime
screenexecutor does(which filters server-side before emitting the
ScreenSpec).opportunityName/opportunityAmountarevisibleWhen: "{createOpportunity} == true"hides them while
createOpportunityis false.condition keeps the field visible, so configured fields are never hidden on
missing data — and a footnote reports how many fields are gated out.
d27f045: fix(metadata-admin): remove the unwired "Certified" measure toggle from the dataset designer
measure.certifiedis dead in the spec liveness ledger (declared but read bynothing — no certifier authority, no provenance, not surfaced at point-of-use).
A self-asserted checkbox the dataset author flips on their own work isn't
certification — it's a fake trust signal. Drop the toggle (and the create
default) until real metric governance exists (separate
dataset.certifyauthority +
certifiedBy/certifiedAt+ a badge where reports pick measures).The spec field stays (dormant, liveness=dead) so existing data is untouched.
d23ed60: feat(studio): author the approval revise loop in the flow designer (ADR-0044)
The ADR-0044 send-back-for-revision loop — an approval node's
reviseout-edge to a wait point, closed by a declaredtype: 'back'edge re-entering the approval (round N+1) — was previously reachable only by hand-editing flow JSON. The flow designer now authors it visually:approve/reject/revisevia a new Approval-branch picker in the edge inspector;maxRevisionssurfaces on the approval node's property form (from the engine's published configSchema when online, with a hardcoded fallback offline).back(alsofault/conditional). A back-edge renders distinctly on the canvas as a dashed amber return arc and is excluded from the layered auto-layout (exactly as the engine excludes it from DAG validation), so the loop reads top-to-bottom instead of dragging its target node below the wait point.registerFlow), while a declared revise loop passes and a self-loop is caught.waitnode + thereviseedge + the declaredbackedge in a single gesture, reproducing the canonicalshowcase_budget_approvalshape.Refs framework#1770. Follows the flow-builder work in fix(studio/flow): wire decision branches to edges, expand screen config, align simulator #1927 and feat(studio/flow): context-aware Start trigger fields + explicit decision-branch binding #1930.
47c6e25: fix(studio/flow): wire decision branches to edges, expand screen config, align simulator with engine
Four fixes for the Studio Flow Builder, found dogfooding it as a business user:
node.config.conditionsbut never the outgoing edges, so a decision built entirely in Studio left every
out-edge unconditional — the engine and simulator (which branch on
edge.condition)ran all branches. Branches now mirror onto the node's out-edges (by order):
FlowCanvas.addNodecarries the matching branch onto a newly-connected edge, andFlowNodeInspectorre-syncs existing edges when branches are edited (atrueexpression marks the default/else edge).
fields; it now also editstitle,description(interpolates{var}),waitForInput, and the object-formkeys (
objectName,idVariable,mode,defaults) — so a message screen or anobject-form wizard step no longer requires dropping to Advanced JSON.
Debug run never reflected
Set variables. It now normalizes the same shapes theengine accepts (
assignmentsmap/array + flat) and interpolates{var}.pauses only when the screen collects input (
fields) or setswaitForInput,matching the engine's
shouldPause— a field-less screen passes through.http_requestalias while the engine publishes the canonicalhttp, showingtwo HTTP entries. The base now uses
http(merging into one), aliased to thehttp_requestconfig form so the inspector is unchanged.4c2f910: feat(studio): surface flow validation errors inline on the canvas
The flow designer's structural validation (an un-declared cycle, missing entry node, duplicate ids, dangling edges, …) was only visible in the Debug panel. It now surfaces inline on the canvas: an un-declared cycle paints its offending edges + nodes red — using the same
validateFlowDraftthe simulator preflight runs — and an error banner lists the messages, so the author sees a broken graph without opening Debug. Each edge that closes the cycle carries a tooltip pointing at the fix ("mark the edge that closes the loop as a back-edge"). A declared revise loop (ADR-0044 back-edge) is excluded from cycle detection and stays un-flagged.Follows feat(studio): author the approval revise loop in the flow designer (ADR-0044) #1954 (revise-loop authoring) and feat(studio): simulate approval decisions in the flow debugger #1955 (simulating approval decisions).
1b3ccd1: feat(studio): simulate approval decisions in the flow debugger
The designer-time flow simulator treated an
approvalnode as a pass-through that fanned out to every out-edge at once — so an ADR-0044 revise loop couldn't be debugged: it walked approve / reject / revise simultaneously and hit the step ceiling on the back-edge.The simulator now models an approval as a durable pause (like
wait/screen): it suspends at the node, and the Debug panel offers the node's out-edge labels (approve/reject/revise) as decision buttons. Resuming routes down ONLY the chosen branch — mirroring how the engine resumes a suspended approval by branch label — so a full revise loop is now walkable in the debugger: revise → wait → resubmit (back-edge) → round 2 → approve. An unmatched decision falls back to fanning out (mirroring the engine's label-fallback), logged so the author notices.Follows feat(studio): author the approval revise loop in the flow designer (ADR-0044) #1954 (ADR-0044 revise-loop authoring).
05584aa: feat(studio/flow): context-aware Start trigger fields + explicit decision-branch binding
Two flow-builder UX improvements (follow-ups to the decision/screen/simulator fixes in fix(studio/flow): wire decision branches to edges, expand screen config, align simulator #1927):
Objectand
Entry condition(record-trigger config) even on screen / manual flows wherethey don't apply. They're now gated by the chosen
triggerType— shown for record /schedule / webhook / event triggers, hidden for manual / unset (screen wizards). A
field that already holds a value is never hidden, so existing flows are unaffected.
now shows a Branch picker listing the source decision's branches (label · condition,
or "· default"). Picking one writes that branch's expression / label (or marks the
default) onto the edge — so routing stays correct even when edges are connected out of
branch order, instead of relying solely on the implicit by-order auto-wire. A
"— Custom —" option preserves manual editing.
Adds
flow-node-config.test.tscovering the trigger-field gating.44d4582: fix(studio): localize lookup picker config + keep published org objects editable
selectable-records filters, depends-on, page size, quick-create) was
hard-coded English in an otherwise-Chinese designer. Routed every literal
through
t()/tFormat()with newdesigner.field.lookup.*keys (en + zh).active version surfaces in the layered
codeslot tagged with thesys_metadataprovenance sentinel, andResourceEditPagetreated anynon-null
codeas a packaged artifact (needsallowOrgOverride, which theobjecttype lacks). Mirror the server'sisArtifactBacked— which excludes_packageId === 'sys_metadata'— so org-authored items stay editable.b419a7c: fix(studio): enable report authoring (create flow, chart render, dataset-aware inspector)
Found dogfooding report design in Studio as a business user — you could not create a report at all, plus several follow-on gaps.
ReportDefaultInspector. Onlyobjectwas inCREATE_MODE_CANVAS_TYPES, so report-create fell back to a stale name-first form whose create-config (objectName,columns: []) predates the ADR-0021 dataset-bound model — saving failed server validation ("a report needsdataset+values") with no field to fix it. Add'report'to the canvas set; the inspector exposes an auto-derived snake_case Name in create mode; fix the create-config (dropobjectName/columns, seedtype: 'summary'+drilldown: true).?package=on post-create navigation — it was dropped, so the editor reloaded a blank draft in the user's default package.chartinDatasetReportRenderer(authorable in Studio but never rendered) via the lazily-registered generic chart component; requests a non-animated render for export/background-tab safety.15f140d: Validation messages name the offending widget + field
A nested Zod issue (e.g.
widgets.2.layout) was shown as just its head field label — "Widgets: Invalid input" — so an author couldn't tell which widget or sub-field was at fault.labelForIssuePathnow appends a readable trail, resolving each array index to the item's stable identity (id/name/title, incl. I18nLabel objects) from the draft: "Widgets → priority_split → layout". Single-segment paths are unchanged.Updated dependencies [677f7ed]
Updated dependencies [08c47da]
Updated dependencies [a71be60]
Updated dependencies [cb03bc3]
@object-ui/plugin-charts@7.1.0
Minor Changes
677f7ed: feat(charts,dashboard): data-screen customization primitives
variant:'bare'— big tinted number + label, no card chrome(data-screen KPIs that stay data-bound).
colorsprop overrides the theme--chart-1..npalette so apage/dashboard can brand its charts; compact metric formatting (
'0.0a'→"1.1M").
Patch Changes
08c47da: feat(dashboard): dataset chart widgets paint select/lookup dimensions in their option colors
A dashboard
DatasetWidgetchart grouped by a select/lookup dimension (e.g.project
health) painted its categories from the generic--chart-1..5palette — the same gap the chart view (
object-chart) had before fix(studio): record-page preview binds a real record + charts use field option colors #1932. It nowresolves the dimension field's option colors (using the dataset's base
objectrenderer as a per-category
categoryColorsmap, so health green/red/yellowpaints semantically.
The value/label→color resolution is extracted into a shared
buildOptionColorMap(
@object-ui/core) now used by bothDatasetWidgetandObjectChart.93cf2b1: fix(charts): use field option colors for categorical chart dimensions
An
object-chartgrouped by a select/lookup field (e.g. projecthealth)painted its categories from the generic
--chart-1..5palette, so a "Red"health slice rendered teal and "Green" rendered blue. The chart now resolves
the category dimension's option colors — both the
objectName+groupBypath and the dataset path (via the dataset's
object+ dimensionfield) —and threads them to the renderer as a per-category
categoryColorsmap. Thatmap wins over the positional palette and falls back to it for categories
without an option color, so pie/donut slices and bar cells render in their
semantic colors.
Updated dependencies [677f7ed]
Updated dependencies [08c47da]
Updated dependencies [a71be60]
Updated dependencies [cb03bc3]
@object-ui/plugin-dashboard@7.1.0
Minor Changes
677f7ed: feat(charts,dashboard): data-screen customization primitives
variant:'bare'— big tinted number + label, no card chrome(data-screen KPIs that stay data-bound).
colorsprop overrides the theme--chart-1..npalette so apage/dashboard can brand its charts; compact metric formatting (
'0.0a'→"1.1M").
Patch Changes
08c47da: feat(dashboard): dataset chart widgets paint select/lookup dimensions in their option colors
A dashboard
DatasetWidgetchart grouped by a select/lookup dimension (e.g.project
health) painted its categories from the generic--chart-1..5palette — the same gap the chart view (
object-chart) had before fix(studio): record-page preview binds a real record + charts use field option colors #1932. It nowresolves the dimension field's option colors (using the dataset's base
objectrenderer as a per-category
categoryColorsmap, so health green/red/yellowpaints semantically.
The value/label→color resolution is extracted into a shared
buildOptionColorMap(
@object-ui/core) now used by bothDatasetWidgetandObjectChart.Updated dependencies [677f7ed]
Updated dependencies [08c47da]
Updated dependencies [a71be60]
Updated dependencies [cb03bc3]
@object-ui/react@7.1.0
Minor Changes
a71be60: chore: drop the unrendered
blank/record_reviewpage types and their configThe
blankandrecord_reviewpage types have no renderer and were removedfrom
@objectstack/spec'sPageTypeSchema(framework#2265, enforce-or-remove).This drops their now-dead references in objectui so the upstream spec can hard-
remove
BlankPageLayoutSchema/RecordReviewConfigSchema:PageTypeunion: removeddashboard/form/record_detail/record_review/overview/blank(grid/gallery/kanban/calendar/timelineremain — those are list visualizations, a separate cleanup).
blankLayoutfromPageLayoutand theblankLayout/recordReviewhandling in the spec→SDUI page bridge.
BlankPageLayout{,Schema,Item,ItemSchema}re-import from@objectstack/spec/ui(it was never used).Patch Changes
@object-ui/types@7.1.0
Minor Changes
677f7ed: feat(charts,dashboard): data-screen customization primitives
variant:'bare'— big tinted number + label, no card chrome(data-screen KPIs that stay data-bound).
colorsprop overrides the theme--chart-1..npalette so apage/dashboard can brand its charts; compact metric formatting (
'0.0a'→"1.1M").
a71be60: chore: drop the unrendered
blank/record_reviewpage types and their configThe
blankandrecord_reviewpage types have no renderer and were removedfrom
@objectstack/spec'sPageTypeSchema(framework#2265, enforce-or-remove).This drops their now-dead references in objectui so the upstream spec can hard-
remove
BlankPageLayoutSchema/RecordReviewConfigSchema:PageTypeunion: removeddashboard/form/record_detail/record_review/overview/blank(grid/gallery/kanban/calendar/timelineremain — those are list visualizations, a separate cleanup).
blankLayoutfromPageLayoutand theblankLayout/recordReviewhandling in the spec→SDUI page bridge.
BlankPageLayout{,Schema,Item,ItemSchema}re-import from@objectstack/spec/ui(it was never used).Patch Changes
cb03bc3: feat(types): type
object-chartcolorsas a palette OR a value→color mapObjectChartSchema.colorsnow accepts either a positional palette (string[])or an explicit value→color map (
Record<value, color>, kanban-style). Thismatches the chart renderer, which resolves a select/lookup dimension's option
colors per category and lets them (and any explicit map) win over the
positional palette — so health green/red/yellow paints semantically.
@object-ui/console@7.1.0
Patch Changes
b1766d3: fix(console): object-detail page uses the valid
recordPageTypebuildObjectDetailPageSchemaemittedpageType: 'record_detail', which wasdropped from
PageType(record | home | app | utility) in framework#2265 /objectui#1949 — a
tscerror (TS2322) that broke the console build (BundleAnalysis). An object detail page is a
recordpage; use that.@object-ui/auth@7.1.0
Patch Changes
@object-ui/cli@7.1.0
Patch Changes
@object-ui/collaboration@7.1.0
Patch Changes
@object-ui/components@7.1.0
Patch Changes
@object-ui/core@7.1.0
Patch Changes
08c47da: feat(dashboard): dataset chart widgets paint select/lookup dimensions in their option colors
A dashboard
DatasetWidgetchart grouped by a select/lookup dimension (e.g.project
health) painted its categories from the generic--chart-1..5palette — the same gap the chart view (
object-chart) had before fix(studio): record-page preview binds a real record + charts use field option colors #1932. It nowresolves the dimension field's option colors (using the dataset's base
objectrenderer as a per-category
categoryColorsmap, so health green/red/yellowpaints semantically.
The value/label→color resolution is extracted into a shared
buildOptionColorMap(
@object-ui/core) now used by bothDatasetWidgetandObjectChart.Updated dependencies [677f7ed]
Updated dependencies [a71be60]
Updated dependencies [cb03bc3]
@object-ui/data-objectstack@7.1.0
Patch Changes
@object-ui/fields@7.1.0
Patch Changes
@object-ui/layout@7.1.0
Patch Changes
@object-ui/mobile@7.1.0
Patch Changes
@object-ui/permissions@7.1.0
Patch Changes
@object-ui/plugin-ai@7.1.0
Patch Changes
@object-ui/plugin-calendar@7.1.0
Patch Changes
@object-ui/plugin-chatbot@7.1.0
Patch Changes
@object-ui/plugin-designer@7.1.0
Patch Changes
@object-ui/plugin-detail@7.1.0
Patch Changes
@object-ui/plugin-editor@7.1.0
Patch Changes
@object-ui/plugin-form@7.1.0
Patch Changes
aae8791: Flow Screen preview: render inline master-detail subforms (follow-up to Flow builder: live preview for Screen nodes #1944)
The object-form mode of the Screen-node preview now renders inline master-detail
child grids, matching runtime.
ScreenPreviewfeeds the SAME enriched objectlist the runtime
FlowRunneruses (useMetadata().objects, which derivesform.subformsfrominlineEditrelationships viaattachInlineSubforms), soe.g. a
showcase_invoiceobject-form step previews its Line Items grid(with live Subtotal/Tax/Total) — only fetched in object-form mode.
To keep the preview non-persisting — consistent with the flat-field preview
(disabled Submit) and the simple object-form preview (no Save) —
MasterDetailFormnow honours a
showSubmitflag (default shown; backward-compatible) thatObjectFormforwards, so the preview hides the master-detail Save bar. Also dropsa dead
e = formDataassignment inObjectForm(lintno-useless-assignment).Updated dependencies [677f7ed]
Updated dependencies [08c47da]
Updated dependencies [a71be60]
Updated dependencies [cb03bc3]
@object-ui/plugin-gantt@7.1.0
Patch Changes
@object-ui/plugin-grid@7.1.0
Patch Changes
@object-ui/plugin-kanban@7.1.0
Patch Changes
@object-ui/plugin-map@7.1.0
Patch Changes
@object-ui/plugin-markdown@7.1.0
Patch Changes
@object-ui/plugin-report@7.1.0
Patch Changes
b419a7c: fix(studio): enable report authoring (create flow, chart render, dataset-aware inspector)
Found dogfooding report design in Studio as a business user — you could not create a report at all, plus several follow-on gaps.
ReportDefaultInspector. Onlyobjectwas inCREATE_MODE_CANVAS_TYPES, so report-create fell back to a stale name-first form whose create-config (objectName,columns: []) predates the ADR-0021 dataset-bound model — saving failed server validation ("a report needsdataset+values") with no field to fix it. Add'report'to the canvas set; the inspector exposes an auto-derived snake_case Name in create mode; fix the create-config (dropobjectName/columns, seedtype: 'summary'+drilldown: true).?package=on post-create navigation — it was dropped, so the editor reloaded a blank draft in the user's default package.chartinDatasetReportRenderer(authorable in Studio but never rendered) via the lazily-registered generic chart component; requests a non-animated render for export/background-tab safety.Updated dependencies [677f7ed]
Updated dependencies [08c47da]
Updated dependencies [a71be60]
Updated dependencies [cb03bc3]
@object-ui/plugin-timeline@7.1.0
Patch Changes
@object-ui/plugin-tree@7.1.0
Patch Changes
@object-ui/plugin-view@7.1.0
Patch Changes
@object-ui/providers@7.1.0
Patch Changes
@object-ui/runner@7.1.0
Patch Changes
@object-ui/tenant@7.1.0
Patch Changes
@object-ui/create-plugin@7.1.0
@object-ui/i18n@7.1.0
@object-ui/plugin-list@7.1.0
object-ui@7.1.0
Patch Changes