screentinker/scripts
ScreenTinker 88f2c63229
Some checks failed
CI / Unit tests (node --test) (push) Has been cancelled
CI / OpenAPI spec lint (push) Has been cancelled
CI / Android unit tests (Kotlin schedule evaluator vectors) (push) Has been cancelled
CI / Boot smoke + version check (push) Has been cancelled
Add scripts/force-update.js — operator CLI to force a check on one display
A display whose periodic update checker stops firing never pulls an APK on its
own, and a beta-channel opt-in alone doesn't reach it. The dashboard's force
button is the only lever that does, because the client's "update" handler calls
checkForUpdate(forced = true), which ignores both the backoff cap and the MDM
stand-down and hands the attempt budget back.

That command only exists over the /dashboard socket.io namespace, so there was
no way to send it from the server. socket.io-client isn't a dependency here, so
this speaks engine.io v4 directly over ws (reached out of server/node_modules,
same convention as reset-admin.js).

Owner-only by construction like mint-billing-token.js: no network endpoint, the
access control is shell access to the host. Resolves a display by id or unique
prefix, mints a short-lived platform_admin token, and reports whether the
command was delivered or queued for an offline display. --dry-run stops after
the namespace handshake so a rehearsal never puts an install dialog on a live
screen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uaeo9MvzKoyXuN6ZsbhtkL
2026-08-01 16:19:33 -05:00
..
backup.sh feat(ops): nightly backup script with point-in-time content history 2026-06-09 19:53:09 -05:00
bump-version.sh Merge docs/readme-catchup: README catch-up and CHANGELOG backfill 2026-07-30 18:39:56 -05:00
debian-13-setup.sh feat(setup): Debian 13 player/server install script (#137) 2026-06-23 23:47:22 -05:00
finalize-release.sh fix(release): keep .env.example in the tarball, and assert it is there 2026-07-24 21:41:58 -05:00
find-orphan-zone-items.js fix: per-item mute round-trip + multi-zone orphan-zone fallback & warnings 2026-06-22 23:16:29 -05:00
force-update.js Add scripts/force-update.js — operator CLI to force a check on one display 2026-08-01 16:19:33 -05:00
indexnow-submit.sh feat(seo): IndexNow + landing-page optimization (schema, FAQ, CWV, content) (#177) 2026-07-13 11:22:37 -05:00
install-service.sh Initial open source release 2026-04-08 12:14:53 -05:00
migrate-multitenancy.js fix(boot): auto-apply Phase 1 multi-tenancy migration on startup if not yet applied; refactor scripts/migrate-multitenancy.js to expose runMigration() with CLI wrapper preserved; pre-migration snapshot to db/remote_display.pre-migration-<timestamp>.db; belt-and-suspenders guards on migrateFolderWorkspaceIds + backfillActivityLogWorkspace so the inline backfills skip cleanly if workspaces table absent. Fixes startup crash on pre-multi-tenancy installs (semetra22 / Discord report) where 'npm start' after pulling latest hit migrateFolderWorkspaceIds and crashed with 'no such table: workspaces'. Self-hosters now get an automatic upgrade path without needing to run 'node scripts/migrate-multitenancy.js' manually. 2026-05-12 08:22:47 -05:00
mint-billing-token.js feat(#146): owner-only CLI to mint billing:read tokens (scripts/mint-billing-token.js) 2026-07-01 21:31:11 -05:00
parity-multitenancy.js Phase 1: multi-tenancy design doc + migration scripts 2026-05-11 19:37:15 -05:00
raspberry-pi-setup.sh fix(pi-setup): portable Chromium package name (chromium-browser | chromium) (#183) 2026-07-14 13:01:02 -05:00
remotedisplay.service Initial open source release 2026-04-08 12:14:53 -05:00
reset-admin.js fix(auth): back break-glass recovery with a revocable, auditable grant 2026-07-26 14:49:03 -05:00
upgrade.sh ci(release): make the pipeline prerelease-aware (#80) 2026-06-12 08:53:39 -05:00
windows-setup.bat Initial open source release 2026-04-08 12:14:53 -05:00