Releases: Healock/binhu
Release list
滨湖客户端 0.30.25
滨湖桌面客户端 v0.30.25 更新日志
本次版本由提交 b796eaab4b6c 生成。
更新范围:v0.30.24 → v0.30.25。
更新内容
1. 其他更新
- #818 fix(staging): allow reported true orphan links:[x] registry.py 将真孤儿链接限制在三条,超过后错误退出,导致只读 measure 被 orphan_exclusion_scope_exceeded 阻断。 [x] 报告没有明确区分真孤儿和未来可能出现的假孤儿。 [x] 控制台策略和运行文档仍把三条上限写成当前合同。
- #819 fix(staging): ignore stale model-three sources in sample recovery:[x] 问题 1:历史模型三来源残留导致采样恢复生成业务表不存在的来源记录。 [x] 问题 2:measure 在业务来源键核对阶段失败,无法继续 Staging 快照。 [x] 问题 3:缺少对“无活跃业务记录历史来源”的回归覆盖。
- #820 fix(staging): exclude invalid sampled rows:[x] 问题 1:Staging 复制数据中的无效业务日期阻塞 measure。 [x] 问题 2:单条异常数据导致整个 Staging 脱敏快照失败。 [x] 问题 3:缺少排除数量与原因分类报告。
- #821 fix(staging): filter relations after sampled-row exclusion:[x] 问题 1:异常来源排除后关联记录仍按旧来源集合处理。 [x] 问题 2:导致
snapshot_source_operation_failed,阻塞 Staging measure。 [x] 问题 3:保持异常数据排除的聚合报告和 50% 样本有效性门禁。 - #822 fix(staging): accept safe existing table identifiers:Staging 当前 schema 中存在合法的 MySQL 标识符形式,但网关只接受传统下划线表名,导致 create 在实际建库前失败。
- #823 fix(staging): accept quoted legacy table names:PR #822 放宽下划线限制后,实际 create 仍被 invalid_target_table 拒绝,说明现有 Staging schema 使用了连接符或非 ASCII 表名。
- #825 fix(staging): handle dotted legacy table identifiers:候选 create 在安全表名校验阶段返回 invalid_target_table;逻辑域分隔使用 split 会把合法点号表名拆成多段。
- #827 fix(staging): preserve dotted legacy table names:候选 create 在安全表名校验阶段返回 invalid_target_table;逻辑域分隔使用 split 会把合法点号表名拆成多段。
- #828 fix(staging): record schema table diffs:[x] 问题 1:schema 表集合不一致时缺少缺表/多表诊断。 [x] 问题 2:schema 签名不一致时缺少域和表名诊断。 [x] 问题 3:记录 Staging 未随 Production 发布自动同步的原因和预防门禁。
- #829 feat(deploy): add Dev application acceptance gateway:[x] 问题 1:Staging application gateway 缺少可验证的 Dev application acceptance record。 [x] 问题 2:Dev event-pipeline 接受记录与 Dev application acceptance 职责混用。 [x] 问题 3:Dev 应用缺少固定 prepare/measure/apply/accept 入口和安装审计。
- #830 fix(deploy): bind Dev application gateway to fixed host:[x] 问题 1:原 workflow 引用未配置的独立 host/port/known_hosts secrets,无法安装或运行 Dev application gateway。 [x] 问题 2:Dev application 的 SSH 目标边界需要与现有固定 Dev 服务器一致,同时保持应用网关凭据和 event-pipeline 凭据隔离。 [x] 问题 3:部署文档需要明确共享固定服务器边界与独立应用账号的关系。
- #831 fix(deploy): install Dev application gateway dependencies:[x] 问题 1:原 workflow 引用未配置的独立 host/port/known_hosts secrets,无法安装或运行 Dev application gateway。 [x] 问题 2:Dev application 的 SSH 目标边界需要与现有固定 Dev 服务器一致,同时保持应用网关凭据和 event-pipeline 凭据隔离。 [x] 问题 3:部署文档需要明确共享固定服务器边界与独立应用账号的关系。
- #832 fix(deploy): normalize Dev gateway state permissions:[x] 问题 1:原 workflow 引用未配置的独立 host/port/known_hosts secrets,无法安装或运行 Dev application gateway。 [x] 问题 2:Dev application 的 SSH 目标边界需要与现有固定 Dev 服务器一致,同时保持应用网关凭据和 event-pipeline 凭据隔离。 [x] 问题 3:部署文档需要明确共享固定服务器边界与独立应用账号的关系。
- #833 fix(deploy): extract Dev application artifacts safely:[x] 问题 1:原 workflow 引用未配置的独立 host/port/known_hosts secrets,无法安装或运行 Dev application gateway。 [x] 问题 2:Dev application 的 SSH 目标边界需要与现有固定 Dev 服务器一致,同时保持应用网关凭据和 event-pipeline 凭据隔离。 [x] 问题 3:部署文档需要明确共享固定服务器边界与独立应用账号的关系。
- #834 fix(deploy): bind Dev artifact in prepare run:[x] 问题 1:原 workflow 引用未配置的独立 host/port/known_hosts secrets,无法安装或运行 Dev application gateway。 [x] 问题 2:Dev application 的 SSH 目标边界需要与现有固定 Dev 服务器一致,同时保持应用网关凭据和 event-pipeline 凭据隔离。 [x] 问题 3:部署文档需要明确共享固定服务器边界与独立应用账号的关系。
- #835 Fix Dev application gateway measure dependency:[x] Dev 网关安装包缺少
measure的运行时依赖。 [x] PR #829 的审查只覆盖固定命令和静态模块,没有覆盖prepare完整路径及动态导入闭包。 - #836 fix(deploy): preserve Dev operation failure diagnostics:[x] 问题 1:Dev measure/apply/accept failures lacked a stable private reason code. [x] 问题 2:Failure evidence was not written for non-prepare operations. [ ] 问题 3:The existing Dev runtime configuration/image drift remains a separate environment repair task and is intentionally not bypassed here.
- #837 fix(deploy): add controlled Dev manifest reconciliation:[x] 问题 1:提供受控的 Dev manifest drift reconciliation。 [x] 问题 2:保持 measure/apply/accept 的 fail-closed 身份门禁。 [x] 问题 3:避免删除或重建 Dev 数据库、Redis、网络和卷。
- #838 fix(deploy): authorize Dev reconcile action:[x] 新增 Dev
reconcile *动作的最小权限授权。 [x] 防止固定入口动作与安装脚本 sudoers 白名单再次漂移。 [x] 保留既有失败证据,不覆盖历史运行目录。 - #839 fix(deploy): repair missing Dev disabled flag:[x] 新增 Dev
reconcile *动作的最小权限授权。 [x] 防止固定入口动作与安装脚本 sudoers 白名单再次漂移。 [x] 保留既有失败证据,不覆盖历史运行目录。 - #840 fix(deploy): persist Dev promotion state atomically:[x] 新增 Dev
reconcile *动作的最小权限授权。 [x] 防止固定入口动作与安装脚本 sudoers 白名单再次漂移。 [x] 保留既有失败证据,不覆盖历史运行目录。 - #841 fix(deploy): update Dev acceptance report atomically:[x] 新增 Dev
reconcile *动作的最小权限授权。 [x] 防止固定入口动作与安装脚本 sudoers 白名单再次漂移。 [x] 保留既有失败证据,不覆盖历史运行目录。 - #842 fix(staging): add controlled application reconciliation:Staging
manifest.json的 Backend image 元数据与实际 Compose 不一致,导致measure以environment_image_drift拒绝。旧网关只返回笼统失败,且没有受控对账入口。 - #843 fix(staging): normalize qualified image digest during reconcile:Staging
manifest.json的 Backend image 元数据与实际 Compose 不一致,导致measure以environment_image_drift拒绝。旧网关只返回笼统失败,且没有受控对账入口。 - #844 fix(staging): reconcile legacy database manifest keys:Staging
manifest.json的 Backend image 元数据与实际 Compose 不一致,导致measure以environment_image_drift拒绝。旧网关只返回笼统失败,且没有受控对账入口。 - #845 fix(staging): preserve reconcile preflight diagnostics:Staging
manifest.json的 Backend image 元数据与实际 Compose 不一致,导致measure以environment_image_drift拒绝。旧网关只返回笼统失败,且没有受控对账入口。 - #846 fix(staging): capture reconcile preflight failures:Staging
manifest.json的 Backend image 元数据与实际 Compose 不一致,导致measure以environment_image_drift拒绝。旧网关只返回笼统失败,且没有受控对账入口。 - #847 fix(staging): store reconcile diagnostics with candidate:Staging
manifest.json的 Backend image 元数据与实际 Compose 不一致,导致measure以environment_image_drift拒绝。旧网关只返回笼统失败,且没有受控对账入口。 - #848 fix(staging): persist reconciled environment flags:Staging
manifest.json的 Backend image 元数据与实际 Compose 不一致,导致measure以environment_image_drift拒绝。旧网关只返回笼统失败,且没有受控对账入口。 - #849 fix(staging): compare qualified image references by digest:Staging
manifest.json的 Backend image 元数据与实际 Compose 不一致,导致measure以environment_image_drift拒绝。旧网关只返回笼统失败,且没有受控对账入口。 - #850 fix(staging): write reconciled flags with real newlines:[x] 问题 1:Staging reconcile 使用字面量
\\n,导致禁用开关未形成独立配置行。 [x] 问题 2:修复后 measure 仍会因外部开关缺失而失败。 [x] 问题 3:补充 Dev/Staging 共用路径的回归覆盖。 - #851 fix(staging): preserve reconcile evidence on retry:[x] 问题 1:旧
staging-reconcile-*目录存在时重试无法进行。 [x] 问题 2:重试需要保留原失败证据,不能覆盖。 [x] 问题 3:补充唯一证据路径回归测试。 - #852 fix(staging): normalize qualified manifest image digests:[x] 问题 1:qualified Compose 镜像已规范化,但 qualified manifest 镜像未规范化。 [x] 问题 2:合法的同一 digest 被误判为环境漂移。 [x] 问题 3:补充 Compose 与 manifest 双方 qualified digest 回归测试。
- #853 修补离线居住证批量查询逐行结果与失败定位:[x] 问题 1:批量查询只显示失败分类数量,用户无法定位具体身份证号和原表行。 [x] 问题 2:身份证无效、认证/网络/响应结构错误等情况缺少逐行处理建议。 [x] 问题 3:常住人口预检索返回非空资料时被统一归类为
resident_response_contract_changed,与明确的接口故障混淆。 - #854 fix(staging): normalize split-domain snapshot schema contract:[x] 修复
production_staging_schema_table_mismatch的真实根因 [x] 保持失败证据独立,不覆盖旧候选目录 [x] 增加合同归一化、冲突拒绝和候选验证测试 - #855 fix(staging): cover all routed legacy tables:[x] 修复
production_staging_schema_table_mismatch的真实根因 [x] 保持失败证据独立,不覆盖旧候选目录 [x] 增加合同归一化、冲突拒绝和候选验证测试 - #856 fix(staging): prefer owning domain schema signatures:[x] 修复
production_staging_schema_table_mismatch的真实根因 [x] 保持失败证据独立,不覆盖旧候选目录 [x] 增加合同归一化、冲突拒绝和候选验证测试 - #857 Fix embedded Staging snapshot schema filter:[x] 修复隔离候选程序缺失
runtime_tables的运行时错误。 [x] 防止只检查生成代码字符串而遗漏未定义名称。 - #858 Fix embedded Staging schema map reference:[x] 将嵌入程序中的域映射引用统一为已注入的
split_domain_schema_tables。 [x] 增加生成代码 AST 检查,防止再次生成未定义的大写名称。 - #859 fix: prevent venue registration burst throttling:[x] 问题 1:同一出口 IP 的场所登记页面、取令牌和提交请求被旧的 30 次/分钟边缘限流挡成 503。 [x] 问题 2:云端接收器单场所每分钟 60 次的应用限流低于集中登记需求。 [x] 问题 3:登记页把 Nginx 非 JSON 错误正文当 JSON 解析,用户只能看到技术错误或无法判断提交状态。
- #860 feat(staging): add controlled schema migration gate:[x] Staging application
apply只切换应用、不执行数据库 schema migration。 [x] 最新快照staging-9d10b74f1136e464在OnlineData._online_source_projection发现真实 schema drift 后缺少受控修复入口。 [x] 迁移步骤没有固定 workflow、身份校验和可审计前后签名。 - #861 fix(staging): report schema signature differences:[x] schema 签名不一致时,证据缺少可执行的列、索引和约束差异。 [x] 失败证据不包含结构签名摘要,难以判断后续修复是否改变目标 schema。
- #862 fix: keep venue nginx rate limits deployable:[x] 问题 1:首次候选部署因未定义 Nginx zone 未通过
nginx -t,固定网关已回滚候选镜像。 [x] 问题 2:同一出口的场所登记页面/令牌/提交请求需要绕开全局 30 次/分钟边缘桶,仍保留应用侧限流。 [x] 问题 3:确保其它公共入口继续使用原边缘限流,避免扩大本次流量策略范围。 - #863 fix(staging): import hashlib in isolated schema diagnostics:[x] 修复隔离候选 job 在生成 schema SHA-256 摘要时缺少
hashlib的缺陷。 [x] 测试验证生成代码能给出缺失/多余列和双方 SHA-256,不再因未定义名称退化为通用错误。 [x] 不改变 schema 门禁或候选数据库操作范围。 - #864 fix: resolve venue nginx rate zone validation:[x] 问题 1:修复 Nginx 未定义限流 zone 导致的
nginx -t失败。 [x] 问题 2:同一出口 IP 的场所页面和公共登记 API 不再被 30 次/分钟边缘限流挡住。 [x] 问题 3:饮酒报备页和表单令牌 API 保留已定义的 IP 限流。 - #865 fix: prevent venue registration fake success:[x] 问题 1:并发提交可能收到 HTTP 200、JSON 字符串和 multipart 请求体回显,客户端误显示提交成功。 [x] 问题 2:TCP 入口代理在一侧流结束时取消另一侧,可能截断或串扰响应。 [x] 问题 3:成功响应契约和前端不确定结果处理缺少测试与 OpenAPI 明确约束。
- #866 chore: prepare 0.30.25 release:统一根目录、前端、桌面端、Android/Tauri 和安装器版本号。 使客户端发布工作流能够识别并构建
0.30.25制品。
技术追溯
- [#818] fix(staging): allow reported true orphan links:[x] registry.py 将真孤儿链接限制在三条,超过后错误退出,导致只读 measure 被 orphan_exclusion_scope_exceeded 阻断。 [x] 报告没有明确区分真孤儿和未来可能出现的假孤儿。 [x] 控制台策略和运行文档仍把三条上限写成当前合同。
- [#819] fix(staging): ignore stale model-three sources in sample recovery:[x] 问题 1:历史模型三来源残留导致采样恢复生成业务表不存在的来源记录。 [x] 问题 2:measure 在业务来源键核对阶段失败,无法继续 Staging 快照。 [x] 问题 3:缺少对“无活跃业务记录历史来源”的回归覆盖。
- [#820] fix(staging): exclude invalid sampled rows:[x] 问题 1:Staging 复制数据中的无效业务日期阻塞 measure。 [x] 问题 2:单条异常数据导致整个 Staging 脱敏快照失败。 [x] 问题 3:缺少排除数量与原因分类报告。
- [#821] fix(staging): filter relations after sampled-row exclusion:[x] 问题 1:异常来源排除后关联记录仍按旧来源集合处理。 [x] 问题 2:导致
snapshot_source_operation_failed,阻塞 Staging measure。 [x] 问题 3:保持异常数据排除的聚合报告和 50% 样本有效性门禁。 - [#822] fix(staging): accept safe existing table identifiers:Staging 当前 schema 中存在合法的 MySQL 标识符形式,但网关只接受传统下划线表名,导致 create 在实际建库前失败。
- [#823] fix(staging): accept quoted legacy table names:PR #822 放宽下划线限制后,实际 create 仍被 invalid_target_tab...
滨湖客户端 0.30.24
滨湖桌面客户端 v0.30.24 更新日志
本次版本由提交 3b055be0aeca 生成。
更新范围:v0.30.23 → v0.30.24。
更新内容
1. 其他更新
- #816 fix: separate offline residence query panels:[x] 问题 1:涉警人员登记地址查询错误地与已撤管人员查询共用同一个上传区和查询状态。 [x] 问题 2:名单读取失败统一显示笼统错误,无法判断 XLSX、工作表、身份证号表头或数据行问题。 [x] 问题 3:离线模式设置与查询功能混在同一长页面,窄屏和桌面使用时不易区分。
- #817 release: 0.30.24 with accelerated OSS publishing:[x] 问题 1:客户端各平台版本号需要统一提升到 0.30.24。 [x] 问题 2:新的 OSS 加速上传、普通端点 A/B 测试和清理流程需要固化到文档。 [x] 问题 3:需要明确服务器内网拉取和失败证据保留边界。
技术追溯
- [#816] fix: separate offline residence query panels:[x] 问题 1:涉警人员登记地址查询错误地与已撤管人员查询共用同一个上传区和查询状态。 [x] 问题 2:名单读取失败统一显示笼统错误,无法判断 XLSX、工作表、身份证号表头或数据行问题。 [x] 问题 3:离线模式设置与查询功能混在同一长页面,窄屏和桌面使用时不易区分。
- [#817] release: 0.30.24 with accelerated OSS publishing:[x] 问题 1:客户端各平台版本号需要统一提升到 0.30.24。 [x] 问题 2:新的 OSS 加速上传、普通端点 A/B 测试和清理流程需要固化到文档。 [x] 问题 3:需要明确服务器内网拉取和失败证据保留边界。
更新说明
桌面客户端优先使用更新服务器提供的增量包;增量包不可用时自动回退到全量包。
滨湖客户端 0.30.23
滨湖桌面客户端 v0.30.23 更新日志
本次版本由提交 841972a53918 生成。
更新范围:v0.30.22 → v0.30.23。
更新内容
1. 其他更新
- #813 fix(staging): retry fixed gateway status probes:[x] 问题 1:安装连接释放后,Staging 部署账号的只读 status 连接可能遇到瞬时 KEX reset。 [x] 问题 2:status 失败时缺少可审计的重试次数、退避和最终失败信息。 [ ] 问题 3:服务器 NatFRP/FRP 映射本身仍需运维侧检查,代码不改变穿透配置。
- #814 feat: 离线涉警人员登记地址批量查询:[x] 原面板只能导出登记情况,不能批量取得居住证登记地址供人工审查。 [x] 地址查询复用现有离线配置、身份校验、社区 session、桌面受限只读桥接与进度反馈。 [x] 地址导出现在保留原工作簿的其他工作表、样式、列宽、筛选、冻结表头、空行和原始内容;已有“登记地址”列会更新,不再追加同名列。 [x] 同一社区并发查询只建立一次 session;认证失效只删除仍对应的旧 token,避免并发刷新互相覆盖。 [x] 居住证常住人口预检索响应结构异常时停止,不继续请求流动人口接口;地址字段不是字符串时不会输出
[object Object],会标记为“登记地址待核对”。 - #815 feat(release): use OSS transfer acceleration:[x] 问题 1:GitHub Runner 到 OSS 的普通公网上传速度过慢,无法验证传输加速是否真正用于发布。 [x] 问题 2:上传器只接受普通端点,缺少加速端点的固定白名单和验证命令。 [x] 问题 3:发布流程缺少普通/加速端点的临时对象 A/B 测速和脱敏指标归档。
技术追溯
- [#813] fix(staging): retry fixed gateway status probes:[x] 问题 1:安装连接释放后,Staging 部署账号的只读 status 连接可能遇到瞬时 KEX reset。 [x] 问题 2:status 失败时缺少可审计的重试次数、退避和最终失败信息。 [ ] 问题 3:服务器 NatFRP/FRP 映射本身仍需运维侧检查,代码不改变穿透配置。
- [#814] feat: 离线涉警人员登记地址批量查询:[x] 原面板只能导出登记情况,不能批量取得居住证登记地址供人工审查。 [x] 地址查询复用现有离线配置、身份校验、社区 session、桌面受限只读桥接与进度反馈。 [x] 地址导出现在保留原工作簿的其他工作表、样式、列宽、筛选、冻结表头、空行和原始内容;已有“登记地址”列会更新,不再追加同名列。 [x] 同一社区并发查询只建立一次 session;认证失效只删除仍对应的旧 token,避免并发刷新互相覆盖。 [x] 居住证常住人口预检索响应结构异常时停止,不继续请求流动人口接口;地址字段不是字符串时不会输出
[object Object],会标记为“登记地址待核对”。 - [#815] feat(release): use OSS transfer acceleration:[x] 问题 1:GitHub Runner 到 OSS 的普通公网上传速度过慢,无法验证传输加速是否真正用于发布。 [x] 问题 2:上传器只接受普通端点,缺少加速端点的固定白名单和验证命令。 [x] 问题 3:发布流程缺少普通/加速端点的临时对象 A/B 测速和脱敏指标归档。
更新说明
桌面客户端优先使用更新服务器提供的增量包;增量包不可用时自动回退到全量包。
滨湖客户端 0.30.22
滨湖桌面客户端 v0.30.22 更新日志
本次版本由提交 84f02c5eb822 生成。
更新范围:v0.30.21 → v0.30.22。
更新内容
1. 其他更新
- #800 fix: allow staging web login from root entry:[x] 问题 1:网页根入口登录
@staging账号时错误提示“请先打开/staging/入口”。 [x] 问题 2:网页端与桌面端对 Staging 账号的环境选择规则不一致。 [x] 问题 3:缺少网页根入口自动路由到固定 Staging API 的回归测试和用户说明。 - #801 fix: preserve dashboard range picker start date:[x] 问题 1:在线数据汇总页面选择新的起始日期时日期控件跳回原范围。 [x] 问题 2:旧结束日期会干扰用户重新选择起始日期。 [x] 问题 3:缺少针对该交互时序的回归测试。
- #805 fix: unify external effective workload statistics:[x] 问题 1:外部监控只叠加任务数量和状态,未生成有效工作量,导致每日人均核查数只看到本地流水。 [x] 问题 2:外部任务没有逐业务键的隐私安全状态快照,无法安全判断
unchecked -> checked/completed等转移。 [x] 问题 3:外部数据叠加后社区报表中的人均值可能继续使用旧的本地计算结果。 - #807 feat: 展示告知书导入变化与责任状态:[x] 用户只能看到“总数、可尝试挂载、需核查”,无法知道本次读取相对平台已有数据发生了哪些变化。 [x] 实际出租人或签署状态变化可能被旧的回退来源标识误判为新增/来源消失。 [x] 页面无法区分本次新增正常签署、需修改实际出租人和其他责任状态的预计总量。 根因是预览流程已有来源标识和内容哈希,但没有把它们与本地正式告知书、房屋匹配和责任状态统一分析后返回前端。
- #811 fix: remove OSS transfer bundle after successful release:[x] 问题 1:成功发布后 OSS 中转 bundle 没有自动删除。 [x] 问题 2:长期保留大 bundle 增加存储费用。 [x] 问题 3:删除操作如果使用任意路径会扩大 RAM 凭据权限。
- #812 chore: bump version to 0.30.22:[x] 问题 1:为本次生产发布提供统一的 0.30.22 版本标识。 [x] 问题 2:同步 Windows、Android、前端和桌面包元数据,避免客户端版本漂移。 [x] 问题 3:配合 OSS 客户端发布链路进行版本门禁验证。
技术追溯
- [#800] fix: allow staging web login from root entry:[x] 问题 1:网页根入口登录
@staging账号时错误提示“请先打开/staging/入口”。 [x] 问题 2:网页端与桌面端对 Staging 账号的环境选择规则不一致。 [x] 问题 3:缺少网页根入口自动路由到固定 Staging API 的回归测试和用户说明。 - [#801] fix: preserve dashboard range picker start date:[x] 问题 1:在线数据汇总页面选择新的起始日期时日期控件跳回原范围。 [x] 问题 2:旧结束日期会干扰用户重新选择起始日期。 [x] 问题 3:缺少针对该交互时序的回归测试。
- [#805] fix: unify external effective workload statistics:[x] 问题 1:外部监控只叠加任务数量和状态,未生成有效工作量,导致每日人均核查数只看到本地流水。 [x] 问题 2:外部任务没有逐业务键的隐私安全状态快照,无法安全判断
unchecked -> checked/completed等转移。 [x] 问题 3:外部数据叠加后社区报表中的人均值可能继续使用旧的本地计算结果。 - [#807] feat: 展示告知书导入变化与责任状态:[x] 用户只能看到“总数、可尝试挂载、需核查”,无法知道本次读取相对平台已有数据发生了哪些变化。 [x] 实际出租人或签署状态变化可能被旧的回退来源标识误判为新增/来源消失。 [x] 页面无法区分本次新增正常签署、需修改实际出租人和其他责任状态的预计总量。 根因是预览流程已有来源标识和内容哈希,但没有把它们与本地正式告知书、房屋匹配和责任状态统一分析后返回前端。
- [#811] fix: remove OSS transfer bundle after successful release:[x] 问题 1:成功发布后 OSS 中转 bundle 没有自动删除。 [x] 问题 2:长期保留大 bundle 增加存储费用。 [x] 问题 3:删除操作如果使用任意路径会扩大 RAM 凭据权限。
- [#812] chore: bump version to 0.30.22:[x] 问题 1:为本次生产发布提供统一的 0.30.22 版本标识。 [x] 问题 2:同步 Windows、Android、前端和桌面包元数据,避免客户端版本漂移。 [x] 问题 3:配合 OSS 客户端发布链路进行版本门禁验证。
更新说明
桌面客户端优先使用更新服务器提供的增量包;增量包不可用时自动回退到全量包。
滨湖客户端 0.30.21
滨湖桌面客户端 v0.30.21 更新日志
本次版本由提交 5fc80ab00c5b 生成。
更新范围:v0.30.20 → v0.30.21。
更新内容
1. 其他更新
- #798 fix: select identity number column in offline residence import:[x] 问题 1:支持“证件号码”“公民身份号码”“居民身份证号”等常见身份证号码表头。 [x] 问题 2:同一表头行同时存在“证件类型”和“证件号码”时,始终选择号码列,不再读取长度为 3 的“身份证”类型值。 [x] 问题 3:离线页面和错误提示补充支持范围,并增加回归测试覆盖相邻类型列场景。
- #799 fix: allow slow desktop release gateway uploads:[x] 问题 1:固定网关上传速度较慢,30 分钟只能传输约 46.8 MB,0.30.21 包被截断。 [x] 问题 2:截断后服务器留下 gzip/tar 不完整包,发布状态未更新。 [x] 问题 3:发布步骤缺少明确的连接建立超时和可控重试。
- #802 feat: let update server pull GitHub release assets:[x] 问题 1:固定 SSH 单流上传在高 RTT、低拥塞窗口路径上速度过低,容易超过工作流超时。 [x] 问题 2:发布失败后只能重新传输完整包,无法利用服务器主动下载路径。 [x] 问题 3:发布网关需要保持固定仓库、HTTPS、哈希校验和原子公开索引更新。
- #804 fix: validate release asset transfer command:[x] 问题 1:固定 SSH 单流上传在高 RTT、低拥塞窗口路径上速度过低,容易超过工作流超时。 [x] 问题 2:发布失败后只能重新传输完整包,无法利用服务器主动下载路径。 [x] 问题 3:发布网关需要保持固定仓库、HTTPS、哈希校验和原子公开索引更新。
- #806 fix: resume stalled GitHub release asset downloads:[x] 问题 1:45 MiB 停滞后旧实现删除 partial,发布只能从头开始。 [x] 问题 2:重试没有利用已下载前缀,导致大包重复传输。 [x] 问题 3:完整 partial 在进程重启后仍会重复请求。
- #808 feat: transfer client releases through private Aliyun OSS:[x] 问题 1:GitHub 到生产服务器的单 TCP 大包传输速度过低,导致客户端发布包长时间停在 partial。 [x] 问题 2:发布中继此前依赖 GitHub Release Asset,无法利用同地域 OSS 内网下载。 [x] 问题 3:签名 URL 不应出现在 SSH 远程命令参数中。
- #809 fix: make OSS client bundle upload resumable:[x] 问题 1:大 bundle 单次 HTTPS PUT 写入超时会使发布失败。 [x] 问题 2:上传中断后无法按分片重试,网络抖动会浪费整个上传过程。 [x] 问题 3:上传失败可能遗留 OSS multipart 临时分片。
- #810 fix: reduce OSS multipart size for slow uploads:[x] 问题 1:8 MiB OSS 分片在当前上行链路中无法在 90 秒内完成。 [x] 问题 2:上传失败导致服务器主动下载步骤始终未执行。 [x] 问题 3:没有覆盖 0.30.21 的业务版本或生产清单。
技术追溯
- [#798] fix: select identity number column in offline residence import:[x] 问题 1:支持“证件号码”“公民身份号码”“居民身份证号”等常见身份证号码表头。 [x] 问题 2:同一表头行同时存在“证件类型”和“证件号码”时,始终选择号码列,不再读取长度为 3 的“身份证”类型值。 [x] 问题 3:离线页面和错误提示补充支持范围,并增加回归测试覆盖相邻类型列场景。
- [#799] fix: allow slow desktop release gateway uploads:[x] 问题 1:固定网关上传速度较慢,30 分钟只能传输约 46.8 MB,0.30.21 包被截断。 [x] 问题 2:截断后服务器留下 gzip/tar 不完整包,发布状态未更新。 [x] 问题 3:发布步骤缺少明确的连接建立超时和可控重试。
- [#802] feat: let update server pull GitHub release assets:[x] 问题 1:固定 SSH 单流上传在高 RTT、低拥塞窗口路径上速度过低,容易超过工作流超时。 [x] 问题 2:发布失败后只能重新传输完整包,无法利用服务器主动下载路径。 [x] 问题 3:发布网关需要保持固定仓库、HTTPS、哈希校验和原子公开索引更新。
- [#804] fix: validate release asset transfer command:[x] 问题 1:固定 SSH 单流上传在高 RTT、低拥塞窗口路径上速度过低,容易超过工作流超时。 [x] 问题 2:发布失败后只能重新传输完整包,无法利用服务器主动下载路径。 [x] 问题 3:发布网关需要保持固定仓库、HTTPS、哈希校验和原子公开索引更新。
- [#806] fix: resume stalled GitHub release asset downloads:[x] 问题 1:45 MiB 停滞后旧实现删除 partial,发布只能从头开始。 [x] 问题 2:重试没有利用已下载前缀,导致大包重复传输。 [x] 问题 3:完整 partial 在进程重启后仍会重复请求。
- [#808] feat: transfer client releases through private Aliyun OSS:[x] 问题 1:GitHub 到生产服务器的单 TCP 大包传输速度过低,导致客户端发布包长时间停在 partial。 [x] 问题 2:发布中继此前依赖 GitHub Release Asset,无法利用同地域 OSS 内网下载。 [x] 问题 3:签名 URL 不应出现在 SSH 远程命令参数中。
- [#809] fix: make OSS client bundle upload resumable:[x] 问题 1:大 bundle 单次 HTTPS PUT 写入超时会使发布失败。 [x] 问题 2:上传中断后无法按分片重试,网络抖动会浪费整个上传过程。 [x] 问题 3:上传失败可能遗留 OSS multipart 临时分片。
- [#810] fix: reduce OSS multipart size for slow uploads:[x] 问题 1:8 MiB OSS 分片在当前上行链路中无法在 90 秒内完成。 [x] 问题 2:上传失败导致服务器主动下载步骤始终未执行。 [x] 问题 3:没有覆盖 0.30.21 的业务版本或生产清单。
更新说明
桌面客户端优先使用更新服务器提供的增量包;增量包不可用时自动回退到全量包。
Binhu client transfer 0.30.21
Temporary transfer asset for the fixed update gateway; delete after the stable release is created.
Binhu client transfer 0.30.21
Temporary transfer asset for the fixed update gateway; delete after the stable release is created.
Binhu client transfer 0.30.21
Temporary transfer asset for the fixed update gateway; delete after the stable release is created.
Binhu client transfer 0.30.21
Temporary transfer asset for the fixed update gateway; delete after the stable release is created.
Binhu client transfer 0.30.21
Temporary transfer asset for the fixed update gateway; delete after the stable release is created.