From 5b6cef0679e7d69d6bbdcca6b1a808c92efdfb39 Mon Sep 17 00:00:00 2001 From: flaburgan Date: Sat, 27 Apr 2019 13:46:33 +0200 Subject: [PATCH 1/2] Remove legacy mobile web-capable --- app/assets/images/branding/apple-splash.png | Bin 17720 -> 0 bytes app/controllers/manifest_controller.rb | 22 ++++++++++++++++++ app/views/{application => layouts}/_head.haml | 2 -- app/views/layouts/application.html.haml | 2 +- app/views/layouts/application.mobile.haml | 5 ---- config/routes.rb | 1 + 6 files changed, 24 insertions(+), 8 deletions(-) delete mode 100644 app/assets/images/branding/apple-splash.png create mode 100644 app/controllers/manifest_controller.rb rename app/views/{application => layouts}/_head.haml (92%) diff --git a/app/assets/images/branding/apple-splash.png b/app/assets/images/branding/apple-splash.png deleted file mode 100644 index 8ba65c01d323885c333f7950936a00f1214f9847..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17720 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 "cleartype", :content => "on"}/ - / iOS mobile web app indicator - / NOTE(we will enable these once we don't have to rely on back/forward buttons anymore) - /%meta{:name => "apple-mobile-web-app-capable", :content => "yes"} - /%link{:rel => "apple-touch-startup-image", :href => "/images/apple-splash.png"} - %body #app = render "layouts/header" diff --git a/config/routes.rb b/config/routes.rb index 873299b9a..7f1e36102 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -239,4 +239,5 @@ Rails.application.routes.draw do end get ".well-known/openid-configuration", to: "api/openid_connect/discovery#configuration" + get "manifest.json", to: "manifest#show" end From 2073791ceeca5c63554ff58b1d17bc1767e53e79 Mon Sep 17 00:00:00 2001 From: flaburgan Date: Sat, 27 Apr 2019 11:52:48 +0200 Subject: [PATCH 2/2] Add a manifest.json file as a first step to make diaspora* a PWA fixes #7997 closes #7998 --- Changelog.md | 1 + .../images/branding/logos/app-icon-512.png | Bin 0 -> 25524 bytes app/assets/images/branding/logos/app-icon.png | Bin 0 -> 8991 bytes app/controllers/manifest_controller.rb | 33 ++++++++++-------- app/views/layouts/_head.haml | 2 ++ app/views/layouts/application.mobile.haml | 2 +- config/initializers/secure_headers.rb | 3 +- graphics/app-icon.svg | 4 +++ 8 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 app/assets/images/branding/logos/app-icon-512.png create mode 100644 app/assets/images/branding/logos/app-icon.png create mode 100644 graphics/app-icon.svg diff --git a/Changelog.md b/Changelog.md index a20434771..0fe58b64f 100644 --- a/Changelog.md +++ b/Changelog.md @@ -5,6 +5,7 @@ ## Bug fixes ## Features +* Add a manifest.json file as a first step to make diaspora* a Progressive Web App [#7998](https://github.com/diaspora/diaspora/pull/7998) # 0.7.10.0 diff --git a/app/assets/images/branding/logos/app-icon-512.png b/app/assets/images/branding/logos/app-icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..ec40b11155f594104b8224a8646c61a52c524e92 GIT binary patch literal 25524 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

kW(pIb0 z`YY|(Yk6bixdgtBTgUZ0PNmBmbRMuxDEzL>mG|Pv1Y^a!NJSzFkqSwPTHn~Ln(TsF5#|LeZj`RZEu(LT~mxAwA%c{ z(_`h|{%rVOyVazPHdxnqgV^&F(@dLQtAX;e|4<4C76u&(4p-GhB@E*2JwA(>+w z<0|AQ-BPXC8{dpStF`tB3_V~Ga{O)!m)Nn(-^mX>>KSkra*Xpz z?+2K|DiKXMPV!3on_Zdpo2{W&XEOn|s%#8nJ7?dDRogvRyQv5$WrgUW7V*d1gPHY? zLEq6h3Yp=-0`sw6c0g&rGUoVY(2VMQ3vz`8bO^@YS7} z>N5>mk-&e|f7)gWlg8ojy7#&zuXeyc1k_G1X6}z>KWd~Sg}>zpYB+3EtO?lSSaR|H z(4w@jMs3pd^!W7NPAM0eWuQxUG4k#$){?R#r+W`~tHeplQ`Mj*%WSCwv4uwrG8NI8 zq`3xump44il&->Afftx$wte{l`z?zdL80E;%3&$B1TSILTz~6DY1dKc7Duo~gnr!f z4^+-u8^!1-tg&qKuZ9qj)Xce%a2T?E*N6#Sx=l5if- z^S}}d0meow4^JZo)A>BUZgjxVkyWFq_GG+&m`;v*Hr87>M85agIr#bW>jDC*dXO}S zVP;NZq+Dw4>cyyxUne7OTCAzzhV0qY$j_*R=8rXBr(I6OJQfdQ)6>)O05{QvrPBQO z_cLIeb1v@%rw*%2$w3=>;>^Mjdmm$E9l~_ASps=v4?8_tVcr^2b+o_#oyes09|rt! z&?sS^teT2I7vok(4MM)jNImO2sA^h{NoVcf8&$PJ;1Q)@8*x+46(-wX%-OVGEX#WM!&524}Hc9k?Y7}PxNV#DKUysqB@R*mTUHsmlT zhAF{@WDyeGzydDTYz%drNg_HOvWD{|i<~wwrFcwOjR(~kywb~bC{*fs2dyqs>hb+5 z^69ClW{{i^DFEi_Aj3&NSWPBpiOP$k%l*VOx&_w%z;rL`RQ$vrF_Z`+V7i?tnO5~! zZk;aI!PZQ;7#UEPV&=DgLjGw+Rb_mQAlc5_7lmWiu-atw3BJ;=T<0 zZBs|yTqu~nciAtP-GmSC?G7+~tiPCl^0GiYw&(A+(;Z$JB`!X`i}XWH(kKA#XM0kBrC~{ypFdSMZX!*U!QHd4o|*+D<1|0HrU$ zwH`0@OQ&!?X@v9Z$7tPEaNPH2*^4suX?z6$jKu%; z0yw4x1)X8c;;aPUr^A%^vAL&Rh3`_AE|2?=kjIUaLetx*S?O91*z*)%Q zo1|t$h`39UX%Tan{fOml@A6i}-4#gt742nOYNKY>BhpI%a(Z>8X(SY`i4t6^w)c z%KlF3?=a#8BIC&F_?qnPb`>9cdTlF;K-;2Wu;ZD3XFmZr5J3vKj+*MSG-GH>D$J|H z-!vL=2ee~7Cz=Mf5mwQi#27;SHg)gbdMNUHylT`2YM=01<2;^y6vw)Uelq?^_Pm`A zQ9<5+?Vm;gBm?|f0KK*19hQ<|voF@XI>HP43C1cTwG?5SyPpBlK&0oTj1G}JyN!*_ zyi(;JD@kJ#G~ViKqx@7D#Az`4ihwZ`8xv!Vpw>AUy^91TeKv%IgZj-4$2kd96x~cGRDnT;{topn^^#eil%b4qE-0+0GXE|l>h($ literal 0 HcmV?d00001 diff --git a/app/controllers/manifest_controller.rb b/app/controllers/manifest_controller.rb index cf6f5c417..ccc45bdcd 100644 --- a/app/controllers/manifest_controller.rb +++ b/app/controllers/manifest_controller.rb @@ -1,22 +1,27 @@ # frozen_string_literal: true class ManifestController < ApplicationController - def show - render json: '{ - "short_name": "diaspora*", - "name": "diaspora*", - "description": "diaspora* is a free, decentralized and privacy respectful social network", - "icons": [ + def show # rubocop:disable Metrics/MethodLength + render json: { + short_name: AppConfig.settings.pod_name, + name: AppConfig.settings.pod_name, + description: "diaspora* is a free, decentralized and privacy respectful social network", + icons: [ { - "src": "/icon.png", - "type": "image/png", - "sizes": "192x192" + src: helpers.image_path("branding/logos/app-icon.png"), + type: "image/png", + sizes: "192x192" + }, + { + src: helpers.image_path("branding/logos/app-icon-512.png"), + type: "image/png", + sizes: "512x512" } ], - "start_url": "/", - "background_color": "#000000", - "display": "standalone", - "theme_color": "#000000" - }' + start_url: "/", + background_color: "#000000", + display: "standalone", + theme_color: "#000000" + } end end diff --git a/app/views/layouts/_head.haml b/app/views/layouts/_head.haml index fcb5eba56..a85a96c74 100644 --- a/app/views/layouts/_head.haml +++ b/app/views/layouts/_head.haml @@ -4,6 +4,8 @@ %meta{charset: "utf-8"}/ = content_for?(:meta_data) ? yield(:meta_data) : metas_tags +%link{rel: "manifest", href: "/manifest.json"} + / favicon / For Apple devices %link{rel: "apple-touch-icon", href: image_path("apple-touch-icon.png")} diff --git a/app/views/layouts/application.mobile.haml b/app/views/layouts/application.mobile.haml index 7c57b496d..e9667dbbe 100644 --- a/app/views/layouts/application.mobile.haml +++ b/app/views/layouts/application.mobile.haml @@ -9,7 +9,7 @@ = javascript_include_tag "mobile/mobile" = load_javascript_locales - = render "head" + = render "layouts/head" = include_color_theme "mobile" %meta{name: "viewport", content: "width=device-width, minimum-scale=1, maximum-scale=1, user-scalable=no"}/ diff --git a/config/initializers/secure_headers.rb b/config/initializers/secure_headers.rb index d76d345b5..99d515ac2 100644 --- a/config/initializers/secure_headers.rb +++ b/config/initializers/secure_headers.rb @@ -16,7 +16,8 @@ SecureHeaders::Configuration.default do |config| media_src: %w[https:], script_src: %w['self' blob: 'unsafe-eval' platform.twitter.com cdn.syndication.twimg.com widgets.flickr.com embedr.flickr.com www.instagram.com 'unsafe-inline'], - style_src: %w['self' 'unsafe-inline' platform.twitter.com *.twimg.com] + style_src: %w['self' 'unsafe-inline' platform.twitter.com *.twimg.com], + manifest_src: %w['self'] } if AppConfig.environment.assets.host.present? diff --git a/graphics/app-icon.svg b/graphics/app-icon.svg new file mode 100644 index 000000000..f573a1396 --- /dev/null +++ b/graphics/app-icon.svg @@ -0,0 +1,4 @@ + + + +