mirror of
https://github.com/screentinker/screentinker.git
synced 2026-08-14 06:16:20 -06:00
* Document the Node.js upgrade procedure and this build's reinstall requirement Upgrading the runtime does not go through scripts/upgrade.sh, so nothing reinstalls dependencies — which is precisely when the one remaining native module goes stale. The runbook now covers the version floor imposed by --env-file-if-exists, why the better-sqlite3 pin is exact, and why a version without a matching prebuild can turn Restart=always into a boot loop. Also records that this build changes dependencies in both directions: rolling back past it needs the reinstall too, because earlier builds import sharp at runtime and this one drops it from production dependencies. Kept deployment-neutral — no hostnames, addresses, or environment specifics. * Fix the only test that fails on Node 22 Node 22 added a built-in `navigator` global, defined as a getter with no setter. The test's shim assigned to it, which throws "only a getter" under 'use strict' on 22 while being a normal assignment on Node 20, where the global does not exist at all. It is configurable, so define it instead of assigning. Defining it unconditionally is also the better fixture: Node 22's own navigator reports the HOST locale, so a test reading its language would otherwise depend on the machine or CI runner it happens to run on. This was the single failure in an otherwise clean Node 22 run (1639/1640 with better-sqlite3 12.9.0), and it is confined to test code — no production server or frontend file assigns to globalThis.navigator. 1649/1649 on Node 20. |
||
|---|---|---|
| .. | ||
| 104-draft-preview-build-plan.md | ||
| 109-android-pip-visibility.md | ||
| 134-device-reporting.md | ||
| 146-hardening-fallout.md | ||
| 146-hardening-plan.md | ||
| 148-android-duplicate-socket-fix.md | ||
| 148-connection-lifecycle-analysis.md | ||
| 148-half-open-fix.md | ||
| 148-mass-disconnect-analysis.md | ||
| 148-server-eviction-storm-analysis.md | ||
| android-troubleshooting.md | ||
| billing-authz-plan.md | ||
| billing.md | ||
| device-owner-provisioning.md | ||
| local-ai-setup.md | ||
| maintenance-device-status-log.md | ||
| multi-tenancy-design.md | ||
| openapi.yaml | ||
| operations.md | ||
| player-parity.md | ||
| seo-directory-listings.md | ||
| sso-setup.md | ||