From 854ce31d3d971e71d410c614758e0d152c7eac7b Mon Sep 17 00:00:00 2001 From: Jeffery Date: Thu, 17 Sep 2026 14:21:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(issue-update):=20=E7=B6=B2=E5=9D=80?= =?UTF-8?q?=E5=A4=BE=E5=B8=B6=E7=A7=81=E6=9C=89=E6=8F=90=E9=86=92=E6=99=82?= =?UTF-8?q?=E6=93=8B=E4=B8=8B=EF=BC=8C=E4=B8=A6=E4=BF=AE=E6=AD=A3=20TDZ=20?= =?UTF-8?q?=E9=8C=AF=E8=AA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 把上一次寫回的整行一起複製貼上是很常見的手誤,放行的話那句提醒會在議題上出現 兩次。 順帶修掉一個自己造出來的錯:PRIVACY_NOTE 原本宣告在 main() 之後,而新的檢查在 main() 的同步段就要用到它,於是每次執行都以「Cannot access 'PRIVACY_NOTE' before initialization」收場。常數移到 main() 之前。 Co-Authored-By: Claude Opus 5 (1M context) --- scripts/issue-update.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/scripts/issue-update.js b/scripts/issue-update.js index 6745f87..4ca1ba1 100644 --- a/scripts/issue-update.js +++ b/scripts/issue-update.js @@ -30,6 +30,9 @@ import { } from './lib.js'; import { upsertLineInSection } from './issue-body.js'; +/** artifact 預設私有,組織外開不起來——這件事要跟著連結一起留在議題上 */ +const PRIVACY_NOTE = '(此連結預設為私有,組織外無法開啟)'; + main(async () => { const flags = parseFlags(process.argv.slice(2), { required: ['repo', 'index'], @@ -95,14 +98,18 @@ function parseDueDate(value) { return value; } -/** artifact 預設私有,組織外開不起來——這件事要跟著連結一起留在議題上 */ -const PRIVACY_NOTE = '(此連結預設為私有,組織外無法開啟)'; - function parseOverviewUrl(value) { if (value === undefined) return null; if (!/^https?:\/\/\S+$/.test(value)) { throw new ScriptError('BAD_OVERVIEW_URL', `--overview-url 需為 http(s) 網址,收到的是 ${value}`); } + // 連上一次寫回的整行一起複製貼上是很常見的手誤,放行的話那句提醒會在議題上出現兩次 + if (value.includes(PRIVACY_NOTE)) { + throw new ScriptError( + 'BAD_OVERVIEW_URL', + `--overview-url 夾帶了上一次寫回的提醒文字,請只給網址本身:${value}`, + ); + } return value; }