mirror of
https://github.com/ether/etherpad-lite.git
synced 2026-07-17 16:47:05 +00:00
ueberdb2 6.1.10 rewrote the cache/buffer layer (CacheAndBufferLayer.ts), replacing the constructor's always-on, *referenced* `setInterval` flush timer with a lazily-armed `setTimeout` that is `.unref()`'d and only created when there are dirty keys. On a fresh, empty dirty DB there are no dirty keys, so no flush timer is ever armed and ueberdb2 no longer anchors Node's event loop. In the packaged (.deb/systemd) production boot this exposes a startup window where the loop has no referenced handle and the process exits cleanly (code 0) before `server.listen()` binds the port — so the server never serves /health. Symptom on develop: the Debian-package amd64 smoke test failed on three consecutive pushes (#7966 ueberdb2 6.1.9->6.1.12, then #7965, #7967), with the service logging the version banner then "Deactivated successfully" and the health check on :9001 never connecting. Backend/Docker/downstream-smoke stayed green because they keep the loop alive by other means; only the bare fresh-empty-dirty-DB packaged boot hits the gap. ueberdb2 6.1.12 is the latest published release, so there is no fixed version to roll forward to yet — pin back to the last green release (6.1.9) on both src/ and bin/. Also add a `pull_request` trigger to the Debian-package workflow (scoped to the same production-footprint paths). The smoke step is the only check that catches this "boots then exits before binding" class of regression, but it previously ran only on push to develop — i.e. *after* merge — which is exactly why the Dependabot bump turned develop red instead of being blocked at PR time. The release/apt-publish jobs are tag-guarded, so PRs run the build+smoke job only. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| deb-src | ||
| nsis | ||
| plugins | ||
| buildDebian.sh | ||
| buildForWindows.sh | ||
| checkAllPads.ts | ||
| checkPad.ts | ||
| cleanRun.sh | ||
| commonPlugins.ts | ||
| compactAllPads.ts | ||
| compactPad.ts | ||
| compactStalePads.ts | ||
| convertSettings.json.template | ||
| createUserSession.ts | ||
| debugRun.sh | ||
| deleteAllGroupSessions.ts | ||
| deletePad.ts | ||
| extractPadData.ts | ||
| fastRun.sh | ||
| functions.sh | ||
| generateReleaseNotes.ts | ||
| importSqlFile.ts | ||
| installDeps.sh | ||
| installer.ps1 | ||
| installer.sh | ||
| installLocalPlugins.sh | ||
| make_docs.ts | ||
| migrateDB.ts | ||
| migrateDirtyDBtoRealDB.ts | ||
| package.json | ||
| plugins.ts | ||
| push-after-release.sh | ||
| rebuildPad.ts | ||
| release.ts | ||
| repairPad.ts | ||
| run-frontend-tests-with-disables.sh | ||
| run.sh | ||
| safeRun.sh | ||
| setup-trusted-publishers.sh | ||
| tsconfig.json | ||
| updatePlugins.sh | ||