From 9e42badf2375cef17f2fed44ea8224edd5ff4c73 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Wed, 7 Oct 2026 18:41:20 +0000 Subject: [PATCH] ui-ota publish: --ui-pair-override passes through to the manifest writer (tonight's 1.0.2 to the 0.3.21 manifest) Co-Authored-By: Claude Fable 5.1 --- tools/ui-ota/publish.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/ui-ota/publish.mjs b/tools/ui-ota/publish.mjs index fdae4c67..b23a5b98 100644 --- a/tools/ui-ota/publish.mjs +++ b/tools/ui-ota/publish.mjs @@ -6,6 +6,7 @@ // which deploys from the live folder; a cut is staged in a scratch copy (IGNEUM_DLSITE) as every other publish. // // node tools/ui-ota/publish.mjs --version 1.0.1 --min-engine 0.3.19 [--notes "one line"] [--dry-run] [--deploy] [--public] +// [--ui-pair-override "reason"] ship an interface from another UI tree knowingly (the pair rule) // node tools/ui-ota/publish.mjs --verify [--url https://dl.igneum.network/dl//igneum-app-latest.json] // the live manifest's ui entry against the bundle in the folder (the read-back) // node tools/ui-ota/publish.mjs --self-test pack, hash, sign and verify with a throwaway key in a scratch folder @@ -161,6 +162,8 @@ function main() { const pm = path.join(root, 'packaging/ota/publish-manifest.sh'); const args = ['--version', arg('--app-version', readFolderVersion(dest)), '--ui', uiJson, '--notes', notes || `interface ${version} over the air`]; if (flag('--deploy')) args.push('--deploy'); + // the version pair (packaging/ota/publish-manifest.sh): an interface from another UI tree ships only with a logged reason + if (arg('--ui-pair-override', '')) args.push('--ui-pair-override', arg('--ui-pair-override', '')); if (flag('--public')) args.push('--public'); console.log(`publish-manifest.sh ${args.join(' ').split(token).join('')}`); const r = spawnSync('bash', [pm, ...args], { stdio: 'inherit', env: { ...process.env, IGNEUM_DLSITE: dlsite } });