• v0.2.7 e381d626c1

    JellyTau v0.2.7
    Publish Documentation / Build & publish docs to gitea-pages (push) Successful in 5m20s
    Traceability Validation / Check Requirement Traces (push) Successful in 16s
    Build & Release / Run Tests (push) Failing after 7m23s
    Build & Release / Build Linux (push) Has been skipped
    Build & Release / Build Windows (push) Has been skipped
    Build & Release / Build Android (push) Has been skipped
    Build & Release / Create Release (push) Has been skipped

    dtourolle released this 2026-07-30 14:14:16 +00:00 | 186 commits to master since this release

    Fixes a family of Android video-player bugs that all shared one root
    cause: multiple layers competing to decide play/pause.

    Player

    • Tap gestures act immediately instead of deferring the first tap behind
      a 300ms timer. A first tap toggles play/pause; a second tap seeks
      (+30s right / -10s left) and re-toggles, so a double tap preserves the
      play state. The old timer raced the compatibility click Android's
      WebView synthesizes after a touch, producing a pause/unpause loop.
    • The compatibility click is now suppressed on every click target
      layered over the video, not just the
    • Taps on the controls bar drive their own buttons and no longer also
      fire container gestures, which had cancelled each other out and left
      the bottom play/pause button dead.
    • The play overlay still participates in tap gestures, so double-tap
      seeking keeps working while paused.
    • Transport authority (play/pause/toggle) moved into Rust for
      webview-rendered media: the controller tracks the state the element
      reports and drives it via ControlCommand, instead of the frontend
      reading el.paused off the DOM.
    • Seek targets clamp strictly inside the media, so a skip near the end
      cannot request an HLS segment past the end of the file.
    • An interrupted play() during HLS stall recovery is no longer reported
      as a player error.

    Testing

    • Adds VideoPlayer.tapSurface.test.ts, which renders the real component
      and dispatches real touch/click events. The previous pure-unit tests
      over the gesture helpers passed throughout every one of the bugs
      above, because each helper behaved as specified — the faults were in
      the composition, i.e. which element receives a tap after a re-render.

    Build

    • scripts/build-android.sh gains --device/--abi to build only the
      connected device's architecture instead of all four.
    Downloads