@umriss-ui/schedule 0.41.0 → 0.42.0

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/CHANGELOG.md CHANGED
@@ -4,9 +4,11 @@ This document describes what changes for **callers** of the package: exports,
4
4
  props, behaviour.
5
5
 
6
6
  **The numbers.** The middle digit rises when something is added; the last one
7
- when something is repaired. As long as the first digit is `0`, no number
8
- promises compatibility — which is why whatever changes existing behaviour stands
9
- under a heading "Changed" of its own, no matter which digit rose.
7
+ when something is repaired. The six packages are released in step, and a rename
8
+ keeps its old name for one further minor, with a warning, before the minor after
9
+ it removes the name ([the upgrade promise, ADR-0066](../../docs/adr/0066-one-number-peers-over-the-minor-a-rename-lives-one-minor.md)).
10
+ Whatever changes existing behaviour stands under a heading "Changed" of its own,
11
+ no matter which digit rose, with a `Migration:` line.
10
12
 
11
13
  From 0.34.0 the packages share one number - five, and six from 0.40.0, when the dashboard joined: they are released together, and a package without a change of its own still gets a heading for it.
12
14
 
@@ -16,6 +18,31 @@ moves from here under the rule above.
16
18
 
17
19
  ---
18
20
 
21
+ ## 0.42.0 – A schedule under test, and quiet on a server (Oct. 2026)
22
+
23
+ ### Added
24
+
25
+ - **Loadable in Vitest and Jest** with core's and charts' lines one after the other: the `.` entry carries a `default` condition, the README's "Testing" section says how the two setup files combine, and the release check runs a test of a lane with a bar under both runners.
26
+ - **TypeScript 5.4 or newer**, stated in the Install section (the declarations use `NoInfer`); the release check compiles a strict consumer under 5.4 as well as the current TypeScript.
27
+
28
+ ### Changed
29
+
30
+ - **The peer range on core and charts covers the minor: `^0.42.0`.** It named the exact patch before (`^0.41.1`), so npm refused an install beside an earlier patch of core with `ERESOLVE`; the six packages move under one number and a minor moves the range (ADR-0066).
31
+ - Migration: nothing to change; any 0.42 patch of `@umriss-ui/core` and `@umriss-ui/charts` satisfies the peers.
32
+ - **On a server the schedule's description holds no summary.** A server knows no lanes, so it described "0 lanes, 0 subtasks" for a plan that had both; the summary arrives with the lanes after mount, and the key help stays.
33
+ - Migration: nothing to change; a server-rendered test that read the summary's counts finds the key help only.
34
+ - **A date or time rendered on a server is empty until the page has hydrated** (core 0.42.0, ADR-0067). Only the browser knows the reader's zone, so a server in another zone wrote a different text and React raised hydration error #418; the schedule now shows its dates and times right after hydration.
35
+ - Migration: nothing to change in an application that renders in the browser; a test that renders to a string and expects a date finds an empty text - render it in the DOM instead.
36
+
37
+ ## 0.41.1 – The documentation runs where the code is (Oct. 2026)
38
+
39
+ ### Changed
40
+
41
+ - **The documentation is no longer hosted.** The site on GitHub Pages is gone, and the package's `homepage` now names its README on GitHub. The running documentation of this version opens from a checkout of the tag `schedule-v0.41.1` with `pnpm install` and `pnpm start`, at `http://localhost:4170/umriss-ui/` - the repository README says how, under "See it running".
42
+ - Migration: nothing to change; a bookmark or link to the old hosted site no longer resolves - open the documentation from a checkout of the tag, as described above.
43
+ - **`docs/llms-full.md` in the package stands on its own:** a link to another page points at that page's heading in the same file, a link to a place on the site that the file does not hold keeps only its text, and ADR-0032 is linked at this version's tag.
44
+ - Migration: nothing to change; look at any tool that read `docs/llms-full.md` and followed its links to the site, which now find the heading in the same file.
45
+
19
46
  ## 0.41.0 – Strict consumers compile (Oct. 2026)
20
47
 
21
48
  ### Fixed
package/README.md CHANGED
@@ -19,17 +19,18 @@ Both `@umriss-ui/core` and `@umriss-ui/charts` are **peer dependencies**
19
19
  (ADR-0022): the schedule takes its styling regime, provider, formats and
20
20
  wording from core, and its time arithmetic — the affine scale, the time steps,
21
21
  the working calendar, the canvas colour resolution — from charts. React 19 or
22
- newer as a peer as well.
22
+ newer as a peer as well. TypeScript 5.4 or newer (the declarations use `NoInfer`).
23
23
 
24
24
  The package ships ES2022 syntax; an application that serves older browsers
25
25
  transpiles it itself.
26
26
 
27
27
  Every entry begins with `"use client"`, the directive a framework
28
- with Server Components reads to treat a module as client code. No test runs
29
- inside such a framework: the
30
- schedule is rendered to a string in a test. On a server it gives its labelled
31
- frame and empty canvases; the lanes, subtasks and the summary's counts arrive
32
- on the client after mount.
28
+ with Server Components reads to treat a module as client code. A schedule is declared by its hook,
29
+ `useSchedule`, so the declaration lives in a Client Component file: a Server Component renders that
30
+ file and hands it the rows and subtasks. On a server a schedule gives its labelled frame and empty
31
+ canvases; the lanes, the subtasks and the summary arrive on the client after mount, and a date or
32
+ time is empty until the page has hydrated, because only the browser knows the reader's zone. No test
33
+ runs inside such a framework: the schedule is rendered to a string in a test.
33
34
 
34
35
  ## The smallest schedule that runs
35
36
 
@@ -182,8 +183,7 @@ Done from this list: **blocked time** per lane and **milestones**.
182
183
 
183
184
  ## Where to read on
184
185
 
185
- * The demo: <https://romanhaendler.github.io/umriss-ui/schedule/>, or locally
186
- `pnpm dev:schedule` (port 4176). It is the documentation — every page shows
186
+ * The demo, in a checkout: `pnpm dev:schedule` (port 4176). It is the documentation — every page shows
187
187
  running examples with their source and the props table generated from `src/`,
188
188
  each prop linked to the examples that show it. An API index lists every
189
189
  export, one search finds across all five packages, and the header switches
@@ -192,9 +192,7 @@ Done from this list: **blocked time** per lane and **milestones**.
192
192
  * **For a coding agent**: `docs/llms-full.md` inside the installed package —
193
193
  the demo as one Markdown file, pinned to the installed version: every page
194
194
  with its examples' source, its props tables and why it is built as it is,
195
- and an index of every export with its comment and its declaration. Each
196
- page also has a Markdown twin online; for the latest version:
197
- <https://romanhaendler.github.io/umriss-ui/schedule/llms.txt>.
195
+ and an index of every export with its comment and its declaration. The running documentation of a version is opened as [the repository README describes](https://github.com/romanhaendler/umriss-ui#see-it-running): check out the tag `<package>-v<version>`, then `pnpm start`.
198
196
  * The vocabulary — **Task**, **Subtask**, **Lead-in**, **Lead-out**,
199
197
  **Dependency**, **Violated dependency**, **Blocked time**, **Milestone**, **Lane header**, **Lane group**,
200
198
  **Miniature**, **Intent**, **Ghost** — stands in the workspace's
@@ -202,6 +200,14 @@ Done from this list: **blocked time** per lane and **milestones**.
202
200
  * [`../../docs/design-language.md`](../../docs/design-language.md) — the design
203
201
  language all five packages share.
204
202
 
203
+ ## Testing
204
+
205
+ Tested under Vitest 5 and Jest 30 on jsdom. A schedule draws with core and charts, so it needs the
206
+ runner lines and the setup file of [`@umriss-ui/core`'s Testing section](../core/README.md#testing)
207
+ and the setup file of [`@umriss-ui/charts`'](../charts/README.md#testing), one file after the other
208
+ in your `umriss.setup.js`. `check:dist` runs a test of the installed schedule (a lane with a bar)
209
+ with exactly those files.
210
+
205
211
  ## Licence
206
212
 
207
213
  MIT — see [`LICENSE`](LICENSE).
package/dist/schedule.js CHANGED
@@ -999,7 +999,7 @@ function Ln(s) {
999
999
  },
1000
1000
  Z.count
1001
1001
  ) }),
1002
- /* @__PURE__ */ m(fe, { id: it, children: `${P.scheduleSummary({ ...Mt, from: le(Mt.from), to: le(Mt.to) })} ${P.scheduleKeyHelp}` })
1002
+ /* @__PURE__ */ m(fe, { id: it, children: v === e.getServerSnapshot() ? P.scheduleKeyHelp : `${P.scheduleSummary({ ...Mt, from: le(Mt.from), to: le(Mt.to) })} ${P.scheduleKeyHelp}` })
1003
1003
  ]
1004
1004
  }
1005
1005
  ),