fix(firestore-send-email): kit/extension parity – invalid .env values leave mail unprocessed or silently change behaviour
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- firebase, typescript
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- TypeScript
- Stelle
- 979
- Fork
- 436
- Merge medio
- 2g 13h
- PR unite (30g)
- 18
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di firebase/extensions
-
fix(firestore-send-email): kit/extension parity – ext:migrate truncates settings containing #Apertakits parity type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
firebase/extensions#3303 ·
I maintainer di solito rispondono entro 1 giorno
-
kits parity type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
firebase/extensions#3301 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation kits parity
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
firebase/extensions#3300 ·
I maintainer di solito rispondono entro 1 giorno
-
kits parity type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
firebase/extensions#3296 ·
I maintainer di solito rispondono entro 1 giorno
-
kits parity type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
firebase/extensions#3294 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di firebase/extensions
Issue simili
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
microsoft/playwright#43875 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
calagopus/panel#285 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 88/100
adobe/react-spectrum#10909 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Run the dependency drift checkForse già presa @spaceninja l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
cloudfour/lighthouse-parade#449 ·
I maintainer di solito rispondono entro 1 giorno