mirror of
https://github.com/screentinker/screentinker.git
synced 2026-08-13 13:53:12 -06:00
Adding a 32s video gave it the flat 10s default, so it was cut off mid-play unless the operator looked up the runtime and typed it — per item, every time. The content row already carries the probed duration; it now becomes the default. The rule lives in one place (lib/item-duration.js) because the operator sees one product, not six insert paths: playlist add, assign-to-display, group assign, agency portal, content-only schedule, and the public API all share it. Only the playlist route defaulted before, and it stored the raw probe (31.7) which the Android player's optInt read silently truncated back to 31. Explicit values always win. Content with no trustworthy duration (image, widget, YouTube, remote URL, failed probe) keeps the 10s default, and a duration that is 0/negative/NaN or absurd (> 12h, i.e. a broken probe) falls back rather than reaching a device — a 0 makes the players schedule a 0ms advance, which self-loops and black-screens the TV. Dashboard: the add-item picker shows a clip's length, the assign-to-display modal pre-fills the duration field from the selected clip (never overwriting a value the operator typed), and onboarding stops hardcoding 10 on the first assignment. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Uaeo9MvzKoyXuN6ZsbhtkL |
||
|---|---|---|
| .. | ||
| 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 | ||
| player-parity.md | ||
| seo-directory-listings.md | ||