fix(synastry): open the match page from the live flag and price it at 19 credits
The closed sentence was prerendered when the build had no database. The page now asks for the flag in the browser, and synastry.full is published at 19 credits. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -36904,3 +36904,35 @@
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/synastry-full-report-20261018`。
|
||||
|
||||
## BUG-1397 | 婚恋合盘页在构建时被写成「服务暂未开放」
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-10-20
|
||||
- 最近更新:2026-10-20
|
||||
- 影响面:`/synastry`、侧栏「婚恋合盘」
|
||||
- 用户现象:后台 `product.compatibility` 已发布、已开启、灰度 100%,打开婚恋合盘仍只看到「合盘服务暂未开放」。
|
||||
- 触发条件:构建镜像时没有数据库。页面在服务端调用 `isProductEnabled("compatibility")`,查询失败被当成关闭,Next 把这个结果预渲染成静态页。staging 上该页响应带 `X-Nextjs-Prerender: 1`、`X-Nextjs-Cache: HIT`,部署标记是 `123295135`。
|
||||
- 根因:开关读取发生在构建期,而不是每次打开页面。失败分支又把关闭写成页面正文,于是静态结果被缓存,之后把开关打开也不会变。
|
||||
- 修复:`/synastry` 改成静态外壳,只渲染选人组件。选人组件打开后再请求 `/api/product-access`。返回 `compatibility: false` 才显示「合盘服务暂未开放」。不给这个次级页加 `force-dynamic`。
|
||||
- 验证:`frontend/tests/synastry-full-report.test.ts` 锁定页面源码不再调用 `isProductEnabled`、也不含那句关闭文案;选人组件先看开关,初始状态不是关闭。`frontend/tests/stale-client-recovery.test.ts` 锁定该页不是 `force-dynamic`。
|
||||
- 防复发:不要在会预渲染的页面里调用 `isProductEnabled`。次级页继续用静态外壳,开关放到浏览器里读。
|
||||
- 相关记录:BUG-1123、BUG-1395。issue #82。
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/synastry-page-dynamic-20261020`。
|
||||
|
||||
## BUG-1397 | 婚恋合盘页在构建时被写成「服务暂未开放」
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-10-20
|
||||
- 最近更新:2026-10-20
|
||||
- 影响面:`/synastry`、侧栏「婚恋合盘」
|
||||
- 用户现象:后台 `product.compatibility` 已发布、已开启、灰度 100%,打开婚恋合盘仍只看到「合盘服务暂未开放」。
|
||||
- 触发条件:构建镜像时没有数据库。页面在服务端调用 `isProductEnabled("compatibility")`,查询失败被当成关闭,Next 把这个结果预渲染成静态页。staging 上该页响应带 `X-Nextjs-Prerender: 1`、`X-Nextjs-Cache: HIT`,部署标记是 `123295135`。
|
||||
- 根因:开关读取发生在构建期,而不是每次打开页面。失败分支又把关闭写成页面正文,于是静态结果被缓存,之后把开关打开也不会变。
|
||||
- 修复:`/synastry` 改成静态外壳,只渲染选人组件。选人组件打开后再请求 `/api/product-access`。返回 `compatibility: false` 才显示「合盘服务暂未开放」。不给这个次级页加 `force-dynamic`。
|
||||
- 验证:`frontend/tests/synastry-full-report.test.ts` 锁定页面源码不再调用 `isProductEnabled`、也不含那句关闭文案;选人组件先看开关,初始状态不是关闭。`frontend/tests/stale-client-recovery.test.ts` 锁定该页不是 `force-dynamic`。
|
||||
- 防复发:不要在会预渲染的页面里调用 `isProductEnabled`。次级页继续用静态外壳,开关放到浏览器里读。
|
||||
- 相关记录:BUG-1123、BUG-1395。issue #82。
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/synastry-page-dynamic-20261020`。
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
登录后做。不要把出生日期、地点或报告正文抄进反馈,只写看到了什么。
|
||||
|
||||
1. 侧栏有「婚恋合盘」。打开后能选两个人。人多时下拉可以滚动。
|
||||
1. 侧栏有「婚恋合盘」。打开后能选两个人,不能一打开就是「合盘服务暂未开放」。人多时下拉可以滚动。开关关掉之后,才在打开页面后看到这句。
|
||||
2. 「+ 新增星盘」能保存一个新人,并出现在列表里。
|
||||
3. 选同一个人,按钮旁说明要选两个不同的人,不会开始生成。
|
||||
4. 资料不齐的人不能生成,页面说明要先补出生资料。
|
||||
|
||||
Reference in New Issue
Block a user