+ Cloud
+
+ Optional iCloud sync for projects and chats.
+
+
+
+
+ {appSettings.runnerId || "…"}
+
+
+
+
+
Enable CloudKit Sync
+
+ Mirrors your data into your private iCloud database.
+
+
+
+
+
+
+
+
+
+ setCloudKitContainerDraft(event.target.value)
+ }
+ />
+
+
+ Use the iCloud container identifier enabled for this app. Example:{" "}
+ iCloud.com.ilass.codexmonitor.
+
+
+
+
+
+
+ setCloudKitPollDraft(event.target.value)}
+ inputMode="numeric"
+ />
+
+
+ Leave empty to use the default. Lower values mean faster remote control but more CloudKit traffic.
+
+
+
+
+ {cloudKitContainerDirty && (
+
+ )}
+ {cloudKitPollDirty && (
+
+ )}
+
+
+
+
+ {cloudStatusState.status === "done" && (
+
+
+ {cloudStatusState.result?.available
+ ? "CloudKit account available"
+ : "CloudKit unavailable"}
+
+
+
Status: {cloudStatusState.result?.status ?? "unknown"}
+ {cloudStatusState.error &&
{cloudStatusState.error}
}
+
+
+ )}
+
+ {cloudTestState.status === "done" && (
+
+
+ {cloudTestState.result ? "CloudKit test succeeded" : "CloudKit test failed"}
+
+
+ {cloudTestState.result && (
+
+ Record: {cloudTestState.result.recordName} (
+ {cloudTestState.result.durationMs} ms)
+
+ )}
+ {cloudTestState.error &&
{cloudTestState.error}
}
+
+
+ )}
+
+
+
+ Cloud Telemetry
+
+ Client-side cache and fetch timings (local-only). Use this to see whether views were served from cache or fetched from CloudKit.
+
+
+
+
+
+
+ {cloudTelemetryOpen && (
+
+
+ {cloudTelemetryEntries.length
+ ? cloudTelemetryEntries
+ .slice(-120)
+ .map((entry) => {
+ const time = new Date(entry.ts).toLocaleTimeString();
+ const parts = [
+ time,
+ entry.event,
+ entry.fromCache != null ? `cache=${entry.fromCache}` : "",
+ entry.durationMs != null ? `${Math.round(entry.durationMs)}ms` : "",
+ entry.scopeKey ? `scope=${entry.scopeKey}` : "",
+ entry.workspaceId ? `ws=${entry.workspaceId}` : "",
+ entry.threadId ? `th=${entry.threadId}` : "",
+ entry.note || "",
+ ].filter(Boolean);
+ return parts.join(" · ");
+ })
+ .join("\n")
+ : "No telemetry yet."}
+
+
+ )}
+
+
+
+ NATS (Realtime)
+
+ Optional low-latency transport for streaming events and commands.
+
+
+
+
Enable NATS
+
+ Requires a reachable NATS server (self-hosted or managed).
+
+
+
+
+
+
+
+ setNatsUrlDraft(event.target.value)}
+ />
+
+
+
+
+
+ setNatsNamespaceDraft(event.target.value)}
+ />
+
+
+
+
+
+ setNatsCredsDraft(event.target.value)}
+ />
+
+
+
+
+
+
+ Telegram (Notifications)
+
+ Minimal remote control via a Telegram bot (commands + main events).
+
+
+
+
Enable Telegram
+
+ Requires a bot token and an allowlist.
+
+
+
+
+
+
+
+ setTelegramTokenDraft(event.target.value)}
+ />
+
+
+
+
+
+ setTelegramAllowedDraft(event.target.value)}
+ />
+
+
+
+
+
+ setTelegramChatDraft(event.target.value)}
+ />
+
+
+
+
+
+
+ )}
{activeSection === "codex" && (