Skip to content

支持侧边抽屉快速回复粘贴图片自动上传#9

Merged
BobDLA merged 6 commits into
BobDLA:mainfrom
majorcheng:feat/reply-paste-upload
Mar 20, 2026
Merged

支持侧边抽屉快速回复粘贴图片自动上传#9
BobDLA merged 6 commits into
BobDLA:mainfrom
majorcheng:feat/reply-paste-upload

Conversation

@majorcheng

@majorcheng majorcheng commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

结论

这次补上了侧边抽屉快速回复框的图片粘贴自动上传能力。
现在在抽屉回复框里直接粘贴图片后,会自动走 Discourse 的上传接口,成功后插入与站点原生回复一致的 upload://... Markdown,而不是 base64 文本。

主要改动

1. 回复框支持粘贴图片自动上传

  • 在抽屉快速回复 textarea 上新增粘贴监听
  • 仅接管纯图片粘贴,避免误伤普通文本粘贴
  • 上传时先插入占位符,完成后再回填最终 Markdown

2. 对齐 Discourse 原生上传链路

  • 通过 POST /uploads.json 上传图片
  • 使用 upload_type=composer
  • 粘贴图片时带上 pasted=true
  • 优先使用服务端返回的 short_url 生成 upload://... Markdown

3. 补齐上传中的交互状态

  • 上传中状态会显示在回复状态栏
  • 图片上传未完成前,发送回复 按钮会禁用
  • 切换主题或关闭抽屉时,会中止未完成上传,避免旧结果串到新回复框

4. 文档同步

  • 更新 README.md
  • 更新 CHANGELOG.md
  • doc/agent-smoke-cases.md 中新增 AGENT-CHROME-011

为什么这样改

原来抽屉快速回复只支持纯文本 Markdown,不能像站点原始回复框那样直接粘贴图片。
这个缺口会让用户在侧边抽屉里回复时必须回到原帖页操作,和扩展“就地完成预览 + 回复”的目标不一致。

这次实现尽量保持最小改动,没有引入额外构建工具,也没有重写现有回复链路,只是在当前快速回复面板上补上与站点原生行为一致的图片上传能力。

验证

Tier 0

  • bash scripts/check.sh
  • 结果:通过

@majorcheng

Copy link
Copy Markdown
Contributor Author

方便快速回复发截图

@BobDLA BobDLA merged commit 67c8d2f into BobDLA:main Mar 20, 2026
1 check passed
@BobDLA

BobDLA commented Mar 20, 2026

Copy link
Copy Markdown
Owner

已合并到 main。补做了与最新 main 的冲突解决,保留了 PR #8 新增的 AGENT-CHROME-013,并保留本 PR 的粘贴上传用例;本地 Tier 0 与一条针对粘贴上传链路的 mock smoke 已通过,GitHub static-check 也已通过。感谢贡献。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants