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分
- マージ済み PR(30日)
- 140
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 4/5 1週間以上 初心者へのやさしさ 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 日以内に返信