summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/icons/512.pngbin0 -> 10231 bytes
-rw-r--r--assets/icons/icon.svg91
-rw-r--r--src/client/app/boot.js13
-rw-r--r--src/client/app/sw.js46
-rw-r--r--src/server/web/views/base.pug2
5 files changed, 140 insertions, 12 deletions
diff --git a/assets/icons/512.png b/assets/icons/512.png
new file mode 100644
index 0000000000..66abba2d0d
--- /dev/null
+++ b/assets/icons/512.png
Binary files differ
diff --git a/assets/icons/icon.svg b/assets/icons/icon.svg
new file mode 100644
index 0000000000..842a5a885f
--- /dev/null
+++ b/assets/icons/icon.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg8"
+ version="1.1"
+ viewBox="0 0 135.46667 135.46667"
+ height="512"
+ width="512"
+ sodipodi:docname="icon.svg"
+ inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+ inkscape:export-filename="H:\misskey\assets\icons\512.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="965"
+ id="namedview10"
+ showgrid="false"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-page="true"
+ inkscape:zoom="0.921875"
+ inkscape:cx="219.9952"
+ inkscape:cy="361.00053"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg8" />
+ <defs
+ id="defs2" />
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <rect
+ style="opacity:1;fill:#2ba3bc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.32291675;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ id="rect828"
+ width="135.46667"
+ height="135.46667"
+ x="1.896631e-16"
+ y="0" />
+ <g
+ transform="matrix(0.57430748,0,0,0.57430748,11.070705,-35.453717)"
+ id="layer1"
+ style="stroke-width:1.74122751;fill:#ffffff;fill-opacity:1">
+ <g
+ transform="matrix(1.096096,0,0,1.096096,-2.960633,-44.023579)"
+ id="g4502"
+ style="stroke-width:1.74122751;fill:#ffffff;fill-opacity:1">
+ <g
+ id="g5125"
+ transform="translate(-1.3333333e-6,-1.3439941e-6)"
+ style="fill:#ffffff;fill-opacity:1;stroke-width:1.74122751">
+ <g
+ aria-label="Mi"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:141.03404236px;line-height:476.69509888px;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.50409585px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ id="text4489"
+ transform="matrix(0.91391326,0,0,0.91391326,7.9719907,17.595761)">
+ <path
+ id="path5210"
+ transform="matrix(0.26412464,0,0,0.26412464,24.988264,136.28626)"
+ d="m 62.474609,76.585938 c -7.47555,0 -14.595784,1.246427 -21.359375,3.738281 C 29.011968,84.595952 19.044417,92.249798 11.212891,103.28516 3.7373405,113.96451 0,125.88934 0,139.06055 v 233.8789 c 0,17.08697 6.0510264,31.85913 18.154297,44.31836 12.459246,12.10327 27.233346,18.15625 44.320312,18.15625 17.442947,0 32.215089,-6.05298 44.318361,-18.15625 12.45925,-12.45923 18.68945,-27.23139 18.68945,-44.31836 V 330.4082 c 0.13441,-9.21122 9.6225,-6.79429 14.41797,0 8.98111,15.55395 28.02226,28.91242 50.19141,28.83594 22.16915,-0.0764 40.58194,-11.03699 50.19336,-28.83594 3.63981,-4.29263 13.89902,-11.60675 14.95117,0 v 42.53125 c 0,17.08697 6.05102,31.85913 18.15429,44.31836 12.45923,12.10327 27.23335,18.15625 44.32032,18.15625 17.44294,0 32.21509,-6.05298 44.31836,-18.15625 12.45923,-12.45923 18.68945,-27.23139 18.68945,-44.31836 v -233.8789 c 0,-13.17121 -3.9146,-25.09604 -11.74609,-35.77539 -7.47557,-11.035362 -17.26588,-18.689208 -29.36914,-22.960941 -7.11956,-2.491854 -14.23982,-3.738281 -21.35938,-3.738281 -19.22286,0 -35.41865,7.476649 -48.58984,22.427734 l -63.40235,74.199218 c -1.42391,1.06791 -6.14093,9.23242 -16.16015,9.23242 -10.01923,0 -14.20109,-8.16451 -15.625,-9.23242 L 110.53125,99.013672 C 97.716024,84.062587 81.697447,76.585938 62.474609,76.585938 Z m 395.060551,0 c -14.9511,-10e-7 -27.76596,5.340179 -38.44532,16.019531 -10.32338,10.323381 -15.48437,22.961011 -15.48437,37.912111 0,14.9511 5.16099,27.76596 15.48437,38.44531 10.67936,10.32338 23.49422,15.48633 38.44532,15.48633 14.95109,0 27.76596,-5.16295 38.44531,-15.48633 C 506.65982,158.28354 512,145.46868 512,130.51758 512,115.56648 506.65982,102.92885 495.98047,92.605469 485.30112,81.926117 472.48625,76.585938 457.53516,76.585938 Z m 0.5332,118.541012 c -14.9511,0 -27.76596,5.34018 -38.44531,16.01953 -10.67936,10.67936 -16.01758,23.49422 -16.01758,38.44532 v 131.89062 c 0,14.9511 5.33822,27.76596 16.01758,38.44531 10.67935,10.32339 23.49421,15.48633 38.44531,15.48633 14.9511,0 27.58873,-5.16294 37.91211,-15.48633 C 506.65982,409.24838 512,396.43352 512,381.48242 V 249.5918 c 0,-14.9511 -5.34018,-27.76596 -16.01953,-38.44532 -10.32338,-10.67935 -22.96101,-16.01953 -37.91211,-16.01953 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';fill:#ffffff;fill-opacity:1;stroke-width:1.90855289px"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/client/app/boot.js b/src/client/app/boot.js
index 583cc4fc8b..c244050a54 100644
--- a/src/client/app/boot.js
+++ b/src/client/app/boot.js
@@ -98,15 +98,10 @@
// If mobile, insert the viewport meta tag
if (isMobile) {
- const meta = document.createElement('meta');
- meta.setAttribute('name', 'viewport');
- meta.setAttribute('content',
- 'width=device-width,' +
- 'initial-scale=1,' +
- 'minimum-scale=1,' +
- 'maximum-scale=1,' +
- 'user-scalable=no');
- head.appendChild(meta);
+ const viewport = document.getElementsByName("viewport").item(0);
+ viewport.setAttribute('content',
+ `${viewport.getAttribute('content')},minimum-scale=1,maximum-scale=1,user-scalable=no`);
+ head.appendChild(viewport);
}
// Switch desktop or mobile version
diff --git a/src/client/app/sw.js b/src/client/app/sw.js
index 92f2ac8284..d080130e3d 100644
--- a/src/client/app/sw.js
+++ b/src/client/app/sw.js
@@ -4,13 +4,53 @@
import composeNotification from './common/scripts/compose-notification';
+// eslint-disable-next-line no-undef
+const version = _VERSION_;
+const cacheName = `mk-cache-${version}`;
+
+const apiUrl = `${location.origin}/api/`;
+
// インストールされたとき
self.addEventListener('install', ev => {
console.info('installed');
- ev.waitUntil(Promise.all([
- self.skipWaiting(), // Force activate
- ]));
+ ev.waitUntil(
+ caches.open(cacheName)
+ .then(cache => {
+ return cache.addAll([
+ "/",
+ `/assets/desktop.${version}.js`,
+ `/assets/mobile.${version}.js`,
+ "/assets/error.jpg"
+ ]);
+ })
+ .then(() => self.skipWaiting())
+ );
+});
+
+self.addEventListener('activate', ev => {
+ ev.waitUntil(
+ caches.keys()
+ .then(cacheNames => Promise.all(
+ cacheNames
+ .filter((v) => v !== cacheName)
+ .map(name => caches.delete(name))
+ ))
+ .then(() => self.clients.claim())
+ );
+});
+
+self.addEventListener('fetch', ev => {
+ if (ev.request.method !== 'GET' || ev.request.url.startsWith(apiUrl)) return;
+ ev.respondWith(
+ caches.match(ev.request)
+ .then(response => {
+ return response || fetch(ev.request);
+ })
+ .catch(() => {
+ return caches.match("/");
+ })
+ );
});
// プッシュ通知を受け取ったとき
diff --git a/src/server/web/views/base.pug b/src/server/web/views/base.pug
index 16bea853e7..97c7a87e1b 100644
--- a/src/server/web/views/base.pug
+++ b/src/server/web/views/base.pug
@@ -12,7 +12,9 @@ html
meta(name='referrer' content='origin')
meta(name='theme-color' content='#105779')
meta(property='og:site_name' content= instanceName || 'Misskey')
+ meta(name='viewport' content='width=device-width, initial-scale=1')
link(rel='icon' href= icon || '/favicon.ico')
+ link(rel='apple-touch-icon' href= icon || '/apple-touch-icon.png')
link(rel='manifest' href='/manifest.json')
title