@synopackageland/cli 0.10.7 → 0.10.8

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
@@ -1,5 +1,45 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.10.8 (2026-10-15)
4
+
5
+ Builds with SDK 0.10.7 and templates 0.10.8, as 0.10.7 did: `init` still
6
+ writes SDK v0.10.7, `@synopackageland/sdk` 0.10.7 and `@synopackageland/ui`
7
+ 0.9.8, and the executor digest table is unchanged, so an App rebuilt on it
8
+ keeps its approval unless its executor or policy changes. Only the DSM
9
+ window's `ctx.call` changes. The CLI still needs SDK 0.10.5 or later: the
10
+ SDK's Gate, `useLifecycleRetry`, `appLifecycle` and `ExecutorApproval` already
11
+ read an `APP_STOPPED` that arrives at once and check again; SDK 0.10.7 changed
12
+ only its protocol README's wording, and nothing in the CLI depends on it.
13
+
14
+ 繁中摘要:搭配 SDK 0.10.7、templates 0.10.8(UI 0.9.8),digest 不變;SDK 下限維持 0.10.5
15
+ (SDK 的 Gate/`useLifecycleRetry`/`appLifecycle`/`ExecutorApproval` 本來就處理立即回的
16
+ `APP_STOPPED`)。只改 DSM window 的 `ctx.call`。
17
+
18
+ - `ctx.call` rejects `APP_STOPPED` at once: a stopped package waits for the
19
+ user to start it in Package Center, so the SDK's stopped copy shows within a
20
+ page's next read instead of 30 s later (Download Hub 29.3 s, t-0527; Reclaim
21
+ showed its old content or loading, t-0528). `APP_STARTING` and
22
+ `EXECUTOR_STARTING` repeat for 4 s of waiting (0.5, 1, 2, 0.5 s), so a short
23
+ start still shows the page nothing and the SDK's starting copy follows a
24
+ longer one within its own 4 s recheck. `executor.control`, which the window's
25
+ approval starts the executor with, still repeats a start for 30 s; the SDK's
26
+ status reads are still not repeated.
27
+ 繁中:套件停止時 `ctx.call` 立即回 `APP_STOPPED`;啟動中最多重試 4 s(`executor.control` 維持 30 s)。
28
+
29
+ ### Behavior changes
30
+
31
+ - An App rebuilt with CLI 0.10.8 shows a stopped package's copy within its
32
+ page's next read: `ctx.call` rejects `APP_STOPPED` at once instead of after
33
+ about 30 s, and repeats `APP_STARTING` and `EXECUTOR_STARTING` for at most
34
+ about 4 s. The App's code needs no change; only its devDependency
35
+ `@synopackageland/cli` 0.10.8 and its lockfile, then a rebuild.
36
+ - An e2e test that waits only for the Gate's stopped title
37
+ (`authorization.stopped.title`) can miss it: `ExecutorApproval` now takes
38
+ over first and shows its own stopped copy. Accept either of the SDK's stopped
39
+ copies.
40
+ 繁中:App 升到 CLI 0.10.8 重新 build 後,套件停止時頁面立即收到 `APP_STOPPED`(不再等 30 s),
41
+ 啟動中最多重試約 4 s;App 不需改程式。E2E 若只等 Gate 的停止標題,應接受 SDK 的任一停止文案。
42
+
3
43
  ## 0.10.7 (2026-10-15)
4
44
 
5
45
  Builds with SDK 0.10.7 and templates 0.10.8: `init` writes SDK v0.10.7 (Go
@@ -192,17 +192,21 @@ ${ns}.callOnce = function (method, params, options, requestTimeout) {
192
192
  };
193
193
 
194
194
  // APP_STOPPED, APP_STARTING and EXECUTOR_STARTING mean the executor op was not
195
- // sent: the package is stopped, or starting. The call repeats on its own, half a
196
- // second, then doubling up to 8 s, for 30 s of waiting in all; each attempt keeps
197
- // its own deadline. Past that it rejects with the last refusal, and leaving the
195
+ // sent. A stopped package waits for the user to start it in Package Center, so
196
+ // APP_STOPPED rejects at once (t-0529). A start ends by itself: a call repeats
197
+ // half a second, then doubling, for 4 s of waiting in all, so a short start
198
+ // shows the page nothing and the SDK's starting copy follows a long one within
199
+ // its own 4 s recheck; executor.control, which the window's approval starts the
200
+ // executor with, repeats up to 8 s apart for 30 s. Each attempt keeps its own
201
+ // deadline; past the wait it rejects with the last refusal, and leaving the
198
202
  // page during a wait rejects request_canceled at once. The SDK's status reads
199
203
  // are not repeated: its panels show the stopped or starting package and check
200
- // again on their own, and a page waiting here shows nothing (t-0503 R1).
201
- ${ns}.retryCodes = ["APP_STOPPED", "APP_STARTING", "EXECUTOR_STARTING"];
204
+ // again on their own (t-0503 R1).
205
+ ${ns}.retryCodes = ["APP_STARTING", "EXECUTOR_STARTING"];
202
206
  ${ns}.statusReads = ["delegate.status", "authorization.status", "executor.status"];
203
207
  ${ns}.call = function (method, params, options, requestTimeout) {
204
208
  var signal = options && options.signal;
205
- var left = ${ns}.statusReads.indexOf(method) < 0 ? 30000 : 0;
209
+ var left = ${ns}.statusReads.indexOf(method) >= 0 ? 0 : method === "executor.control" ? 30000 : 4000;
206
210
  var delay = 500;
207
211
  var attempt = function () {
208
212
  return ${ns}.callOnce(method, params, options, requestTimeout).catch(function (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synopackageland/cli",
3
- "version": "0.10.7",
3
+ "version": "0.10.8",
4
4
  "description": "Syno Package Land Developer Kit CLI",
5
5
  "type": "module",
6
6
  "bin": {