قالب Log
تدفّق متواصل من حتى 20 سطرًا بترتيب الأحدث أولاً، لكل منها طابع زمني وخطورة اختياريان. يحتفظ الخادم بسجلّ سابق يمكنك جلبه داخل التطبيق، بينما تعرض الـ Live Activity دائمًا أحدث الأسطر.

Fields
| Field | Type | Description |
|---|---|---|
template | string | Required. Must be "log" |
lines | array | Required. 1–20 line objects, newest first (see below) |
title | string | Log heading shown above the feed |
state | string | Status text shown beside the title (e.g. the source name) |
icon | string | SF Symbol name (e.g. "doc.text") or MDI icon with mdi: prefix |
accent_color | string | Named color or hex used for the heading icon. Default: blue |
background_color | string | Background color override |
text_color | string | Text color override |
Line object
Each entry in lines is an object:
| Field | Type | Description |
|---|---|---|
text | string | Required. The log message. Max 512 characters |
at | integer | Unix timestamp (seconds) shown as the line's time |
level | string | One of info, warn, error — tints the line and its marker |
معلومة
Send the newest line first, up to 20 lines per push. To stream a feed, prepend the new line and re-send the array. The Live Activity always shows the most recent lines that fit the ~4 KB APNs payload.
نصيحة
The server keeps a rolling scroll-back backlog beyond what fits on screen. The PushWard app fetches it with GET /activities/{slug}?include=log_backlog to show full history in-app — the field is read-only and never needs to be sent.
Example: Streaming Deploy Log
سجلّ نشر متدفّق
{
"state": "ongoing",
"content": {
"template": "log",
"title": "Deploy Log",
"state": "pushward-server",
"icon": "doc.text",
"accent_color": "purple",
"lines": [
{ "text": "Rollout complete — 3/3 pods healthy", "at": 1718990000, "level": "info" },
{ "text": "Image pull slow on node arm-2", "at": 1718989950, "level": "warn" },
{ "text": "Applied manifest revision d86246c", "at": 1718989930, "level": "info" },
{ "text": "Sync started by webhook", "at": 1718989900, "level": "info" }
]
}
}Typical Flow
- Start the feed (
ended -> ongoing): Send the first batch of lines, newest first - Append events (
ongoing -> ongoing): Prepend each new line and re-sendlines— older lines roll into the backlog - Finish (
ongoing -> ended): Send a closing line, then end the activity
Use Cases
- CI/CD — live deploy and pipeline logs
- Home automation — event feeds (motion, doors, presence)
- Monitoring — rolling alert and incident streams
- Self-hosting — download/import progress, backup steps, sync activity