mirror of
https://github.com/screentinker/screentinker.git
synced 2026-08-13 13:53:12 -06:00
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 |
||
|---|---|---|
| .. | ||
| backup.sh | ||
| bump-version.sh | ||
| debian-13-setup.sh | ||
| finalize-release.sh | ||
| find-orphan-zone-items.js | ||
| force-update.js | ||
| indexnow-submit.sh | ||
| install-service.sh | ||
| migrate-multitenancy.js | ||
| mint-billing-token.js | ||
| parity-multitenancy.js | ||
| raspberry-pi-setup.sh | ||
| remotedisplay.service | ||
| reset-admin.js | ||
| upgrade.sh | ||
| windows-setup.bat | ||