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 (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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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("/");
 | 
			
		||||
			})
 | 
			
		||||
	);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// プッシュ通知を受け取ったとき
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue