fix: separate Google browser and server keys (#110)

Use a separate optional server key for Places and Street View, with consistent local and Pinokio configuration, server-first CLI selection, and credential isolation checks.

Original contribution by Tom-Neverwinter; reviewed and completed by Sameh Khamis.

Co-authored-by: Tom-Neverwinter <[email protected]>
Co-authored-by: Sameh Khamis <[email protected]>
This commit is contained in:
Tom-NeverwinterandSameh Khamis authored and GitHub committed 2026-09-11 15:08:23 -07:00
1 parent e9b6214ec4
commit 205c58efbd
21 files changed
+282 -28

No files matched your search

+4
View File
@@ -55,6 +55,8 @@ test('builds the keyless capability response only for a blank key', () => {
});
test('keyless Places routes stay successful after the Google quota is exhausted', async () => {
const previousServerKey = process.env.GOOGLE_MAPS_SERVER_API_KEY;
process.env.GOOGLE_MAPS_SERVER_API_KEY = '';
const previousKey = process.env.GOOGLE_MAPS_API_KEY;
const previousLimit = process.env.GEV_RATELIMIT_GOOGLE_PER_MIN;
process.env.GOOGLE_MAPS_API_KEY = '';
@@ -81,6 +83,8 @@ test('keyless Places routes stay successful after the Google quota is exhausted'
assert.deepEqual(textResponse.body, KEYLESS_PAYLOAD);
}
} finally {
if (previousServerKey === undefined) delete process.env.GOOGLE_MAPS_SERVER_API_KEY;
else process.env.GOOGLE_MAPS_SERVER_API_KEY = previousServerKey;
if (previousKey === undefined) delete process.env.GOOGLE_MAPS_API_KEY;
else process.env.GOOGLE_MAPS_API_KEY = previousKey;
if (previousLimit === undefined) delete process.env.GEV_RATELIMIT_GOOGLE_PER_MIN;