Skip to content

feat: raise user content quotas and replace oldest sessions by default - #32

Merged
mcoder2014 merged 2 commits into
masterfrom
feat/cq/user_limits
Nov 1, 2026
Merged

mcoder2014 merged 2 commits into
masterfrom
feat/cq/user_limits

Conversation

@mcoder2014

@mcoder2014 mcoder2014 commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

每用户说明书默认数量从 1,000 提升至 100,000,网页项目默认数量从 10 提升至 100,000,并将网页项目数量的可配置上界从 100 提升至 100,000。已有站点通过动态配置发布和私有 YAML 更新实际限额;存储容量、上传体积及访问权限沿用现有策略。

网站与旧 RSA 登录在凭据验证成功且会话满额时,默认按 create_time、id 退出最早有效会话,再签发新会话。调低上限后,下一次成功登录会撤销足够数量的旧会话,使最终数量满足当前上限。前端直接完成登录,无替换开关或二次确认;旧 replace_oldest_session 请求字段只保留兼容解析,省略、false、true 的行为一致。

有效集合的当前锁定读、撤销、新签发及最近登录时间更新共用原账号锁和事务。错误密码、已失效认证版本、过期及其他账号会话不触发误撤销,签发失败整体回滚。旧 RSA 响应封装保持兼容。

历史 accounts-import-v1 保留原每用户 10 个项目及固定导入校验和,避免迁移重跑失效。无需新增 DDL。旧程序不接受大于 100 的网页数量,跨范围回滚后端前需先用兼容新范围的程序将实际限额发布回旧范围。

验证:

  • 通过 pi_out 在专用合成数据库执行 6 个登录相关 Go 包:189 项通过、6 项原有可选用例跳过、0 失败;覆盖默认替换、新旧入口混合并发、降限收敛、事务快照、签发失败回滚、无效历史过滤及其他账号隔离。
  • 旧参数兼容测试进一步验证每次 false/true 请求的新 Cookie 可用、最早旧会话失效及数量不越限,单独复跑通过。
  • 前端 117 项测试和真实 Chrome 3 项用例通过,包含 320px 登录直接完成、无配置或确认弹窗。
  • 后端 build.sh 与前端生产构建通过;有序会话查询 EXPLAIN 为按用户的索引范围访问。
  • 公共部署示例检查通过;修改文档中的 2 张 Mermaid 图均渲染通过。

部署验证:已通过 pi_out 部署提交 1e66c134c866dc15b2ada54ef1cc5a172d05e45e 的同版前后端。源码归档及独立构建清单核对通过,38 个产物、运行中二进制、入口 HTML 与引用的 JS/CSS 哈希一致;前后端分别为 active,ping 与公开引导 API 正常。生产 YAML 哈希及 web_projects/account_policy 的 revision 和数量值均保持不变:说明书和网页各100000,登录态上限10。数据库、私有配置及旧 release 备份已保留,本次两个隔离测试库和账号已清理。该提交的 GitHub CI build 检查成功。

@mcoder2014 mcoder2014 changed the title feat: raise per-user content quotas and offer session replacement feat: raise user content quotas and replace oldest sessions by default Nov 1, 2026
@mcoder2014
mcoder2014 merged commit cd884fd into master Nov 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant