消化一批 P3:GEOIP 附加参数、坏 JSON 跳行、兜底丢弃;请求连接两页保活
ini 里 []GEOIP,CN,no-resolve 的附加参数原来被并进类别名,生成字段错位 的规则;现在拆出来放在目标之后。表里已有 MATCH 时配方的 []FINAL 不再 追加成死行,改为丢弃并在成功提示里注明——已有兜底是用户自己安排的 分流终点。 遥测流里偶发的坏 JSON 行改为跳过,原来一行坏数据会杀掉整个流进 5 秒 重试循环。请求页:跟随底部的阈值从 24px 降到 8px(原值比行高还大, 向上滚不足一行就被新日志拽回);silent 级别下的空状态不再说「没有流量 经过」。logs.test 的 localStorage 桩用完删掉,bun test 单进程跑,全局 残留会影响之后的测试文件。api.ts 的 format 注释照 provider.go:37 纠正。 请求页和连接页包进 KeepAlive:切走不销毁,筛选词、排序、滚动位置留住。 KeepAlive 常驻、子组件自己 v-if 进出;连接页的轮询改挂 activated—— 挂载时它也触发,继续用 onMounted 会叠两个定时器,切走时停掉轮询。
This commit is contained in:
@@ -257,11 +257,16 @@ async function submitGroup(entry: {
|
||||
async function submitImport(plan: IniImportPlan) {
|
||||
const next = clone()
|
||||
setRuleProviders(next, { ...ruleProvidersOf(next), ...plan.providers })
|
||||
setRules(next, [...insertBeforeMatch(rules.value, plan.rules), ...plan.finals])
|
||||
const added = plan.rules.length + plan.finals.length
|
||||
// 表里已有 MATCH 时丢弃配方的兜底:那是你自己安排的分流终点,配方不该
|
||||
// 偷偷替换;追加在 MATCH 之后则永远是死行
|
||||
const keepFinals = matchAt.value === null
|
||||
const finals = keepFinals ? plan.finals : []
|
||||
setRules(next, [...insertBeforeMatch(rules.value, plan.rules), ...finals])
|
||||
const added = plan.rules.length + finals.length
|
||||
const dropped = keepFinals ? '' : ';配方的兜底规则未导入,你已有自己的 MATCH'
|
||||
const ok = await commit(
|
||||
next,
|
||||
`已导入 ${Object.keys(plan.providers).length} 个规则组、${String(added)} 条规则`,
|
||||
`已导入 ${Object.keys(plan.providers).length} 个规则组、${String(added)} 条规则${dropped}`,
|
||||
)
|
||||
if (ok) {
|
||||
importOpen.value = false
|
||||
@@ -536,7 +541,7 @@ async function updateNow(name: string) {
|
||||
<li v-for="rule in blockedProvider.refs" :key="rule" class="mono">{{ rule }}</li>
|
||||
</ul>
|
||||
<footer class="dlg-foot">
|
||||
<button type="button" class="btn" @click="blockedProvider = null">知道了</button>
|
||||
<button type="button" class="btn" @click="blockedProvider = null">关闭</button>
|
||||
</footer>
|
||||
</div>
|
||||
</dialog>
|
||||
|
||||
Reference in New Issue
Block a user