Merge upstream/main: bikeshare Toronto and scoped city failures

Upstream's #641 (bikeshare Toronto, city failures scoped to range with
partial outages read DEGRADED/STALE) replaced the layer-level GBFS
error strings this branch had msg()-marked, in the two paths that
conflicted.

- ingestion.js/viewport.js taken as upstream's per-city
  _failedCityIds tracking; the layer-level error assignments are gone.
- 'GBFS fetch error' still reaches the panel via stats.error from
  controls.js, so its mark moved there (translateFeedError keeps
  translating it).
- 'GBFS status update failed' no longer exists anywhere: pruned from
  es/ru and from the layerStatusText SITES table, which now pins the
  controls.js site instead of the removed ones.

Also brings #581 (upstream-read caps, OpenSky 429 cooldown) - no i18n
surface.

npm run i18n: complete (2553), no unmarked strings. npm test: only the
pre-existing environmental OPENAI_API_KEY leak in devFreshDotenv fails.
Build passes.
This commit is contained in:
Meir Michanie committed 2026-10-15 23:02:30 +02:00
commit 6fe8327ccb
30 files changed
+1102 -96

No files matched your search

+1 -2
View File
@@ -10,8 +10,7 @@ import { setLocale, translateKnown } from './index.js';
const SITES = [
['../layers/streetLevel/index.js', 'loading coverage...'],
['../layers/firms/ingestion.js', 'live feed unavailable'],
['../layers/bikeshare/viewport.js', 'GBFS fetch error'],
['../layers/bikeshare/ingestion.js', 'GBFS status update failed'],
['../layers/bikeshare/controls.js', 'GBFS fetch error'],
[
'../layers/streetLevel/viewerHost.js',
'Open the Street Level panel to view imagery',
-1
View File
@@ -2210,7 +2210,6 @@
"loading coverage...": "cargando cobertura...",
"live feed unavailable": "fuente en vivo no disponible",
"GBFS fetch error": "error al obtener datos GBFS",
"GBFS status update failed": "falló la actualización del estado GBFS",
"Open the Street Level panel to view imagery": "Abre el panel \"A pie de calle\" para ver las imágenes",
"Image could not be opened": "No se pudo abrir la imagen",
"Mapillary rejected MAPILLARY_CLIENT_TOKEN — replace it in Provider Settings": "Mapillary rechazó MAPILLARY_CLIENT_TOKEN — sustitúyelo en Ajustes de proveedores",
-1
View File
@@ -2246,7 +2246,6 @@
"loading coverage...": "загрузка покрытия...",
"live feed unavailable": "поток в реальном времени недоступен",
"GBFS fetch error": "ошибка загрузки GBFS",
"GBFS status update failed": "не удалось обновить статус GBFS",
"Open the Street Level panel to view imagery": "Откройте панель «Уличные снимки», чтобы их посмотреть",
"Image could not be opened": "Не удалось открыть снимок",
"Mapillary rejected MAPILLARY_CLIENT_TOKEN — replace it in Provider Settings": "Mapillary отклонил MAPILLARY_CLIENT_TOKEN — замените его в «Настройках провайдеров»",