@plitzi/sdk-style 0.35.10 → 0.36.1
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 +61 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,66 @@
|
|
|
1
1
|
# @plitzi/sdk-style
|
|
2
2
|
|
|
3
|
+
## 0.36.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- v0.36.1
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @plitzi/sdk-plugins@0.36.1
|
|
10
|
+
- @plitzi/sdk-shared@0.36.1
|
|
11
|
+
- @plitzi/sdk-variables@0.36.1
|
|
12
|
+
|
|
13
|
+
## 0.36.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- - **An `apiContainer` can keep its browser requests in a query cache, the way react-query does.** Moving between
|
|
18
|
+
sections or pages used to ask the API again every time a provider was shown: a provider in a hidden section is
|
|
19
|
+
mounted but disabled, so showing it fired a fresh request, and a page navigation remounted it and did the same.
|
|
20
|
+
With the new `cache: true` an answer is kept for `staleTime` seconds (30 by default) and shared by every cached
|
|
21
|
+
provider asking the same thing — same method, URL, credentials and headers, the token included, so two visitors
|
|
22
|
+
never share one. Past its time the answer is still drawn at once and a fresh one is fetched behind it; an answer
|
|
23
|
+
nobody shows is forgotten after `gcTime` seconds (300 by default). A refused request (`4xx`/`5xx`) is shown but
|
|
24
|
+
never kept. **The cache is off unless an element asks for it**: an uncached provider behaves as before, asking on
|
|
25
|
+
every mount and sharing nothing.
|
|
26
|
+
|
|
27
|
+
The cache is `@plitzi/sdk-shared/queries` (`queryCache`, `useQuery`, `invalidateQueries`,
|
|
28
|
+
`invalidateQueriesForWrite`), a nexus store written with the per-path `ttl` of `@plitzi/nexus` 1.2.0, which every
|
|
29
|
+
consumer now requires. It reacts to the store's own freshness events, so anything that expires a query's path
|
|
30
|
+
makes the providers on screen ask again.
|
|
31
|
+
|
|
32
|
+
An answer stops counting as current before its time when the element's `performQuery` runs (it always asks
|
|
33
|
+
again), when a flow runs the new global `invalidateQueries` step (source `queries`: `elements`, api container ids
|
|
34
|
+
— a container's requests are tagged with its own id — and/or a `url` prefix), and after a write. Both write steps
|
|
35
|
+
gained `invalidateQueries` / `invalidateElements`: a `webHook` sent with anything but `GET`/`HEAD` refreshes the
|
|
36
|
+
requests to its own site by default, a completed `runServerAction` refreshes all of them by default, and either
|
|
37
|
+
can name containers instead or refresh nothing. A `writeRecord` refreshes all. Providers on screen ask again at
|
|
38
|
+
once; the rest when they are next shown. A sign-in, sign-out or change of account drops everything held. Server-driven
|
|
39
|
+
providers and RSC are untouched.
|
|
40
|
+
|
|
41
|
+
- **A `webHook` that reads can be cached** (`cache`, `staleTime`), in the same cache and under the same key as an api
|
|
42
|
+
container asking the same thing. Its declaration now lives beside it (`utility/webHookSpec`) and the authoring
|
|
43
|
+
catalog gathers it instead of keeping a copy. A `HEAD` is no longer sent with a body, which `fetch` refused.
|
|
44
|
+
|
|
45
|
+
- **Step params can pick several elements.** A new param type, `elementIds` (with an `elementType` filter), is drawn
|
|
46
|
+
in the flow editor as a picker: the matching elements of the space to add, and the picked ones as chips to remove —
|
|
47
|
+
an id no element answers to any more is kept and flagged. The value is a list of ids, so nobody types a
|
|
48
|
+
comma-separated list; `invalidateQueries.elements` and the write steps' `invalidateElements` use it, and the MCP
|
|
49
|
+
catalog says which element type each such param takes.
|
|
50
|
+
|
|
51
|
+
- The dev-tools' Store tab lists the paths a store holds with a TTL — how long ago each was written, what is left
|
|
52
|
+
of it, and a button to expire one or all of them. The query cache appears there as "Queries".
|
|
53
|
+
|
|
54
|
+
- `useApi` no longer takes `params`: nothing passed them, and a GET cannot carry a body anyway. A mock now answers
|
|
55
|
+
synchronously, without a loading frame, and a provider whose URL has not resolved asks for nothing.
|
|
56
|
+
|
|
57
|
+
### Patch Changes
|
|
58
|
+
|
|
59
|
+
- Updated dependencies
|
|
60
|
+
- @plitzi/sdk-plugins@0.36.0
|
|
61
|
+
- @plitzi/sdk-shared@0.36.0
|
|
62
|
+
- @plitzi/sdk-variables@0.36.0
|
|
63
|
+
|
|
3
64
|
## 0.35.10
|
|
4
65
|
|
|
5
66
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plitzi/sdk-style",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.1",
|
|
4
4
|
"license": "AGPL-3.0",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -909,9 +909,9 @@
|
|
|
909
909
|
},
|
|
910
910
|
"dependencies": {
|
|
911
911
|
"@plitzi/plitzi-ui": "^1.6.21",
|
|
912
|
-
"@plitzi/sdk-plugins": "0.
|
|
913
|
-
"@plitzi/sdk-shared": "0.
|
|
914
|
-
"@plitzi/sdk-variables": "0.
|
|
912
|
+
"@plitzi/sdk-plugins": "0.36.1",
|
|
913
|
+
"@plitzi/sdk-shared": "0.36.1",
|
|
914
|
+
"@plitzi/sdk-variables": "0.36.1",
|
|
915
915
|
"clsx": "^2.1.1",
|
|
916
916
|
"immer": "^11.1.18",
|
|
917
917
|
"prop-types": "^15.8.1",
|