Joftal
d92070a89c
ci(release): 自动生成 Release 更新说明
2026-08-11 17:13:47 +08:00
kira1928 and Claude Fable 5
9811e0431b
fix: 处理第二轮 code review 意见并修复 e2e 基础设施问题
...
后端:
- ffmpeg parser 找不到 FFmpeg 且异步初始化仍在 checking/downloading 时
挂起等待终态(可被 ctx 取消或 Stop 中断),等待结束后立即重查并开始
录制,不再进入"找不到 FFmpeg → 5 秒重试"失败循环(Codex P1)
- isFFmpegAvailableWithoutRemotetools 与 utils.GetFFmpegPath 语义对齐:
配置了 ffmpeg_path 时以该路径为准不回退 PATH;补 exec.ErrDot → ./ffmpeg
兜底(Copilot / Codex P2)
- WaitForToolsInit 在 Init() 重试进行中不再立即返回旧错误,等待本轮
结束后读取最新结果;Init 的 defer 先发布结果再更新状态机(Gemini / Copilot)
- 新增 tools.FFmpegStatusChanged() 状态变化通知 channel
前端:
- ffmpeg-banner / update-banner 从 fixed 定位改为普通文档流,自然向下
堆叠且把内容推开,不再互相重叠或遮挡页面顶部(Gemini high / Codex P3)
- SSEEventType 补充遗漏的 memory_warning 并注册监听
测试基础设施:
- mock server 新增 -speed 启动参数,限速在 bgo 启动前即生效(Codex P2)
- mock server 下载循环每个 chunk 前重新读取限速,运行时调速立即生效
(Copilot / Codex P2)
- 修复 mock zip 结构:模拟真实发布包的单一顶层目录,避免 remotetools
解压剥层后 pathToEntry 对不上导致 install 后找不到工具
- 新增 dev 专用 POST /api/debug/ffmpeg/reinit;下载失败用例先清工具缓存
再重新触发初始化,解决用例间状态污染(Codex P2)
- e2e 等待逻辑去掉会被 SSE 长连接卡死的 networkidle(Codex P2)
- playwright.ffmpeg.config.ts 的清理副作用限定主进程执行,避免 worker
重新加载配置时删掉下载中的工具目录
- CI 接入 ffmpeg 下载 e2e 并上传报告;package.json 加 test:e2e:ffmpeg
(Codex P3)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-08 13:52:46 +09:00
copilot-swe-agent[bot] and kira1928
6cd32f4abb
fix: 跳过来自 Fork 仓库的 PR 以避免 OIDC Token 获取失败
...
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
2026-03-19 21:58:04 +00:00
kira1928
ad0b97d60e
"Claude Code Review workflow"
2026-03-18 22:15:16 +09:00
kira1928
1a48a5991b
"Claude PR Assistant workflow"
2026-03-18 22:15:15 +09:00
kira1928
533c765c6b
修复 release ci
2026-03-11 03:53:42 +09:00
kira1928
a8a79ef94e
修正 docker image 构建 job 的缓存逻辑
2026-03-11 01:15:07 +09:00
kira1928
93cd3eef7b
优化CI缓存
2026-03-11 00:50:50 +09:00
kira1928
55e6a73a9d
优化CI缓存
2026-03-10 23:42:50 +09:00
kira1928
eff37ad9d2
同步AI指令
2026-03-10 23:11:13 +09:00
kira1928
c66d0da5cd
增加内存统计类型,优化github发布流程
2026-03-10 23:02:44 +09:00
kira1928
f8129a5d07
继续根据review意见进行修改
2026-02-22 02:54:25 +09:00
kira1928
c63deb5c5a
根据review意见进行修复
2026-02-22 02:30:54 +09:00
kira1928
adbcb3063f
优化CI 构建 docker image流程
2026-02-22 02:12:26 +09:00
kira1928
e130e963c7
fix release CI
2026-02-20 06:26:08 +09:00
kira1928
6a704d3ae2
解决inst.Lives 线程安全问题 ( #1074 )
...
* 解决inst.Lives 线程安全问题
* 修复 AI 指令,回滚 config.yml 修改
* 使用实例取代指针,彻底杜绝空指针问题。
* 默认启用崩溃检测
* 新增并发测试
2026-02-19 17:55:07 +09:00
kira1928
4c0d2fa6b6
完善自动更新功能 ( #1073 )
...
* 完善自动更新功能
* 修复 CI error
* 根据review意见更新代码
* 修复e2e CI
2026-02-18 02:19:53 +09:00
kira1928
1cdf122995
完善自动更新功能
2026-02-05 00:30:13 +09:00
15b0b12777
0.8.0/dev ( #1061 )
...
* Initial plan
* Initial plan for hierarchical configuration system
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Implement hierarchical configuration system with platform and room-level overrides
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Add config validation, platform key mapping, and hierarchical config example
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Add enhanced GUI configuration interface with hierarchical config support
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Complete implementation with documentation and working web UI demo
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 根据反馈完善层级配置系统:移除二进制文件,更新中文界面,支持所有直播平台
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 改进配置界面:添加YAML解析库,输出模板预览和详细工具提示
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 完善监控列表界面:增加直播间详细信息展开功能
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 修复后端API支持和前端功能,添加日志查看功能
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 修复前端编译错误,调整优化package.json
* 实现真实的层级配置系统:添加日志存储,解析配置,更新所有组件使用解析后配置
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 实现层级配置系统:支持平台级设置、中文GUI界面、监控详情展示和真实数据后端
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 实现真实的平台访问频率限制功能
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 为所有主要直播平台添加访问频率限制支持
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 完成层级配置系统:平台访问频率限制功能全面实现
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 实现层级配置系统:支持平台级设置、中文GUI界面、监控详情展示、真实数据后端和统一访问频率限制
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 修复CI lint错误:添加webapp默认构建文件
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* feat: 新增ntfy通知功能
* feat: 添加停止录制时的ntfy推送通知
* 优化ntfy推送通知
* Update src/notify/ntfy/ntfy.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix test error
* 为每个直播间分别保留一组直播间自己的log信息,供前端取用。
前端监控列表的详细信息现在由SSE实时更新。
为详情页面的日志增加了一些便利功能。
* 升级antd v3 -> v6
* 升级 react-router-dom v5-> v6
* 优化层级设置UI,访问频率限制逻辑等
* code refine
* fix CI error
* Fix CI error
* Fix CI error
* Fix "Component state update uses potentially inconsistent value" issue
* 根据代码review修复问题:替换废弃方法,添加null检查,修复state更新和变量使用
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 修复CI编译错误:添加default构建文件并修正handler.go中的变量引用
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Initial plan
* Implement real-time countdown for next GetInfo request
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Add real-time download speed display for recording streams
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Fix setState callbacks to return prevState instead of null
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Use safe type assertion for RecorderManager to prevent panic
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Address PR review comments: add periodic SSE broadcast, fix optional chaining, cleanup memory leaks
- Add periodic (3s) broadcast of recorder status via SSE for real-time download speed updates
- Use optional chaining (?.) for safer recorder_status.speed access
- Remove redundant nil check for recorder in GetRecorder
- Clean up countdownTimers state when rows are collapsed to prevent memory leak
- Use Math.ceil() for countdown initialization to avoid premature "available" display
- Set up broadcast callback in server initialization to avoid circular dependencies
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Fix race condition and improve comments in status broadcaster
- Add sync.WaitGroup to ensure broadcaster goroutine exits cleanly
- Update comments to reflect callback-based implementation
- Ensure proper cleanup sequence in Close() method
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Improve error handling in recorder status retrieval
- Add warning log when GetStatus() fails for better observability
- Simplify logic by assigning status regardless of nil value
- Helps with debugging recorder status issues
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Improve countdown display and download speed formatting
- Add SSE list threshold config (default 50 rooms) in RPC settings
- Change download speed format from "0.562x" to "MB/s" or "KB/s" based on bitrate
- Update recorder status broadcast interval from 3s to 5s
- Fix countdown display: use "距离下次刷新" instead of "距下次GetInfo请求"
- Change "立即可用" to "正在刷新" for better UX
- Implement auto-calibrating countdown that adjusts with SSE updates
- Track last update times to maintain accurate countdown state
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* Add list-level SSE subscription with configurable threshold
- Enable SSE for live room list by default when room count < threshold
- Automatically switch to detail-only SSE when list exceeds threshold
- Update SSE subscription strategy dynamically when rooms added/removed
- Wildcard SSE subscription ('*') receives all live_update events
- List refreshes automatically when receiving SSE updates
- Clean up list-level subscription on component unmount
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
* 任务系统 init
* 新增任务列表,直播事件功能和对应数据库
* 修复新增功能前后端bug
* 暂时commit部分修改内容,还未充分检查
* 0.8.0/dev (#1059 )
* 优化视频播放界面,新增退出视频播放按钮(支持ESC退出)
* 文件列表新增文件重命名和删除操作,支持批量操作
* 设置界面引入前端校验,确保前后端参数一致性,之前前端非法参数可以保存到后端config,如最小录制时长。本次修改在前端加入校验提示,非法参数直接拦截并提示有效值
* 哔哩哔哩cookie功能优化,新增扫码登录和验证机制
* 哔哩哔哩cookie界面优化
* fix code review
* 修复重命名、删除、批量操作的越权问题
* 表单验证间隔检测规则保持这里为0
* 完善报错
* 回滚误改的listening_count
* 修改文案
* 修复哔哩哔哩cookie界面api反复调用问题
* 补充console
* 重复的 ESC 键监听器问题修复
* 修复cookie潜在的内存问题
* cookie错误处理日志
* 错误日志改进
* 补充注释
* 调整文件编码转义,支持特殊字符,国际化,emojy等
* 修复--rsp是ReadableStream,只能读一次。如果 rsp.json() 失败后再去 rsp.text() 会失败。所以原始代码 clone 了一个 response 使用。
* 实现直播流选择,可选画质设置
* ci: 对齐版本、修复 lint 警告并添加开发工具模板
版本对齐:
- 将 CI 中的 Go 版本从 1.24 更新到 1.25 (匹配 go.mod)
- 将 Node.js 配置改为使用 .node-version 文件 (v20.10.0)
- 升级 actions/setup-go 到 v5, actions/setup-node 到 v4
Lint 修复:
- 修复 staticcheck 警告 (S1039, ST1023, S1009, QF1008)
- 删除未使用的函数:
- recorder.go: renderUploadPath, logAvailableStreams, extractRoomID
- store.go: getIntFromMap, getFloat64FromMap
- runjob_windows.go: runWithKillOnClose
- 重新生成 mock 文件
开发环境:
- 添加 VS Code 调试配置模板 (.vscode/launch.example.json)
- 更新 .gitignore 支持本地 launch.json 自定义
- 更新 README 添加使用说明
* feat: 添加版本统计、更新器增强与开发环境改进
版本统计:
- 新增 telemetry 包,仅统计程序版本号
- 用于了解用户更新程序的整体趋势
- 不收集平台、架构或任何其他个人数据
更新器增强:
- 实现 SHA256 校验和验证,确保下载完整性
- 支持 tar.gz 和 zip 压缩包解压
- 优先使用 bililive-go.com 代理,回退到 GitHub 直连
开发环境:
- 升级 Go 版本到 1.25
- 新增 tools/devtools.go 管理开发工具依赖 (delve, gopls, staticcheck)
- Makefile 添加 help 命令
- 新增 test/ 目录和 launcher 测试基础设施
* fix: 修复前端 ESLint 警告并启用严格模式构建
ESLint 修复:
- config-info/index.tsx: 移除未使用的 useNavigate 和 addPlatformVisible
- history-panel/index.tsx: 移除未使用的 List、UserOutlined、HistoryResponse
- live-list/index.tsx: 移除未使用的 Modal
构建配置改进:
- 默认 build 命令使用 CI=true 模式,警告视为错误
- 添加 cross-env 依赖实现跨平台环境变量设置
- 添加 yarn lint 命令进行独立 ESLint 检查
- ESLint 配置中将 no-unused-vars 规则设为 error
这确保本地开发与 CI 行为一致,尽早发现代码问题
* 删除未使用的golang函数
* feat: 添加 Playwright E2E 测试框架
- 集成 Playwright 进行端到端测试
- 使用 osrp-stream-tester 作为测试流服务器
- 添加基础 UI 测试和直播录制测试用例
- 创建 GitHub Actions E2E 测试工作流
- 更新 Makefile 添加测试相关命令
使用方法:
- make install-e2e # 安装测试依赖
- make test-e2e # 运行 E2E 测试
- make test-e2e-ui # 带 UI 运行测试
* fix: 添加 package-lock.json 以修复 CI
* feat: 添加 Playwright E2E 测试框架、相关测试用例和 GitHub Actions 工作流。
* ci: 新增 Playwright E2E 测试工作流。
* feat: 添加 Playwright E2E 测试 GitHub Actions 工作流。
* feat: 添加 E2E 测试的 GitHub Actions 工作流。
* feat: 添加端到端测试以及对应的 GitHub Actions CI 工作流
* feat: 新增录制功能的端到端测试
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: kira1928 <2352900+kira1928@users.noreply.github.com >
Co-authored-by: July <31428852+onlyjuly@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Joftal <42807405+Joftal@users.noreply.github.com >
2026-01-31 03:44:14 +09:00
kira1928
a1b54c27d0
Update Go version from 1.23.0 to 1.24.7
2025-10-29 19:14:30 +09:00
kira1928
6d3dceb2d3
feat: 更新CI工作流以支持强制重新构建缓存的逻辑
2025-10-27 00:06:02 +09:00
kira1928
7324888300
feat: 添加支持强制重新构建缓存的输入选项至CI工作流
2025-10-27 00:04:27 +09:00
kira1928
15eb86ced0
feat: 添加Web构建缓存支持至CI工作流
2025-10-26 23:58:31 +09:00
kira1928
6bbe591b86
feat: 添加Go环境设置和缓存支持至CI工作流
2025-10-26 23:52:49 +09:00
kira1928
70e3620b1c
feat: 更新CI配置以使用yarn缓存而非默认缓存
2025-10-26 23:49:58 +09:00
kira1928
515afaaa2d
feat: 添加CI工作流以支持Web构建缓存和发布流程优化
2025-10-26 23:45:04 +09:00
kira1928
aa9cb5eaa0
feat: 更新依赖和配置以支持内置工具同步;升级多个GitHub Actions和Docker相关依赖
2025-10-26 00:37:45 +09:00
kira1928
2a7ce006cf
feat: 更新release.yaml以支持10个分片构建;添加对arm架构的Node.js下载链接和新版本的biliLive-tools支持
2025-10-24 22:16:10 +09:00
kira1928
b1bae3abcc
feat: 更新release.yaml以支持10个分片构建;更新remote-tools-config.json中的ffmpeg下载链接为最新版本
2025-10-23 23:11:44 +09:00
kira1928
d487cf497a
feat: 实现分片构建支持,优化CI并行处理逻辑;更新release脚本以支持分片索引
2025-10-23 20:15:37 +09:00
kira1928
73da48f236
feat: 更新Dockerfile和release脚本以确保BuildKit挂载的bin目录存在,并优化并行构建逻辑
2025-10-23 19:01:38 +09:00
kira1928
9a0a569d46
fix: 更新Docker构建平台,移除对linux/386的支持;优化缓存设置
2025-10-23 18:31:39 +09:00
kira1928
be545b0f55
fix: 移除Docker构建平台中的linux/arm/v6支持
2025-10-23 18:06:32 +09:00
kira1928
0afd1fdd36
feat: add Copilot setup steps workflow with necessary configurations ( #958 )
2025-09-27 17:30:10 +09:00
kira1928
3ba2397978
fix CI error ( #894 )
...
* fix CI error
* fix golangci-lint errors
2025-08-06 19:16:11 +09:00
Chigusa
a3851d8a93
code clean ( #869 )
...
* - run go fmt
- "github.com/golang/mock" are no longer maintained, use "go.uber.org/mock"
* update go version to 1.24
* add golangci-lint
* - replace interface{} to any (Go 1.18 feature)
- fix non-compliant code
2025-08-01 22:54:11 +09:00
kira1928
802646fbc8
update git actions
2024-06-02 21:23:34 +09:00
kira1928
67daf9a421
update git actions
2024-06-02 18:52:14 +09:00
kira1928
2b2ed6da45
fix git action
2024-06-02 18:50:54 +09:00
kira1928
c4bbc6ef36
update git actions
2024-06-02 18:35:50 +09:00
kira1928
5620ddb85f
fix issue validator action ( #748 )
2024-06-02 17:28:32 +09:00
kira1928
b975ae7f12
自动关闭不合规的issue ( #746 )
2024-06-02 17:19:14 +09:00
kira1928
aaaa65856c
增加输出 log 文件功能 ( #386 )
...
* add more logs, add log config
* add error message to web UI
* fix CI tests
* fix CI tests
2023-02-11 19:12:23 +09:00
kira1928
8509d83be1
Update config.yml
...
enable blank issue
2023-02-05 00:48:56 +09:00
kira1928
43ff28a984
Feature/force using issue template ( #374 )
...
* add question issue template, disable black issue.
* disable black issue
2023-02-04 23:38:04 +09:00
kira1928
560a7dbf6c
add question issue template, disable black issue. ( #373 )
2023-02-04 23:35:34 +09:00
kira1928
f09ab88ffd
add chinese bug issue template ( #336 )
...
* add chinese bug issue template
* add more issue templates
2023-01-15 15:11:30 +09:00
chigusa
e4edab4ae6
update go 1.19
2022-08-13 07:13:21 +08:00
Chigusa
4f6ca54cdf
Update issue templates
2021-09-06 14:23:26 +08:00
chigusa
f43a7cf96c
actions
2021-09-06 14:23:16 +08:00