|
17111
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"584554702 {"Commits":[{"Sha1":"584554702141074169c3a208e5fed2bc25768b58","Message":"fix(field-contract): 第六批 INFO 尾账四项收口——占位端点下线 + 死列失败关闭 + 三方契约归一\n\n- payment-plans/overdue 三方契约归一:service 补 minOverdueDays 真消费(due_date 前推 N 天,\n live 实锤 5→0 收敛);孤儿 schema(minAmount/maxOverdueDays 从未被消费)改为与 controller\n 实际消费一致(customerId/minOverdueDays/limit),docs 引用同步归真;前端参数删除无分页\n 语义的 page/pageSize 改 limit。类型收紧暴露分诊假阴性:orders 详情 hook 真实消费该端点,\n 此前传的 page/pageSize 一直被静默忽略,已对齐\n- livestream 报表 summary.peakViewers:后端接口与前端类型双侧 nullable + 死列注释\n (livestream_schedules.peak_viewers 无运行时 writer,类型层失败关闭防新消费者误信)\n- groupbuy getPlatformDetailStats/getStoreStats:基于 order_count/sales_amount 双死列\n (全仓仅 select 读、无 create/update 写链,相似写点在 influencer_performances 另一张表)\n 派生的 totalOrders/totalRevenue/dailyTrend/avgOrderValue/productCount/rating 全部失败\n 关闭返回 null/空并删除无用死列查询;仅保留 settled_amount 真列派生的 revenue\n- sales-dashboard 七个占位端点整体下线(products/customers/regional/activities/\n sales-cycle/my-performance/team-performance):自建立起即硬编码假数(恒空/avgDays:30)\n 且前端零视图消费,按孤岛清理先例删除 routes/controller/schema/docs/前端方法全链;\n live 实锤四端点 404;顺手对齐 getForecast 前端类型潜伏雷(声明数组 vs 后端真实对象)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;sales-dashboard API 2/2、前端\nsales-dashboard/orders RTL 17/17;route-contract 审计 coverage 100% 无破损;\nlive curl 实锤(minOverdueDays 收敛、占位端点 404、平台 stats 正常)。\n分诊台账全部条目清零,五批+尾账共约 54 项真缺陷收口完毕。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:24:31-07:00"}],"HeadCommit":{"Sha1":"584554702141074169c3a208e5fed2bc25768b58","Message":"fix(field-contract): 第六批 INFO 尾账四项收口——占位端点下线 + 死列失败关闭 + 三方契约归一\n\n- payment-plans/overdue 三方契约归一:service 补 minOverdueDays 真消费(due_date 前推 N 天,\n live 实锤 5→0 收敛);孤儿 schema(minAmount/maxOverdueDays 从未被消费)改为与 controller\n 实际消费一致(customerId/minOverdueDays/limit),docs 引用同步归真;前端参数删除无分页\n 语义的 page/pageSize 改 limit。类型收紧暴露分诊假阴性:orders 详情 hook 真实消费该端点,\n 此前传的 page/pageSize 一直被静默忽略,已对齐\n- livestream 报表 summary.peakViewers:后端接口与前端类型双侧 nullable + 死列注释\n (livestream_schedules.peak_viewers 无运行时 writer,类型层失败关闭防新消费者误信)\n- groupbuy getPlatformDetailStats/getStoreStats:基于 order_count/sales_amount 双死列\n (全仓仅 select 读、无 create/update 写链,相似写点在 influencer_performances 另一张表)\n 派生的 totalOrders/totalRevenue/dailyTrend/avgOrderValue/productCount/rating 全部失败\n 关闭返回 null/空并删除无用死列查询;仅保留 settled_amount 真列派生的 revenue\n- sales-dashboard 七个占位端点整体下线(products/customers/regional/activities/\n sales-cycle/my-performance/team-performance):自建立起即硬编码假数(恒空/avgDays:30)\n 且前端零视图消费,按孤岛清理先例删除 routes/controller/schema/docs/前端方法全链;\n live 实锤四端点 404;顺手对齐 getForecast 前端类型潜伏雷(声明数组 vs 后端真实对象)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;sales-dashboard API 2/2、前端\nsales-dashboard/orders RTL 17/17;route-contract 审计 coverage 100% 无破损;\nlive curl 实锤(minOverdueDays 收敛、占位端点 404、平台 stats 正常)。\n分诊台账全部条目清零,五批+尾账共约 54 项真缺陷收口完毕。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:24:31-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/e005063b444466a70a8b0bc6b257ee2097fac9cb...584554702141074169c3a208e5fed2bc25768b58","Len":1}...
|
1783869876
|
Edit
Delete
|
|
17112
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"384707574 {"Commits":[{"Sha1":"384707574f237763231e84a10939c4277977169d","Message":"feat(tickets): 工单联系人/预约时段五字段全链点亮——迁移补列 + 写读回闭环\n\n数据库迁移(20260712153553_ticket_contact_and_schedule_fields):\n- service_tickets 补 contact_name(100)/contact_phone(50)/contact_address(500)/\n estimated_start_time/estimated_end_time 五列——工单表单自建立起渲染这五个字段,\n 但无物理列导致 create/update 白名单注释「后端暂不支持」、用户填写全部静默丢弃\n (P0 批 tickets 编辑断链修复时裁定归 owner,本次补列接通)\n- 迁移应用过程处置共享 dev 库存量幽灵状态:20260711235453 为 failed 半应用\n (列+索引实际已在)、20260712000950 内容已在库但无记录——核实两者列+索引\n 完整存在后 migrate resolve --applied 补记录,再 deploy 新迁移;\n folder 真源 → 镜像同步 → audit:prisma-schema-source 通过 → client/Zod 重新生成\n\n全链接线:\n- ticketMapper 补 contactAddress/estimatedStartTime/estimatedEndTime 三条映射\n (contactName/contactPhone 映射历史上已预留、列今天才建)\n- createTicketSchema/updateTicketSchema 双 schema 补五键(Zod max 与 VarChar 逐列对齐,\n prisma-zod 契约审计 0 错误)\n- 前端 create()/update() 白名单恢复发送(表单 phone → 后端 contactPhone);\n 编辑回填改读 DTO 真源键 contactPhone;shared ServiceTicket 类型补 contactPhone\n- 连坐清理:shared 重建暴露 invoice-requests/Detail 的 issuedBy 漏网死字段消费,\n 同款移除(invoices 表无 issued_by 列)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;live 写读回实锤——PUT 五字段\n(王工/13900001111/杭州市西湖区文一路 100 号/预约时段 ISO)全部落库读回成功;\nprisma-zod p1Length/p1Required 均 0;tickets/invoices 域 RTL 6 文件/18 用例全绿。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:49:04-07:00"}],"HeadCommit":{"Sha1":"384707574f237763231e84a10939c4277977169d","Message":"feat(tickets): 工单联系人/预约时段五字段全链点亮——迁移补列 + 写读回闭环\n\n数据库迁移(20260712153553_ticket_contact_and_schedule_fields):\n- service_tickets 补 contact_name(100)/contact_phone(50)/contact_address(500)/\n estimated_start_time/estimated_end_time 五列——工单表单自建立起渲染这五个字段,\n 但无物理列导致 create/update 白名单注释「后端暂不支持」、用户填写全部静默丢弃\n (P0 批 tickets 编辑断链修复时裁定归 owner,本次补列接通)\n- 迁移应用过程处置共享 dev 库存量幽灵状态:20260711235453 为 failed 半应用\n (列+索引实际已在)、20260712000950 内容已在库但无记录——核实两者列+索引\n 完整存在后 migrate resolve --applied 补记录,再 deploy 新迁移;\n folder 真源 → 镜像同步 → audit:prisma-schema-source 通过 → client/Zod 重新生成\n\n全链接线:\n- ticketMapper 补 contactAddress/estimatedStartTime/estimatedEndTime 三条映射\n (contactName/contactPhone 映射历史上已预留、列今天才建)\n- createTicketSchema/updateTicketSchema 双 schema 补五键(Zod max 与 VarChar 逐列对齐,\n prisma-zod 契约审计 0 错误)\n- 前端 create()/update() 白名单恢复发送(表单 phone → 后端 contactPhone);\n 编辑回填改读 DTO 真源键 contactPhone;shared ServiceTicket 类型补 contactPhone\n- 连坐清理:shared 重建暴露 invoice-requests/Detail 的 issuedBy 漏网死字段消费,\n 同款移除(invoices 表无 issued_by 列)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;live 写读回实锤——PUT 五字段\n(王工/13900001111/杭州市西湖区文一路 100 号/预约时段 ISO)全部落库读回成功;\nprisma-zod p1Length/p1Required 均 0;tickets/invoices 域 RTL 6 文件/18 用例全绿。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:49:04-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/584554702141074169c3a208e5fed2bc25768b58...384707574f237763231e84a10939c4277977169d","Len":1}...
|
1783871348
|
Edit
Delete
|
|
17113
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"c4f0c2eab {"Commits":[{"Sha1":"c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb","Message":"feat(migrations): 部署完备 parity baseline——全新库 migrate deploy 终态与 schema 真源零差异\n\n新增 20260712155600_deploy_parity_baseline 迁移,收敛迁移链重放态与 folder schema\n真源之间累计 10176 行系统性漂移,使全新空库 `prisma migrate deploy` 全量重放后\n与 Prisma Client 生成依据完全一致(影子库全链演练机器验证 diff 为空)。\n\n漂移核查结论:\n- 零缺列——Client 声明的列迁移链全部建到(6 个疑似缺列实为同语句 DROP+ADD 类型\n 重建,演练撞列后实锤改判)\n- 实际漂移构成:FK onDelete/onUpdate 行为 542 对、索引命名与定义约 1950 处、\n 列类型/NOT NULL/默认值 260 条、131 个真源已废弃列清理\n\nbaseline 工程化(五类防御化,安全性由终态 diff=0 校验兜底):\n- 约束背后索引 DROP INDEX → DROP CONSTRAINT(演练发现 Prisma diff 脚本缺陷)\n- 业务视图 20 个先拆后建(排除 pg_* 扩展视图;类型变更被视图依赖阻断)\n- 业务触发器 36 个先拆后建(pg_get_triggerdef 原样导出)\n- 索引操作幂等化 + 约束 RENAME/ADD DO 块吞存在性异常\n- 收尾:11 个同名异构索引先删后建 + 1 个冗余旧名 FK 清理\n\n环境处置:\n- dev 库 resolve --applied 跳过(禁止在有数据库上执行,含 DROP COLUMN 与 FK 行为\n 变更;存量漂移由 migration-drift 审计渐进治理)\n- API 测试库非 prisma migrate 管理,不受影响\n- 附带处置共享 dev 库幽灵状态:failed 半应用迁移 20260711235453 与无记录迁移\n 20260712000950 核实内容完整在库后 resolve 补记录\n\n部署口径落盘 docs/operations/database-deploy-migration-runbook-2026-07-12.md\n(全新库两步:deploy + diff 校验;已有环境一步 resolve)。\n\n证据:影子库全链演练 deploy 成功 + 终态 diff 输出 \"This is an empty migration.\";\n后端单测 640/8803 全绿;customers/sla API 真打 DB 17/17;prisma:schema 镜像审计通过;\n演练用影子库已清理。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T09:04:27-07:00"}],"HeadCommit":{"Sha1":"c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb","Message":"feat(migrations): 部署完备 parity baseline——全新库 migrate deploy 终态与 schema 真源零差异\n\n新增 20260712155600_deploy_parity_baseline 迁移,收敛迁移链重放态与 folder schema\n真源之间累计 10176 行系统性漂移,使全新空库 `prisma migrate deploy` 全量重放后\n与 Prisma Client 生成依据完全一致(影子库全链演练机器验证 diff 为空)。\n\n漂移核查结论:\n- 零缺列——Client 声明的列迁移链全部建到(6 个疑似缺列实为同语句 DROP+ADD 类型\n 重建,演练撞列后实锤改判)\n- 实际漂移构成:FK onDelete/onUpdate 行为 542 对、索引命名与定义约 1950 处、\n 列类型/NOT NULL/默认值 260 条、131 个真源已废弃列清理\n\nbaseline 工程化(五类防御化,安全性由终态 diff=0 校验兜底):\n- 约束背后索引 DROP INDEX → DROP CONSTRAINT(演练发现 Prisma diff 脚本缺陷)\n- 业务视图 20 个先拆后建(排除 pg_* 扩展视图;类型变更被视图依赖阻断)\n- 业务触发器 36 个先拆后建(pg_get_triggerdef 原样导出)\n- 索引操作幂等化 + 约束 RENAME/ADD DO 块吞存在性异常\n- 收尾:11 个同名异构索引先删后建 + 1 个冗余旧名 FK 清理\n\n环境处置:\n- dev 库 resolve --applied 跳过(禁止在有数据库上执行,含 DROP COLUMN 与 FK 行为\n 变更;存量漂移由 migration-drift 审计渐进治理)\n- API 测试库非 prisma migrate 管理,不受影响\n- 附带处置共享 dev 库幽灵状态:failed 半应用迁移 20260711235453 与无记录迁移\n 20260712000950 核实内容完整在库后 resolve 补记录\n\n部署口径落盘 docs/operations/database-deploy-migration-runbook-2026-07-12.md\n(全新库两步:deploy + diff 校验;已有环境一步 resolve)。\n\n证据:影子库全链演练 deploy 成功 + 终态 diff 输出 \"This is an empty migration.\";\n后端单测 640/8803 全绿;customers/sla API 真打 DB 17/17;prisma:schema 镜像审计通过;\n演练用影子库已清理。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T09:04:27-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/384707574f237763231e84a10939c4277977169d...c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb","Len":1}...
|
1783872271
|
Edit
Delete
|
|
19603
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"b94f71f09 {"Commits":[{"Sha1":"b94f71f09dc50f1a267a97bd72bdc2417fa41014","Message":"docs(governance): 沉淀反向断言剧场与 2026-07-28 全量对抗验收结论\n\n两节新增经验(经验库约定最新置顶,同步 最后更新 → 2026-07-28):\n\n1. 反向断言剧场:事件常量漂移让「真派发」consumer 测试静默空转。\n 真派发 ≠ 真命中——架构上确实捕获并调用了 handler,但事件类型\n 打不中路由表,0===0 的断言掩盖哑火。含幂等测试非空前置断言铁律、\n 常量取值范式与 `_created` 去重分支陷阱(不能只替换字符串)。\n\n2. 全量对抗验收实测:leads 主链运行态对抗探测全通过,但\n governance-gate(stale=46)与 baseline-reconcile(7 VALUE_DRIFT,\n 其中 4 处来自最新报告)双双报红。运行态扎实 ≠ 工作区级可放行,\n 两层必须分开陈述;禁止上调 ceiling 洗绿。\n\n对应代码修复见 f0f7ca8627。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T17:47:57-07:00"},{"Sha1":"f0f7ca86271a2530ef901fe3b4472100452a02f3","Message":"test(hr): 修复因事件常量漂移而空转的消费者幂等测试\n\nhr.consumer 的路由键从 HR_ATTENDANCE_EVENTS.LEAVE_SUBMITTED\n('hr_leave_submitted') 改为 HR_EVENTS.LEAVE_REQUEST_CREATED\n('leave_request_created') 后,本测试仍硬编码旧字面量,导致\neventHandlers 查不到 handler、静默零副作用,测试退化为空转。\nproducer (leave.service.ts:612) 与 consumer 已对齐,生产代码无需改动。\n\n- 事件类型改从 HR_EVENTS 常量取值,后续重命名将直接编译失败而非静默失效\n- occurredAt 去重语义改用非 _created 事件验证:isEventProcessed 对\n `_created` 结尾事件按 eventType:entityId 去重(忽略 occurredAt),\n 用 created 事件断言「不同 occurredAt 都生效」在语义上必然失败\n- 两个用例补 afterFirst \u003e 0 防空转断言,杜绝 0 === 0 的假通过\n- 新增用例固定 _created 分支按 entityId 去重的语义\n\nbackend test:run: 653 files / 8945 tests 全通过(此前 2 failed)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T17:40:14-07:00"},{"Sha1":"e756bd9203bbaacc6fc41c2f89f50259eeaf7e5d","Message":"Refactor governance workflows and frontend contracts\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T08:15:12-07:00"},{"Sha1":"33a0e20a1f45a68e6f951709fcf06742557cecba","Message":"Harden IM member boundaries and streamline governance guidance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T04:01:44-07:00"},{"Sha1":"5f2d2c14951aaf1c46ad7d55b7152fe70e66395c","Message":"Improve governance workflows and frontend contract alignment\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T03:36:40-07:00"}],"HeadCommit":{"Sha1":"b94f71f09dc50f1a267a97bd72bdc2417fa41014","Message":"docs(governance): 沉淀反向断言剧场与 2026-07-28 全量对抗验收结论\n\n两节新增经验(经验库约定最新置顶,同步 最后更新 → 2026-07-28):\n\n1. 反向断言剧场:事件常量漂移让「真派发」consumer 测试静默空转。\n 真派发 ≠ 真命中——架构上确实捕获并调用了 handler,但事件类型\n 打不中路由表,0===0 的断言掩盖哑火。含幂等测试非空前置断言铁律、\n 常量取值范式与 `_created` 去重分支陷阱(不能只替换字符串)。\n\n2. 全量对抗验收实测:leads 主链运行态对抗探测全通过,但\n governance-gate(stale=46)与 baseline-reconcile(7 VALUE_DRIFT,\n 其中 4 处来自最新报告)双双报红。运行态扎实 ≠ 工作区级可放行,\n 两层必须分开陈述;禁止上调 ceiling 洗绿。\n\n对应代码修复见 f0f7ca8627。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T17:47:57-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb...b94f71f09dc50f1a267a97bd72bdc2417fa41014","Len":7}...
|
1785286209
|
Edit
Delete
|
|
19604
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"f23014a01 {"Commits":[{"Sha1":"f23014a01acfc11abb251f3a76ea6c904a44ecac","Message":"docs(governance): 订正 view-g2=17 定性——首次诚实测量而非回归\n\n深挖推翻此前「真实视图成熟度回归」的判断,五条独立证据:\n\n1. maturityCounts 从 5-08 到 7-09 长期是 G4=300 全满级,7-21\n e756bd9203 突变为 G2=17\n2. 该提交的父提交里 git grep view-module-audit 只命中消费方,\n 无任何文件写入该报告——旧全 G4 报告无可执行生产器\n3. 该提交新增 view-audit.mjs(1348 行)并把 audit:view-governance\n 扩成 generate+verify+view:audit:generate 三段式\n4. 该提交 views 下测试文件增 1 删 0,无测试被删\n5. realViewModuleCount 299→284,归位 canonical 口径\n\n抽验 6 模块确认零 smoke 测试属实;admin 的 2 处引用是 vi.mock 桩掉,\n扫描器只认真实 from 导入是正确的保守设计。\n\n附:真实整改 backlog 19 项;生产器缺陷 1 项(mobile-prototype 因\nglobal-shell 拓扑在两条规则间不自洽而永远卡 G2 且无可修 gap)。\n受控块处置属棘轮「迁移后重存基线」分支,需 PR review,未单方面改。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T18:21:14-07:00"}],"HeadCommit":{"Sha1":"f23014a01acfc11abb251f3a76ea6c904a44ecac","Message":"docs(governance): 订正 view-g2=17 定性——首次诚实测量而非回归\n\n深挖推翻此前「真实视图成熟度回归」的判断,五条独立证据:\n\n1. maturityCounts 从 5-08 到 7-09 长期是 G4=300 全满级,7-21\n e756bd9203 突变为 G2=17\n2. 该提交的父提交里 git grep view-module-audit 只命中消费方,\n 无任何文件写入该报告——旧全 G4 报告无可执行生产器\n3. 该提交新增 view-audit.mjs(1348 行)并把 audit:view-governance\n 扩成 generate+verify+view:audit:generate 三段式\n4. 该提交 views 下测试文件增 1 删 0,无测试被删\n5. realViewModuleCount 299→284,归位 canonical 口径\n\n抽验 6 模块确认零 smoke 测试属实;admin 的 2 处引用是 vi.mock 桩掉,\n扫描器只认真实 from 导入是正确的保守设计。\n\n附:真实整改 backlog 19 项;生产器缺陷 1 项(mobile-prototype 因\nglobal-shell 拓扑在两条规则间不自洽而永远卡 G2 且无可修 gap)。\n受控块处置属棘轮「迁移后重存基线」分支,需 PR review,未单方面改。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T18:21:14-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/b94f71f09dc50f1a267a97bd72bdc2417fa41014...f23014a01acfc11abb251f3a76ea6c904a44ecac","Len":1}...
|
1785288087
|
Edit
Delete
|
|
12632
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/realResoVSdesignReso
|
1
|
|
1781583204
|
Edit
Delete
|
|
12633
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/realResoVSdesignReso
|
1
|
{"Commits":[{"Sha1":"dd849e835 {"Commits":[{"Sha1":"dd849e835f93cfe5ee27e6fc5f777c7670710592","Message":"cocos: add support to display scene which is designed in 1920x1080 in 1280x720 window\n\nAdd support to display scene which is designed in 1920x1080 in 1280x720 window.\n","AuthorEmail":"udknight@gmail.com","AuthorName":"Wang YanQing","CommitterEmail":"udknight@gmail.com","CommitterName":"Wang YanQing","Timestamp":"2017-12-08T10:13:51+08:00"}],"HeadCommit":{"Sha1":"dd849e835f93cfe5ee27e6fc5f777c7670710592","Message":"cocos: add support to display scene which is designed in 1920x1080 in 1280x720 window\n\nAdd support to display scene which is designed in 1920x1080 in 1280x720 window.\n","AuthorEmail":"udknight@gmail.com","AuthorName":"Wang YanQing","CommitterEmail":"udknight@gmail.com","CommitterName":"Wang YanQing","Timestamp":"2017-12-08T10:13:51+08:00"},"CompareURL":"zhengpeizhong/cocos2d-x/compare/838e71242271c76601a6563501f84bacd0e9ac1d...dd849e835f93cfe5ee27e6fc5f777c7670710592","Len":1}...
|
1781583204
|
Edit
Delete
|
|
6005
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/refactor/payroll-uselistpage
|
0
|
|
1779860412
|
Edit
Delete
|
|
6006
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/refactor/payroll-uselistpage
|
0
|
{"Commits":[{"Sha1":"ed6b4b052 {"Commits":[{"Sha1":"ed6b4b052da885ad63113d7d7045b7c512025b0f","Message":"fix(auth): 消除匿名访客启动即触发的无效 refresh 401,并修复 auth 中间件多余括号\n\n优化 init 会话恢复:\n- 后端登录/刷新时额外种可读 session_hint cookie(非 HttpOnly,与 refresh_token 同生命周期),登出清除\n- 前端 init() 仅在存在会话信号(localStorage token/user、loopback 标记或 session_hint cookie)时才发起 /auth/refresh,匿名访客静默清状态,不再产生无效 401\n- clearLocalState() 同步过期 session_hint cookie\n- 合法 cookie-only 会话恢复路径(含 E2E storageState)不受影响\n\n顺带修复 auth.middleware.ts 中 prisma.users.findFirst select 块多余的闭合括号,该语法错误导致后端无法启动\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luojuhai@luojuhaideMacBook-Pro.local","AuthorName":"luojuhai","CommitterEmail":"luojuhai@luojuhaideMacBook-Pro.local","CommitterName":"luojuhai","Timestamp":"2026-05-26T22:37:58-07:00"},{"Sha1":"196258b4bf8293811ea64859f9be0f464a6c5b8d","Message":"Merge branch 'main' into refactor/payroll-uselistpage\n","AuthorEmail":"luojuhai@luojuhaideMacBook-Pro.local","AuthorName":"luojuhai","CommitterEmail":"luojuhai@luojuhaideMacBook-Pro.local","CommitterName":"luojuhai","Timestamp":"2026-05-26T22:23:29-07:00"},{"Sha1":"7ce6ae124e47fde6ee51a735062164d48e585e5e","Message":"Merge pull request #85 from laoluojuhai/governance/hr-training-readmodel-fixes\n\nGovernance/hr training readmodel fixes","AuthorEmail":"158980461+laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"noreply@github.com","CommitterName":"GitHub","Timestamp":"2026-05-26T07:42:26-07:00"},{"Sha1":"f53d2e37695ff0727b0ceb47989a45e46572d54f","Message":"fix(hr-training): 治理培训管理读模型断链 + 实现能力评估/差距分析\n\n修复贯穿培训管理 15 个 Tab 的 case-transform 读模型断链(前端读的字段名 ≠\n全局 responseCaseConverter 实际产出),共 5 种形态:\n\n1. 前端虚构字段:我的学习 totalHours=NaN(durationSeconds 不存在)→ 改用\n getStats 权威总时长 + 真实字段映射\n2. 照抄 Prisma snake 列名:学习路径列表 path_type/learning_path_steps 等 →\n LearningPath/LearningPathStep 类型与组件全改 camelCase\n3. 枚举值当对象 key:9-Box buckets 与 效果看板 coachDrafts.byStatus\n (at_risk/pending_review 被转坏成 atRisk/pendingReview)→ 9-Box 从\n members 派生计数;effectiveness-summary 的 byFamily/byStatus 改数组形态\n4. _count→Count:培训计划/培训场次 报名数恒 0 → 后端 service 把 _count 聚合\n 提升为扁平字段(sessionCount/enrollmentCount),前端读扁平字段\n5. 嵌套读错提升字段:考试管理「关联课程」读 hrCourses.title → 改读\n 后端 format 提升的 course.name\n\n其他:\n- AI 教练对练:PracticeRequest 类型补齐后端 startPracticeSchema 实收字段,\n 消除 payload:any(红线6);新增 CoachSkillSlug 联合类型\n- 课程管理:courseType 枚举漂移 blended→mixed、时长/学分字段名错配修正\n- 证书管理:模板 status←is_active 桥接(修恒「停用」)、有效期单位天、移除\n 结构不可支持的「已颁发」列\n- 能力模型:getMyAssessments/getGapAnalysis 由空桩实现为复用\n capability-graph.getRadar 的真源派生(current=真实评分、target=维度满级),\n 不杜撰数字;零前端改动\n- 效果看板:空数据窗口感知空态提示\n\n前端 vue-tsc + 后端 tsc 全绿。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"laoluojuhai","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"laoluojuhai","Timestamp":"2026-05-26T07:39:18-07:00"},{"Sha1":"ab2d0482cb4d14233885b25cef63e58890d3044e","Message":"fix(auth): RLS 自动注入分支补 await,避免异常逃出 try/catch 挂起请求\n\n安全专审 Finding 1:authenticate 中间件 RLS_AUTO_INJECT 分支\n`return tenantContext.run(...)` 未 await,loadUserAndContinue 抛错\n(用户禁用/回源失败) 时被拒 promise 逃出外层 try/catch,next(error)\n不触发,请求挂起而非返回 401。改为 return await,与 auth.service.ts:213\n已有正确写法一致。fail-closed 无越权,属可用性/正确性修复。\n\n附带本轮治理改动:\n- auth.service.ts refresh 链路显式建立 tenantContext (R-RLS-4)\n- 新增 core-event-closed-loop / rls-staging-canary / 30d-war-plan 审计\n- .env 写入守卫 + 单文件 eslint hook;security-reviewer agent\n- serial-numbers controller + 测试;治理报告/基线刷新\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"laoluojuhai","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"laoluojuhai","Timestamp":"2026-05-26T05:14:04-07:00"}],"HeadCommit":{"Sha1":"ed6b4b052da885ad63113d7d7045b7c512025b0f","Message":"fix(auth): 消除匿名访客启动即触发的无效 refresh 401,并修复 auth 中间件多余括号\n\n优化 init 会话恢复:\n- 后端登录/刷新时额外种可读 session_hint cookie(非 HttpOnly,与 refresh_token 同生命周期),登出清除\n- 前端 init() 仅在存在会话信号(localStorage token/user、loopback 标记或 session_hint cookie)时才发起 /auth/refresh,匿名访客静默清状态,不再产生无效 401\n- clearLocalState() 同步过期 session_hint cookie\n- 合法 cookie-only 会话恢复路径(含 E2E storageState)不受影响\n\n顺带修复 auth.middleware.ts 中 prisma.users.findFirst select 块多余的闭合括号,该语法错误导致后端无法启动\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luojuhai@luojuhaideMacBook-Pro.local","AuthorName":"luojuhai","CommitterEmail":"luojuhai@luojuhaideMacBook-Pro.local","CommitterName":"luojuhai","Timestamp":"2026-05-26T22:37:58-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/1a0e581f336639079ebba02b42516bda34f59268...ed6b4b052da885ad63113d7d7045b7c512025b0f","Len":10}...
|
1779860412
|
Edit
Delete
|
|
12607
|
12
|
5
|
12
|
41
|
0
|
0
|
refs/heads/release
|
1
|
|
1781582669
|
Edit
Delete
|
|
12608
|
12
|
5
|
12
|
41
|
0
|
0
|
refs/heads/release
|
1
|
{"Commits":[{"Sha1":"5afdeae06 {"Commits":[{"Sha1":"5afdeae06ae8a62470ff01d425f80fd05ca404e9","Message":"v1.2.3\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2022-11-15T15:53:19+08:00"},{"Sha1":"ad43ffdae9c3d00f92cc6bcbd828b5049fd764bc","Message":"修改网络直播播放协议,播放网络直播时,播放参数\"ip\"必须修改为\"live\"(原来是\"filename\")\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2022-11-15T15:52:05+08:00"},{"Sha1":"5cc2bb53003bb1e9b3c5ca966b1d8f85ee40ad37","Message":"update cocos path\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2022-10-14T21:23:47+08:00"},{"Sha1":"645f828acc48cc3b304c8a44f939bc397be01dee","Message":"update dev platform\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2022-10-14T14:32:23+08:00"},{"Sha1":"4edbb7c63e6daefe7a20a2fbd3ae7cea440a8cca","Message":"jhplayer: v1.2.2\n调整播放器错误日志上传策略,只上传启动后头10条错误日志\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2022-08-10T14:48:10+08:00"}],"HeadCommit":{"Sha1":"5afdeae06ae8a62470ff01d425f80fd05ca404e9","Message":"v1.2.3\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2022-11-15T15:53:19+08:00"},"CompareURL":"zhengpeizhong/jhplayer/compare/b26b24b51fce270795fc7df6ba219704efe76aeb...5afdeae06ae8a62470ff01d425f80fd05ca404e9","Len":5}...
|
1781582669
|
Edit
Delete
|
|
12634
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/release
|
1
|
|
1781583206
|
Edit
Delete
|
|
12635
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/release
|
1
|
{"Commits":[{"Sha1":"29074acab {"Commits":[{"Sha1":"29074acabad78e1782326cba71dc39d8a8e45b8a","Message":"v1.3.2\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2024-04-11T10:37:24+08:00"},{"Sha1":"7ee4487fdfdfb4ccfb0921a897ccead20bd2cb14","Message":"修复addCustomHandler导致的崩溃问题\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2024-04-11T10:37:13+08:00"},{"Sha1":"0e7cf043bf604f5a2d94f5d99a784f7a4035e824","Message":"v1.3.1\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2024-03-14T11:06:43+08:00"},{"Sha1":"72663d3dd66f49d4d9d261207a03c305476551e0","Message":"增加支持JH600三合一功放\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2024-03-14T11:02:33+08:00"},{"Sha1":"38cbd957bece2ac973d868853b7af0880dca85bf","Message":"v1.3.0\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2024-03-14T10:53:37+08:00"}],"HeadCommit":{"Sha1":"29074acabad78e1782326cba71dc39d8a8e45b8a","Message":"v1.3.2\n","AuthorEmail":"paidong@163.com","AuthorName":"paidong","CommitterEmail":"paidong@163.com","CommitterName":"paidong","Timestamp":"2024-04-11T10:37:24+08:00"},"CompareURL":"zhengpeizhong/cocos2d-x/compare/943f1e4e2549c32bcebb882e23523d07936fd545...29074acabad78e1782326cba71dc39d8a8e45b8a","Len":10}...
|
1781583206
|
Edit
Delete
|
|
18857
|
1
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
|
1785120100
|
Edit
Delete
|
|
18858
|
9
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
|
1785120100
|
Edit
Delete
|
|
18859
|
3
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
|
1785120100
|
Edit
Delete
|
|
18860
|
4
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
|
1785120100
|
Edit
Delete
|
|
18861
|
7
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
|
1785120100
|
Edit
Delete
|
|
18862
|
8
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
|
1785120100
|
Edit
Delete
|
|
18863
|
10
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
|
1785120100
|
Edit
Delete
|
|
18864
|
11
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
|
1785120100
|
Edit
Delete
|
|
18865
|
1
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"6afdc03c6 {"Commits":[{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"}],"HeadCommit":{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"},"CompareURL":"","Len":1}...
|
1785120100
|
Edit
Delete
|
|
18866
|
9
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"6afdc03c6 {"Commits":[{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"}],"HeadCommit":{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"},"CompareURL":"","Len":1}...
|
1785120100
|
Edit
Delete
|
|
18867
|
3
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"6afdc03c6 {"Commits":[{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"}],"HeadCommit":{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"},"CompareURL":"","Len":1}...
|
1785120100
|
Edit
Delete
|
|
18868
|
4
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"6afdc03c6 {"Commits":[{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"}],"HeadCommit":{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"},"CompareURL":"","Len":1}...
|
1785120100
|
Edit
Delete
|
|
18869
|
7
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"6afdc03c6 {"Commits":[{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"}],"HeadCommit":{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"},"CompareURL":"","Len":1}...
|
1785120100
|
Edit
Delete
|
|
18870
|
8
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"6afdc03c6 {"Commits":[{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"}],"HeadCommit":{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"},"CompareURL":"","Len":1}...
|
1785120100
|
Edit
Delete
|
|
18871
|
10
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"6afdc03c6 {"Commits":[{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"}],"HeadCommit":{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"},"CompareURL":"","Len":1}...
|
1785120100
|
Edit
Delete
|
|
18872
|
11
|
5
|
1
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"6afdc03c6 {"Commits":[{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"}],"HeadCommit":{"Sha1":"6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6","Message":"chore: import room API codebase\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-07-27T10:27:52+08:00"},"CompareURL":"","Len":1}...
|
1785120100
|
Edit
Delete
|
|
18937
|
8
|
5
|
8
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"1a41dd78e {"Commits":[{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"}],"HeadCommit":{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"},"CompareURL":"vodtest/room_api/compare/6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6...1a41dd78ef391213f361fa08e302f1478ea8faa4","Len":1}...
|
1785132227
|
Edit
Delete
|
|
18938
|
9
|
5
|
8
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"1a41dd78e {"Commits":[{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"}],"HeadCommit":{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"},"CompareURL":"vodtest/room_api/compare/6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6...1a41dd78ef391213f361fa08e302f1478ea8faa4","Len":1}...
|
1785132227
|
Edit
Delete
|
|
18939
|
1
|
5
|
8
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"1a41dd78e {"Commits":[{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"}],"HeadCommit":{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"},"CompareURL":"vodtest/room_api/compare/6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6...1a41dd78ef391213f361fa08e302f1478ea8faa4","Len":1}...
|
1785132227
|
Edit
Delete
|
|
18940
|
3
|
5
|
8
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"1a41dd78e {"Commits":[{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"}],"HeadCommit":{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"},"CompareURL":"vodtest/room_api/compare/6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6...1a41dd78ef391213f361fa08e302f1478ea8faa4","Len":1}...
|
1785132227
|
Edit
Delete
|
|
18941
|
4
|
5
|
8
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"1a41dd78e {"Commits":[{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"}],"HeadCommit":{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"},"CompareURL":"vodtest/room_api/compare/6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6...1a41dd78ef391213f361fa08e302f1478ea8faa4","Len":1}...
|
1785132227
|
Edit
Delete
|
|
18942
|
7
|
5
|
8
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"1a41dd78e {"Commits":[{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"}],"HeadCommit":{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"},"CompareURL":"vodtest/room_api/compare/6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6...1a41dd78ef391213f361fa08e302f1478ea8faa4","Len":1}...
|
1785132227
|
Edit
Delete
|
|
18943
|
10
|
5
|
8
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"1a41dd78e {"Commits":[{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"}],"HeadCommit":{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"},"CompareURL":"vodtest/room_api/compare/6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6...1a41dd78ef391213f361fa08e302f1478ea8faa4","Len":1}...
|
1785132227
|
Edit
Delete
|
|
18944
|
11
|
5
|
8
|
66
|
0
|
0
|
refs/heads/room_api
|
1
|
{"Commits":[{"Sha1":"1a41dd78e {"Commits":[{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"}],"HeadCommit":{"Sha1":"1a41dd78ef391213f361fa08e302f1478ea8faa4","Message":"需求 包厢暂停语音配置 16708\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-07-27T14:03:43+08:00"},"CompareURL":"vodtest/room_api/compare/6afdc03c68058ef9bbea47552f0bc2db4e1dc9a6...1a41dd78ef391213f361fa08e302f1478ea8faa4","Len":1}...
|
1785132227
|
Edit
Delete
|
|
12636
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/test
|
1
|
|
1781583206
|
Edit
Delete
|
|
12637
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/test
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"57c62b99b7985a668f2516504e0ae74c79872f89","Message":"Multi-window implementation\n\nWindowKey is used as a multiplatform identifier for windows. For now it's a hash of the GLFWwindow pointer, but that can be changed.\n\nDirectorContext encapsulates a \"mini director\" instance for each window. There is still a central director which is responsible for updating each context. Each context also has its own event manager, action manager, and scheduler.\n\nTo reduce the amount of code changes necessary for mobile, by default the first window created is the main window. The main window is special; if it gets closed, it terminates the application. There are special accessors to grab the \"main\"scheduler/eventmanager/actionmanager. For certain tasks, especially async tasks, they need to schedule their callbacks on the main window, because the existence of the other windows is not guaranteed, unlike the main one.\n\nThe contexts work in a similar manner as opengl. A context is set to be active (setContextAndLock) and then non-actve (unlock). Doing so changes what gets returned by the getCurrentWindow call and the getCurrentScheduler/EventManager/ActionManager calls. This allows nodes and virtually everything to not care which window it was created in. Unless the node is transplanted into a new window/context, its getCurrentManagers functions will always return the same. It also hides any window dependancy. Almost everything outside of the director doens't know or care which window it was created in.\n\nCCGLViewImpl-desktop.cpp required substantial changes. The poll events function grabs all the events for all windows at once. What we want to do is sort them by window and defer the execution of them until the correct context is active. Otherwise, we'll be switching contexts rapidly while processing the polled events. Thus, the callbacks all push std::functions onto a map, keyed to the correct window.\n\nThere are also a number of order of operation fixes and smaller miscelaneous changes that were required as a result of this feature.\n\ncpp-empty-test has been extended to create 3 windows at launch to demonstrate the multi window functionality.\n","AuthorEmail":"dereky@amayasoftware.com","AuthorName":"Derek Yau","CommitterEmail":"dereky@amayasoftware.com","CommitterName":"Derek Yau","Timestamp":"2015-09-29T17:07:48-04:00"},"CompareURL":"zhengpeizhong/cocos2d-x/compare/3719c...57c62b99b7985a668f2516504e0ae74c79872f89","Len":0}...
|
1781583206
|
Edit
Delete
|
|
317
|
1
|
5
|
1
|
17
|
0
|
0
|
refs/heads/testpc
|
0
|
|
1773989093
|
Edit
Delete
|
|
318
|
2
|
5
|
1
|
17
|
0
|
0
|
refs/heads/testpc
|
0
|
|
1773989093
|
Edit
Delete
|
|
323
|
1
|
17
|
1
|
17
|
0
|
0
|
refs/heads/testpc
|
0
|
|
1773990033
|
Edit
Delete
|
|
324
|
2
|
17
|
1
|
17
|
0
|
0
|
refs/heads/testpc
|
0
|
|
1773990033
|
Edit
Delete
|
|
12609
|
12
|
5
|
12
|
41
|
0
|
0
|
refs/heads/tracer
|
1
|
|
1781582669
|
Edit
Delete
|
|
12610
|
12
|
5
|
12
|
41
|
0
|
0
|
refs/heads/tracer
|
1
|
{"Commits":[{"Sha1":"3b2dfdecd {"Commits":[{"Sha1":"3b2dfdecdcb9d1e88a99efb2aec902df272ba780","Message":"temp\n","AuthorEmail":"udknight@gmail.com","AuthorName":"Wang YanQing","CommitterEmail":"udknight@gmail.com","CommitterName":"Wang YanQing","Timestamp":"2020-04-27T15:47:04+08:00"}],"HeadCommit":{"Sha1":"3b2dfdecdcb9d1e88a99efb2aec902df272ba780","Message":"temp\n","AuthorEmail":"udknight@gmail.com","AuthorName":"Wang YanQing","CommitterEmail":"udknight@gmail.com","CommitterName":"Wang YanQing","Timestamp":"2020-04-27T15:47:04+08:00"},"CompareURL":"zhengpeizhong/jhplayer/compare/c202a974b946006b433f8fbe1356e35e9cdeb287...3b2dfdecdcb9d1e88a99efb2aec902df272ba780","Len":1}...
|
1781582669
|
Edit
Delete
|
|
12638
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/v3
|
1
|
|
1781583208
|
Edit
Delete
|
|
12639
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/v3
|
1
|
{"Commits":[{"Sha1":"7410bdd98 {"Commits":[{"Sha1":"7410bdd9811d832406ed5717ff99035e79fa67e8","Message":"[ci skip][AUTO]: updating luabinding \u0026 jsbinding \u0026 cocos_file.json automatically (#16563)\n\n","AuthorEmail":"redmine@cocos2d-x.org","AuthorName":"CocosRobot","CommitterEmail":"xiaoming.zhang@chukong-inc.com","CommitterName":"minggo","Timestamp":"2016-09-12T10:03:21+08:00"},{"Sha1":"74fd5ae3baf96864aead250f5859754ff7a90a89","Message":"Fix mismatched memory deallocator (#16560)\n\n","AuthorEmail":"Rubonnek@users.noreply.github.com","AuthorName":"Wilson E. Alvarez","CommitterEmail":"xiaoming.zhang@chukong-inc.com","CommitterName":"minggo","Timestamp":"2016-09-11T22:02:48-04:00"},{"Sha1":"16781b00e8a8e90160cb9a68e70ef4a569d19260","Message":"change EaseBounce to real class instead of typedef (#16557)\n\n","AuthorEmail":"stevetranby@gmail.com","AuthorName":"Steve Tranby","CommitterEmail":"xiaoming.zhang@chukong-inc.com","CommitterName":"minggo","Timestamp":"2016-09-11T19:51:27-06:00"},{"Sha1":"b8f127e6018c670c6822c283acd4364e1de0c3c9","Message":"fixed #16547: [ios, mac] Protencial memory leak in AudioPlayer.mm. (#16556)\n\nIf playing a large audio and its loop flag is set to false, after the audio is played over, there will be 4 or 8 bytes memory leak by _rotateBufferThread variable.\r\n\r\nResolution:\r\n\r\nThe `isDestroy` flag should not be set to true in rotate buffer thread, to exiting the thread, we need another varible for this purpose.\r\n\r\nThanks @nicolechen819 for the feedback.","AuthorEmail":"jianhua.chen@cocos2d-x.org","AuthorName":"James Chen","CommitterEmail":"xiaoming.zhang@chukong-inc.com","CommitterName":"minggo","Timestamp":"2016-09-12T09:48:27+08:00"},{"Sha1":"ced81f3527b1729a622094b5483a97bb0aab01ee","Message":"[ci skip][AUTO]: updating luabinding \u0026 jsbinding \u0026 cocos_file.json automatically (#16554)\n\n","AuthorEmail":"redmine@cocos2d-x.org","AuthorName":"CocosRobot","CommitterEmail":"xiaoming.zhang@chukong-inc.com","CommitterName":"minggo","Timestamp":"2016-09-12T09:46:19+08:00"}],"HeadCommit":{"Sha1":"7410bdd9811d832406ed5717ff99035e79fa67e8","Message":"[ci skip][AUTO]: updating luabinding \u0026 jsbinding \u0026 cocos_file.json automatically (#16563)\n\n","AuthorEmail":"redmine@cocos2d-x.org","AuthorName":"CocosRobot","CommitterEmail":"xiaoming.zhang@chukong-inc.com","CommitterName":"minggo","Timestamp":"2016-09-12T10:03:21+08:00"},"CompareURL":"zhengpeizhong/cocos2d-x/compare/b014720f64cb24dd4ee989c8141b4bd8b5d793a9...7410bdd9811d832406ed5717ff99035e79fa67e8","Len":10}...
|
1781583208
|
Edit
Delete
|
|
12640
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/v3.13.1
|
1
|
|
1781583209
|
Edit
Delete
|
|
12641
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/v3.13.1
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"3075108f1c90914dba84cda187752227a5060f46","Message":"get sdk version from java (#16546)\n\n","AuthorEmail":"xiaoming.zhang@chukong-inc.com","AuthorName":"minggo","CommitterEmail":"noreply@github.com","CommitterName":"GitHub","Timestamp":"2016-09-12T09:49:39+08:00"},"CompareURL":"zhengpeizhong/cocos2d-x/compare/3719c...3075108f1c90914dba84cda187752227a5060f46","Len":0}...
|
1781583209
|
Edit
Delete
|
|
12642
|
12
|
5
|
12
|
42
|
0
|
0
|
refs/heads/x86-test
|
1
|
|
1781583210
|
Edit
Delete
|