An HTML-only inbound email reaches its trigger with HTML character references left in the text
维护者通常 1 天内回复
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 停滞
- 技术栈
- typescript
- 领域
- backend
调研方向
Start in server/src/responsibilities/email.ts at extractEmailText and trace the HTML branch that strips tags and collapses whitespace. Reproduce with the HTML-only sample in the issue, then check whether the extracted text decodes its character references to match the expected output. Issue #807 is already an open linked pull request.
由索引模型根据 Issue 内容生成。
描述
An email trigger (SES -> SNS -> /sns) reads an HTML-only mail through extractEmailText in server/src/responsibilities/email.ts. The HTML branch strips <style>, <script> and every tag, then collapses whitespace. It never decodes character references, so the payload text the Bot receives keeps them as written.
A mail whose only part is:
Content-Type: text/html; charset=utf-8
<p>Q3 numbers for AT&T: margin < 5%, we’re "on track"</p>
reaches the Bot as:
Q3 numbers for AT&T: margin < 5%, we’re "on track"
Expected
Q3 numbers for AT&T: margin < 5%, we’re "on track"
Outlook and most HTML editors write , & and numeric references such as ’ throughout a message, so an HTML-only mail is read, quoted and summarised with these sequences in it.
Reproduce
import { extractEmailText } from "./server/src/responsibilities/email";
extractEmailText("Content-Type: text/html\r\n\r\n<p>AT&T ok</p>");
// "AT&T ok"
Found on main at 12c3a69.
- 主要语言
- TypeScript
- 星标
- 6.6k
- 派生
- 914
- 平均合并
- 19 小时 22 分钟
- 30 天内合并 PR
- 140
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CopilotKit/OpenBot 的其他 Issue
-
Wrong key location at startup可能已有人在做 @charan-rathore 于 1 天前认领。 未关闭
难度 1/5 1 小时以内 新手友好度 68/100
CopilotKit/OpenBot#800 ·
维护者通常 1 天内回复
-
setup-learning.ts fails on Windows with "spawn npx.cmd EINVAL"可能已有人在做 @Caldas 于 4 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 80/100
CopilotKit/OpenBot#792 ·
维护者通常 1 天内回复
-
Remote AG-UI Bots can't use the browser in chat: `computer_*` calls refused as "unavailable for this headless turn"可能已有人在做 @charan-rathore 于 1 天前认领。 未关闭
难度 3/5 1-2 天 新手友好度 68/100
CopilotKit/OpenBot#804 ·
维护者通常 1 天内回复
-
Five out-of-subject findings from PR #770's tier-3 review (credential-revoking tests, single-user boot gate, OAuth client rotation, shared-use atomicity, untyped server/tests)可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 一周以上 新手友好度 22/100
CopilotKit/OpenBot#786 ·
维护者通常 1 天内回复
-
server/tests leaks database connections: 55 files open a pool and never close it可能已有人在做 @adamsiwiec1 于 3 天前认领。 未关闭
难度 3/5 1-2 天 新手友好度 70/100
CopilotKit/OpenBot#785 ·
维护者通常 1 天内回复
查看 CopilotKit/OpenBot 的全部 Issue
相似的 Issue
-
"Contains" page watch never matches when its text has a trailing space可能已有人在做 @RaphaelFakhri 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 77/100
CopilotKit/openmuse#184 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 67/100
bootstrap-vue-next/bootstrap-vue-next#3357 ·
维护者通常 1 天内回复
-
[quality] tide.ts: six mutation survivors in the merge-queue gate, draft refusal, fork-403 workflow-file diagnosis and getPull's fork flag are unpinned by any test可能已有人在做 @hivecommons-hive 今天认领。 未关闭agent/quality needs-kind stage/040-covered-by-pr testing
难度 2/5 1-3 小时 新手友好度 68/100
cncf/prow-github-actions#517 · 1 条评论 ·
维护者通常 2 天内回复
-
Unsampled pageload span is profiled when profileLifecycle is 'trace' (browser UI profiling)可能已有人在做 @Jxxunnn 今天认领。 未关闭Browser Waiting for: Product Owner
难度 2/5 1-3 小时 新手友好度 82/100
getsentry/sentry-javascript#25497 · 1 条评论 ·
维护者通常 1 天内回复