feat(web): hold a Screen Wake Lock while reading or listening
Release / build-and-push (push) Successful in 3m12s
Release / build-and-push (push) Successful in 3m12s
New wake-lock.ts engine (sanctioned island, dependency-injected for tests): feature-detected navigator.wakeLock, silent no-op when unsupported or denied, and the spec-mandated force-release-on-hide → re-acquire-on-visible loop handled via the sentinel release event. The player acquires on play and releases on pause (sleep-timer fades ride the same path); the reader holds the lock for the session. Both gate on the keep_screen_awake preference — data-keep-awake on the player root, keepScreenAwake in readerInitExpr. Hidden-tab playback intentionally does not keep the screen awake: the spec forbids screen wake locks for hidden documents.
This commit is contained in:
1 parent
c645b8e207
commit
afbf1029a9
8 files changed
+375
-56
No files matched your search
@@ -40,6 +40,7 @@ templ AudioReader(user User, metadata ReaderMetadata) {
|
||||
data-title={ metadata.Title }
|
||||
data-cover={ metadata.CoverImagePath }
|
||||
data-file-url={ metadata.FileURL }
|
||||
data-keep-awake={ metadata.KeepScreenAwake }
|
||||
data-json={ fmt.Sprintf(`{"chapterEndpoint":"%s","progressEndpoint":"%s"}`,
|
||||
"/api/media-items/"+metadata.MediaItemID+"/chapters",
|
||||
"/api/media-items/"+metadata.MediaItemID+"/progress") }
|
||||
|
||||
Reference in new issue
Block a user