fix(firestore-send-email): kit/extension parity – invalid .env values leave mail unprocessed or silently change behaviour
メンテナーはふだん 7 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 72/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- firebase, typescript
調査の方向性
Start with kits/firestore-send-email/src/export-config.ts, helpers.ts, and the startup path in index.ts; compare how .env values are handled with assertRequiredParams and the extension validation in firestore-send-email/extension.yaml. Then review the README section at kits/firestore-send-email/README.md#L235-L246. Done means startup validates the listed settings and blank URI case, errors clearly, and the README explains quoting JSON values in .env.
索引モデルが issue の本文から書いたものです。
説明
firestore-send-email kit/extension parity. Priority: medium. Some bad or blank settings in .env stop mail without any ERROR state. Others silently change behaviour. The extension rejected all of these at install.
Difference
- Extension: the platform rejects values outside a select list or regex, and fills blank optional params with their defaults.
- Kit: values read from
.envare never checked (only prompt answers are), and the runtime coerces them:
.env value |
Extension | Kit |
|---|---|---|
TTL_EXPIRE_TYPE=days (or a label such as Day) |
rejected at install | deploys; every document is left with no delivery field. The only log is Unhandled error occurred during processing: Error: Unknown TTL expire type: days at INFO |
SMTP_CONNECTION_URI= with AUTH_TYPE=UsernamePassword |
allowed | every document is left with no delivery field; only a WARNING Invalid URI on each call |
TTL_EXPIRE_VALUE = 0, abc or 1.5 / -1 |
rejected | becomes 1 / expireAt in the past |
AUTH_TYPE=oauth2 or ApiKey |
rejected | silently uses the SMTP URI |
OAUTH_SECURE=yes, TRUE or blank |
rejected / blank becomes true |
false |
TLS_OPTIONS="{\"ca\":\"…\n…\"}" (double-quoted PEM) |
stored as typed | the .env parser turns \n into newlines, the JSON fails to parse, and certificate checks are turned off with only a warning |
The README says a bad value "fails at send time with delivery.state: ERROR". That isn't true for the first two rows.
Reproduced
TTL_EXPIRE_TYPE=daysand a blankSMTP_CONNECTION_URIwere each deployed on a kit instance. Documents written afterwards never got adeliveryfield, and the logs above appeared on every call.- Extensions
validateOnlyrejecteddays,0,abcandoauth2. - The other rows come from running the kit's config code and the CLI's
.envparser locally.
Code
- Extension: extension.yaml#L198-L210, #L262-L274, #L356-L392
- Kit:
- TTL throw: handlers.ts#L64, called inside the
PENDINGtransaction at #L185 - startup retried on every call: index.ts#L82-L106
|| 1: export-config.ts#L115- TLS fallback: helpers.ts#L44-L52
- README: README.md#L235-L246
- TTL throw: handlers.ts#L64, called inside the
Resolution
Validate select and int values once at startup, the way assertRequiredParams handles blanks, and fail loudly. That covers TTL_EXPIRE_TYPE, TTL_EXPIRE_VALUE, AUTH_TYPE, OAUTH_SECURE and a blank URI under UsernamePassword. Correct the README section, and tell users to single-quote JSON values in .env.
- 主要言語
- TypeScript
- スター
- 979
- フォーク
- 435
- 平均マージ
- 4日 22時間
- マージ済み PR(30日)
- 15
環境構築
- 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
-
[Text] Add Reading Time & Word Count Estimator for Reflection Notes in src/lib/text/reading-time.tsオープンarea:core beginner-friendly community contributions-welcome difficulty:easy enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
[fullsend] E2E: scorecard — filecheck GitLab entity metrics unavailable due to initialDelay timingオープンe2e-failure ready-to-code
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
redhat-developer/rhdh-plugin-export-overlays#4698 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
devswha/herdr-web-ui#2884 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
b:minor bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
software-mansion/argent#1771 ·
メンテナーはふだん 1 日以内に返信