#!/usr/bin/env node // Fix: lastValidPrimary 未持久化到 route-state-current.json // writeRouteState 只保存 6 个字段,lastValidPrimary 被丢弃 // 导致图片继承链在跨 hook 调用时永远无法回退到上一个有效路由 const fs = require('fs'); const path = require('path'); const SENTINEL = '// LVP_PERSIST_FIX_v1'; const fp = path.join(__dirname, '..', 'route-state.js'); let code = fs.readFileSync(fp, 'utf8'); if (code.includes(SENTINEL)) { console.log('SKIP: already patched'); process.exit(0); } const marker = 'domain: routing.domain || null,'; const idx = code.indexOf(marker); if (idx === -1) { console.error('FAIL: cannot find domain field in writeRouteState'); process.exit(1); } const insertPos = idx + marker.length; const patch = `\n lastValidPrimary: routing.lastValidPrimary || null, ${SENTINEL}`; fs.copyFileSync(fp, fp + '.bak'); code = code.slice(0, insertPos) + patch + code.slice(insertPos); fs.writeFileSync(fp, code, 'utf8'); console.log('PATCHED: lastValidPrimary now persisted in route-state-current.json');