Repository navigation
v0.7.2 — 发布链路恢复与 RLS 根因修复
这一版最主要的变更是让「能发布」这件事重新成立。 本仓库 CI 自 2026-09-08 起连红约 200 次,Build、E2E、Publish image (GHCR) 三条腿因此从未真正执行过;v0.7.2 是这段之后首次 12/12 全绿的版本。
根因(三张表没有建表迁移)
ai_conversations/ai_messages/push_tokens三个 Prisma 模型在任何迁移里没有CREATE TABLE,导致db/rls-activate.sql的 DO 块原子性失败——引擎级 RLS 实际只生效 1/96。补迁移20260929000000与 5 处缺失的@map。rls-activate.sql补 24 条DROP POLICY IF EXISTS使其幂等:此前不幂等,第二次重启容器即起不来。
新增 5 条质量门禁
- schema ↔ 迁移单向漂移检查(
psql权威模式)+schema-driftjob - RLS 覆盖守卫改为真解析:分别断言
ENABLE ROW LEVEL SECURITY/FORCE/POLICY三态,并剥离 SQL 注释 - 权限五档门禁覆盖、i18n 引用键存在性、分页信封消费口径静态守卫(实测 56 个分页端点 / 22 个字面量调用点)
安全
next16.3.3 → 16.3.6:修复next/ogImageResponse的 critical RCE(受影响范围>=16.2.0 <16.3.6)。本仓库next/og零使用,不构成可达面,但它阻断了Security Audit关卡。undici5 条 high:经 pnpm overrides 收敛,并给它加上<8上界——只写下界会让 provider-utils 解析到 8.10.0(跨大版本且仍在受影响区间)。- 顺带查出:根目录
pnpm-workspace.yaml的 overrides 是死配置(CI/Docker 都在web/下安装),既存那条sharp覆盖从未进过锁文件。
产品与权限
- 国内通道缺省价 ¥59 → ¥29.9,对齐仓库里状态为 ACCEPTED 的
pricing-redesign-v2决策。 - 公开分享链接的密码与过期改为服务端强制,并新增 verify 路由。
viewer只读在 24 个 handler 落地,配合五档权限门禁。- Stripe
priceOverride改白名单;AI 用量按产品决定改为提示不阻断。 - 日历同步对账接入 cron(
entrypoint-cron.sh每周日 05:00)。
制品(2026-10-01 匿名 manifest HEAD 实测)
docker pull ghcr.io/levango7/corps:0.7.2
:0.7.2、:0.7、:main 均 HTTP 200;0.7.2 digest sha256:3870c7d754d0e…。发版提交 e41996d1 的 tag push run 36776247723 与 branch push run 36776240056 各 12/12 绿。
验证边界:鉴权类批量改动(viewer 只读、分享强制)在本机只做静态与解析层核验——Next 16 不允许多 dev server 并存,3000 端口那台是开发者自己正在跑的实例。端到端证据来自 CI 的 Test / Test (hardened RLS mode) / E2E (production build) 三腿转绿,而非本地跑过。
完整 41 条条目见仓库根 CHANGELOG.md 的 [0.7.2] - 2026-10-01。