From aa49892e393f0b08dee6234947a496f6c5d2dabc Mon Sep 17 00:00:00 2001 From: wukko Date: Sun, 29 Jun 2025 10:53:02 +0600 Subject: [PATCH] web: update ios safari version regex since ipados pretends to be macos, there's no "iphone os" in its user agent. this (hopefully) fixes remuxing/transcoding compatibility with old ipados versions --- web/src/lib/device.ts | 2 +- web/src/lib/libav.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web/src/lib/device.ts b/web/src/lib/device.ts index a9686024..a5cbc324 100644 --- a/web/src/lib/device.ts +++ b/web/src/lib/device.ts @@ -38,7 +38,7 @@ if (browser) { const iPhone = ua.includes("iphone os"); const iPad = !iPhone && ua.includes("mac os") && navigator.maxTouchPoints > 0; - const iosVersion = Number(ua.match(/iphone os (\d+)_/)?.[1]); + const iosVersion = Number(ua.match(/version\/(\d+)/)?.[1]); const modernIOS = iPhone && iosVersion >= 18; const iOS = iPhone || iPad; diff --git a/web/src/lib/libav.ts b/web/src/lib/libav.ts index 64aa59b8..598000f2 100644 --- a/web/src/lib/libav.ts +++ b/web/src/lib/libav.ts @@ -9,7 +9,7 @@ const ua = navigator.userAgent.toLowerCase(); const iPhone = ua.includes("iphone os"); const iPad = !iPhone && ua.includes("mac os") && navigator.maxTouchPoints > 0; const iOS = iPhone || iPad; -const modernIOS = iOS && Number(ua.match(/iphone os (\d+)_/)?.[1]) >= 18; +const modernIOS = iOS && Number(ua.match(/version\/(\d+)/)?.[1]) >= 18; export default class LibAVWrapper { libav: Promise | null;