fix(firestore-send-email): kit/extension parity – a required placeholder SMTP_PASSWORD overrides the password in SMTP_CONNECTION_URI
メンテナーはふだん 7 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 56/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- firebase, typescript
調査の方向性
Start with kits/firestore-send-email/src/helpers.ts around lines 93–99 and compare its SMTP password handling with the extension helper at functions/src/helpers.ts around lines 61–68. Read the kit README section around lines 157–169 and inspect the migration and secret binding references in the issue. Done means a kit migrated from a URI with an inline password can send successfully, with the intended behavior documented or covered.
索引モデルが issue の本文から書いたものです。
説明
firestore-send-email kit/extension parity. Priority: high. After migrating, every email fails to send if the SMTP password was kept in the connection URI.
Difference
- Extension:
SMTP_PASSWORDis optional. Installs that put the password inSMTP_CONNECTION_URI(the "backwards compatible" form in the param's description) have no secret, and the URI's password is used. - Kit:
- All four secrets are always bound, so
SMTP_PASSWORDmust exist and must not be empty.ext:migrateandfunctions:kits:installprompt for it, and Secret Manager rejects an empty value. - Any non-blank value then replaces the URI's password, the same as in the extension.
- Users who enter a placeholder (the README recommends placeholders for the unused secrets) get an authentication failure on every send. A placeholder also adds auth to SMTP relays that need none.
- All four secrets are always bound, so
Reproduced
- Extension installed with
SMTP_CONNECTION_URI=smtp://user:[email protected]:587and noSMTP_PASSWORD: mail sends (SUCCESS). firebase ext:migrateon that instance: it prompts "Enter a value for SMTP password". An empty answer fails withSecret Payload cannot be empty, so "placeholder" was entered.- The migrated kit fails every document with
delivery.error: "Error: Invalid login: 535 Authentication failed". A README-setup kit with the same URI and a placeholder secret fails the same way. - Setting the secret to a single space works around it: the kit trims it to unset, and mail sends.
Code
- Extension:
- extension.yaml#L212-L244 (URI with an inline password, and
SMTP_PASSWORDwithrequired: false) - helpers.ts#L61-L68
- extension.yaml#L212-L244 (URI with an inline password, and
- Kit:
- all four secrets bound: index.ts#L70, #L114, config.ts#L307-L312
- the override: helpers.ts#L93-L99
- the trim: export-config.ts#L95-L98
- README: README.md#L157-L169
Resolution
- Only use
SMTP_PASSWORDwhen the URI carries no password of its own. That is a behaviour change only for configs that set both. - Or, at a minimum, document in the README and the migration notes: move an inline password into
SMTP_PASSWORD, or set that secret to a single space.
- 主要言語
- TypeScript
- スター
- 979
- フォーク
- 436
- 平均マージ
- 4日 12時間
- マージ済み PR(30日)
- 13
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
firebase/extensions のほかの issue
-
kits parity type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
firebase/extensions#3303 ·
メンテナーはふだん 7 日以内に返信
-
kits parity type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
firebase/extensions#3301 ·
メンテナーはふだん 7 日以内に返信
-
documentation kits parity
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
firebase/extensions#3300 ·
メンテナーはふだん 7 日以内に返信
-
kits parity type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
firebase/extensions#3296 ·
メンテナーはふだん 7 日以内に返信
-
kits parity type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
firebase/extensions#3294 ·
メンテナーはふだん 7 日以内に返信
firebase/extensions の issue をすべて見る
似ている issue
-
ci-cd desktop size:low telemetry-improvement telemetry-round-1
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
vfarcic/dot-agent-deck#2079 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 83/100
メンテナーはふだん 1 日以内に返信
-
status:in-linear
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
🔊 a11y
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
betagouv/mon-entreprise#4726 ·
メンテナーはふだん 9 日以内に返信