已发布
H5后端
新版牌桌命名统一与官网信息升级
新版牌桌在产品、代码与公开资料中采用统一的 BluffKing 自有命名。官网同时重构为更清楚的公司与产品入口,精简重复说明,突出练习、复盘、策略训练、公平性和产品边界。
- 统一新版牌桌相关命名,不再使用来源不清的设计代号。
- 重写首页、产品、公司、支持与联系页面,减少说明书式和重复文案。
- 官网导航重新聚焦产品、价格、洞察与公司信息。
已发布
H5后端
鱿鱼玩法升级:翻倍、全鱿鱼与更公平的中途加入
私密朋友局的鱿鱼玩法现在提供经典、翻倍与全鱿鱼三种模式。新玩家中途入座时可以选择立即加入本轮或从下轮开始,已有玩家的进度与倍数不会被重置;人数不足时本轮暂停而不是清零。新版牌桌同时改进了座位徽章、行动标签、规则入口和房间信息布局。
- 新增翻倍鱿鱼(罚注逐轮翻倍,封顶 4 倍)与全鱿鱼(点亮叠加、按次数加权结算);经典规则不变仍为默认。
- 更公平的中途加入:新玩家自选「加入本轮」或「下轮再进」,老玩家的点亮与倍数不再被重置;换座绝不继承前任状态。
- 移动端网页牌桌补上鱿鱼玩法/倍数/叠加/待加入指示;本次发布时两套界面均有这些信息,临时界面已在后续 Table2-only 发布中移除。
- 新版牌桌改进座位徽章、行动标签、规则入口与房间信息布局。
已发布
H5后端
结账自动带出账号邮箱 + 自定义盲注设置修复
已登录用户在订阅结账时不再需要重复输入邮箱:后端会把账号邮箱直接带到 Stripe 结账页预填。为避免把错误地址锁死到收据上,仅对已验证归属的邮箱账号(例如 Google/Apple 登录或已验证邮箱)预填;用户名注册或尚未验证的账号仍在结账页照常填写。本次发布同时修复房间设置中的自定义盲注:编辑小盲会自动给出常规的 2 倍大盲(50 → 100),大盲仍可手动改为非 2 倍结构(如 2/5);强制 Straddle 与鱿鱼罚金现在按当前盲注显示真实筹码额,而不再是固定的“2 BB”文案。
- 订阅结账:已验证邮箱的账号在 Stripe 结账页自动预填邮箱,无需重复输入。
- 自定义盲注:编辑小盲自动带出 2 倍大盲,大盲仍可自定义为非 2 倍结构(如 2/5)。
- 强制 Straddle 与鱿鱼罚金按当前盲注显示真实筹码额,不再是固定文案。
已发布
H5后端
支付订单与退款可靠性修复
本次紧急修复重构订阅支付的订单模型:订单与每一次支付尝试分开记录,并在 Stripe、Telegram Stars 与 BNB 链上 USDT 三条通道统一生效。支付失败后重试会生成独立的支付尝试记录,退款严格对应到具体那一次支付,重复的退款请求只会执行一次;相应的后端数据迁移采用失败即停的保守策略。H5 支付页同步更新,并调整了可用支付方式列表。
- 订单与支付尝试分离:每次重试都有独立记录,支付状态查询与链上交易提交都以支付尝试为准。
- 退款只对应具体一次支付尝试,重复退款请求安全去重,不会造成多次退款。
- H5 支付方式调整:不再新发起支付宝与微信支付;Apple Pay 与 Google Pay 标注为仅在原生 App 内提供。
已发布
H5后端
运营日报新增完整牌局时长统计
本次紧急修复扩展后台每日运营报告:在已有的新建、开打、关闭与完成手牌总量之外,新增“开打后关闭”和“跑满配置时长”两项会话指标。统计继续使用固定的 UTC+08:00 自然日窗口,并且只发送脱敏聚合数据。H5 与营销官网随同一发布版本同步更新;牌局规则和玩家操作界面没有变化。
- “开打后关闭”统计当天新建、至少完成一手牌且在日终前关闭的会话交集。
- “跑满配置时长”仅统计结束时间达到或超过房间预设截止时间的已开打会话。
- 日报不包含用户身份或逐局明细;本次发布不改变牌局规则与玩家界面。
已发布
H5后端
私桌规则与盲注标记可见性修复
本次紧急修复让私桌的关键规则在牌局中持续清晰可见。H5 牌桌现在会显示庄位、小盲、大盲与强制加注位置,并持续展示房间配置的强制加注和 Squid 罚注;后端在加入与重连时重新发送权威房间规则,避免刷新或网络恢复后规则信息丢失。
- 座位旁新增 D、SB、BB 与 STR 标记,并正确显示单挑牌局中庄位与小盲重叠的情况。
- 强制加注与 Squid 罚注配置会在牌桌上持续显示,并区分等待与当前生效状态。
- 玩家加入、刷新或重连时,后端会重新下发权威房间规则,保持 H5 显示一致。
已发布
H5后端
可信发布门禁与后端构建兼容性加固
本次生产批次加固 Codex 可信 QA 与发布门禁:确定性沙箱更严格地绑定工具链和依赖身份,并在读取 Flutter 工具链时持有真实缓存锁,避免并发 SDK 更新造成验证对象漂移;本地环境、设备证明和回归脚本也补强了路径、进程与清理边界。后端源码及测试同时完成全目标 Clippy 兼容性调整。此次变更不改变牌局规则、账户、定价或其他运行时产品行为。
- 可信启动器将 Flutter、Dart、依赖与工具包装器身份纳入封闭验证,并通过真实 Flutter 缓存锁消除并发升级竞态。
- 本地启动、设备证明、隧道与回归脚本补充了严格的路径、进程归属、环境隔离和失败清理检查。
- 后端日报查询与测试辅助代码通过全目标 Clippy 检查;调整仅涉及构建与测试兼容性,不改变运行时语义。
已发布
H5后端
页面更新恢复、运营日报与 AI 编程长文
本次生产批次把此前已合并但尚未上线的提交 7cc95b56 与本站长文一起发布。该提交让 H5 在部署后遇到已失效的懒加载模块时进行一次有循环保护的页面恢复,使原生容器调用失败不再产生未处理的 Promise 拒绝,并让客户端错误按 Web、Telegram 与 Flutter 容器区分;后台每日运营报告也改为固定自然日口径,增加牌局完成量和脱敏错误分类。本批次的官网补丁同时发布从对话式 GPT 到生产级 Claude Code 与 Codex 工作流的双语入门长文。
- 提交 7cc95b56:旧页面引用已下线的路由模块时只刷新一次;如果仍失败,不会陷入无限重载。
- 提交 7cc95b56:运营日报使用完整自然日快照,并补充牌局、客户端表面与固定错误类型明细。
- 本站补丁:新增双语 AI 编程入门长文,覆盖 CLI、Remote Control、Memory、MCP、Skill、Plugin、Harness、Workflow 与 Hooks。
已发布
H5
V1 牌局 2–9 人布局消除元素遮挡
V1 牌桌改为按人数显式排布,并分别适配紧凑与常规高度;对手座位、下注筹码、公共牌、底池、桌号、英雄手牌和操作区现在各自占用独立安全区域。修复覆盖 2–9 人,以及手机浏览器、独立模式、平板和短屏桌面视口。
- 2–9 人座位不再使用会挤压横向胶囊的统一椭圆,改为对称的逐人数排布。
- 紧凑屏与高屏使用独立座位和下注轨道,公共牌、底池与英雄操作区不再被覆盖。
- 新增真实 Chromium 的 40 场景绘制碰撞门禁,持续检查五类视口下的全部人数。
已发布
H5
Max 月付与年付价格对比更清晰
Max 价格卡现在与 Pro 保持一致,先显示月付、再显示年付;限时年付继续以绿色高亮,并明确标注“最划算”以及相较连续月付一年节省 US$358.30。实际价格和会员权益没有变化。
- Max 统一按月付、年付的顺序展示,年付特惠更容易直接比较。
- 年付继续为 US$0.50(原价 US$299),并明确显示比连续月付一年节省 US$358.30。
已发布
后端
数据库监控、索引与支付唯一性加固
后端新增不记录参数值的慢查询观测、持续异常阈值告警和五分钟数据库健康巡检;数据库现在强制每个用户最多一条当前订阅投影和一张用户发起的进行中支付订单,并校验支付订单、用户与渠道的一致性。每张已付款订单保留独立权益事实,读取端选择仍有效的最高层级,因此乱序 Pro 付款不会降级 Max。新建 checkout 前会释放已过期且未付款的 pending 槽位,可能已扣款的 submitted 仍等待渠道对账;已扣款的 Apple/Google 回执不受 checkout 门禁阻塞。另补齐关键外键索引并移除两个冗余索引,降低写放大。
- 超过 500ms 的 SQL 会进入五分钟巡检统计;持续慢查询、5 秒单条 SQL、长事务、重复死锁、连接占用和重复连接池等待才触发告警。
- 慢查询日志明确关闭 bind 参数记录,避免邮箱、会话或支付载荷进入运维日志。
- 数据库拒绝同一用户的并发 checkout 和第二条当前订阅投影;权益按付款订单分开保存,最高仍有效层级生效,过期未付款订单自动释放槽位。
- 补齐 subscriptions.latest_order_id 与 oauth_nonces.user_id 索引,移除 hand_actions 与 coach_hints 的两个冗余索引。
已发布
H5后端
牌桌与启动体验升级、邮件语言与告警能力就绪,Max 定价恢复
本次同步发布 H5、后端与营销官网:行动中断线获得宽限保护,多人全下时可实时查看主池/边池,免费过牌场景的弃牌会二次确认,弃牌玩家在牌局结束后可自愿亮牌;Telegram 冷启动底部菜单会自动恢复,验证码、重置密码与更换邮箱邮件会跟随用户当前语言,后端新增可配置的异常聚合告警能力且容器日志受轮转上限保护。H5 与服务端密码规则统一为 8–128 位,一次性本地支付也明确说明购买的是固定期限训练会员。Max 月付恢复 US$29.90(3000 XTR/月),Max 年付保留 US$0.50 内测特惠并展示 US$299 划线原价。
- 当前行动玩家断线后不再立即自动弃牌;宽限期与超时后的旧操作隔离共同避免误操作。
- 多人全下时实时展示主池与各边池,Total 与分池金额保持一致。
- 可免费过牌却选择弃牌时新增确认;牌局结束后,已弃牌玩家可选择公开自己的底牌。
- 手牌记录与排名抽屉压缩布局,九人桌摊牌信息在手机屏幕上更易完整查看。
- Telegram Mini App 冷启动时会先按可见视口布局,并在迟到的 WebApp bridge 就绪后自动恢复底部菜单同步。
- 验证码、重置密码与更换邮箱邮件使用用户当前选择的产品语言;缺失或无法识别时安全回退到 English,不再中英混排。
- 服务器具备可配置的异常日志聚合、去重与 Telegram 告警能力;容器日志轮转上限会随发布生效,避免日志占满磁盘。
- H5 与服务端的注册、账号凭据设置和密码重置统一为 8–128 位,常见和可预测弱密码仍会被拒绝。
- Alipay、微信支付与 PayNow 的一次性结账明确标注固定期限训练会员费用,并说明不含下注、筹码、入金或奖金。
- Max 月付恢复标准价 US$29.90 / 3000 XTR;Max 年付继续 US$0.50 限时内测价,并显示 US$299 划线原价。
- 生产发布现在强制从 main 构建,并在切换 prod 前校验一条新的中英双语 changelog;H5、后端和官网绑定同一 SHA 与发布号。
已发布
H5后端
开源求解器镜像与部署版本重新对齐
本次发布把公开的 AGPL §13 对应源代码(引擎与后翻牌求解器子集)重新同步为与线上部署逐字节一致(标签 solver-src-2026-07-18)。仅为依赖锁定的例行更新,求解结果与玩法行为不变。
- 公开镜像标签 solver-src-2026-07-18 与线上部署逐字节一致,AGPL §13 对应源代码保持有效。
- 仅刷新依赖锁定(Cargo.lock),后翻牌求解器源码与算法不变。
已发布
H5后端
邮箱注册升级为六位验证码与先验证流程
H5 注册会先用六位邮箱验证码确认邮箱归属,再显示密码与条款步骤;已有账号会直接引导登录或找回密码。服务端继续兼容旧版客户端的八位验证码,并统一加强新密码与邮箱账号查找规则。
- 新 H5 注册验证码固定为六位并保留前导零;旧客户端在兼容期仍可完成八位验证码流程。
- 邮箱验证后,未注册邮箱进入创建账号;已有邮箱转到登录/找回密码,不再走到注册冲突页。
- 新建和重置密码至少 15 个字符,并拒绝常见弱密码;现有账号的短密码仍可正常登录。
- 登录和找回密码优先使用规范化邮箱,同时保留旧账号的精确邮箱兼容路径。
已发布
后端
Telegram Stars 测试余额增加来源声明门禁
Telegram Test Server 的真实 provider 验证现在会在创建测试订单前,要求操作流程同时声明已有 Stars 余额及其非商店测试来源,避免把商店充值、退款中或争议余额误当成安全测试资金;生产玩家的 Telegram Stars 结账不受影响。
- 缺少来源声明、来源值不匹配或余额来自商店时,后端会在写入订单和调用 Telegram 之前拒绝请求。
- 每次受限测试仍只允许一张 1 XTR 发票,并继续使用单次运行预算防止重试扩大风险。
- 测试脚本、运行状态和双语事故复盘统一说明:找不到可信的非商店测试余额就停止真实 provider 测试。
已发布
H5后端
本桌手牌升级为清晰侧边抽屉
移动牌桌的历史牌局现在从右侧全高展开,放大公共牌与玩家手牌,并把“发发看”严格绑定到玩家选中的那一手;同时修复 iPhone 紧凑视口中的下注、底池和英雄区重叠。
- 一次聚焦一手历史牌局,使用大号公共牌和手牌,并保留左侧牌桌上下文与底部逐手翻页。
- 发发看入口移入当前历史牌局,续发结果不会进入直播公共牌或串到其他历史牌局。
- 历史牌面遵守严格可见性:本人手牌始终可见;对手只有服务端明确授权的摊牌可见,弃牌、盖牌和未持久化的主动亮牌保持牌背。
- iPhone 14 系列浏览器视口下,顶部下注、底池、盲注标记、英雄手牌与底栏使用独立安全布局。
已发布
H5
所有子页面都有返回入口
全面排查了 H5 每个页面的返回导航:求解器页此前完全没有返回按钮,训练和历史页的返回按钮只在特定入口出现。在没有浏览器返回键的环境(安装为 PWA 或 Telegram 小程序)里,进入这些页面后会被困住。现在这三个页面始终显示返回按钮。
- 求解器页新增返回按钮:有页内历史时原路返回(例如从复盘进入),否则回到工具页。
- 训练页与历史页的返回按钮不再依赖入口参数,从通知、复盘或直接链接进入也能返回。
- 返回逻辑对冷启动深链接安全:应用内没有历史记录时回退到父页面,而不是无效的浏览器返回。
已发布
H5后端
修复 Stripe 结账并只展示可用支付方式
修复 Apple Pay 与 Google Pay 创建 Stripe Elements 结账会话时的 API 版本不兼容,并让生产环境只展示 Stripe 已启用且通过发布前检查的支付方式。
- Apple Pay 与 Google Pay 的 Elements 会话现在使用与前端 Stripe.js 匹配的 API 版本。
- 支付宝、微信支付、Google Pay 等未在 Stripe 生产账户启用的方式不会再出现在支付列表,也无法绕过服务端直接创建订单。
- 发布前检查现在会验证 Stripe 的实时支付方式配置、钱包域名,并创建后立即过期无扣款会话;Stripe 拒绝请求时,本地订单会标记为已拒绝且只保留安全诊断字段。
已发布
后端
移动端更新检查恢复准确版本
应用内检查更新现在会分别返回 App Store 与 Google Play 当前公开版本,不再沿用旧的统一版本记录。
- iOS 与 Android 会按各自商店的公开构建号判断是否存在更新。
- 本地安装或候选包构建不再提前覆盖公开版本目录,避免提示尚未上架的版本。
已发布
H5后端
应用内订阅验证上线与 Telegram 订阅修复
本次发布让 Google Play 应用内订阅的服务端验证与实时开发者通知在生产环境生效,并修复 Telegram Stars 订阅在已到期状态下无法取消或退款的问题。
- Google Play 订阅购买现在由服务端完成验证并自动开通会员权益,实时开发者通知(RTDN)同步生效。
- Telegram Stars 订阅在已到期/已失效状态下也能正确标记取消并完成退款;其他支付方拒绝仍按安全策略拒绝处理。
- 新增仅限测试环境的订阅周期开关用于可重复回归验证;生产环境仍强制 30 天订阅周期,配置错误会拒绝启动。