]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix: Support Safari mobile 47371/head
authorFerdinand Thiessen <opensource@fthiessen.de>
Wed, 21 Aug 2024 09:54:47 +0000 (11:54 +0200)
committerFerdinand Thiessen <opensource@fthiessen.de>
Wed, 21 Aug 2024 11:01:23 +0000 (13:01 +0200)
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
lib/private/AppFramework/Http/Request.php
lib/private/TemplateLayout.php

index f790dae226cb4108806fa0f67d6ab8d1a012484f..c877304c929882b3a7ac4cb505246fad9ad732ae 100644 (file)
@@ -38,6 +38,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
        public const USER_AGENT_CHROME = '/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\)( Ubuntu Chromium\/[0-9.]+|) Chrome\/[0-9.]+ (Mobile Safari|Safari)\/[0-9.]+( (Vivaldi|Brave|OPR)\/[0-9.]+|)$/';
        // Safari User Agent from http://www.useragentstring.com/pages/Safari/
        public const USER_AGENT_SAFARI = '/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Version\/[0-9.]+ Safari\/[0-9.A-Z]+$/';
+       public const USER_AGENT_SAFARI_MOBILE = '/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Version\/[0-9.]+ (Mobile\/[0-9.A-Z]+) Safari\/[0-9.A-Z]+$/';
        // Android Chrome user agent: https://developers.google.com/chrome/mobile/docs/user-agent
        public const USER_AGENT_ANDROID_MOBILE_CHROME = '#Android.*Chrome/[.0-9]*#';
        public const USER_AGENT_FREEBOX = '#^Mozilla/5\.0$#';
index 272557f51779f8230a3ff2ba7fc27a86f167b1f4..fd6b7b27a97fdfccb96848e13c19e920dc981e5d 100644 (file)
@@ -289,7 +289,7 @@ class TemplateLayout extends \OC_Template {
                }
 
                $request = \OCP\Server::get(IRequest::class);
-               if ($request->isUserAgent([Request::USER_AGENT_CLIENT_IOS, Request::USER_AGENT_SAFARI])) {
+               if ($request->isUserAgent([Request::USER_AGENT_CLIENT_IOS, Request::USER_AGENT_SAFARI, Request::USER_AGENT_SAFARI_MOBILE])) {
                        // Prevent auto zoom with iOS but still allow user zoom
                        // On chrome (and others) this does not work (will also disable user zoom)
                        $this->assign('viewport_maximum_scale', '1.0');