Lemon-miaow
|
88d3dd7121
|
fix(store): 数据库连接池限 25 条并设语句与空闲事务超时,迁移锁固定在取锁的连接上释放,API 导出连接池指标
|
2026-09-25 13:25:45 +08:00 |
|
Lemon-miaow
|
fde677c07e
|
fix(panel): 本人与所有者账户的禁用和删除按钮提前锁定并说明原因,角色改为只读,后端拒绝改用专用错误码 self_protected 与 owner_protected
|
2026-09-25 13:20:01 +08:00 |
|
Lemon-miaow
|
dee4d87fd1
|
chore(panel): 删除未使用的 ServerCard 与恢复控件的卡片布局分支,恢复注释改为按行可选任一未过期备份,mock 补上备份任务与立即备份路由
|
2026-09-25 13:09:44 +08:00 |
|
Lemon-miaow
|
9f60178ba8
|
perf(panel): 除登录与首页外的页面按路由懒加载,框架依赖单独成块长期缓存,玩家首屏不再下载管理页代码
|
2026-09-25 13:04:22 +08:00 |
|
Lemon-miaow
|
73f4c858bf
|
fix(panel): 切换服务器或用户时不再先显示上一个对象的数据,详情页随路由参数重新挂载,列表翻页与筛选保留旧行直到新结果到达
|
2026-09-25 12:55:58 +08:00 |
|
Lemon-miaow
|
f156e385f0
|
fix(panel): 服务器地址改为一键复制并带上非默认游戏端口,玩家列表去掉无意义的连接地址列,管理员列改称内部地址
|
2026-09-25 12:51:16 +08:00 |
|
Lemon-miaow
|
bb9c2168df
|
fix(panel): 服务器列表的归属与可认领改由后端按账号判定,无邮箱管理员也能认出自己的服务器,所有者查询失败时显示未知且不给认领
|
2026-09-25 12:36:38 +08:00 |
|
Lemon-miaow
|
06d5e652c6
|
fix(panel): 构建记录改由服务端分页列表提供,任何浏览器与管理员都能看到并取消进行中的构建,列表刷新失败保留原行并提示
|
2026-09-25 12:28:22 +08:00 |
|
Lemon-miaow
|
9d03386c83
|
fix(panel): 删除镜像与取消构建改用面板确认对话框,失败原因显示在对话框内,镜像来源徽标跟随界面语言
|
2026-09-25 12:08:29 +08:00 |
|
Lemon-miaow
|
a5307d44d4
|
fix(panel): op-login 轮询按请求截止时间停止并显示倒计时,过期可一键重新发起,失败指数退避,服务端拒绝即停并提示
|
2026-09-25 11:58:13 +08:00 |
|
Lemon-miaow
|
367ef2678a
|
fix(deploy): 安装脚本的 apt 调用抑制 needrestart 以免重跑时重启代理,服务单元与镜像列表先读完再匹配避免 pipefail 下的 SIGPIPE 误判
|
2026-09-25 11:49:39 +08:00 |
|
Lemon-miaow
|
9a5225f77e
|
fix(panel): passkey 无凭据与用户不存在改用错误码的本地化文案,补齐通用错误码映射,认证来源与日期跟随界面语言
|
2026-09-25 11:44:47 +08:00 |
|
Lemon-miaow
|
6c3421fe8c
|
fix(panel): 错误提示改为读屏即时播报,图标按钮、筛选下拉与表单字段补齐可读名称,上传区可用键盘选择文件,并加全页面无障碍巡检
|
2026-09-25 11:35:14 +08:00 |
|
Lemon-miaow
|
1a8cccf245
|
fix(panel): 版本徽标读取服务端构建信息并标出开发版,配置加载失败时显示提示条
|
2026-09-25 11:14:21 +08:00 |
|
Lemon-miaow
|
34ea733775
|
perf(panel): 日志控制台按帧批量提交、分块渲染只重绘变动块,§ 与 ANSI 颜色码解析为样式文本
|
2026-09-25 11:07:11 +08:00 |
|
Lemon-miaow
|
175c9721d4
|
style(offsite): 清单描述符直接转换成 ImageBlob,消除 staticcheck S1016
|
2026-09-25 10:57:21 +08:00 |
|
Lemon-miaow
|
2151e0cf92
|
fix(panel): 首页绑定状态查询失败只降级绑定卡片并可单独重试,身份改用 useTier,镜像数读不到显示横杠
|
2026-09-25 10:56:13 +08:00 |
|
Lemon-miaow
|
3d79293218
|
test(imagepush): 开只读窗口遇 409 时像 GC Job 一样重试,消除 -race 下的偶发失败
|
2026-09-25 10:48:51 +08:00 |
|
Lemon-miaow
|
2f99874d5e
|
test(panel): 加组件测试与浏览器冒烟、hooks lint、OpenAPI 双向类型对齐,修复 CI 类型检查空转、列表不显示服务器名称与玩家停服不确认
|
2026-09-25 10:47:19 +08:00 |
|
Lemon-miaow
|
ea425cffa4
|
fix(passkey): 删除 passkey 先确认并显示名称与注册时间,邮箱未验证时后端拒删最后一把,错误内联显示
|
2026-09-25 10:04:31 +08:00 |
|
Lemon-miaow
|
90c39afb0c
|
fix(panel): 手机端加导航抽屉和登出入口,服务器与备份列表在窄屏改为卡片,桌面服务器表不再挤成竖排
|
2026-09-25 09:50:12 +08:00 |
|
Lemon-miaow
|
3a2166ca87
|
fix(panel): 启停按钮统一为带忙碌态和失败原因的组件,有玩家在线或人数未知时停服先确认
|
2026-09-25 09:38:11 +08:00 |
|
Lemon-miaow
|
bcf245410a
|
fix(panel): 文件编辑器关闭或离开页面前确认放弃未保存修改,状态轮询失败只提示不再卸载编辑器
|
2026-09-25 09:38:11 +08:00 |
|
Lemon-miaow
|
6595a2c581
|
fix(panel): 路径参数逐段编码并拒绝点段,非 JSON 响应保留状态码,会话过期带回跳送回登录页,连不上时显示横幅
|
2026-09-25 09:34:15 +08:00 |
|
Lemon-miaow
|
e0fa0268e0
|
docs(troubleshooting): 新增整机灾难恢复清单、各类数据的恢复点、恢复顺序与重建后核验步骤
|
2026-09-25 09:24:54 +08:00 |
|
Lemon-miaow
|
2779d8f5cf
|
fix(offsite): 服务器或白名单按摘要钉住的 felis/ 与 mirror/ 版本也进异地副本,恢复只按摘要推回不动安装器的 tag
|
2026-09-25 05:00:02 +08:00 |
|
Lemon-miaow
|
8fb3d298ae
|
feat(offsite): 异地副本加入提交上传的整合包,按内容去重加密,索引按版本保留 14 天,新增 fetch-uploads 恢复
|
2026-09-25 04:48:34 +08:00 |
|
Lemon-miaow
|
e3ac9cd545
|
feat(offsite): 异地副本加入 registry 用户镜像,按摘要加密去重,索引按版本保留 14 天,新增 fetch-images 回推恢复
|
2026-09-25 04:33:23 +08:00 |
|
Lemon-miaow
|
0e93e961ed
|
fix(imagepush): 推送与拉取共用一个 HTTP 客户端复用连接,出错时先读响应体再关闭,错误信息不再为空
|
2026-09-25 04:33:17 +08:00 |
|
Lemon-miaow
|
5d1da31a48
|
fix(offsite): 数据库包与桶内已有份数合并排名,只传会留下的,不再每小时重传再剪掉
|
2026-09-25 04:32:42 +08:00 |
|
Lemon-miaow
|
e1c325d594
|
fix(files): 配置文件改为同目录临时文件 fsync 后原子改名写入,读取返回内容哈希、保存带期望哈希冲突返回 409,磁盘满返回 507,面板提示载入最新或仍然覆盖
|
2026-09-25 03:56:30 +08:00 |
|
Lemon-miaow
|
074bd1783c
|
fix(install): 重跑安装时撤销旧版本为世界根目录授予 uid 1000 的 ACL 与 o+x 遍历权限
|
2026-09-25 03:46:53 +08:00 |
|
Lemon-miaow
|
0770a4d676
|
feat(reaper): 未配置世界目录时渲染只清理备份库存的 CronJob,默认安装也每日删除过期备份,安装器与清单生成器说明回收开关状态
|
2026-09-25 03:42:55 +08:00 |
|
Lemon-miaow
|
fe15b56074
|
docs(reaper): 说明回收前停服持锁、归档回读校验与存储清扫、无世界卷时的处理及运行汇总各计数
|
2026-09-25 03:34:54 +08:00 |
|
Lemon-miaow
|
7766e8efa4
|
fix(reaper): 回收前先停服并持有世界维护锁再归档,锁丢失不删卷;无世界卷的无主服务器只重置时钟不再重复回收
|
2026-09-25 03:31:50 +08:00 |
|
Lemon-miaow
|
89a0134707
|
feat(backup): 归档先写 .partial 再 fsync 改名并记录 sha256,删除原件前回读校验,reaper 抽样巡检与清扫半截归档,保留权限与 mtime,面板标出损坏与已校验
|
2026-09-25 03:16:06 +08:00 |
|
Lemon-miaow
|
489eff4494
|
feat(restore): 恢复前默认为当前世界做安全快照并串接恢复 Job,快照失败则不恢复;并发恢复另一备份返回 409
|
2026-09-25 02:52:18 +08:00 |
|
Lemon-miaow
|
d44243c0ac
|
docs(ops): 支持矩阵标注 Ubuntu 24.04 x86_64 由 CI 跑全新安装、重跑与升级,README 链接已验证发行版
|
2026-09-25 02:52:17 +08:00 |
|
Lemon-miaow
|
a660b01efa
|
ci(e2e): 代理状态 ping 等待 Velocity 绑定端口,旧 release 安装检查跳过其后才有的 timer
|
2026-09-25 02:15:11 +08:00 |
|
Lemon-miaow
|
f8f112b8ca
|
feat(api): 访问日志与 HTTP/运行时指标、安全响应头与面板 CSP、跨站写拦截、请求体读截止、SSE 定期重鉴权与续传、404/405/413 信封、status 按所有权裁剪、停机并发排空
|
2026-09-25 02:14:08 +08:00 |
|
Lemon-miaow
|
cc85aac906
|
ci(e2e): 新增 Ubuntu 24.04 全新安装+重跑 e2e 与 release→当前 commit 升级 e2e
|
2026-09-25 01:51:53 +08:00 |
|
Lemon-miaow
|
3ed6603201
|
feat(store): api/reaper/offsite/migrate 按版本集合校验 schema,库比二进制新时拒绝启动;bootstrap 迁移前失败回滚宿主二进制
|
2026-09-25 01:46:33 +08:00 |
|
Lemon-miaow
|
b1678f78c8
|
feat(update): felis update 报告 JRE 与 PostgreSQL(含停更提示),bootstrap 支持 FELIS_UPGRADE_DEPS=1 升级 k3s/cloudflared
|
2026-09-25 01:35:52 +08:00 |
|
Lemon-miaow
|
6f7b8d7b30
|
feat(deploy): 新增 uninstall.sh(默认保留数据,--purge 全删)与 docs/operations.md 支持矩阵、容量与重装恢复手册
|
2026-09-25 01:20:52 +08:00 |
|
Lemon-miaow
|
989be55b4a
|
feat(bootstrap): Velocity 堆可由 FELIS_VELOCITY_XMX 配置,全新安装预建 k3s 存储根目录消除 reaper 警告
|
2026-09-25 01:20:52 +08:00 |
|
Lemon-miaow
|
3e61fde06d
|
fix(bootstrap): 关闭 BuildKit 默认 attestation,无改动重跑不再重启 login/lobby;同版本重跑同时重启 registry gate
|
2026-09-25 00:43:02 +08:00 |
|
Lemon-miaow
|
f0ac5b48ce
|
fix(cfsetup): 隧道凭据文件校验 JSON 与 TunnelID,损坏或不匹配时移开并重新获取,失败页提示重试可收敛
|
2026-09-25 00:37:07 +08:00 |
|
Lemon-miaow
|
1141ebcd49
|
ci: 加 -race、staticcheck、govulncheck、shellcheck 与真 PostgreSQL 集成测试门禁,release 复用 ci 门禁
|
2026-09-25 00:35:09 +08:00 |
|
Lemon-miaow
|
82545548e7
|
feat(bootstrap): game stack 按 lock 文件固定构建并校验 sha256,基础镜像按 digest 固定,JRE 固定补丁版本
|
2026-09-25 00:24:02 +08:00 |
|
Lemon-miaow
|
aace66e8d3
|
fix(bootstrap): 重跑只重启有变化的 Velocity、系统服与 PostgreSQL,无 firewalld 时用 nftables 收口 5432,PG 大版本不符拒绝启动
|
2026-09-25 00:06:47 +08:00 |
|
Lemon-miaow
|
b1627e9ba0
|
style(pgint): gofmt
|
2026-09-24 23:52:30 +08:00 |
|
Lemon-miaow
|
a4fa16ae69
|
feat(bootstrap): 控制面镜像按版本打 tag,升级后 rollout undo 可回到上一版本
|
2026-09-24 23:52:30 +08:00 |
|
Lemon-miaow
|
80fbc779d9
|
feat(operator): 平台升级不再重启运行中的游戏服,registry 清理保留游戏 pod 在用的镜像
|
2026-09-24 23:52:30 +08:00 |
|
Lemon-miaow
|
07eb682358
|
docs(upgrade): 列出安装器对下载物的校验与离线导入 registry 镜像的做法
|
2026-09-24 23:39:39 +08:00 |
|
Lemon-miaow
|
3ad817eeff
|
fix(update): 重跑命令从最新 release tag 读取安装脚本
|
2026-09-24 23:39:39 +08:00 |
|
Lemon-miaow
|
26dc1722f4
|
feat(bootstrap): 先校验 SHA256SUMS 再运行下载的 felis,固定 k3s、cloudflared 与 registry 镜像版本
|
2026-09-24 23:39:38 +08:00 |
|
Lemon-miaow
|
c4a4f1f25c
|
ci(release): 发布 SHA256SUMS、SBOM 与构建来源证明,action 固定到 commit,不再覆盖已发布资产
|
2026-09-24 23:39:38 +08:00 |
|
Lemon-miaow
|
8296153a38
|
docs(build): 说明构建工具镜像、定时刷新与离线环境做法
|
2026-09-24 23:25:21 +08:00 |
|
Lemon-miaow
|
bf18712a6c
|
feat(build): kaniko/trivy 与扫描库改用 registry 内的 mirror 副本,定时刷新并在过期时告警
|
2026-09-24 23:25:21 +08:00 |
|
Lemon-miaow
|
c0643af118
|
feat(imagepush): 从公共 registry 拷贝单平台镜像与 OCI 制品
|
2026-09-24 23:25:04 +08:00 |
|
Lemon-miaow
|
80c4ea8966
|
docs(registry): 说明 manifest 清理、GC 窗口、PVC 容量与上传上限
|
2026-09-24 23:10:40 +08:00 |
|
Lemon-miaow
|
e75448a118
|
feat(platform): registry/uploads/backup PVC 容量可配置
|
2026-09-24 23:10:40 +08:00 |
|
Lemon-miaow
|
720ab81bf8
|
feat(submit): 上传存储全局上限、磁盘余量检查,被拒上下文 7 天后回收
|
2026-09-24 23:10:40 +08:00 |
|
Lemon-miaow
|
9baa0a10af
|
fix(registrygate): 启动后先等写入静默再开放 GC 窗口
|
2026-09-24 23:10:28 +08:00 |
|
Lemon-miaow
|
151c9d2e30
|
feat(registry): api 定期删除无引用 manifest,gate 提供 manifest 索引
|
2026-09-24 22:58:07 +08:00 |
|
Lemon-miaow
|
05e8c64e47
|
fix(imagepin): 带 digest 的镜像引用也向 registry 确认仍存在
|
2026-09-24 22:58:07 +08:00 |
|
Lemon-miaow
|
7f772bccbb
|
feat(registry): 开启 manifest 删除,GC sidecar 在 gate 只读窗口内回收 blob
|
2026-09-24 22:46:37 +08:00 |
|
Lemon-miaow
|
c49336ba21
|
fix(bootstrap): 元数据下载在 TLS 握手中断时整体重试
|
2026-09-24 22:26:30 +08:00 |
|
Lemon-miaow
|
5cadbd40a9
|
fix(submit): 待审上限在事务内加咨询锁原子检查,跨副本不超额
|
2026-09-24 22:26:30 +08:00 |
|
Lemon-miaow
|
a27d76ae1d
|
docs(build): 修正上下文存储与构建镜像拉取的过时描述
|
2026-09-24 22:26:29 +08:00 |
|
Lemon-miaow
|
e836a73a8a
|
fix(build): 构建并发上限与排队,构建命名空间加 ResourceQuota,SyncAll 逐个容错
|
2026-09-24 22:26:21 +08:00 |
|
Lemon-miaow
|
e521cf5976
|
fix(submit): 审阅绑定上下文 sha256,批准须带摘要,构建只从内部 API 取上下文并校验字节
|
2026-09-24 22:24:50 +08:00 |
|
Lemon-miaow
|
13b65e19ec
|
fix(build): 构建 pod 等出口策略生效再运行,加 seccomp、可选 user namespace 与磁盘上限,上下文解包限总字节与条目数
|
2026-09-24 20:42:14 +08:00 |
|
Lemon-miaow
|
9bda3a52fa
|
fix(backup): 手动备份按服冷却、每服保留上限与独立保留期,容量驱逐不再删除回收世界的唯一副本
|
2026-09-24 19:58:59 +08:00 |
|
Lemon-miaow
|
f69cdec9d4
|
fix(reaper): 有服务器处理失败或过期备份删不掉时以非零码退出,让 Job 失败告警触达运维
|
2026-09-24 19:34:09 +08:00 |
|
Lemon-miaow
|
22becd6859
|
fix(reaper): 认领时重置活跃时钟与预警,回收只复用本次认领后的 reaper 归档
|
2026-09-24 19:31:23 +08:00 |
|
Lemon-miaow
|
47890ca913
|
feat(offsite): 世界归档与数据库备份加密同步到异地 S3,reaper 确认异地副本后才删除世界
|
2026-09-24 19:25:16 +08:00 |
|
Lemon-miaow
|
fa8db4c7e8
|
docs(audit): 告警条目补记 watchdog 邮件告警与真机演练
|
2026-09-24 18:36:07 +08:00 |
|
Lemon-miaow
|
d17524cd67
|
feat(watchdog): 主机侧巡检定时器按异常邮件通知平台所有者,operator 增加 phase 与 build_info 指标、卡死存活探针与告警规则
|
2026-09-24 18:06:19 +08:00 |
|
Lemon-miaow
|
d50492b86f
|
chore(panel): mock 服务器带固定镜像与内存存储以演示编辑对话框
|
2026-09-24 17:08:53 +08:00 |
|
Lemon-miaow
|
0c29ab3a96
|
fix(api): 未改动任何字段的 PATCH 返回空 patched 数组而非 null
|
2026-09-24 17:04:02 +08:00 |
|
Lemon-miaow
|
215bfd78d7
|
fix(images): 服务器镜像在创建时固定到仓库 digest,更换镜像需确认备份,安装器重建前先固定旧服并推送不可变版本标签
|
2026-09-24 16:57:38 +08:00 |
|
Lemon-miaow
|
857b6da886
|
fix(operator): 删除依赖 rcon-cli 的 preStop 死代码,缩容前由 operator 经 RCON 执行 save-all flush
|
2026-09-24 16:39:22 +08:00 |
|
Lemon-miaow
|
5521e498a9
|
fix(platform): minecraft 命名空间强制 PodSecurity baseline,reaper 世界根目录改走静态 hostPath PV
|
2026-09-24 16:28:12 +08:00 |
|
Lemon-miaow
|
346a93921e
|
fix(operator): 游戏 Pod 改以 UID 1000 运行并丢弃全部能力,prepare-data 初始化容器修正旧存档属主
|
2026-09-24 16:23:49 +08:00 |
|
Lemon-miaow
|
c1796bea17
|
feat(servers): 新建服务器默认空闲 10 分钟自动停服,面板可调,converge 回填旧服,系统服不休眠
|
2026-09-24 16:12:53 +08:00 |
|
Lemon-miaow
|
bd909d5858
|
fix(operator): 读不出玩家数时暂停空闲自动停服,支持 1.12/Bukkit/EssentialsX 与颜色码
|
2026-09-24 16:06:55 +08:00 |
|
Lemon-miaow
|
857c73a66a
|
fix(audit): 审计按账号 id 归属并记录来源 IP/UA,登录失败与限速入审计和指标,写入失败计数告警
|
2026-09-24 16:02:44 +08:00 |
|
Lemon-miaow
|
c4e4953f3d
|
fix(auth): 公开登录门按来源限速并设全站发信上限,冷却表定期清理
|
2026-09-24 15:51:42 +08:00 |
|
Lemon-miaow
|
15f729ffea
|
fix(auth): 邮箱验证码按账号累计错误次数封顶并通知
|
2026-09-24 15:37:01 +08:00 |
|
Lemon-miaow
|
18e2397272
|
fix(panel): 加错误边界与新版本 chunk 自动刷新,无 WebGL 时仪表盘降级为平面视图
|
2026-09-24 15:27:29 +08:00 |
|
Lemon-miaow
|
248fa5d100
|
fix(panel): 服主在控制台看得到 LuckPerms 入口,归属判定统一走 /me/servers
|
2026-09-24 15:23:20 +08:00 |
|
Lemon-miaow
|
c7db7d4126
|
feat(db): 控制面 PG 定时备份、迁移前快照与原子恢复
|
2026-09-24 15:19:42 +08:00 |
|
Lemon-miaow
|
abfe60d62d
|
fix(api): wake 与回档/备份/改文件按服务器互斥
|
2026-09-24 14:39:02 +08:00 |
|
Lemon-miaow
|
7819e5de50
|
feat(netpol): 锁定游戏服出站并为 registry 加入站围栏
|
2026-09-24 14:25:17 +08:00 |
|
Lemon-miaow
|
3424852a39
|
feat(registry): 写入改走鉴权网关,构建先扫描再推送
|
2026-09-24 14:25:17 +08:00 |
|
Lemon-miaow
|
8f684cedc0
|
feat(paper): 大厅菜单从代理动态拉取服务器列表并分页
|
2026-09-24 13:39:38 +08:00 |
|
Lemon-miaow
|
955433ba81
|
fix(limbo): 经 felis:control 放行玩家并在 felis-api 故障时退避重试
|
2026-09-24 13:39:38 +08:00 |
|
Lemon-miaow
|
4648175773
|
fix(velocity): felis:control 按来源服务器限权并关闭 bungeecord 通道
|
2026-09-24 13:39:38 +08:00 |
|
Lemon-miaow
|
3247b9e61a
|
docs(audit): batch-47 — v0.1.0 stable release fired end-to-end (release download → no-checkout full bootstrap → felis update)
|
2026-09-24 11:36:22 +08:00 |
|