Skip to content

Commit 17d39ad

Browse files
committed
docs(app-shell): refreshDashboardData's comment states that a dataset-bound KPI tile re-reads on the bus
Every dataset answer names its base object since objectstack-ai/objectstack#20644 (AnalyticsResult.object), so the paragraph that described a dimension-less KPI tile as never re-reading on this handler or on a declared write is false. It now says what holds and points at the widget's pin (DatasetWidget.kpiInvalidation-11095.test.tsx) and the producer's upstream pin. Comment only; the changeset stays empty-frontmatter and says the comment ships in dist JS (objectui#11095, seat comment 5986840462). Claude-Session: https://claude.ai/code/session_015W8GBu6sBiqus2L2xjMsAL Co-authored-by: Claude <noreply@anthropic.com>
1 parent 45f7b2c commit 17d39ad

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
---
22
---
33

4-
Tests only, no package released: `@object-ui/plugin-dashboard` gains a pin that a dataset-bound KPI tile (a `metric` widget with no dimensions) re-reads on the data-invalidation bus once its query's answer names the dataset's base object. The answer names it on every dataset query since objectstack-ai/objectstack#20644, which `@objectstack/spec` 17.6.0 declares as `AnalyticsResult.object`. The widget already subscribed on that key, so no source changed (objectui#11095).
4+
No package released: tests and one doc comment, no behaviour change. `@object-ui/plugin-dashboard` gains a pin that a dataset-bound KPI tile (a `metric` widget with no dimensions) re-reads on the data-invalidation bus once its query's answer names the dataset's base object. The answer names it on every dataset query since objectstack-ai/objectstack#20644, which `@objectstack/spec` 17.6.0 declares as `AnalyticsResult.object`. The widget already subscribed on that key, so no executable code changed (objectui#11095).
5+
6+
`@object-ui/app-shell`'s `refreshDashboardData` doc comment stops describing that gap as current. The comment is not inert text: `tsc` keeps it in the emitted `dist/views/DashboardView.js`, which is published. It sits above a non-exported function, so it is in no `.d.ts`. It changes no export, type or behaviour, so it releases nothing and ships with the next release of the group.

‎packages/app-shell/src/views/DashboardView.tsx‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,14 @@ import { useObjectTranslation } from '@object-ui/i18n';
5050
* `DashboardView.autoRefresh-11062.test.tsx` counts the re-reads and checks the
5151
* widget's node survives them.
5252
*
53-
* ⚠️ A `DatasetWidget` matches nothing until its answer names the dataset's
54-
* base object, and the server names it only beside drill-through metadata. A
55-
* dataset-bound KPI tile (no dimensions) therefore never re-reads on the bus,
56-
* from this handler or from a declared write. That gap is the widget's
57-
* subscription key, not this handler; it was measured in a running console on
58-
* objectui#11062.
53+
* A `DatasetWidget` subscribes on the base object its query's answer names.
54+
* Every dataset answer names it (`AnalyticsResult.object`,
55+
* objectstack-ai/objectstack#20644), with or without dimensions and rows, so a
56+
* dataset-bound KPI tile (no dimensions) re-reads on this handler and on a
57+
* declared write to that object. `DatasetWidget.kpiInvalidation-11095.test.tsx`
58+
* in `plugin-dashboard` pins the widget's half (objectui#11095); the
59+
* producer's half is pinned upstream by `service-analytics`'s
60+
* `dataset-answer-object.test.ts`.
5961
*
6062
* The scope is the bus's unknown-scope value, `'*'`, the same one `PageView`
6163
* uses after a page action. A timed re-read does not know what changed, and

0 commit comments

Comments
 (0)