@kudzujs/core 0.17.2 → 0.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ Kudzu compiles ordinary React-shaped TypeScript and TSX into complete static HTM
14
14
 
15
15
  > Experimental `0.17.x`: the compiler API and supported TSX surface may change.
16
16
 
17
- **Current release: [0.17.2](https://github.com/kudzujs/kudzu/releases/tag/v0.17.2).** Delayed evaluators cannot regain authority after DOM or source-state release, including same-node remount and state-ID reuse. Keyed conditions now settle correctly when row data and parent selection change in one turn. Native Chrome regressions cover both fixes; static siblings remain JavaScript-free. Generator `create-kudzu@0.1.163` targets core `^0.17.2`. Output sizes have mixed deltas; no speed improvement is claimed. Restoration latency and AI-cost/1.0 gates remain unresolved.
17
+ **Current release: [0.17.3](https://github.com/kudzujs/kudzu/releases/tag/v0.17.3).** Calculated lists release row state even while their evaluator module is loading, so explicit remount starts fresh. Initial evaluation also updates visible row text from the latest source data. Native Chrome regressions cover both fixes; static siblings remain JavaScript-free. Generator `create-kudzu@0.1.164` targets core `^0.17.3`. The fixes add a small measured byte cost; no speed improvement is claimed. Restoration latency and AI-cost/1.0 gates remain unresolved.
18
18
 
19
19
  - [Documentation](https://kudzujs.cloud/docs)
20
20
  - [Installation guide](https://kudzujs.cloud/docs#install)
@@ -97,6 +97,7 @@ function mountLists(root) {
97
97
  ownedLists.set(list.owner, lists)
98
98
  listRegistrations.set(start, { list, owner: list.owner })
99
99
  } else if (descriptor.source) {
100
+ listRegistrations.set(start, { states: [], list })
100
101
  if (descriptor.children) updateList(list)
101
102
  const load = {}
102
103
  listLoads.set(start, load)
@@ -180,7 +181,7 @@ function updateList(list) {
180
181
  keys.add(token)
181
182
  entries.push({ item, index, key, token, value: referenceOnly ? item : seededValue === undefined ? JSON.stringify(item) : seededValue })
182
183
  }
183
- if (list.items === undefined && list.parts.directFill && entries.length === list.roots.size) {
184
+ if (list.items === undefined && !list.sourceEvaluator && list.parts.directFill && entries.length === list.roots.size) {
184
185
  const roots = __KUDZU_LIST_STABLE_FAST_PATHS__ ? list.orderedRoots : [...list.roots.values()]
185
186
  if (entries.every((entry, index) => list.roots.get(entry.token) === roots[index])) {
186
187
  for (let index = 0; index < entries.length; index++) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kudzujs/core",
3
- "version": "0.17.2",
3
+ "version": "0.17.3",
4
4
  "description": "HTML-first TSX framework with synchronous state semantics and no virtual DOM",
5
5
  "type": "module",
6
6
  "license": "MIT",