Skip to content

Commit 0d775cb

Browse files
committed
Merge remote-tracking branch 'origin/main' into claude/issue-15124-facade-query-envelope
2 parents 35aad65 + 847e577 commit 0d775cb

30 files changed

Lines changed: 2183 additions & 92 deletions
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
"@objectstack/spec": minor
3+
---
4+
5+
feat(spec): declare `navigation` on the standalone `object-kanban` / `object-calendar` element faces, and give `object-timeline` the `ComponentPropsMap` row it never had (#17987)
6+
7+
Clause-②: yes (widening) — one new optional key on two published element faces plus one new row, so the accept set grows. Nothing previously admitted is refused, nothing is renamed or retired, and no producer is required to write anything.
8+
9+
**What changes for an author.** A record-click navigation block written on a
10+
STANDALONE element node is now declared where it is read. Before this, the same
11+
document ran correctly in objectui's renderer and was refused by name at the
12+
authoring door:
13+
14+
```
15+
FROM ComponentPropsMap['object-kanban'].safeParse({ objectName: 'task',
16+
navigation: { mode: 'drawer' } })
17+
-> success: false, unrecognized_keys: ['navigation']
18+
TO -> success: true, navigation: { mode: 'drawer', preventNavigation: false,
19+
openNewTab: false, size: 'auto' }
20+
```
21+
22+
`object-calendar` moves identically. The value is `NavigationConfigSchema` —
23+
the same def `ListViewSchema.navigation` already declares, taken by reference,
24+
so a standalone element and a list view speak one vocabulary and the retired
25+
`navigation.view` key (17.5.0) stays retired on every face that carries it.
26+
27+
**`object-timeline` gains a row.** It was registered in objectui and reachable
28+
through the component type union's open string arm with no entry in
29+
`ComponentPropsMap`, so the authoring gate skipped it entirely: a real key and
30+
a typo rode through alike. The row declares the key set measured from the
31+
renderer's own read points at the `.objectui-sha` pin this repo builds against
32+
— `objectName`, `timeline`, `filter`, `sort`, `limit`, `data`, `items`,
33+
`variant`, `dateFormat`, `rowLabel`, `minDate`, `maxDate`, `descriptionField`,
34+
`mapping` and `navigation` — and refuses everything else, the flat `startDateField` /
35+
`titleField` / `scale` handoff spellings with a prescription pointing at the
36+
`timeline` config block that owns them.
37+
38+
**What does NOT change.** The view-level `navigation` on `ListViewSchema` is
39+
untouched: the element key is an ADDITIONAL carrier for the standalone
40+
placement, not a replacement, and both faces keep judging the same block. The
41+
parse is unchanged for every document that did not author these keys, and the
42+
component type union is not narrowed — an `object-timeline` node reaches
43+
`PageComponentSchema` through the open string arm exactly as it did before.
44+
45+
Executes the objectui#8652 maintainer ruling (verbatim `B`).

‎content/docs/kernel/runtime-services/audit-service.mdx‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,13 @@ error, so every failure is caught, and callers do not need a surrounding `try`/`
7373
The consequences are worth knowing precisely, because none of them are visible from the
7474
caller's side:
7575

76-
- A failed ledger insert is reported at `error` level **once per process** — every later
77-
failure drops to `debug` — and the row is simply lost. Nothing retries it. The sign-in
78-
itself succeeded and returned 200, so the shipped `auth_events` list view and the
79-
system-overview widgets keep showing an empty, healthy-looking screen.
76+
- A failed ledger insert is reported at `error` level **once per cause** — a cause is the
77+
error's `code` plus the object the row is about, so every uncoded failure collapses into
78+
one bucket and the object is always `sys_session` on this seam — and the row is simply
79+
lost. Nothing retries it. A repeat of an **already-reported** cause drops to `debug`; a
80+
**new** cause gets its own `error` line, once. The sign-in itself succeeded and returned
81+
200, so the shipped `auth_events` list view and the system-overview widgets keep showing
82+
an empty, healthy-looking screen.
8083
- The call **silently no-ops** when no data engine resolves, or when `userId` is absent.
8184
A caller that passes an event without a subject records nothing and is told nothing.
8285
- The most common cause of a failing insert is a datasource split rather than a broken

‎content/docs/references/index.mdx‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Protocol Reference
3-
description: Every schema published by @objectstack/spec — 1531 schemas across 14 protocol modules
3+
description: Every schema published by @objectstack/spec — 1532 schemas across 14 protocol modules
44
---
55

66
{/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */}
@@ -32,8 +32,8 @@ counts are sums of the rows they head. Regenerate with
3232
| [Shared Protocol](/docs/references/shared) | 10 | 31 | Primitives used across every protocol — identifiers, HTTP, expressions, error maps, enums. |
3333
| [Studio Protocol](/docs/references/studio) | 3 | 35 | Studio designer metadata — the authoring surfaces for the protocols above. |
3434
| [System Protocol](/docs/references/system) | 34 | 273 | The runtime environment — logging, jobs, cache, metrics, notifications, i18n and compliance. |
35-
| [UI Protocol](/docs/references/ui) | 16 | 156 | Apps, pages, views, dashboards, reports, actions and themes — the ObjectUI layer. |
36-
| **Total** | **195** | **1531** | 14 protocol modules |
35+
| [UI Protocol](/docs/references/ui) | 16 | 157 | Apps, pages, views, dashboards, reports, actions and themes — the ObjectUI layer. |
36+
| **Total** | **195** | **1532** | 14 protocol modules |
3737

3838
---
3939

@@ -361,7 +361,7 @@ The runtime environment — logging, jobs, cache, metrics, notifications, i18n a
361361

362362
## UI Protocol
363363

364-
**Source:** `packages/spec/src/ui/` · **Import:** `@objectstack/spec/ui` · **16 pages, 156 schemas**
364+
**Source:** `packages/spec/src/ui/` · **Import:** `@objectstack/spec/ui` · **16 pages, 157 schemas**
365365

366366
Apps, pages, views, dashboards, reports, actions and themes — the ObjectUI layer.
367367

@@ -372,7 +372,7 @@ Apps, pages, views, dashboards, reports, actions and themes — the ObjectUI lay
372372
| [`app.zod.ts`](/docs/references/ui/app) | `ActionNavItem`, `App`, `AppBranding`, `AppContextSelector`, `ComponentNavItem`, `DashboardNavItem`, `GroupNavItem`, `NavigationArea`, `NavigationContribution`, `NavigationItem`, `ObjectNavItem`, `PageNavItem`, `ReportNavItem`, `UrlNavItem` |
373373
| [`bulk-action.zod.ts`](/docs/references/ui/bulk-action) | `BulkActionDef`, `BulkActionExecution`, `BulkActionOperation`, `BulkActionParam` |
374374
| [`chart.zod.ts`](/docs/references/ui/chart) | `ChartAggregate`, `ChartAggregateFunction`, `ChartAnnotation`, `ChartAxis`, `ChartConfig`, `ChartDrillDown`, `ChartGroupBy`, `ChartInteraction`, `ChartSeries`, `ChartType` |
375-
| [`component.zod.ts`](/docs/references/ui/component) | `AIChatWindowProps`, `ElementButtonProps`, `ElementFilterProps`, `ElementFormProps`, `ElementImageProps`, `ElementMetadataViewerProps`, `ElementNumberProps`, `ElementRecordPickerProps`, `ElementTextInputProps`, `ElementTextProps`, `ObjectCalendarProps`, `ObjectFormProps`, `ObjectGanttProps`, `ObjectGridProps`, `ObjectKanbanProps`, `ObjectMapProps`, `ObjectMasterDetailFormProps`, `ObjectMetricProps`, `ObjectTreeProps`, `PageAccordionProps`, `PageCardProps`, `PageContainerProps`, `PageHeaderProps`, `PageTabsProps`, `RecordActivityProps`, `RecordAlertAction`, `RecordAlertProps`, `RecordChatterProps`, `RecordDetailsProps`, `RecordHighlightsField`, `RecordHighlightsProps`, `RecordHistoryProps`, `RecordPathProps`, `RecordQuickActionsProps`, `RecordReferenceRailProps`, `RecordRelatedListProps`, `ReferenceRailEntry` |
375+
| [`component.zod.ts`](/docs/references/ui/component) | `AIChatWindowProps`, `ElementButtonProps`, `ElementFilterProps`, `ElementFormProps`, `ElementImageProps`, `ElementMetadataViewerProps`, `ElementNumberProps`, `ElementRecordPickerProps`, `ElementTextInputProps`, `ElementTextProps`, `ObjectCalendarProps`, `ObjectFormProps`, `ObjectGanttProps`, `ObjectGridProps`, `ObjectKanbanProps`, `ObjectMapProps`, `ObjectMasterDetailFormProps`, `ObjectMetricProps`, `ObjectTimelineProps`, `ObjectTreeProps`, `PageAccordionProps`, `PageCardProps`, `PageContainerProps`, `PageHeaderProps`, `PageTabsProps`, `RecordActivityProps`, `RecordAlertAction`, `RecordAlertProps`, `RecordChatterProps`, `RecordDetailsProps`, `RecordHighlightsField`, `RecordHighlightsProps`, `RecordHistoryProps`, `RecordPathProps`, `RecordQuickActionsProps`, `RecordReferenceRailProps`, `RecordRelatedListProps`, `ReferenceRailEntry` |
376376
| [`dashboard.zod.ts`](/docs/references/ui/dashboard) | `Dashboard`, `DashboardHeader`, `DashboardHeaderAction`, `DashboardWidget`, `DashboardWidgetOptions`, `GlobalFilter`, `GlobalFilterOptionsFrom`, `WidgetActionType`, `WidgetColorVariant` |
377377
| [`dataset.zod.ts`](/docs/references/ui/dataset) | `Dataset`, `DatasetDimension`, `DatasetMeasure`, `DerivedMeasureOp` |
378378
| [`expression-bindable-text-keys.zod.ts`](/docs/references/ui/expression-bindable-text-keys) | `ExpressionBindableTextKey` |

0 commit comments

Comments
 (0)