Files
michaelschiemer/resources/js/schemas/livecomponent-action-response.schema.json
Michael Schiemer 36ef2a1e2c
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
fix: Gitea Traefik routing and connection pool optimization
- Remove middleware reference from Gitea Traefik labels (caused routing issues)
- Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s)
- Add explicit service reference in Traefik labels
- Fix intermittent 504 timeouts by improving PostgreSQL connection handling

Fixes Gitea unreachability via git.michaelschiemer.de
2025-11-09 14:46:15 +01:00

106 lines
2.7 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "LiveComponent Action Response",
"description": "Schema for validating LiveComponent action responses",
"oneOf": [
{
"type": "object",
"title": "Full HTML Response",
"required": ["html", "state"],
"properties": {
"html": {
"type": "string",
"description": "Rendered component HTML"
},
"state": {
"$ref": "#/definitions/componentState"
},
"events": {
"type": "array",
"description": "Component events to dispatch",
"items": {
"$ref": "#/definitions/componentEvent"
}
}
},
"additionalProperties": false
},
{
"type": "object",
"title": "Fragment Response",
"required": ["fragments", "state"],
"properties": {
"fragments": {
"type": "object",
"description": "Fragment map for partial rendering",
"additionalProperties": {
"type": "string"
}
},
"state": {
"$ref": "#/definitions/componentState"
},
"events": {
"type": "array",
"description": "Component events to dispatch",
"items": {
"$ref": "#/definitions/componentEvent"
}
}
},
"additionalProperties": false
}
],
"definitions": {
"componentState": {
"type": "object",
"required": ["id", "component", "data", "version"],
"properties": {
"id": {
"type": "string",
"description": "Component ID (format: component-name:instance-id)",
"pattern": "^[a-z0-9_-]+:[a-z0-9_.-]+$"
},
"component": {
"type": "string",
"description": "Component name",
"minLength": 1
},
"data": {
"type": "object",
"description": "Component state data",
"additionalProperties": true
},
"version": {
"type": "integer",
"description": "State version number",
"minimum": 1
}
},
"additionalProperties": false
},
"componentEvent": {
"type": "object",
"required": ["name", "payload"],
"properties": {
"name": {
"type": "string",
"description": "Event name",
"minLength": 1
},
"payload": {
"type": "object",
"description": "Event payload data",
"additionalProperties": true
},
"target": {
"type": ["string", "null"],
"description": "Target component ID (null for broadcast)"
}
},
"additionalProperties": false
}
}
}