查找问题与解决方法
date-fns 加 10 天,结果却跳到了很远的日期
表单或 URL 里的天数通常是字符串。date-fns addDays 接收 number,字符串可能参与日期拼接;在输入边界拒绝空值并检查整数和结果日期。
EF Core 11 RC3 嵌套 JSON 集合保存时报 TryExpression 异常
EF Core 11 RC3 开启 EnableDetailedErrors 后,嵌套 JSON 复杂集合中的可空值类型可能触发 getter 编译异常。先限定版本和模型条件,再临时关闭这项诊断增强。
zerolog 1.35.0 日志还在,error 字段却消失了
启用 Stack 且自定义 ErrorStackMarshaler 对无栈错误返回 nil 时,zerolog 1.35.0 会提前结束 Err,连错误文本也漏掉。1.35.1 恢复了后续错误序列化;核对普通错误与带栈错误两条路径。
导出 Redux slice 报 WritableNonArrayDraft cannot be named
Redux slice 的递归状态生成声明时报 WritableNonArrayDraft cannot be named,检查 Immer 最终 d.ts 导出。区分 11.2.2 源码调整与正式 11.2.9 完整导出,保留声明构建验收。
rustls 小容量会话缓存存不住,检查插入后的淘汰条件
rustls 0.23.45 的 LimitedCache 在刚达到容量时就淘汰,容量为一的会话缓存可能始终为空。正式 0.23.46 已改为超过请求容量才淘汰;验证恢复还需复用配置并等到 ticket 到达。
tox 嵌套变量把空格路径拆成多个参数,检查引号位置
tox 4.67.1 的嵌套 INI 变量带有引号时,展开后可能打断路径引用。将变量保存为无引号路径,在命令使用处引用完整参数,再核对实际 argv 与测试目标。
cachetools cachedmethod 让 autospec 报 missing a required argument
cachetools 7.2.2、7.2.3 的 cachedmethod 类访问包装会影响 autospec 调用,7.2.4 已修复。不要给实例补传 self;另行测试真实缓存与调用接口。
Gradle Wrapper 更新后 retries 又变成 0,把重试策略写进任务配置
Gradle 9.5.1 执行 wrapper 会重写属性文件。只手改 retries 不能保证下次更新保留,应把值写到 Wrapper 任务或更新命令中。
Serde 读取 Base64 到 48 字节数组,编译却缺 Deserialize
同样的泛型包装能读取 Vec 和 32 字节数组,换成 48 字节后编译失败。检查 derive 自动生成的泛型约束,而不是改动 Base64 内容。
Pydantic 跨模块泛型能验证,pickle 却找不到模型类
2.14.x 的动态参数化类可能登记在调用模块,却保留定义模块的身份。给持久化类型建立具名具体子类,并核对两端可导入路径。
serde_json 的 flatten 扩展字段报 invalid type: newtype struct
已知 JSON 字段能解析,一旦出现未知键就报错,检查 flatten 映射里的 RawValue。需要普通值时用 Value;需要保留原始片段时,在最外层直接读取原始值映射。
SqliteDataReader.GetValues 只取前两列,却报数组越界
IDataRecord允许短缓冲区,Microsoft.Data.Sqlite受影响实现却要求足够容纳整行。按实际列数分配,或逐列读取所需前缀,保留NULL与真实错误。
uv 反复重装同一 wheel,检查 sig 签名被写成星号
uv0.12.8至0.12.18把签名脱敏写入direct_url.json可令同一需求反复重装。正式0.13.5将展示与序列化分开,更新后核对来源记录并保护本地签名信息。
Svelte 的 children snippet 不显示:检查 preserveWhitespace
组件接到显式 children snippet,却只渲染空白。检查组件标签内 snippet 外的换行是否被作为默认内容,按保留空白的真实需求调整。
Axios formToJSON 遇到 metadata[length] 报数组长度无效
嵌套表单字段名length落到中间数组对象上,可能触发RangeError。按已知字段契约构造JSON,保留重复值和其他表单项的原有含义。
Npgsql 读取超大 interval 变成负数:先保留原始分量
PostgreSQL interval 的范围大于 TimeSpan。Npgsql 的 ticks 运算可能在转换前溢出,返回符号错误的值;显式读取 NpgsqlInterval,再按月份语义和目标范围检查。
Mapster 映射后只读属性变成 0,先确认同类型成员是否被克隆
带无参构造函数、只读值和可写属性的成员,在 Mapster 10.0.8 映射后可能成为新对象,构造时保存的只读值没有被带过去。按对象隔离要求显式选择引用赋值或构造映射,不依赖旧版本的偶然行为。
Gradle 配置阶段读 metadata.bin 失败:定向隔离损坏的缓存工作区
CI 恢复缓存后报 Could not read workspace metadata,先找堆栈中的具体缓存条目。保留损坏副本,再让 Gradle 重建该条目,避免反复恢复同一坏缓存。
TypeScript Exclude 排除一个子类后变成 never:类名不是类型标记
两个子类的成员结构能互相兼容时,Exclude 可能把整个联合排空。用可判断的类型差异表达身份,并区分纯类型标记与运行时字段。
RxJS timer 启动后另一个 setInterval 停了,检查 asapScheduler
RxJS7.8.2从零延迟asap任务转正数周期时,可能将微任务句柄交给clearInterval。按实际时序核对;普通轮询可采用默认async调度,但首次执行顺序会改变。


