陈世睿
|
0bd42ea325
|
fix(compare): platform_results 接受 dict, 修成功比价记录被 422 拒
客户端 fromComparison 把 done.params.platform_results(按 platform_id 键的 dict)
原样上报, 但 schema 误声明为 list → pydantic 422 → 成功记录从不落库, 记录页只剩
失败/终止 (2026-06-17 加该字段上报后复现)。改 dict | list 宽松存(仅进 raw_payload)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-20 22:16:23 +08:00 |
|
陈世睿
|
0028c07c7b
|
fix(alembic): 合并 device 与 launch_confirm_sample 双 head(分支合并产物)
feat/a11y-liveness-heartbeat 合进 feat/compare-record-status 后,device 链(3a8fa058789c)与 main 来的 launch_confirm_sample_table 成两 head;加合并节点 86852351f5bb 收敛单 head。全链路在临时 sqlite upgrade head 通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-20 14:49:46 +08:00 |
|
陈世睿
|
dd8375f822
|
Merge branch 'feat/a11y-liveness-heartbeat' into feat/compare-record-status
|
2026-06-20 14:47:54 +08:00 |
|
陈世睿
|
713a0a2afe
|
Merge branch 'main' of https://gitea.shaguabijia.com/WonderableAI/shaguabijia-app-server into feat/a11y-liveness-heartbeat
|
2026-06-20 14:26:45 +08:00 |
|
陈世睿
|
150aa4f81a
|
Merge origin/main into feat/a11y-liveness-heartbeat(并解决 alembic 双 head)
合并 main 引入 cps_wx_user / 穿山甲配置后台化 / 注销账号校验 / 文档重构 等。
合并产生 alembic 双 head(main 的 cps_wx_user + 本分支 device_kill_alert_pending)→ 新增合并节点 3a8fa058789c 收敛为单 head, alembic upgrade head 恢复正常(修 run.sh 的 Multiple head revisions)。
顺手修 heartbeat_monitor_worker 掉线告警日志 🔴 emoji 在 Windows GBK 控制台 UnicodeEncodeError(非致命刷屏)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-20 10:37:46 +08:00 |
|
陈世睿
|
4d1162053e
|
feat(device): 无障碍掉线后置检测 — kill_alert_pending + liveness 查询/ack 端点
推送暂缓改 pull:worker 检出掉线即置 kill_alert_pending(与 liveness_state 解耦,心跳恢复 touch_heartbeat 不清,规避竞态),客户端进 App 拉 GET /device/liveness 命中→弹自启动引导,POST /device/liveness/ack 清。含 alembic 加列(临时 sqlite 验通)。spec: accessibility-liveness-pull-prompt.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-19 22:35:12 +08:00 |
|
陈世睿
|
b949d3b662
|
Merge remote-tracking branch 'origin/main' into feat/compare-record-status
|
2026-06-19 10:18:10 +08:00 |
|
陈世睿
|
060cb74a84
|
fix(alembic): cps_v2_platforms 兼容本地 SQLite
队友这条迁移只在 PG 测过:server_default 用了 PG 专属 ::jsonb(SQLite 报 unrecognized token),
且 op.alter_column 改可空/类型 SQLite 原生不支持。改成:platforms default 分方言(PG 仍 ::jsonb、
SQLite 用纯 JSON 字面量)+ 所有 alter_column 包进 op.batch_alter_table(SQLite 重建表、PG 等价直接 ALTER)。
线上 PG 行为不变,本地 SQLite dev 能正常 upgrade。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-19 10:18:10 +08:00 |
|
陈世睿
|
caee1c355d
|
Merge branch 'main' of https://gitea.shaguabijia.com/WonderableAI/shaguabijia-app-server into feat/compare-record-status
|
2026-06-18 21:42:48 +08:00 |
|
陈世睿
|
9409ee6e05
|
Merge branch 'main' of https://gitea.shaguabijia.com/WonderableAI/shaguabijia-app-server into feat/compare-record-status
|
2026-06-18 10:19:46 +08:00 |
|
陈世睿
|
020dd143c7
|
Merge branch 'main' of https://gitea.shaguabijia.com/WonderableAI/shaguabijia-app-server into feat/compare-record-status
|
2026-06-17 20:36:30 +08:00 |
|
陈世睿
|
a59b49fdc9
|
比价结果状态
|
2026-06-17 14:56:42 +08:00 |
|
陈世睿
|
07a8710d5a
|
feat(compare-record): 逐平台 status 落库,记录页显示异常文案
ComparisonResultIn 增 status / store_closed 两字段(原本 pydantic 静默丢弃)。
客户端上报前把 done.params 的 comparison_results + platform_results.status
合并写入,记录页据此对无价平台显示「未满起送价/门店打烊/店家未入驻/比价失败」,
而非笼统的「店家未入驻」。纯字段透传,best/saved/status 派生逻辑不变(仍按 price 过滤)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-17 14:41:56 +08:00 |
|
陈世睿
|
b3b731f25d
|
Merge origin/main into feat/a11y-liveness-heartbeat
冲突全在领券「弹窗频控按 App 独立」这一功能——本分支夹带的旧 WIP 草稿(2026-06-12,
app_package 可空+NULL 兜底行)与 main 上已合并的最终版 #52(2026-06-14,package NOT NULL
+"" 占位)是同一功能的两套不兼容实现。
解决:四个 coupon 文件(api/models/repositories/schemas)一律取 main(#52)——它是
权威已合版,且文件未冲突区已自动并入 #52 的签名,只有取 theirs 才自洽。
Alembic 收敛为单 head:
- 删本分支 WIP 迁移 coupon_engagement_app_package(否则与 #52 重复建 per-App 列)
及其仅用于挂接它的两个空 merge 节点 3a9941e76909 / f3d0a16bb4c2
- device_liveness_table 的 down_revision 由 f3d0a16bb4c2 改挂 main 头 store_mapping_tb_dl_invalid
验证:alembic heads 单头;全链在临时 sqlite upgrade head 通过;
coupon_prompt_engagement 只有 package、无 app_package;app 全量 import 通过。
注:本分支不再保留他人领券 WIP——无损,#52 即该功能的最终版,已在 main。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-16 10:12:49 +08:00 |
|
陈世睿
|
8adad30ff2
|
feat(device): 无障碍保护存活心跳检测 + 掉线终端告警
- 新增 device 表 + /api/v1/device/{register,heartbeat} + 迁移 device_table
- heartbeat_monitor_worker 周期扫描心跳超时(App 被杀/无障碍停)→ 服务器终端打印告警
(推送本期未接,先用 logger 终端打印代替真实通知;integrations/jpush.py 已备,后续直接替换)
- config / .env.example 增 JPUSH_* / HEARTBEAT_*
- 见 spec(仓库外 e:\codes\spec\accessibility-liveness-push.md)
注:本提交同时快照了并行 session 未提交的 coupon_state 改动 + 相关 migration
(与本功能同迁移链耦合,无法单独拆分,经确认一并提交)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-15 22:16:39 +08:00 |
|