f56b088643
Base Image Build / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (push) Has been cancelled
Base Image Build / docker (amd64, ubuntu-24.04) (push) Has been cancelled
Base Image Build / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
Base Image Build / create-manifest (push) Has been cancelled
43 lines
2.4 KiB
JSON
43 lines
2.4 KiB
JSON
{
|
|
"_schema_documentation": {
|
|
"description": "Developer notification definitions. Each notification is evaluated at sync time.",
|
|
"fields": {
|
|
"id": "[REQUIRED] Unique identifier (notification_key in database).",
|
|
"notification_type": "[OPTIONAL] Type: 'version_update', 'setting_recommendation', 'announcement', 'warning', 'info'. Default: 'info'",
|
|
"priority": "[OPTIONAL] Priority level: 'low', 'normal', 'high', 'critical'. Default: 'normal'",
|
|
"title": "[REQUIRED] Notification title/heading.",
|
|
"message": "[REQUIRED] Detailed notification message body.",
|
|
"min_version": "[OPTIONAL] Minimum version (inclusive). null = no minimum. Example: '0.17.0'",
|
|
"max_version": "[OPTIONAL] Maximum version (inclusive). null = no maximum. Example: '0.18.1'",
|
|
"created_at": "[OPTIONAL] ISO timestamp when notification was created. For tracking only.",
|
|
"expires_at": "[OPTIONAL] ISO timestamp when notification expires. null = never expires. Example: '2026-12-31T23:59:59Z'",
|
|
"condition": "[OPTIONAL] Array of condition check names that must all pass. Empty/null = always show. Example: ['m3u_epg_network_insecure']",
|
|
"user_level": "[OPTIONAL] User level required: 'all' or 'admin'. Default: 'all'",
|
|
"action_url": "[OPTIONAL] Internal URL to navigate to when action button clicked. Example: '/settings#network-access'",
|
|
"action_text": "[OPTIONAL] Text for action button. Required if action_url is set. Example: 'Review Settings'"
|
|
},
|
|
"notes": [
|
|
"Notifications are synced from this file to database on startup and when relevant settings change",
|
|
"Out-of-range versions are automatically removed from database",
|
|
"Expired notifications are automatically removed from database",
|
|
"Conditions are evaluated per-user at display time (see CONDITION_CHECKS in developer_notifications.py)"
|
|
]
|
|
},
|
|
"notifications": [
|
|
{
|
|
"id": "network_security_m3u_epg",
|
|
"notification_type": "warning",
|
|
"priority": "high",
|
|
"title": "Network Access Security Warning",
|
|
"message": "Your EPG/M3U output is accessible from any network. Consider restricting access to improve security.",
|
|
"min_version": null,
|
|
"max_version": null,
|
|
"created_at": "2026-02-02T00:00:00Z",
|
|
"expires_at": null,
|
|
"condition": ["m3u_epg_network_insecure"],
|
|
"user_level": "admin",
|
|
"action_url": "/settings#network-access",
|
|
"action_text": "Review Settings"
|
|
}
|
|
]
|
|
} |