Commits
-
Shared 1.27.0: openvibe-shared/express-async. Express 4 ignores what a handler returns, so a promise an async handler rejects (a database error, a thrown problem) became an unhandled rejection, and Node 22 ends the process on one; the move to PostgreSQL made most handlers async (nine services had 5-41 such routes, confirmed to exit). routeAsyncErrors(app) patches the app's own Express 4 Layer once so the rejection reaches next(err) and the service's error handler answers, as a synchronous throw always did; error handlers too; a no-op on Express 5. instrument() calls it, so every service is covered by a pin bump. npm test 40/40.OpenVibers · 28 Sept 2026
cded2bc -
Shared 1.26.0: async gauges. A gauge's collect() may return a promise (a database read, now that services are on PostgreSQL, ADR-035). The /metrics handler awaits every async collect together through the new registry.metricsAsync({ timeoutMs = 2000 }); one that rejects or runs past its budget is left out of that scrape, never reported stale, as a throwing one already was. The synchronous registry.metrics() is unchanged and leaves an async gauge out. The handler is an async function; its callers need no change. npm test 39/39.OpenVibers · 28 Sept 2026
49ce9d6 -
metrics: event-loop lag excludes the sampling interval (an idle loop read ~20 ms before)OpenVibers · 23 Sept 2026
1173562 -
metrics: an array route is labelled by the plain member that matchedOpenVibers · 23 Sept 2026
31572ca -
1.3.0: openvibe-shared/metrics (Prometheus registry, golden-signal HTTP middleware by route template, process metrics, release_info, loopback-only /metrics) and openvibe-shared/ready (named required/optional checks; degraded never reads as down)OpenVibers · 23 Sept 2026
59fa8f9