diff --git a/PROGRESS.md b/PROGRESS.md index 675c321..43cc207 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -2,7 +2,7 @@ > 配合 `DESIGN.md`。本文件只记 phase 状态、决策偏差、文件量、下一步。每条 1-2 句:做了啥 + 关键判断;细节查 `git log` / `git diff` / `DESIGN §7.9`。 -最后更新:2026-06-24(企业微信渠道 B:纯推送 + OAuth 扫码绑 userid,接入 send_to_user + bump 0.24.0) +最后更新:2026-06-24(修复微信绑定弹框标题样式错乱,与其他弹框对齐 + bump 0.24.2) --- @@ -21,6 +21,11 @@ ## 已完成关键能力 +### 2026-06-24 / 修复微信绑定弹框标题样式错乱(bump 0.24.2) + +- 根因:`#wechat-modal h3` 只设了 flex 布局,漏了其他弹框(crons/memory)都有的 `margin:0; padding:12px 16px; font-size:16px; border-bottom` → 标题吃浏览器默认 h3 样式(大字号 + ~21px 上下默认 margin + 无分隔线),看着比别的弹框又大又飘。 +- 修复:`web/static/dev.html` 给 `#wechat-modal h3` 补齐标题样式,并加 `h3 svg{opacity:.85}` 与 `.sk-x` 关闭按钮样式,与 crons/memory 弹框对齐。 + ### 2026-06-24 / 修复 host-side 文件工具发不出附件(docker 容器路径未翻译,bump 0.24.1) - 根因:生产 docker 模式下,fs 工具在容器里跑(文件落容器卷=宿主 `users///`),但 `send_email` / `wechat_push` 是**宿主进程**工具;它们 `base_dir=Path.cwd()`(部署根)且不识别容器↔宿主路径映射 → agent 给的相对路径拼到 cwd、容器绝对路径 `/workspace/...` 宿主上瞎解析,`relative_to(user_root)` 必越界 → 附件永远发不出(微信 DB 实锤 `#7` 相对 + `#15` 容器绝对两条都「文件路径越界」)。probe 脚本能发是因直接调 `send_file` 绕过解析。 diff --git a/core/__init__.py b/core/__init__.py index 6af4a43..4b9400c 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -1,3 +1,3 @@ # zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。 # 改版本只动这一行。 -__version__ = "0.24.1" +__version__ = "0.24.2" diff --git a/web/static/dev.html b/web/static/dev.html index bae2355..caa9ab8 100644 --- a/web/static/dev.html +++ b/web/static/dev.html @@ -295,8 +295,17 @@ /* 定时任务 modal(只读 + 停用/删除,DESIGN §8.5)— 复用 .sk-item/.sk-badge/.sk-empty */ #wechat-modal { z-index: 112; } #wechat-modal .card { width: 440px; max-width: 94vw; } - #wechat-modal h3 { display: flex; align-items: center; gap: 8px; } + #wechat-modal h3 { + margin: 0; padding: 12px 16px; font-size: 16px; + border-bottom: 1px solid var(--border); + display: flex; align-items: center; gap: 8px; + } #wechat-modal h3 .spacer { flex: 1; } + #wechat-modal h3 svg { opacity: .85; } + #wechat-modal .sk-x { + border: none; background: transparent; font-size: 16px; + cursor: pointer; color: var(--muted); padding: 2px 6px; + } #wx-body { padding: 16px; overflow: auto; } #wx-body .wx-status { padding: 10px 12px; border-radius: 8px; font-size: 14px; margin-bottom: 14px; background: var(--code-bg, #f6f8fa); } #wx-body .wx-status.ok { background: #e6f4ea; color: #1a7f37; }