github screentinker/screentinker v1.9.2
ScreenTinker v1.9.2

latest releases: v2.6.1, v2.6.0, v2.5.1...
3 months ago

ScreenTinker v1.9.2

Changes

  • chore(release): v1.9.2
  • docs(#146): 1.9.2 changelog / release notes (major hardening + billing + player fixes)
  • fix(#146): web player — guard PlayerMediaHealth calls by METHOD, not object (stale-module TypeError)
  • fix(#146): web player — reconnect drops video to "Waiting for content" (idle reset over live playback)
  • fix(#146): web player — no-change refresh loses video (keeps audio); re-attach idempotently
  • feat(#146): owner-only CLI to mint billing:read tokens (scripts/mint-billing-token.js)
  • feat(#146): billing:read scoped token — dual-path auth for the Usage Report (Option C)
  • feat(#146): usage metering + admin-gated Billable Screens report (contract system-of-record)
  • feat(#146): always-on devices_connected + admin-toggleable /api/status debug block
  • feat(#146): /api/status.debug throughput counters (gauges -> gauges + work done)
  • chore(release): v1.9.2-beta7
  • docs(#146): fallout doc — auto-quarantine (P0) + band-aware downloads (P1.2)
  • test(#146) P3.9: de-flake storm harness — keep max-gap invariant, drop tick-count
  • feat(#146) P3.8: soak observability block on /api/status
  • fix(#146) P3.7: coalescer carries the PEAK numeric over the window
  • test(#146) P2.6: boot health during a large startup trim — confirmed
  • test(#146) P2.5: buildPlaylistPayload cost under mass reconnect — mitigated
  • test(#146) P1.4: block-endpoint authz — owner allowed, others denied
  • fix(#146) P1.3: per-feature env kill switches + fallout doc section
  • fix(#146) P1.2: band-aware download caps — serve freely when healthy
  • fix(#146) P1.1: resolveIdentity short-circuits on device_id (zero-lookup hot path)
  • fix(#146) P0: auto-quarantine is in-memory + time-limited, never a DB block
  • docs(#146): hardening fallout summary + measured before/after blocking costs
  • test(#146): storm harness — the bulletproof proof
  • fix(#146) E: log/write self-protection — coalesced logs, batched telemetry, bounded maps
  • fix(#146) D: operator block — close the device_id-less gap + dashboard toggle
  • fix(#146) C: OTA hardening under SNAT — no per-request fs, global download caps
  • fix(#146) B: sustained flap-rate limiter (the trigger fix), SNAT-safe identity chain
  • fix(#146) A: non-blocking maintenance — chunked+yield+band-gate all sweeps
  • docs(#146): event-loop hardening plan — blast-radius audit + failure model + sequenced plan
  • Update Italian translation

Artifacts

  • screentinker-1.9.2.tar.gz - bundle: server + frontend source + the Tizen .wgt (the signed Android APK is added at the root during release finalization).
  • ScreenTinker.wgt - Tizen TV web app, unsigned - for inspection only.
    Sign it with your own Samsung certificate (Tizen Studio + a profile that includes
    your TV's DUID) to install, or - easiest - point a Tizen TV browser / URL Launcher
    at https://<your-instance>/player (no signing needed).
  • Docker image: ghcr.io/screentinker/screentinker:1.9.2 (also :latest).
  • ScreenTinker.apk - signed Android player (attached during release finalization).

Don't miss a new screentinker release

NewReleases is sending notifications on new releases.