From 3053c6d95ef3a4f39ec604c408a07accd634e070 Mon Sep 17 00:00:00 2001 From: Rafael dos Santos Silva Date: Tue, 7 Apr 2020 16:58:21 -0300 Subject: [PATCH] FEATURE: Enable offline browsing and fullscreen PWA in iOS by default --- config/site_settings.yml | 2 +- spec/requests/metadata_controller_spec.rb | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/config/site_settings.yml b/config/site_settings.yml index 018d7390ccd..ea69ebe7022 100644 --- a/config/site_settings.yml +++ b/config/site_settings.yml @@ -1975,7 +1975,7 @@ uncategorized: hidden: true pwa_display_browser_regex: - default: "iPad|iPhone" + default: "a^" hidden: true app_association_android: diff --git a/spec/requests/metadata_controller_spec.rb b/spec/requests/metadata_controller_spec.rb index 3089bc3163a..4e00f5a1c6b 100644 --- a/spec/requests/metadata_controller_spec.rb +++ b/spec/requests/metadata_controller_spec.rb @@ -55,20 +55,20 @@ RSpec.describe MetadataController do expect(manifest["display"]).to eq("standalone") end - it 'defaults to display browser for iPhone' do - get "/manifest.webmanifest", params: {}, headers: { 'USER-AGENT' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' } - manifest = JSON.parse(response.body) - expect(manifest["display"]).to eq("browser") - end - - it 'can be changed to display standalone for iPhones using a site setting' do - SiteSetting.pwa_display_browser_regex = "a^" # this never matches - + it 'defaults to display standalone for iPhone' do get "/manifest.webmanifest", params: {}, headers: { 'USER-AGENT' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' } manifest = JSON.parse(response.body) expect(manifest["display"]).to eq("standalone") end + it 'can be changed to display browser for iPhones using a site setting' do + SiteSetting.pwa_display_browser_regex = "iPhone" + + get "/manifest.webmanifest", params: {}, headers: { 'USER-AGENT' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' } + manifest = JSON.parse(response.body) + expect(manifest["display"]).to eq("browser") + end + it 'uses the short_title if it is set' do title = 'FooBarBaz Forum' SiteSetting.title = title