From caf16791dd66a313fd39f566dad73ca4c06e22f8 Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Wed, 28 Jan 2026 14:21:08 -0500 Subject: [PATCH] fix: enforce strict schema validation Added 'additionalProperties: false' to app, categories, and project schemas to prevent extra properties. Removed unused 'metadata' field from Moonlight app JSON files to align with updated schemas. --- apps/moonlight/moonlight-android.json | 3 --- apps/moonlight/moonlight-qt.json | 3 --- schemas/app.schema.json | 2 ++ schemas/categories.schema.json | 2 ++ schemas/project.schema.json | 1 + 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/apps/moonlight/moonlight-android.json b/apps/moonlight/moonlight-android.json index ef0ad81..2d3acad 100644 --- a/apps/moonlight/moonlight-android.json +++ b/apps/moonlight/moonlight-android.json @@ -26,8 +26,5 @@ "featured": true, "compatibility": { "sunshine": ">=0.1.0" - }, - "metadata": { - "license": "GPL-3.0" } } diff --git a/apps/moonlight/moonlight-qt.json b/apps/moonlight/moonlight-qt.json index 7728f51..b47aa9c 100644 --- a/apps/moonlight/moonlight-qt.json +++ b/apps/moonlight/moonlight-qt.json @@ -16,8 +16,5 @@ "featured": true, "compatibility": { "sunshine": ">=0.1.0" - }, - "metadata": { - "license": "GPL-3.0" } } diff --git a/schemas/app.schema.json b/schemas/app.schema.json index 4faf75b..09c3f1d 100644 --- a/schemas/app.schema.json +++ b/schemas/app.schema.json @@ -4,6 +4,7 @@ "description": "Schema for featured applications in the LizardByte app directory", "type": "object", "required": ["id", "name", "category", "description", "platforms"], + "additionalProperties": false, "properties": { "id": { "type": "string", @@ -81,6 +82,7 @@ }, "compatibility": { "type": "object", + "additionalProperties": false, "properties": { "sunshine": { "type": "string", diff --git a/schemas/categories.schema.json b/schemas/categories.schema.json index 93e04bf..fcb0ce8 100644 --- a/schemas/categories.schema.json +++ b/schemas/categories.schema.json @@ -4,12 +4,14 @@ "description": "Schema for project-specific category definitions", "type": "object", "required": ["categories"], + "additionalProperties": false, "properties": { "categories": { "type": "array", "items": { "type": "object", "required": ["id", "name", "description"], + "additionalProperties": false, "properties": { "id": { "type": "string", diff --git a/schemas/project.schema.json b/schemas/project.schema.json index e88e7d5..c865376 100644 --- a/schemas/project.schema.json +++ b/schemas/project.schema.json @@ -4,6 +4,7 @@ "description": "Schema for project-specific configuration", "type": "object", "required": ["id", "name"], + "additionalProperties": false, "properties": { "id": { "type": "string",