sj817
454cc0eda2
ci(release): 下游 AppImage 用的 QQ 换成 3.2.32-52194
...
原来的 3.2.30-50969 链接已经 404,v4.18.29 发版时 AppImage、NodeLoader 的构建都因此失败。
2026-10-05 13:50:01 +08:00
sj817
435cb7cf52
fix(core): Windows Server 缺少媒体基础组件时给出明确提示
...
QQNT.dll 静态依赖 mf.dll / mfplat.dll / mfreadwrite.dll,Windows Server 默认不安装
「媒体基础」,加载 wrapper.node 时系统只报 The specified module could not be found(#2069)。
现在 Windows 下加载失败且找不到 mfplat.dll 时,直接提示安装媒体基础的方法。
2026-10-05 13:37:07 +08:00
sj817
8005afebd2
fix: 静默离线等 60 秒再重启 Worker,被踢下线不受影响
...
静默离线(#2080)原来和被踢下线一样 3.5 秒后就重启 Worker。网络短暂断开时 QQ
也可能报离线,这样一次网络抖动就会把整个 Worker 重启掉。现在静默离线先等 60 秒,
期间恢复在线就不重启;等待期间收到被踢通知则不再等,按原来的 3.5 秒重启。
Shell 和 Framework 里重复的下线处理抽成 createOfflineRecovery,并补上测试。
2026-10-05 13:23:32 +08:00
sj817
c0fd089539
chore(release): 发布说明换成仍可下载的 QQ 官方 CDN 链接
...
原来的 9.9.26-44343 / 3.2.23-44343 / Mac 40990 链接已经全部 404。
换成 Windows 9.9.33-52230 和 Linux 3.2.32-52194 的官方 CDN 链接并标注,
附上 GitHub 镜像作为备用,MacOS 写明暂不支持。
2026-10-05 12:45:34 +08:00
sj817
88643854a0
fix(core): 新入群拉不到成员列表时群消息不再整条丢失
...
- getGroupMember 在群成员缓存刷新失败时 members 为 undefined,
直接 members!.values() 抛 TypeError,整条群消息上报失败;
现在返回 undefined,拉取失败的结果也不再写进缓存
- 未缓存的群刚刷新过就不再重复强制拉取,群消息处理里也去掉重复查询
- 临时会话按来源群号查成员,之前误把对方 QQ 号当群号去拉成员列表
- uin 转 uid 在 NT 接口都查不到时,先从已缓存的群成员里找
Refs #2070
2026-10-05 12:39:05 +08:00
sj817
8371359677
fix(webui): Firefox 下关闭卡片倾斜效果,修复登录页内容不显示
...
Firefox 里 backdrop-filter 和 3D transform 作用在同一个元素上时,卡片里
带层叠上下文的元素(标题、输入框、按钮)不会被绘制,登录页只剩一行提示文字。
报告者在 macOS 的 Firefox 157 上确认:去掉 transform 或 backdrop-filter
任意一个都能恢复,只去掉 transform 时鼠标移上去重新倾斜又会消失。
倾斜只是装饰,保留毛玻璃效果,Firefox 下不再设置 transform 和 will-change,
鼠标光晕照常显示。其他浏览器行为不变。
Closes #2083
2026-10-05 11:46:26 +08:00
sj817
651c15aa61
fix(native): 更新 MoeHoo,修复收到空包时 QQ 进程段错误
...
QQ 在网络未就绪、连接异常等情况下会以空包调用收发函数,MoeHoo 的
recv_hook/send_hook 不判空直接解引用,导致 QQ 进程 SIGSEGV(#2060、#1668,
崩溃点为 recv_hook+34)。Docker 部署启动后几秒内崩溃就是这个原因。
MoeHoo-NapCat new-test@ff1e937:空包直接交给原函数,不再解引用。
二进制来自该提交的 CI(run 37260275360),更新 linux.x64、linux.arm64、win32.x64。
darwin.arm64 现有二进制与 CI 产物不是同一套实现(54 KB / 1.1 MB),且无法在 Mac 上验证,
本次不更新。
验证:用伪造的 wrapper.node 在 Linux x64 上让 MoeHoo 挂钩同签名函数,
旧二进制在空包、空 src、空指针参数、发送空包时都会段错误,新二进制都正常返回,
正常包的回调内容(uin、cmd、seq、数据)与旧版一致。
2026-10-05 11:44:48 +08:00
sj817
00729e4807
feat(onebot): 群文件夹返回最后修改时间与修改者
...
get_group_root_files 返回的文件夹新增 modify_time、modifier、modifier_name,
取自 NT 原始数据 folderInfo 的 modifyTime / modifyUin / modifyName,
命名与群文件已有的 modify_time 保持一致。
Closes #1964
2026-10-05 11:07:59 +08:00
sj817
5ef4f6cb7c
fix(webui): Passkey 检查不再阻塞 Token 登录
...
在电脑端注册 Passkey 后用手机打开 WebUI,本机没有对应 Passkey 时
navigator.credentials.get 可能一直不返回,而检查期间 Token 输入框和回车登录
都被禁用,页面就卡在「正在检查Passkey」。
- 检查 Passkey 期间不再禁用 Token 输入框和回车登录
- credentials.get 加 30 秒超时和 AbortController
- 提交 Token 或离开页面时取消仍在等待的 Passkey 验证
Closes #2076
2026-10-05 11:07:59 +08:00
sj817
13a8a2b8dd
fix(onebot): get_group_notice 返回「发给新成员」公告
...
get_t_list 会把「发给新成员」类公告单独放在 inst 数组里,之前只遍历 feeds,
这类公告(群规通常发在这里)完全拿不到。现在把 inst 条目追加在 feeds 之后返回,
已有条目的顺序不变,并按 fid 去重。
新增字段:
- send_to_new_member:是否为「发给新成员」公告
- pinned:由 inst 条目的 settings.inst_no_pinned 映射(0 = 置顶),
feeds 条目读不到置顶状态,不带该字段
Closes #2082
2026-10-05 11:07:42 +08:00
时瑾
285ba9cf2d
ci: pin pnpm to v9 via pnpm/action-setup
...
pnpm 10 exits non-zero on [ERR_PNPM_IGNORED_BUILDS] by default, which
broke CI after the global pnpm version on GitHub runners bumped.
Replace ad-hoc `npm i -g pnpm` calls with pnpm/action-setup@v4 pinned to
version 9 across build-ci.yml, build-pr.yml, and drop the redundant
Install pnpm step from pr-build-run.ts.
2026-05-16 14:07:11 +08:00
时瑾
600f2a4518
fix: replace nclatest proxy with ghfast.top, add dual install commands
2026-04-18 01:29:58 +08:00
时瑾
abf57e688c
feat: add proxy prefix to install URL, change TTL to 5 days
...
- comment.ts: Add PROXY_BASE constant (https://nclatest.znin.net );
install curl command now uses proxy URL for CN users;
'24小时' -> '5天'; Docker '7天' -> '5天'
- pr-publish-release.ts: Import PROXY_BASE, use proxy URL in release body,
'24小时' -> '5天'
2026-04-18 00:31:40 +08:00
时瑾
d92a4cff8d
fix: zip absolute path, publish failure comment, pass publish_status
...
- pr-publish-release.ts: Use resolve() for releaseDir to get absolute path;
zip command runs with cwd=artifactDir so relative path was resolving wrong
- build-pr.yml: Expose steps.publish.outcome as publish_status job output;
pass PUBLISH_STATUS env to update-comment-result job
- pr-build-result.ts: Read PUBLISH_STATUS, pass publishFailed to comment
- comment.ts: Show '⚠️ Release 发布失败' section in PR comment when
publish failed but installInfo is absent
2026-04-18 00:18:46 +08:00
时瑾
e195aee5d2
fix: remove TS overloads incompatible with --experimental-strip-types, fix 204 response, fix retention-days
...
- lib/github.ts: Remove getEnv overload signatures (Node.js experimental-strip-types
does not support TS function overloads, causes SyntaxError at parse time)
- lib/github.ts: Handle 204 No Content in request<T> (DELETE returns 204,
calling response.json() on empty body throws)
- build-pr.yml: retention-days 7->5 (repo max is 5)
2026-04-18 00:08:12 +08:00
时瑾
014a32533d
feat: add PR release publish, Docker dispatch and comment system
2026-04-17 23:51:30 +08:00
时瑾
d849188ef2
feat: Add hourly server time synchronization
2026-04-13 19:49:06 +08:00
时瑾
77c89d0923
lint: eslint
2026-03-12 09:09:26 +08:00
时瑾
58b36cd331
fix: 优化Passkey在非安全场景下无法使用的提示 #1680
2026-03-12 09:08:47 +08:00
时瑾
172a75b514
fix(webui-backend): sanitize plugin ID to prevent path injection (CodeQL js/path-injection)
2026-02-07 13:52:15 +08:00
时瑾
beef1233fa
fix(ci): 修复 Update apifox 步骤中因 OpenAPI 文件过大导致的参数列表过长错误
2026-02-07 13:44:25 +08:00
时瑾
8f69e2424a
fix(backend): 修复插件列表接口新增字段导致的类型错误
2026-02-07 13:38:53 +08:00
时瑾
f3156b1843
Merge branch 'main' of https://github.com/NapNeko/NapCatQQ
2026-02-07 13:32:58 +08:00
时瑾
61a16b44a4
style(webui): 优化插件商店与插件管理界面 UI/UX
...
- 重构插件卡片样式,采用毛玻璃效果与主题色交互
- 优化插件商店搜索栏布局,增加对顶部搜索及 Ctrl+F 快捷键的支持
- 实现智能头像提取逻辑,支持从 GitHub、自定义域名(Favicon)及 Vercel 自动生成
- 增加插件描述溢出预览(悬停提示及点击展开功能)
- 修复标签溢出处理,支持 Tooltip 完整显示
- 增强后端插件列表 API,支持返回主页及仓库信息
- 修复部分类型错误与代码规范问题
2026-02-07 13:30:50 +08:00
时瑾
25714244dc
fix(napcat-plugin-builtin): 修复vite.config.ts hook
2026-01-27 20:07:53 +08:00
时瑾
a506d108b5
fix: 修复用户ID类型转换错误并移除不必要的标签渲染
2026-01-02 20:50:13 +08:00
时瑾
fbef43c759
fix: close #1488
2026-01-02 17:07:39 +08:00
时瑾
e0f88a54f6
ci: 添加构建结果评论中的下载链接和获取 artifacts 列表功能
2025-12-29 03:14:17 +08:00
时瑾
e6dbc7b9ab
ci: 使用 type 导入 PullRequest 和 BuildStatus 类型
2025-12-29 03:01:21 +08:00
时瑾
a8293ab5f1
ci: pr build
2025-12-29 02:55:11 +08:00
时瑾
f0330e3d2d
fix: close #1467 close #1471
2025-12-27 16:27:54 +08:00
时瑾
d5a65e6f06
fix: close #1463
2025-12-27 00:20:59 +08:00
时瑾
3e62394d4b
feat: close #1394
2025-11-24 12:47:04 +08:00
时瑾
45f8cd4180
更新 Bug 反馈模板,增强对不当内容的说明和合规性要求
2025-11-16 15:55:25 +08:00
时瑾
ed058159bd
fix: close #1334
2025-11-01 14:07:41 +08:00
时瑾
16f24378cc
fix: go-cqhttp 上传接口返回 file_id (UploadGroupFile, UploadPrivateFile)
2025-10-21 22:49:45 +08:00
时瑾
2174561afb
fix : #1315
2025-10-14 09:38:18 +08:00
时瑾
8320f263b9
feat: 取消群精华接口支持传递原始参数
...
- 1. onebot v11标准: 传递message_id
- 2. 通过官方http接口获取到的group_id、msg_random、msg_seq
二者任选其一
2025-10-12 21:13:56 +08:00
时瑾
4fbfae8d30
fix: 更新默认主机地址获取逻辑,支持Docker环境
2025-09-12 21:56:12 +08:00
时瑾
c28733f150
fix: 移除 defaultToken 字段,彻底移除硬编码的默认密码,采用全随机密码
2025-09-12 18:50:21 +08:00
时瑾
f069843c43
fix(dos): 修复红红的ci
2025-09-12 15:36:30 +08:00
时瑾
e17e96957d
fix: 优化get_group_ignored_notifies接口返回值
2025-06-12 20:14:11 +08:00
时瑾
e09341b344
feat: get_collection_list
2025-06-12 13:28:31 +08:00
时瑾
15b77e3e15
feat: get_group_ignore_add_request
2025-06-12 13:23:22 +08:00