diff --git a/copyparty/util.py b/copyparty/util.py index f27a5807..cfcbbd48 100644 --- a/copyparty/util.py +++ b/copyparty/util.py @@ -497,7 +497,7 @@ application p7s=pkcs7-signature dcm=dicom shx=vnd.shx shp=vnd.shp dbf=x-dbf gml= application swf=x-shockwave-flash m3u=vnd.apple.mpegurl db3=vnd.sqlite3 sqlite=vnd.sqlite3 text ass=plain ssa=plain image jpg=jpeg xpm=x-xpixmap psd=vnd.adobe.photoshop jpf=jpx tif=tiff ico=x-icon djvu=vnd.djvu -image heic=heic-sequence heif=heif-sequence hdr=vnd.radiance svg=svg+xml +image heics=heic-sequence heifs=heif-sequence hdr=vnd.radiance svg=svg+xml image arw=x-sony-arw cr2=x-canon-cr2 crw=x-canon-crw dcr=x-kodak-dcr dng=x-adobe-dng erf=x-epson-erf image k25=x-kodak-k25 kdc=x-kodak-kdc mrw=x-minolta-mrw nef=x-nikon-nef orf=x-olympus-orf image pef=x-pentax-pef raf=x-fuji-raf raw=x-panasonic-raw sr2=x-sony-sr2 srf=x-sony-srf x3f=x-sigma-x3f diff --git a/copyparty/web/baguettebox.js b/copyparty/web/baguettebox.js index d4d5534c..ad0f7ada 100644 --- a/copyparty/web/baguettebox.js +++ b/copyparty/web/baguettebox.js @@ -36,7 +36,9 @@ window.baguetteBox = (function () { touchFlag = false, // busy scrollCSS = ['', ''], scrollTimer = 0, - re_i = /^[^?]+\.(a?png|avif|bmp|gif|heif|jfif|jpe?g|jxl|svg|tiff?|webp)(\?|$)/i, + re_i = APPLE ? + /^[^?]+\.(a?png|avif|bmp|gif|hei[cf]s?|jfif|jpe?g|jxl|svg|tiff?|webp)(\?|$)/i : + /^[^?]+\.(a?png|avif|bmp|gif|jfif|jpe?g|jxl|svg|tiff?|webp)(\?|$)/i, re_v = /^[^?]+\.(webm|mkv|mp4|m4v|mov)(\?|$)/i, re_cbz = /^[^?]+\.(cbz)(\?|$)/i, anims = ['slideIn', 'fadeIn', 'none'], diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index cffbf1b0..7f5e4495 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -5,8 +5,7 @@ var J_BRW = 1; if (window.rw_edit === undefined) alert('FATAL ERROR: receiving stale data from the server; this may be due to a broken reverse-proxy (stuck cache). Try restarting copyparty and press CTRL-SHIFT-R in the browser'); -var XHR = XMLHttpRequest, - img_re = /\.(a?png|avif|bmp|gif|heif|jpe?g|jfif|svg|webp|webm|mkv|mp4|m4v|mov)(\?|$)/i; +var XHR = XMLHttpRequest; if (1) Ls.eng = { @@ -1177,6 +1176,11 @@ check_image_support('webp', "data:image/webp;base64,UklGRhoAAABXRUJQVlA4TA0AAAAv check_image_support('jxl', "data:image/jxl;base64,/woIAAAMABKIAgC4AF3lEgA="); +var img_re = APPLE ? + /\.(a?png|avif|bmp|gif|hei[cf]s?|jpe?g|jfif|svg|webp|webm|mkv|mp4|m4v|mov)(\?|$)/i : + /\.(a?png|avif|bmp|gif|jpe?g|jfif|svg|webp|webm|mkv|mp4|m4v|mov)(\?|$)/i; + + function set_files_html(html) { var files = ebi('files'); try {