mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-26 20:53:09 +02:00
PWA Fix (#5432)
* PWA Fix * SWが/api/へのリクエストに関与しないように * fix semicolon * Update base.pug * Update base.pug
This commit is contained in:
parent
e94dd8a5e8
commit
b040ac6373
5 changed files with 140 additions and 12 deletions
BIN
assets/icons/512.png
Normal file
BIN
assets/icons/512.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
91
assets/icons/icon.svg
Normal file
91
assets/icons/icon.svg
Normal file
|
@ -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>
|
After Width: | Height: | Size: 5.6 KiB |
|
@ -98,15 +98,10 @@
|
||||||
|
|
||||||
// If mobile, insert the viewport meta tag
|
// If mobile, insert the viewport meta tag
|
||||||
if (isMobile) {
|
if (isMobile) {
|
||||||
const meta = document.createElement('meta');
|
const viewport = document.getElementsByName("viewport").item(0);
|
||||||
meta.setAttribute('name', 'viewport');
|
viewport.setAttribute('content',
|
||||||
meta.setAttribute('content',
|
`${viewport.getAttribute('content')},minimum-scale=1,maximum-scale=1,user-scalable=no`);
|
||||||
'width=device-width,' +
|
head.appendChild(viewport);
|
||||||
'initial-scale=1,' +
|
|
||||||
'minimum-scale=1,' +
|
|
||||||
'maximum-scale=1,' +
|
|
||||||
'user-scalable=no');
|
|
||||||
head.appendChild(meta);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Switch desktop or mobile version
|
// Switch desktop or mobile version
|
||||||
|
|
|
@ -4,13 +4,53 @@
|
||||||
|
|
||||||
import composeNotification from './common/scripts/compose-notification';
|
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 => {
|
self.addEventListener('install', ev => {
|
||||||
console.info('installed');
|
console.info('installed');
|
||||||
|
|
||||||
ev.waitUntil(Promise.all([
|
ev.waitUntil(
|
||||||
self.skipWaiting(), // Force activate
|
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("/");
|
||||||
|
})
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// プッシュ通知を受け取ったとき
|
// プッシュ通知を受け取ったとき
|
||||||
|
|
|
@ -12,7 +12,9 @@ html
|
||||||
meta(name='referrer' content='origin')
|
meta(name='referrer' content='origin')
|
||||||
meta(name='theme-color' content='#105779')
|
meta(name='theme-color' content='#105779')
|
||||||
meta(property='og:site_name' content= instanceName || 'Misskey')
|
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='icon' href= icon || '/favicon.ico')
|
||||||
|
link(rel='apple-touch-icon' href= icon || '/apple-touch-icon.png')
|
||||||
link(rel='manifest' href='/manifest.json')
|
link(rel='manifest' href='/manifest.json')
|
||||||
|
|
||||||
title
|
title
|
||||||
|
|
Loading…
Reference in a new issue