Check the CloudKit schema when packaging and show broken iCloud sync

This commit is contained in:
Ian Gulliver
2026-10-20 08:55:37 -07:00
parent e7724977c8
commit 8f3226350e
14 changed files with 502 additions and 288 deletions
+24
View File
@@ -1015,6 +1015,20 @@ paths:
description: Switched to the WebSocket protocol.
"400": { $ref: "#/components/responses/Error" }
/api/clients/sync:
put:
operationId: setClientSync
description: Records how the calling app's iCloud sync last went, for the clients in the status. The Byre-Client and Byre-Host headers name the client.
requestBody:
required: true
content:
application/json:
schema: { $ref: "#/components/schemas/ClientSync" }
responses:
"204":
description: Recorded.
"400": { $ref: "#/components/responses/Error" }
/api/clients/transfers/{transferId}:
parameters:
- { name: transferId, in: path, required: true, schema: { type: string } }
@@ -1984,6 +1998,16 @@ components:
commit: { type: string, description: The git commit the app was built from, from its Byre-Commit header; empty when the client sent none. }
connected_at: { type: string, format: date-time, description: When the client's WebSocket connected. }
last_action_at: { type: string, format: date-time, description: When byre last received a request the human made from this client since byre started; absent when none. }
sync: { $ref: "#/components/schemas/ClientSync" }
ClientSync:
type: object
required: [ok, at]
description: The app's latest finished iCloud sync operation; absent from a client until it reports one.
properties:
ok: { type: boolean, description: Whether that operation succeeded. }
error: { type: string, description: Why it failed; absent when ok. }
at: { type: string, format: date-time, description: When it finished. }
ClientRequest:
type: object