You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The extension declared EXCLUDE_OLD_DATA and USE_NEW_SNAPSHOT_QUERY_SYNTAX as yes/no selects (firestore-bigquery-export/extension.yaml) and read them with === "yes" (functions/src/config.ts:195-196). The kit declares both with defineBoolean (kits/firestore-bigquery-export/src/config.ts:400 and :407), and firebase-functions' BooleanParam resolves the env var by comparing it to the string true (lib/params/types.js).
So a .env carried over from the extension with EXCLUDE_OLD_DATA=yes silently reads as false: old_data is written where the extension omitted it. USE_NEW_SNAPSHOT_QUERY_SYNTAX=yes likewise reads as false, so the latest-snapshot view is created with the legacy syntax.
The README documents the rename ("change any yes to true in your .env"), so this is a known divergence, but it is silent at runtime and is not recorded on the parity tracker.
Options:
Read both via defineString with validationRegex: /^(true|false|yes|no)$/ and map yes to true, so a migrated .env keeps working.
Keep defineBoolean but add a validationRegex that rejects yes/no at deploy, so the mismatch fails loudly instead of flipping behaviour.
The extension declared
EXCLUDE_OLD_DATAandUSE_NEW_SNAPSHOT_QUERY_SYNTAXasyes/noselects (firestore-bigquery-export/extension.yaml) and read them with=== "yes"(functions/src/config.ts:195-196). The kit declares both withdefineBoolean(kits/firestore-bigquery-export/src/config.ts:400and:407), and firebase-functions'BooleanParamresolves the env var by comparing it to the stringtrue(lib/params/types.js).So a
.envcarried over from the extension withEXCLUDE_OLD_DATA=yessilently reads asfalse:old_datais written where the extension omitted it.USE_NEW_SNAPSHOT_QUERY_SYNTAX=yeslikewise reads asfalse, so the latest-snapshot view is created with the legacy syntax.The README documents the rename ("change any
yestotruein your.env"), so this is a known divergence, but it is silent at runtime and is not recorded on the parity tracker.Options:
defineStringwithvalidationRegex: /^(true|false|yes|no)$/and mapyestotrue, so a migrated.envkeeps working.defineBooleanbut add avalidationRegexthat rejectsyes/noat deploy, so the mismatch fails loudly instead of flipping behaviour.1 is the parity choice. Tracked in #2974.