消化一批 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:
+9
-3
@@ -1,4 +1,4 @@
|
||||
import { afterEach, describe, expect, it, mock } from 'bun:test'
|
||||
import { afterAll, afterEach, describe, expect, it, mock } from 'bun:test'
|
||||
import { LOG_CAP, parseLogLine, pushCapped, streamLogs } from './logs.ts'
|
||||
import { LogStreamError } from './logs.ts'
|
||||
|
||||
@@ -49,8 +49,10 @@ function streamOf(chunks: string[]): ReadableStream<Uint8Array> {
|
||||
|
||||
const realFetch = globalThis.fetch
|
||||
|
||||
// bun 的测试环境没有 localStorage,而 streamLogs 要从里面取令牌
|
||||
if (typeof globalThis.localStorage === 'undefined') {
|
||||
// bun 的测试环境没有 localStorage,而 streamLogs 要从里面取令牌。
|
||||
// 桩只在本文件生效:bun test 是单进程,全局残留会影响之后跑的其它测试文件
|
||||
const hadStorage = typeof globalThis.localStorage !== 'undefined'
|
||||
if (!hadStorage) {
|
||||
;(globalThis as Record<string, unknown>).localStorage = {
|
||||
getItem: () => '',
|
||||
setItem: () => {},
|
||||
@@ -58,6 +60,10 @@ if (typeof globalThis.localStorage === 'undefined') {
|
||||
}
|
||||
}
|
||||
|
||||
afterAll(() => {
|
||||
if (!hadStorage) delete (globalThis as Record<string, unknown>).localStorage
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
globalThis.fetch = realFetch
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user