Files
ServerKit/backend/app/plugins/serverkit-status/plugin.json
T
Juan DenisandClaude Opus 5 30b780f4e4 fix(status): a null JSON body no longer 500s the status-page routes
PR #122 review. Four routes passed request.get_json() straight into the
service, which does `if field in data` and raises TypeError on None.

Copilot reported the trigger as "empty/invalid JSON bodies"; measured on
Flask 3.1.3 that is wrong — an empty body is already a 400 and a wrong
content-type a 415, both raised by Flask before the view runs. The body
that actually reaches the view is literal `null`, which is valid JSON and
decodes to None. Same fix, accurate reason.

Also corrects plugin.json, which claimed installing the extension serves
the public /status/<slug> pages; the registry catalog says that page
stays core, and the two contradicted each other.

Both copies edited — app/plugins/ is the live copy the loader imports,
builtin-extensions/ is the source — and a test pins that they agree.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 00:34:20 -04:00

43 lines
1.3 KiB
JSON

{
"name": "serverkit-status",
"display_name": "Status Pages",
"version": "1.0.0",
"description": "Public status pages backed by uptime monitors, with the management UI as a tab in the Observability group. The public /status/<slug> page itself stays core.",
"author": "ServerKit",
"license": "MIT",
"category": "monitoring",
"homepage": "https://github.com/jhd3197/ServerKit",
"permissions": [],
"entry_point": "status_pages:status_pages_bp",
"url_prefix": "/api/v1/status",
"icon": "<circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\"/><path d=\"M2 12h20\"/>",
"contributions": {
"tabs": [
{
"group": "monitoring",
"to": "/status-pages",
"label": "Status Pages",
"icon": "<circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\"/><path d=\"M2 12h20\"/>"
}
],
"routes": [
{
"path": "status-pages",
"component": "StatusPagesPage",
"group": "monitoring"
}
],
"page_titles": {
"/status-pages": "Status Pages"
},
"command_palette": [
{
"label": "Status Pages",
"path": "/status-pages",
"category": "Pages",
"keywords": "uptime incidents public status"
}
]
}
}