Lemon-miaow
61b283ae2f
feat(auth): add Owner authentication source settings
...
Manage Yggdrasil providers from the panel using durable platform settings, protected identity namespaces and atomic revisions. Apply changes to subsequent logins and profile lookups without restarting. Return operator-host logouts to the login method selection page.
2026-10-04 22:18:37 +08:00
Lemon-miaow
efbbe27629
feat: initialize panel access before linking Minecraft accounts
...
Configure connection and storage before creating or resuming the one-time Owner login. Remove Minecraft prerequisites from setup and preserve established login credentials.
Let staff preview and confirm roles from configured authentication sources using the existing account-link storage and game UUID mapping. Retain in-game code proof for players, add client-version and lobby guidance, and support NodePort passkey origins.
2026-10-04 03:05:05 +08:00
Lemon-miaow
3c0322a5c6
test(pgint): 只读绑定账号的测试角色带密码登录,CI 的 PG 要求密码验证
2026-09-29 02:28:50 +08:00
Lemon-miaow
5dffadb40d
feat(backups): 主人和管理员可下载单个备份、导出停服世界,字节经一次性票据从导出 Job 流式转给浏览器,备份按 sha256 核对
2026-09-28 00:58:42 +08:00
Lemon-miaow
34b81ee8fe
feat(schedules): 每台服务器可设计划任务,按星期和时区定时发命令、重启、停服、开服或备份,重启和备份前可在游戏内提醒
2026-09-27 22:48:49 +08:00
Lemon-miaow
b6751eac0f
feat(backups): 主人和管理员可删除单个备份,归档由 reaper 下一轮删除、异地副本随下次同步删除,恢复可能在读时拒绝
2026-09-27 18:09:49 +08:00
Lemon-miaow
56a4bbcf4c
refactor(api): 删掉没有调用方的 QuotaAvailable,修正 passkey last_used_at 的过时注释
2026-09-27 14:20:20 +08:00
Lemon-miaow
e9e9a7a622
fix(api): 收到 API 时钟的 repo 写操作一律用它打时间戳,不再和 PG now() 混用
2026-09-27 14:15:03 +08:00
Lemon-miaow
e491e063cf
fix(api): 消费 op-login 请求时要求已审批,fake 同步
2026-09-27 14:04:34 +08:00
Lemon-miaow
1124413876
fix(api): setup 链接在同一事务里消费并建会话,存储故障回 500 且链接仍可重试
2026-09-27 13:55:56 +08:00
Lemon-miaow
fef8d962c9
fix(api): UserDetail 读不到绑定账号时返回错误,不再显示为未绑定
2026-09-27 13:18:37 +08:00
Lemon-miaow
2c5a85a033
fix(api): 调整资源先在 owner 的认领锁内核配额并写缓存再 patch 集群,集群拒绝时缓存回到集群的大小
2026-09-27 13:15:18 +08:00
Lemon-miaow
7f203b9245
fix(api): ListUsers 的 total 按同一组过滤条件计数,面板不再翻出空页
2026-09-27 13:01:12 +08:00
Lemon-miaow
f692725bed
fix(migrate): 兑换迁移码在双方认领锁下检查目标配额,超出返回 403 migrate_quota_exceeded 且码不消耗
2026-09-27 12:46:49 +08:00
Lemon-miaow
fe48319866
test(watchdog): 整轮巡检测试覆盖集群告警保持、dry-run、主机 relay 密码、按配置检查与状态存不下,收件人查询移入 watchdog 并加 pgint 契约
2026-09-27 12:33:11 +08:00
Lemon-miaow
983727d9c0
fix(offsite): 复制新归档后补打并上传 DB 包,桶内无记录的归档过最长保留期后清理
2026-09-27 09:16:00 +08:00
Lemon-miaow
fa46733859
fix(offsite): fetch-db latest 跳过新装机器的空库包,取包后显示包内账号和服务器数
2026-09-27 06:52:09 +08:00
Lemon-miaow
0e08fa7ced
fix(servers): 主人可放弃服务器、管理员可删除服务器,由 reaper 归档世界后释放或移除
2026-09-27 03:49:49 +08:00
Lemon-miaow
4a26bf4ca0
fix(allowlist): 唤醒名单可查看、可取消或恢复唤醒权限,换主人时清空
2026-09-27 02:55:30 +08:00
Lemon-miaow
d807fd5887
fix(servers): 同名重建服务器时旧行从头开始,不再继承上一任的主人、别名、allowlist 和回收警告
2026-09-27 02:30:54 +08:00
Lemon-miaow
7aa5034c1a
fix(quota): 配额表单整体替换,留空即不限、0 即不给、负数和越界拒收,超配额的服务器仍可调小
2026-09-27 02:26:03 +08:00
Lemon-miaow
ee4065b986
fix(migrate): 迁移确认只对做确认的会话在 10 分钟内有效,签发和兑换迁移码都给源账户邮箱发通知
2026-09-27 02:14:22 +08:00
Lemon-miaow
9a89254146
test(db): 恢复链在真实 PostgreSQL 上跑往返与三种失败回滚,-yes 闸门测试真正走到闸门,e2e 按文档做一次同机恢复
2026-09-27 01:58:35 +08:00
Lemon-miaow
8ef7112dab
feat(backup): 玩过的世界每天在停服后自动打一个定时恢复点,按服按 owner 保留 7 个、90 天过期
2026-09-27 00:02:49 +08:00
Lemon-miaow
d6e1a6464c
fix(quota): 回收的服务器保留资源规格,认领时按集群里的真实规格过配额并写回缓存
2026-09-26 23:28:18 +08:00
Lemon-miaow
3b58b39763
fix(bootstrap): 迁库比对行数的 SQL 不再对常量排序报错,宿主机库能真正迁入 felis-postgres
2026-09-26 19:48:52 +08:00
Lemon-miaow
24373823cc
feat(build): 扫描门按可配严重度拦截并可接受已知风险,留存 Trivy 报告与 CycloneDX SBOM,面板构建页展示扫描结果
2026-09-25 21:28:57 +08:00
Lemon-miaow
1054e62fa9
feat(api): 集群列表读改走 informer 缓存,审核队列、我的提交与备份列表改为服务端分页筛选并一次批量查构建,面板三页跟进
2026-09-25 18:13:21 +08:00
Lemon-miaow
0a66385d9f
fix(store): passkey 挑战与账号迁移的并发开始改由 advisory 锁串行,登录挑战按来源上限在并发下精确,迁移重启不再给已退役账号留活动记录,补 pgint 契约测试
2026-09-25 17:36:44 +08:00
Lemon-miaow
d93c1b6913
feat(api): op-login 游戏内审批先展示目标账号、邮箱与发起来源,须输入账户名确认,velocity 显示审批卡片
2026-09-25 17:02:43 +08:00
Lemon-miaow
4757353324
fix(api): 登录验证码与 passkey 挑战不再被他人的 start 作废,冷却内重复 start 照常 202,登录挑战按来源限量
2026-09-25 16:37:03 +08:00
Lemon-miaow
084ba1ed9e
feat(retention): felis-api 定时清理过期会话、验证码、挑战、绑定码等表,审计按 [audit] retention 保留,新增 felis db audit-export 导出归档
2026-09-25 15:53:34 +08:00
Lemon-miaow
d3769b5c31
feat(api): 添加或删除 passkey、修改邮箱前须 5 分钟内用已有因子重新验证,变更后邮件通知账户,面板加确认对话框与修改邮箱入口
2026-09-25 14:47:54 +08:00
Lemon-miaow
9e7f23ca13
feat(api): 会话记录设备与最近活动,账户页可查看并退出任一设备,删除 passkey 或更换邮箱时退出其它设备,staff 会话空闲 30 分钟失效,吊销会话校验所属用户
2026-09-25 14:06:02 +08:00
Lemon-miaow
98295e630e
fix(api): 禁用用户与吊销会话合为一个事务,passkey 签名计数只增不减,引导检查遇到数据库故障返回 503
2026-09-25 13:29:52 +08:00
Lemon-miaow
88d3dd7121
fix(store): 数据库连接池限 25 条并设语句与空闲事务超时,迁移锁固定在取锁的连接上释放,API 导出连接池指标
2026-09-25 13:25:45 +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
ea425cffa4
fix(passkey): 删除 passkey 先确认并显示名称与注册时间,邮箱未验证时后端拒删最后一把,错误内联显示
2026-09-25 10:04:31 +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
3ed6603201
feat(store): api/reaper/offsite/migrate 按版本集合校验 schema,库比二进制新时拒绝启动;bootstrap 迁移前失败回滚宿主二进制
2026-09-25 01:46:33 +08:00
Lemon-miaow
b1627e9ba0
style(pgint): gofmt
2026-09-24 23:52:30 +08:00
Lemon-miaow
5cadbd40a9
fix(submit): 待审上限在事务内加咨询锁原子检查,跨副本不超额
2026-09-24 22:26:30 +08:00
Lemon-miaow
e521cf5976
fix(submit): 审阅绑定上下文 sha256,批准须带摘要,构建只从内部 API 取上下文并校验字节
2026-09-24 22:24:50 +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
857c73a66a
fix(audit): 审计按账号 id 归属并记录来源 IP/UA,登录失败与限速入审计和指标,写入失败计数告警
2026-09-24 16:02:44 +08:00