Skip to content

Commit e17ce78

Browse files
chore: release packages
1 parent e0f23ca commit e17ce78

85 files changed

Lines changed: 745 additions & 259 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/option-widgets-empty-hint-single-source.md

Lines changed: 0 additions & 45 deletions
This file was deleted.

.changeset/page-header-inputs-declare-subtitle.md

Lines changed: 0 additions & 39 deletions
This file was deleted.

.changeset/record-chatter-loading-signal.md

Lines changed: 0 additions & 49 deletions
This file was deleted.

.changeset/textarea-mobile-fullscreen-single-source.md

Lines changed: 0 additions & 47 deletions
This file was deleted.

.changeset/toolpreview-drop-retired-flag-pills.md

Lines changed: 0 additions & 39 deletions
This file was deleted.

apps/console/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# @object-ui/console
22

3+
## 17.2.1
4+
5+
### Patch Changes
6+
7+
- @object-ui/sdui-parser@17.2.1
8+
- @object-ui/react-runtime@17.2.1
9+
310
## 17.2.0
411

512
### Minor Changes

apps/console/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@object-ui/console",
3-
"version": "17.2.0",
3+
"version": "17.2.1",
44
"description": "ObjectStack Console — opinionated, fork-ready runtime console built on @object-ui/app-shell with the full plugin set wired up. Ships as a Hono UI plugin serving a pre-built SPA.",
55
"license": "MIT",
66
"type": "module",

packages/app-shell/CHANGELOG.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,107 @@
11
# @object-ui/app-shell — Changelog
22

3+
## 17.2.1
4+
5+
### Patch Changes
6+
7+
- 12bf669: The record discussion panel now says "loading" while it is loading, instead of
8+
"No comments yet" (objectui#3209).
9+
10+
FROM: opening any record page showed the discussion/chatter panel asserting
11+
`No comments yet` for the whole first leg of the page, then contradicting
12+
itself when the comments appeared. TO: the panel shows the loading row until
13+
the feed has actually answered, and only then commits to "this record has no
14+
comments".
15+
16+
objectui#3205 gave `RecordActivityTimeline` the render branch that prefers a
17+
loading row over the empty copy, and `RecordChatterPanel` already forwarded
18+
`loading` to it in both positions — but on the chatter chain **nothing
19+
produced the signal**, so that branch could never fire. `record:activity`
20+
computes its own flag and was visibly fixed by #3205; chatter was not. The
21+
four wiring points are one chain and are all closed here, because any one of
22+
them left open still ships the empty copy to some user:
23+
24+
- `RecordDetailView` — the host that OWNS the feed fetch — now derives a
25+
`feedLoading` flag from its two reads (`sys_comment` + `sys_activity`);
26+
- `<DiscussionContextProvider loading={feedLoading}>` publishes it (the field
27+
was already declared on `DiscussionContextValue`, and already read by
28+
`record:activity`);
29+
- the auto-appended `<RecordChatterPanel loading={feedLoading}>` — the panel
30+
authored pages get when they place no discussion slot — receives it
31+
directly;
32+
- the `record:chatter` / `record:discussion` renderer forwards
33+
`loading={discussion?.loading}`, so a hand-placed block is on the same
34+
chain as the synthesized one.
35+
36+
The two reads run in parallel, so the flag closes over **both**: it clears on
37+
`Promise.allSettled`, and a REJECTED read counts as an answer. A deployment
38+
without the audit plugin 404s `sys_activity` and an object with
39+
`enable.feeds: false` 403s `sys_comment`; neither may pin the panel in a
40+
permanent spinner, which would be a worse bug than the one being fixed. The
41+
flag is keyed by `object:recordId` rather than being a plain boolean, so the
42+
first render of a record already reads as loading (no one-frame flash of the
43+
empty state) and navigating between records cannot show the previous record's
44+
settled answer.
45+
46+
No tolerance was added at the consumer. The timeline still does not guess that
47+
"no items yet and just mounted" means loading — that guess is wrong the moment
48+
a record genuinely has no comments, and the signal belongs to whoever owns the
49+
fetch. Same shape as objectui#3165 / #3205: divergence converges at the
50+
producer.
51+
52+
- 30ac2e1: `ToolPreview` stops advertising retired `ToolSchema` flags (objectui#3236).
53+
54+
The metadata-admin tool preview painted a header strip of flag pills read
55+
straight off the raw draft: `Requires confirmation`, `Active` / `Disabled`,
56+
`built-in`, and the `category` tag. All four keys have been removed from
57+
`@objectstack/spec`'s `ToolSchema` — `requiresConfirmation` in the 16.x line
58+
(objectstack#3715, ADR-0033 §2) and `category` / `active` / `builtIn` in
59+
17.0.0 (objectstack#3896 audit close-out). The schema is `.strict()` and now
60+
rejects each by name with an upgrade prescription, so no newly authored tool
61+
can carry them; verified against the `@objectstack/spec@17.0.0-rc.1` this repo
62+
depends on.
63+
64+
New metadata could not reach these pills — but rows stored before the removals
65+
still carry the keys, and for those the preview kept rendering. That is the
66+
harmful direction, not a cosmetic one:
67+
68+
- `Requires confirmation` advertised a safety pause that no execution path has
69+
ever performed. Nothing read the key — not the LLM tool set (a tool reaches
70+
the model as name/description/parameters only), not `ToolRegistry.execute`,
71+
not `POST /ai/tools/:name/execute`. A reviewer reading the preview saw a
72+
destructive tool marked as gated when it was not. The real gate is
73+
`action.ai.requiresConfirmation`, which the HITL approval queue reads.
74+
- `Disabled` claimed a tool had been withdrawn while `ToolRegistry.getAll()`
75+
kept handing it to the LLM and the execute route kept running it.
76+
77+
Same shape as objectui#2962: a UI badge advertising a capability the runtime
78+
does not have. The pills are gone; the surviving header strip shows label,
79+
machine name and the `objectName` pill (`objectName` is still a live spec key),
80+
and nothing else in the preview changed — parameters table, example LLM call
81+
and output schema are untouched.
82+
83+
New tests feed the preview a stale draft that still carries all four retired
84+
keys and assert none of them renders, so the pills cannot grow back: the names
85+
survive in the spec's tombstone guidance, which gives the next reader a
86+
plausible-looking reason to "restore" them.
87+
88+
- Updated dependencies [825bbe3]
89+
- Updated dependencies [d2363e7]
90+
- Updated dependencies [a321fa4]
91+
- @object-ui/components@17.2.1
92+
- @object-ui/fields@17.2.1
93+
- @object-ui/i18n@17.2.1
94+
- @object-ui/layout@17.2.1
95+
- @object-ui/plugin-editor@17.2.1
96+
- @object-ui/react@17.2.1
97+
- @object-ui/types@17.2.1
98+
- @object-ui/core@17.2.1
99+
- @object-ui/data-objectstack@17.2.1
100+
- @object-ui/auth@17.2.1
101+
- @object-ui/permissions@17.2.1
102+
- @object-ui/collaboration@17.2.1
103+
- @object-ui/providers@17.2.1
104+
3105
## 17.2.0
4106

5107
### Minor Changes

packages/app-shell/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@object-ui/app-shell",
3-
"version": "17.2.0",
3+
"version": "17.2.1",
44
"type": "module",
55
"license": "MIT",
66
"description": "Minimal application shell for ObjectUI - framework-agnostic rendering engine",

packages/auth/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @object-ui/auth
22

3+
## 17.2.1
4+
5+
### Patch Changes
6+
7+
- @object-ui/types@17.2.1
8+
39
## 17.2.0
410

511
### Minor Changes

0 commit comments

Comments
 (0)