diff --git a/src/lib/media/util.ts b/src/lib/media/util.ts index 105c49066d..da0b306d4f 100644 --- a/src/lib/media/util.ts +++ b/src/lib/media/util.ts @@ -36,12 +36,14 @@ export type ImgproxyPreset = | 'feed_thumbnail' | 'download' +// Using capturing groups here instead of lookbehinds in order to support older versions of Safari. +// https://bugs.webkit.org/show_bug.cgi?id=174931 const IMGPROXY_PRESET_RE = - /(?<=\/img\/)(default|avatar_thumbnail|avatar|banner|feed_fullsize|feed_thumbnail|download)(?=\/)/ + /(\/img\/)(default|avatar_thumbnail|avatar|banner|feed_fullsize|feed_thumbnail|download)(\/)/ /** * Replaces any imgproxy preset in a CDN URI with the given preset. */ export function convertCdnPreset(uri: string, preset: ImgproxyPreset): string { - return uri.replace(IMGPROXY_PRESET_RE, preset) + return uri.replace(IMGPROXY_PRESET_RE, `$1${preset}$3`) }