![factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) lofyerandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
|
b8c8d24107
|
feat: 完善本地书库与发布更新流程
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
|
2026-07-28 21:55:16 +08:00 |
|
![factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) lofyerandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
|
de3e1d8a44
|
feat: 检索页聚合搜索,修复中文关键词导致主进程崩溃
一次查询所有已启用数据源并按源分组展示,每组最多 5 条,
超出时提供「查看更多」跳转到该源的单源检索。
同时修复聚合并发暴露出的网络层问题:
- 主进程崩溃:Memory of the World 会把搜索关键词原样回写进
ETag 响应头,中文关键词下 Electron net.fetch 在内部 emit
回调里抛 ByteString TypeError,await 无法捕获,主进程直接
崩溃且 Promise 永不 settle。现拦截该类异常并回退到 undici。
- OpenLibrary / LibGen 要求关键词至少 3 字符,否则返回 422。
改为前置校验,直接返回空结果加说明,耗时从 14s 降到 3ms。
- 重试只针对可自愈错误(超时/5xx/限流),不再为 4xx 白等;
重试时收紧超时,避免最坏耗时翻倍。镜像轮询类源关闭内层
重试,换镜像交给 tryMirrors/raceMirrors。
- 网络错误文案改为可读提示,不再把整条 URL 抛给用户。
- Sci-Hub 非 DOI 关键词返回空而非报错,避免聚合结果刷屏。
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
|
2026-07-26 11:59:40 +08:00 |
|
![factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>](/assets/img/avatar_default.png) lofyerandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
|
1a1288ce18
|
feat: PeopleLib 开放文献客户端,集成 Z-Library 与 LibGen 等多源检索
Electron 桌面客户端,聚合多个开放获取文献源的搜索、详情与下载。
新增数据源:
- Z-Library:邮箱登录(凭据本地存储),会话失效自动重登
- LibGen:适配新版 libgen.ac 前端(旧版 search.php 镜像已全部下线)
- Memory of the World、Sci-Hub、Anna's Archive
基础设施:
- mirror.js:镜像故障转移,支持串行优先与并发竞速两种策略,
失效镜像 5 分钟冷却后自动重试,避免站点恢复后被永久跳过
- http.js:统一 15 秒请求超时,防止单个卡死镜像拖垮整次搜索
- settings.js:全局代理配置持久化,经 Electron net.fetch 生效于所有请求
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
|
2026-07-25 14:51:10 +08:00 |
|