From 29b546d4ae770a19293c012dd2f3f8e494eff46c Mon Sep 17 00:00:00 2001 From: Matt Emerick-Law Date: Sun, 1 Feb 2026 20:48:22 +0000 Subject: [PATCH 1/5] Update themes with slug-name --- .../Bruce-Theme/Bruce Theme GIF-240x135px/metadata.json | 1 + .../Bruce-Theme/Bruce Theme GIF-320x170px/metadata.json | 1 + .../Bruce-Theme/Bruce Theme GIF-320x240px/metadata.json | 1 + .../Bruce-Theme/Bruce Theme GIF-480x222px/metadata.json | 1 + .../Bruce-Theme/Bruce Theme PNG-240x135px/metadata.json | 1 + .../Bruce-Theme/Bruce Theme PNG-320x170px/metadata.json | 1 + .../Bruce-Theme/Bruce Theme PNG-320x240px/metadata.json | 1 + .../Bruce-Theme/Bruce Theme PNG-480x222px/metadata.json | 1 + 8 files changed, 8 insertions(+) diff --git a/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-240x135px/metadata.json b/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-240x135px/metadata.json index 66d4b687..d8049d61 100644 --- a/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-240x135px/metadata.json +++ b/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-240x135px/metadata.json @@ -1,5 +1,6 @@ { "name": "Bruce Theme (GIF)", + "slug-name": "GIF-240x135px", "description": "A bold, glowing upgrade for your Bruce device with neon energy and shark power.", "category": "Themes", "version": "1.3.0", diff --git a/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-320x170px/metadata.json b/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-320x170px/metadata.json index e1d5ec96..70003f7d 100644 --- a/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-320x170px/metadata.json +++ b/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-320x170px/metadata.json @@ -1,5 +1,6 @@ { "name": "Bruce Theme (GIF)", + "slug-name": "GIF-320x170px", "description": "A bold, glowing upgrade for your Bruce device with neon energy and shark power.", "category": "Themes", "version": "1.3.0", diff --git a/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-320x240px/metadata.json b/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-320x240px/metadata.json index baa10c87..af8a1c48 100644 --- a/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-320x240px/metadata.json +++ b/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-320x240px/metadata.json @@ -1,5 +1,6 @@ { "name": "Bruce Theme (GIF)", + "slug-name": "GIF-320x240px", "description": "A bold, glowing upgrade for your Bruce device with neon energy and shark power.", "category": "Themes", "version": "1.3.0", diff --git a/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-480x222px/metadata.json b/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-480x222px/metadata.json index 2747da7c..1dea0a9a 100644 --- a/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-480x222px/metadata.json +++ b/repositories/emericklaw/Bruce-Theme/Bruce Theme GIF-480x222px/metadata.json @@ -1,5 +1,6 @@ { "name": "Bruce Theme (GIF)", + "slug-name": "GIF-480x222px", "description": "A bold, glowing upgrade for your Bruce device with neon energy and shark power.", "category": "Themes", "version": "1.3.0", diff --git a/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-240x135px/metadata.json b/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-240x135px/metadata.json index 346190df..39025b1d 100644 --- a/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-240x135px/metadata.json +++ b/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-240x135px/metadata.json @@ -1,5 +1,6 @@ { "name": "Bruce Theme (PNG)", + "slug-name": "PNG-240x135px", "description": "A bold, glowing upgrade for your Bruce device with neon energy and shark power.", "category": "Themes", "version": "1.3.0", diff --git a/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-320x170px/metadata.json b/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-320x170px/metadata.json index 33d3b05e..67efabf9 100644 --- a/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-320x170px/metadata.json +++ b/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-320x170px/metadata.json @@ -1,5 +1,6 @@ { "name": "Bruce Theme (PNG)", + "slug-name": "PNG-320x170px", "description": "A bold, glowing upgrade for your Bruce device with neon energy and shark power.", "category": "Themes", "version": "1.3.0", diff --git a/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-320x240px/metadata.json b/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-320x240px/metadata.json index 1a20364a..9e281f98 100644 --- a/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-320x240px/metadata.json +++ b/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-320x240px/metadata.json @@ -1,5 +1,6 @@ { "name": "Bruce Theme (PNG)", + "slug-name": "PNG-320x240px", "description": "A bold, glowing upgrade for your Bruce device with neon energy and shark power.", "category": "Themes", "version": "1.3.0", diff --git a/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-480x222px/metadata.json b/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-480x222px/metadata.json index 82136a00..30ec5ee8 100644 --- a/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-480x222px/metadata.json +++ b/repositories/emericklaw/Bruce-Theme/Bruce Theme PNG-480x222px/metadata.json @@ -1,5 +1,6 @@ { "name": "Bruce Theme (PNG)", + "slug-name": "PNG-480x222px", "description": "A bold, glowing upgrade for your Bruce device with neon energy and shark power.", "category": "Themes", "version": "1.3.0", From 36c5702b47e7e104f5d2ae6d8c58064fb6867168 Mon Sep 17 00:00:00 2001 From: Matt Emerick-Law Date: Sun, 1 Feb 2026 20:53:57 +0000 Subject: [PATCH 2/5] Update slug format to include subfolder name in category files --- .github/scripts/generate-category.json-files.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/scripts/generate-category.json-files.js b/.github/scripts/generate-category.json-files.js index c3afddf5..9a1b0ace 100644 --- a/.github/scripts/generate-category.json-files.js +++ b/.github/scripts/generate-category.json-files.js @@ -126,8 +126,9 @@ async function main() { // Filter out unwanted fields from apps for category files const filteredApps = apps.map(app => { const { commit, owner, repo, path, filePath, category, files, ...cleanApp } = app; - // Add slug in format: owner/repo/appname - cleanApp.slug = `${owner}/${repo}/${app.name}`; + // Add slug in format: owner/repo/subfolder_name + const subfolderName = filePath.split('/').pop(); + cleanApp.slug = `${owner}/${repo}/${subfolderName}`; // Include supported-devices if present (apps/scripts only, not themes) const isTheme = app.category === 'Themes'; From b26ccb38113c650b96e42f817b97612206d08589 Mon Sep 17 00:00:00 2001 From: Matt Emerick-Law Date: Mon, 2 Feb 2026 14:12:50 +0000 Subject: [PATCH 3/5] Add shorter names --- .github/scripts/generate-category.json-files.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/scripts/generate-category.json-files.js b/.github/scripts/generate-category.json-files.js index 9a1b0ace..713a3b19 100644 --- a/.github/scripts/generate-category.json-files.js +++ b/.github/scripts/generate-category.json-files.js @@ -130,15 +130,23 @@ async function main() { const subfolderName = filePath.split('/').pop(); cleanApp.slug = `${owner}/${repo}/${subfolderName}`; + // Add shortened field names while keeping originals + cleanApp.n = cleanApp.name; // name -> n + cleanApp.d = cleanApp.description; // description -> d + cleanApp.v = cleanApp.version; // version -> v + cleanApp.s = cleanApp.slug; // slug -> s + // Include supported-devices if present (apps/scripts only, not themes) const isTheme = app.category === 'Themes'; if (app['supported-devices'] && !isTheme) { cleanApp['supported-devices'] = app['supported-devices']; + cleanApp['sd'] = app['supported-devices']; } // Include supported-screen-size if present (themes only) if (app['supported-screen-size'] && isTheme) { cleanApp['supported-screen-size'] = app['supported-screen-size']; + cleanApp['sss'] = app['supported-screen-size']; } return cleanApp; From 878fb55acc11dc4bd6171bc61e242b275e0c7d14 Mon Sep 17 00:00:00 2001 From: Matt Emerick-Law Date: Mon, 2 Feb 2026 14:16:15 +0000 Subject: [PATCH 4/5] Update permissions in workflow --- .github/scripts/validate-pull-request.js | 7 +++++++ .github/workflows/validate-pull-request.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/.github/scripts/validate-pull-request.js b/.github/scripts/validate-pull-request.js index 29c210a9..ce98bf8f 100644 --- a/.github/scripts/validate-pull-request.js +++ b/.github/scripts/validate-pull-request.js @@ -720,12 +720,19 @@ async function postPRComment(validationSuccess, individualAppDetails, summary, m JSON.parse(fs.readFileSync(process.env.GITHUB_EVENT_PATH, 'utf8')).number : null); + console.log('Environment variables for PR comment:'); + console.log(` GITHUB_TOKEN: ${token ? 'present' : 'missing'}`); + console.log(` GITHUB_REPOSITORY: ${repository}`); + console.log(` PR_NUMBER: ${issueNumber}`); + console.log(` GITHUB_EVENT_NAME: ${process.env.GITHUB_EVENT_NAME}`); + if (!token || !repository || !issueNumber) { console.log('Missing required environment variables for PR comment'); return; } const [owner, repo] = repository.split('/'); + console.log(`Attempting to post comment to ${owner}/${repo}#${issueNumber}`); // Build individual app sections let appDetailsSection = ''; diff --git a/.github/workflows/validate-pull-request.yml b/.github/workflows/validate-pull-request.yml index ebfe6760..0d671081 100644 --- a/.github/workflows/validate-pull-request.yml +++ b/.github/workflows/validate-pull-request.yml @@ -8,6 +8,8 @@ permissions: contents: read pull-requests: write issues: write + metadata: read + statuses: write jobs: validate-metadata: From 3e672b9f18f697e9e8b10b4062c5e477df8664f7 Mon Sep 17 00:00:00 2001 From: Matt Emerick-Law Date: Mon, 2 Feb 2026 14:17:01 +0000 Subject: [PATCH 5/5] Remove unnecessary permissions from workflow --- .github/workflows/validate-pull-request.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/validate-pull-request.yml b/.github/workflows/validate-pull-request.yml index 0d671081..ebfe6760 100644 --- a/.github/workflows/validate-pull-request.yml +++ b/.github/workflows/validate-pull-request.yml @@ -8,8 +8,6 @@ permissions: contents: read pull-requests: write issues: write - metadata: read - statuses: write jobs: validate-metadata: