@synopackageland/sdk 0.16.0 → 0.17.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/README.md CHANGED
@@ -191,6 +191,38 @@ otherwise picks the first page the sidebar shows. A router drives the shell
191
191
  through `v-model`:
192
192
  `:model-value="route.name" @update:model-value="name => router.push({name})"`.
193
193
 
194
+ Render the shell as soon as the entry gate passes and pass `loading` while
195
+ startup reads run. The sidebar and title show immediately; the page body shows
196
+ its loading area and the actions slot waits. With the current CLI/SDK, use
197
+ `ctx.batch` for independent startup reads so they share one HTTP request and
198
+ App process:
199
+
200
+ ```ts
201
+ const results = await ctx.batch!([
202
+ {method: 'app.status'},
203
+ {method: 'greeting.get'}, // include only when this UI needs this read
204
+ ])
205
+ for (const result of results) {
206
+ if (!result.success) showError(result.error)
207
+ else applyStartupData(result.data)
208
+ }
209
+ ready.value = true
210
+ ```
211
+
212
+ `createSession(ctx).batch` adds the same denial/session handling as its `call`.
213
+ Headless Apps can use `createClient({endpoint, token, ready}).batch([...])`.
214
+ Each result is independent and keeps input order. Transport failures reject the
215
+ whole request; a failed method is an error result. Batches have one to eight
216
+ JSON methods, cannot contain stream/cookie routes, have no execution-order or
217
+ transaction guarantee, and are never automatically retried. Keep dependent
218
+ writes as separate calls. Older generated windows expose only `call`; rebuild
219
+ with the current CLI/SDK to get `batch`. Existing single calls remain supported.
220
+ Polling still starts on its own schedule. See [the protocol](../spec/batch/v1/README.md).
221
+
222
+ ```vue
223
+ <AppShell v-model="page" :ctx="ctx" :locale="ctx.locale" :pages="pages" :loading="!ready" />
224
+ ```
225
+
194
226
  ## Background saves in the settings page
195
227
 
196
228
  `BackgroundSaveSettings` provides one save-folder row per destination key,
@@ -6,5 +6,6 @@
6
6
  "deniedTitle": "Kein Zugriff",
7
7
  "deniedMessage": "Ihr DSM-Konto darf diese App nicht verwenden. Bitten Sie einen Administrator, sie in den DSM-Anwendungsberechtigungen freizugeben.",
8
8
  "notes": "Hinweise",
9
- "notesCount": "Hinweise ({count})"
9
+ "notesCount": "Hinweise ({count})",
10
+ "loading": "Wird geladen…"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "deniedTitle": "No access",
7
7
  "deniedMessage": "Your DSM account is not allowed to use this app. Ask an administrator to allow it in DSM Application Privileges.",
8
8
  "notes": "Notes",
9
- "notesCount": "Notes ({count})"
9
+ "notesCount": "Notes ({count})",
10
+ "loading": "Loading…"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "deniedTitle": "Sin acceso",
7
7
  "deniedMessage": "Su cuenta de DSM no tiene permiso para usar esta aplicación. Pida a un administrador que la permita en los privilegios de aplicaciones de DSM.",
8
8
  "notes": "Notas",
9
- "notesCount": "Notas ({count})"
9
+ "notesCount": "Notas ({count})",
10
+ "loading": "Cargando…"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "deniedTitle": "Accès refusé",
7
7
  "deniedMessage": "Votre compte DSM n’est pas autorisé à utiliser cette application. Demandez à un administrateur de l’autoriser dans les privilèges d’application de DSM.",
8
8
  "notes": "Remarques",
9
- "notesCount": "Remarques ({count})"
9
+ "notesCount": "Remarques ({count})",
10
+ "loading": "Chargement…"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "deniedTitle": "Accesso negato",
7
7
  "deniedMessage": "L’account DSM non è autorizzato a usare questa app. Chiedere a un amministratore di consentirlo nei privilegi delle applicazioni DSM.",
8
8
  "notes": "Note",
9
- "notesCount": "Note ({count})"
9
+ "notesCount": "Note ({count})",
10
+ "loading": "Caricamento…"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "deniedTitle": "アクセスできません",
7
7
  "deniedMessage": "この DSM アカウントにはこのアプリを使用する権限がありません。DSM のアプリケーション権限で許可するよう管理者に依頼してください。",
8
8
  "notes": "注記",
9
- "notesCount": "注記({count})"
9
+ "notesCount": "注記({count})",
10
+ "loading": "読み込み中…"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "deniedTitle": "액세스할 수 없음",
7
7
  "deniedMessage": "이 DSM 계정에는 이 앱을 사용할 권한이 없습니다. 관리자에게 DSM 응용 프로그램 권한에서 허용하도록 요청하십시오.",
8
8
  "notes": "참고",
9
- "notesCount": "참고 ({count})"
9
+ "notesCount": "참고 ({count})",
10
+ "loading": "불러오는 중…"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "deniedTitle": "无法访问",
7
7
  "deniedMessage": "你的 DSM 账号无权使用此应用程序。请管理员在 DSM 的应用程序权限中开放给你。",
8
8
  "notes": "附注",
9
- "notesCount": "附注({count})"
9
+ "notesCount": "附注({count})",
10
+ "loading": "正在加载…"
10
11
  }
@@ -6,5 +6,6 @@
6
6
  "deniedTitle": "無法存取",
7
7
  "deniedMessage": "你的 DSM 帳號無權使用此應用程式。請管理員在 DSM 的應用程式權限中開放給你。",
8
8
  "notes": "附註",
9
- "notesCount": "附註({count})"
9
+ "notesCount": "附註({count})",
10
+ "loading": "載入中…"
10
11
  }