Compare commits

...

7 Commits

Author SHA1 Message Date
github-actions[bot] cbaa522dcc Update after PR with OTA images merged 2026-07-06 18:34:51 +00:00
Dan Gibson e5da2def20 Adds lumi.dimmer.acn003/4/5 (#1213)
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
2026-07-06 20:33:40 +02:00
github-actions[bot] 890a3a2688 Update after PR with OTA images merged 2026-07-06 18:32:38 +00:00
Dan Gibson 1935bb1ff5 Adds lumi.light.acn006/023/025/040 (#1214)
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
2026-07-06 20:32:06 +02:00
Koen Kanters d514a589ec fix: Allow images with same sha512 when modelId differs (#1223) 2026-07-06 20:30:23 +02:00
dependabot[bot] 248826c725 fix(ignore): bump the minor-patch group with 2 updates (#1224) 2026-07-06 20:10:19 +02:00
github-actions[bot] fda5336184 Autodl update 2026-07-05 00:58:21 +00:00
18 changed files with 207 additions and 86 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+24 -12
View File
@@ -3695,12 +3695,6 @@
"stackDetails": "(fallback matching)",
"zigbeeStackVersion": "ZigbeePro"
},
{
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/ThirdReality/bl702_Dual_plug_1.00.42.ota",
"stack": "Unknown",
"stackDetails": "",
"zigbeeStackVersion": "ZigbeePro"
},
{
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Legrand/1021-000e-004e45ff-NLF.zigbee",
"stack": "Unknown",
@@ -5033,12 +5027,6 @@
"stackDetails": "GBL",
"zigbeeStackVersion": "ZigbeePro"
},
{
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/ThirdReality/Smart_Air_Quality_Sensor_OTA_v16_v1.00.16.ota",
"stack": "Unknown",
"stackDetails": "",
"zigbeeStackVersion": "ZigbeePro"
},
{
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Legrand/1021-0016-003d45ff-NLD.zigbee",
"stack": "Unknown",
@@ -5122,5 +5110,29 @@
"stack": "Telink",
"stackDetails": "",
"zigbeeStackVersion": "ZigbeePro"
},
{
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/ThirdReality/bl702_dual_plug_1.00.52.ota",
"stack": "Unknown",
"stackDetails": "",
"zigbeeStackVersion": "ZigbeePro"
},
{
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/ThirdReality/bl702_wall_plug_1.00.52.ota",
"stack": "Unknown",
"stackDetails": "",
"zigbeeStackVersion": "ZigbeePro"
},
{
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/ThirdReality/Smart_Air_Quality_Sensor_OTA_v17_v1.00.17.ota",
"stack": "ZBOSS",
"stackDetails": "Nordic (fuzzy matching)",
"zigbeeStackVersion": "ZigbeePro"
},
{
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Lumi/20260518142429_OTA_lumi.sensor_ht.agl001_0.0.0_1641_20260518_0DFD70.ota",
"stack": "Unknown",
"stackDetails": "",
"zigbeeStackVersion": "ZigbeePro"
}
]
+84 -11
View File
@@ -2622,17 +2622,6 @@
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.light.acn014"
},
{
"fileName": "20231222194652_lumi.dimmer.acn004_0.0.0_0024_9FD15B.ota",
"fileVersion": 24,
"fileSize": 440714,
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Lumi/20231222194652_lumi.dimmer.acn004_0.0.0_0024_9FD15B.ota",
"imageType": 6028,
"manufacturerCode": 4447,
"sha512": "56ecdbb4940e48ab4abeb2ca7a168f23e4c9c116818f842a36b3a28c935a3b8f6e99c42cdef4b2db1dcb9ad2a244548591a1d112d9c37bd4bc568b5c20a3fa07",
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.dimmer.acn004"
},
{
"fileName": "20231222195203_lumi.light.acn024_0.0.0_0041_20231220_20F906.ota",
"fileVersion": 41,
@@ -9805,5 +9794,89 @@
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.sensor_ht.agl001",
"releaseNotes": "Fixes integer-truncated temperature/humidity reports being interleaved with precise ones"
},
{
"fileName": "20230217145452_OTA_lumi.light.acn006_0.0.0_0039_20230216_216801.ota",
"fileVersion": 39,
"fileSize": 385152,
"originalUrl": "https://cdn.aqara.com/cdn/opencloud-product/mainland/product-firmware/prd/lumi.light.acn006/20230217145452_OTA_lumi.light.acn006_0.0.0_0039_20230216_216801.ota",
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Lumi/20230217145452_OTA_lumi.light.acn006_0.0.0_0039_20230216_216801.ota",
"imageType": 132,
"manufacturerCode": 4447,
"sha512": "cf84026e63fdb9cce7886a4b209e059f76eb0426e5b26fe2c6bb02150e2527144b1287dc1496153038a217aa7957577df2dde02772839f6670aeb7f7d5962626",
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.light.acn006"
},
{
"fileName": "20231222195103_lumi.light.acn023_0.0.0_0041_20231220_20F906.ota",
"fileVersion": 41,
"fileSize": 317900,
"originalUrl": "https://cdn.aqara.com/cdn/opencloud-product/mainland/product-firmware/prd/lumi.light.acn023/20231222195103_lumi.light.acn023_0.0.0_0041_20231220_20F906.ota",
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Lumi/20231222195103_lumi.light.acn023_0.0.0_0041_20231220_20F906.ota",
"imageType": 138,
"manufacturerCode": 4447,
"sha512": "dea351b8a1208cb6703530a78966cc940a5d67c2a8990df18a3fcb7d55304a82d713a656efd27705a8ff51b43028ddef4b765dc3692be2f9cdaf47795ab15b11",
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.light.acn023"
},
{
"fileName": "20231222195251_lumi.light.acn025_0.0.0_0041_20231220_20F906.ota",
"fileVersion": 41,
"fileSize": 317900,
"originalUrl": "https://cdn.aqara.com/cdn/opencloud-product/mainland/product-firmware/prd/lumi.light.acn025/20231222195251_lumi.light.acn025_0.0.0_0041_20231220_20F906.ota",
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Lumi/20231222195251_lumi.light.acn025_0.0.0_0041_20231220_20F906.ota",
"imageType": 138,
"manufacturerCode": 4447,
"sha512": "dea351b8a1208cb6703530a78966cc940a5d67c2a8990df18a3fcb7d55304a82d713a656efd27705a8ff51b43028ddef4b765dc3692be2f9cdaf47795ab15b11",
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.light.acn025"
},
{
"fileName": "20250801110500_OTA_lumi.light.acn040_0.0.0_0024_20250728_C35D9C.ota",
"fileVersion": 24,
"fileSize": 666126,
"originalUrl": "https://cdn.aqara.com/cdn/opencloud-product/mainland/product-firmware/prd/lumi.light.acn040/20250801110500_OTA_lumi.light.acn040_0.0.0_0024_20250728_C35D9C.ota",
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Lumi/20250801110500_OTA_lumi.light.acn040_0.0.0_0024_20250728_C35D9C.ota",
"imageType": 1045,
"manufacturerCode": 4447,
"sha512": "9b6f9ee722b877a5d61243f586129bd005e5e278acb6fda77e28ca444831e7c95c966bc9fd0bd030988410804d56bb8bbf5cc3c2aef51d0ced2381f66e319f94",
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.light.acn040"
},
{
"fileName": "20250718111625_lumi.dimmer.acn003_0.0.0_0025_20250717_817611.ota",
"fileVersion": 25,
"fileSize": 445174,
"originalUrl": "https://cdn.aqara.com/cdn/opencloud-product/mainland/product-firmware/prd/lumi.dimmer.acn003/20250718111625_lumi.dimmer.acn003_0.0.0_0025_20250717_817611.ota",
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Lumi/20250718111625_lumi.dimmer.acn003_0.0.0_0025_20250717_817611.ota",
"imageType": 6028,
"manufacturerCode": 4447,
"sha512": "da9393eccecff6eeb511481dcc5f98c5f73bd418aabc070e636e23275b107ab1cc81b642bb5d74dc428c7c348f218f8f2dc6541ebc3386c02b4870e06f03ef26",
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.dimmer.acn003"
},
{
"fileName": "20250718112958_lumi.dimmer.acn004_0.0.0_0025_20250717_817611.ota",
"fileVersion": 25,
"fileSize": 445174,
"originalUrl": "https://cdn.aqara.com/cdn/opencloud-product/mainland/product-firmware/prd/lumi.dimmer.acn004/20250718112958_lumi.dimmer.acn004_0.0.0_0025_20250717_817611.ota",
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Lumi/20250718112958_lumi.dimmer.acn004_0.0.0_0025_20250717_817611.ota",
"imageType": 6028,
"manufacturerCode": 4447,
"sha512": "da9393eccecff6eeb511481dcc5f98c5f73bd418aabc070e636e23275b107ab1cc81b642bb5d74dc428c7c348f218f8f2dc6541ebc3386c02b4870e06f03ef26",
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.dimmer.acn004"
},
{
"fileName": "20250722114553_lumi.dimmer.acn005_0.0.0_0025_20250717_817611.ota",
"fileVersion": 25,
"fileSize": 445174,
"originalUrl": "https://cdn.aqara.com/cdn/opencloud-product/mainland/product-firmware/prd/lumi.dimmer.acn005/20250722114553_lumi.dimmer.acn005_0.0.0_0025_20250717_817611.ota",
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/Lumi/20250722114553_lumi.dimmer.acn005_0.0.0_0025_20250717_817611.ota",
"imageType": 6028,
"manufacturerCode": 4447,
"sha512": "da9393eccecff6eeb511481dcc5f98c5f73bd418aabc070e636e23275b107ab1cc81b642bb5d74dc428c7c348f218f8f2dc6541ebc3386c02b4870e06f03ef26",
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.dimmer.acn005"
}
]
+11
View File
@@ -3611,5 +3611,16 @@
"manufacturerCode": 5127,
"sha512": "d5a1236dc27f86157d2b83cc24a66c77c15b94f81d42cb2db3a46c34e3b8a4059642e1cc0e17622428abecb4790680c228b3f6a39313a3273b24c65b9f5bc60b",
"otaHeaderString": "test"
},
{
"fileName": "20231222194652_lumi.dimmer.acn004_0.0.0_0024_9FD15B.ota",
"fileVersion": 24,
"fileSize": 440714,
"url": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images1/Lumi/20231222194652_lumi.dimmer.acn004_0.0.0_0024_9FD15B.ota",
"imageType": 6028,
"manufacturerCode": 4447,
"sha512": "56ecdbb4940e48ab4abeb2ca7a168f23e4c9c116818f842a36b3a28c935a3b8f6e99c42cdef4b2db1dcb9ad2a244548591a1d112d9c37bd4bc568b5c20a3fa07",
"otaHeaderString": "Aqara OTA Image",
"modelId": "lumi.dimmer.acn004"
}
]
+2 -2
View File
@@ -49,9 +49,9 @@
"devDependencies": {
"@actions/core": "^3.0.1",
"@actions/github": "^9.1.1",
"@biomejs/biome": "^2.5.1",
"@biomejs/biome": "^2.5.2",
"@octokit/rest": "^22.0.1",
"@types/node": "^26.0.1",
"@types/node": "^26.1.0",
"@vitest/coverage-v8": "^3.2.4",
"typescript": "^6.0.3",
"vitest": "^3.2.6"
+57 -57
View File
@@ -19,23 +19,23 @@ importers:
specifier: ^9.1.1
version: 9.1.1
'@biomejs/biome':
specifier: ^2.5.1
version: 2.5.1
specifier: ^2.5.2
version: 2.5.2
'@octokit/rest':
specifier: ^22.0.1
version: 22.0.1
'@types/node':
specifier: ^26.0.1
version: 26.0.1
specifier: ^26.1.0
version: 26.1.0
'@vitest/coverage-v8':
specifier: ^3.2.4
version: 3.2.4(vitest@3.2.6(@types/node@26.0.1))
version: 3.2.4(vitest@3.2.6(@types/node@26.1.0))
typescript:
specifier: ^6.0.3
version: 6.0.3
vitest:
specifier: ^3.2.6
version: 3.2.6(@types/node@26.0.1)
version: 3.2.6(@types/node@26.1.0)
packages:
@@ -82,55 +82,55 @@ packages:
resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==}
engines: {node: '>=18'}
'@biomejs/biome@2.5.1':
resolution: {integrity: sha512-IXWLCxKmae+rI7LOHS1B3EbVisQ6GRAWbhN9msa6KjNCyFWrvKZWR4oUdinaNssrV852OrSHuSPa95h1GPJc7Q==}
'@biomejs/biome@2.5.2':
resolution: {integrity: sha512-VQ3RCqr7JmDIX+w6stWYl+g/3bYofN3q2wDBHUKKc/c7i5QWrFKFBZYCYPWTE6agsUPMIZZe6/CMmVUfUAhkKA==}
engines: {node: '>=14.21.3'}
hasBin: true
'@biomejs/cli-darwin-arm64@2.5.1':
resolution: {integrity: sha512-npqDzvqv7vFaWRiNN1Te71siRgPaqS9MpqgYCdP/CrUbkJ7ApezaeaKjueKHRN/JH/6lRjJQAHi8acQDCAz22w==}
'@biomejs/cli-darwin-arm64@2.5.2':
resolution: {integrity: sha512-e7P3P7EkwFc/KiX2AHw4YDLIBOMfG9CPCAwy52k5Bp0dfhkozx9hf6wCmIr2QeXy2XeccJ3V/Sg+hDmzYEqxSg==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
'@biomejs/cli-darwin-x64@2.5.1':
resolution: {integrity: sha512-RgwTqPAM8g2tn1j+b5oRjF/DbSBX8a4gwojtuG9XuhfK7GgomvZ9+T+tqjXiVbjLEeGJOoL6VEk8mvRTVeSybw==}
'@biomejs/cli-darwin-x64@2.5.2':
resolution: {integrity: sha512-ymzMvjC1Jg0b9K0D26ZdARqFQXs7MocfLC5FOCGfkC0Ss+ACUJkX5364ZM5nT4NLZanHRZNVrZEy+Ibwcvux/g==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
'@biomejs/cli-linux-arm64-musl@2.5.1':
resolution: {integrity: sha512-WMcvMLgByyTqVxGlq918NBBYliq9FRR9GAQVETHb+VjGVqXCZFfHlZHC1FX4ibuYY/Hg6TJE3rHU0xVrdJXNRw==}
'@biomejs/cli-linux-arm64-musl@2.5.2':
resolution: {integrity: sha512-w+ANG0ZvTu9IeEg9QnstoOnk6L0fpwJifW6aHR18+cb5Z39bkANItYjAfMrnvce5tmMK+IQ6nPX7/kQFdam5iw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
'@biomejs/cli-linux-arm64@2.5.1':
resolution: {integrity: sha512-yhV35CzZh38VyMvTEXi3JTjxZBs++oCKK9KG8vB6VI5+uvQvZNR3BFWEKKzuOmx9DJJj7sQpZ4LQJcmbGTs3+Q==}
'@biomejs/cli-linux-arm64@2.5.2':
resolution: {integrity: sha512-t7sseOmqND57uUWTwlawU6BYj+J06T/9EkydzBhkrgw/FK3QVhjU2wsJR0frljrKZ0/I8A/rYw7284QgqjQfIQ==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
'@biomejs/cli-linux-x64-musl@2.5.1':
resolution: {integrity: sha512-ANTowtlLmPYm5yeMckWY8Xzb9Ix+JJP3tgHR/n6xRj1VWyIzzWtfRfih9hv9VmClwadpBvZduISZIbBsIlYG3A==}
'@biomejs/cli-linux-x64-musl@2.5.2':
resolution: {integrity: sha512-VArNLAzND063tF+XY0yPyM+DyahpzOMzOAvb7qs259nhjJWRjvjZdssuA+Rfl+l07+NOesKZ0Xu2yFrXyBMtzw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
'@biomejs/cli-linux-x64@2.5.1':
resolution: {integrity: sha512-J/7uHSX7NfoYDI7HijAkd8lnQIOrRb2W7j3X+tw4R+N5ExvXGsyXFiGdQcfcxfOmNQmZVSQOCDk757fwpzqQcg==}
'@biomejs/cli-linux-x64@2.5.2':
resolution: {integrity: sha512-M/lOZrewzTCRDINbjhQ1gYYru37KlD3kJBQwwKCG0ckz5E9IZwIoJ3X0wBwRXA+yBDIwWUuPBHS67HzJY4dTfA==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
'@biomejs/cli-win32-arm64@2.5.1':
resolution: {integrity: sha512-zgXnKNgWPC4iPF7Y1lR3STUeCUuZRpD6IiOrC7TZTlh0Lx6FiVUT05myuMQHQ9D+1cc7uyMldi4forE6lp0ivQ==}
'@biomejs/cli-win32-arm64@2.5.2':
resolution: {integrity: sha512-kbjFFKyZlzYnAuw7sRy5qDoFG6zrP40UK08oPQsWK0ct3NMnGSt+Bs1iviEEyEIP57N5MrykGXdO/wRiaR4lww==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
'@biomejs/cli-win32-x64@2.5.1':
resolution: {integrity: sha512-6uxpR9hvaglANkZemeSiN/FhYgkGasrEGn267eXIWvjrjJ2LhDlk251IhjVJq6MXzkV2/bcXwLwSroLyPtqRZg==}
'@biomejs/cli-win32-x64@2.5.2':
resolution: {integrity: sha512-4InchVpdVmdkkkgjQqKpgvyu+VPnoF/7RPSw5YATgEVpt2j72wcCAeV5TwaE9ZGJUZWZn7v2CwSAj6CrMJEx8A==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
@@ -514,8 +514,8 @@ packages:
'@types/estree@1.0.9':
resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
'@types/node@26.0.1':
resolution: {integrity: sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw==}
'@types/node@26.1.0':
resolution: {integrity: sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==}
'@vitest/coverage-v8@3.2.4':
resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==}
@@ -1051,39 +1051,39 @@ snapshots:
'@bcoe/v8-coverage@1.0.2': {}
'@biomejs/biome@2.5.1':
'@biomejs/biome@2.5.2':
optionalDependencies:
'@biomejs/cli-darwin-arm64': 2.5.1
'@biomejs/cli-darwin-x64': 2.5.1
'@biomejs/cli-linux-arm64': 2.5.1
'@biomejs/cli-linux-arm64-musl': 2.5.1
'@biomejs/cli-linux-x64': 2.5.1
'@biomejs/cli-linux-x64-musl': 2.5.1
'@biomejs/cli-win32-arm64': 2.5.1
'@biomejs/cli-win32-x64': 2.5.1
'@biomejs/cli-darwin-arm64': 2.5.2
'@biomejs/cli-darwin-x64': 2.5.2
'@biomejs/cli-linux-arm64': 2.5.2
'@biomejs/cli-linux-arm64-musl': 2.5.2
'@biomejs/cli-linux-x64': 2.5.2
'@biomejs/cli-linux-x64-musl': 2.5.2
'@biomejs/cli-win32-arm64': 2.5.2
'@biomejs/cli-win32-x64': 2.5.2
'@biomejs/cli-darwin-arm64@2.5.1':
'@biomejs/cli-darwin-arm64@2.5.2':
optional: true
'@biomejs/cli-darwin-x64@2.5.1':
'@biomejs/cli-darwin-x64@2.5.2':
optional: true
'@biomejs/cli-linux-arm64-musl@2.5.1':
'@biomejs/cli-linux-arm64-musl@2.5.2':
optional: true
'@biomejs/cli-linux-arm64@2.5.1':
'@biomejs/cli-linux-arm64@2.5.2':
optional: true
'@biomejs/cli-linux-x64-musl@2.5.1':
'@biomejs/cli-linux-x64-musl@2.5.2':
optional: true
'@biomejs/cli-linux-x64@2.5.1':
'@biomejs/cli-linux-x64@2.5.2':
optional: true
'@biomejs/cli-win32-arm64@2.5.1':
'@biomejs/cli-win32-arm64@2.5.2':
optional: true
'@biomejs/cli-win32-x64@2.5.1':
'@biomejs/cli-win32-x64@2.5.2':
optional: true
'@esbuild/aix-ppc64@0.27.7':
@@ -1348,11 +1348,11 @@ snapshots:
'@types/estree@1.0.9': {}
'@types/node@26.0.1':
'@types/node@26.1.0':
dependencies:
undici-types: 8.3.0
'@vitest/coverage-v8@3.2.4(vitest@3.2.6(@types/node@26.0.1))':
'@vitest/coverage-v8@3.2.4(vitest@3.2.6(@types/node@26.1.0))':
dependencies:
'@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 1.0.2
@@ -1367,7 +1367,7 @@ snapshots:
std-env: 3.9.0
test-exclude: 7.0.1
tinyrainbow: 2.0.0
vitest: 3.2.6(@types/node@26.0.1)
vitest: 3.2.6(@types/node@26.1.0)
transitivePeerDependencies:
- supports-color
@@ -1379,13 +1379,13 @@ snapshots:
chai: 5.3.3
tinyrainbow: 2.0.0
'@vitest/mocker@3.2.6(vite@7.3.5(@types/node@26.0.1))':
'@vitest/mocker@3.2.6(vite@7.3.5(@types/node@26.1.0))':
dependencies:
'@vitest/spy': 3.2.6
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
vite: 7.3.5(@types/node@26.0.1)
vite: 7.3.5(@types/node@26.1.0)
'@vitest/pretty-format@3.2.6':
dependencies:
@@ -1757,13 +1757,13 @@ snapshots:
universal-user-agent@7.0.3: {}
vite-node@3.2.4(@types/node@26.0.1):
vite-node@3.2.4(@types/node@26.1.0):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
vite: 7.3.5(@types/node@26.0.1)
vite: 7.3.5(@types/node@26.1.0)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -1778,7 +1778,7 @@ snapshots:
- tsx
- yaml
vite@7.3.5(@types/node@26.0.1):
vite@7.3.5(@types/node@26.1.0):
dependencies:
esbuild: 0.27.7
fdir: 6.5.0(picomatch@4.0.4)
@@ -1787,14 +1787,14 @@ snapshots:
rollup: 4.61.1
tinyglobby: 0.2.17
optionalDependencies:
'@types/node': 26.0.1
'@types/node': 26.1.0
fsevents: 2.3.3
vitest@3.2.6(@types/node@26.0.1):
vitest@3.2.6(@types/node@26.1.0):
dependencies:
'@types/chai': 5.2.3
'@vitest/expect': 3.2.6
'@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@26.0.1))
'@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@26.1.0))
'@vitest/pretty-format': 3.2.6
'@vitest/runner': 3.2.6
'@vitest/snapshot': 3.2.6
@@ -1812,11 +1812,11 @@ snapshots:
tinyglobby: 0.2.17
tinypool: 1.1.1
tinyrainbow: 2.0.0
vite: 7.3.5(@types/node@26.0.1)
vite-node: 3.2.4(@types/node@26.0.1)
vite: 7.3.5(@types/node@26.1.0)
vite-node: 3.2.4(@types/node@26.1.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 26.0.1
'@types/node': 26.1.0
transitivePeerDependencies:
- jiti
- less
+1 -1
View File
@@ -206,7 +206,7 @@ export function hasManufacturerImage(list: RepoImageMeta[], image: RepoImageMeta
return list.some(
(i) =>
path.posix.dirname(i.url) === imageBasePath &&
(i.sha512 === image.sha512 ||
((i.sha512 === image.sha512 && !(i.modelId && image.modelId && i.modelId !== image.modelId)) ||
(i.fileVersion === image.fileVersion &&
i.imageType === image.imageType &&
i.manufacturerCode === image.manufacturerCode &&
+25
View File
@@ -490,6 +490,31 @@ Text after end tag`);
expect(baseManifest).toStrictEqual([IMAGE_V14_2_MANUF_METAS]);
});
it("success with SHA-matching image present when modelId differs", async () => {
filePaths = [useImage(IMAGE_V14_2_COPY), useImage(IMAGE_V14_2)];
const newContext = withBody(
`\`\`\`json [{"fileName": "${IMAGE_V14_2_COPY}", "modelId": "model_a"}, {"fileName": "${IMAGE_V14_2}", "modelId": "model_b"}] \`\`\``,
);
// @ts-expect-error mock
await checkOtaPR(github, core, newContext);
expect(readManifestSpy).toHaveBeenCalledWith(common.BASE_INDEX_MANIFEST_FILENAME);
expect(readManifestSpy).toHaveBeenCalledWith(common.PREV_INDEX_MANIFEST_FILENAME);
expect(addImageToBaseSpy).toHaveBeenCalledTimes(2);
expect(addImageToPrevSpy).toHaveBeenCalledTimes(0);
expect(writeManifestSpy).toHaveBeenCalledTimes(2);
expect(writeManifestSpy).toHaveBeenCalledWith(common.BASE_INDEX_MANIFEST_FILENAME, [
{
...IMAGE_V14_2_METAS,
fileName: IMAGE_V14_2_COPY,
modelId: "model_a",
url: IMAGE_V14_2_METAS.url.replace(IMAGE_V14_2, IMAGE_V14_2_COPY),
},
withExtraMetas(IMAGE_V14_2_METAS, {modelId: "model_b"}),
]);
});
it("failure with spec-matching image present", async () => {
filePaths = [useImage(IMAGE_V14_2_COPY), useImage(IMAGE_V14_2)];
// bypass initial "conflict" match by using random `minFileVersion`