Unregister non-matching serviceworkers (#15834)
	
		
	
				
					
				
			* Unregister non-matching serviceworkers With the addition of the /assets url, users who visited a previous version of the site now may have two active service workers, one with the old scope `/` and one with scope `/assets`. This check for serviceworkers that do not match the current script path and unregisters them. Also included is a small refactor to publicpath.js which was simplified because AssetUrlPrefix is always present now. Also it makes use of the new joinPaths helper too. Fixes: https://github.com/go-gitea/gitea/pull/15823tokarchuk/v1.17
							parent
							
								
									b61092bcb0
								
							
						
					
					
						commit
						8ab815ae93
					
				@ -1,10 +1,6 @@ | 
				
			|||||||
// This sets up the URL prefix used in webpack's chunk loading.
 | 
					// This sets up the URL prefix used in webpack's chunk loading.
 | 
				
			||||||
// This file must be imported before any lazy-loading is being attempted.
 | 
					// This file must be imported before any lazy-loading is being attempted.
 | 
				
			||||||
 | 
					import {joinPaths} from './utils.js'; | 
				
			||||||
const {AssetUrlPrefix} = window.config; | 
					const {AssetUrlPrefix} = window.config; | 
				
			||||||
 | 
					
 | 
				
			||||||
if (AssetUrlPrefix) { | 
					__webpack_public_path__ = joinPaths(AssetUrlPrefix, '/'); | 
				
			||||||
  __webpack_public_path__ = AssetUrlPrefix.endsWith('/') ? AssetUrlPrefix : `${AssetUrlPrefix}/`; | 
					 | 
				
			||||||
} else { | 
					 | 
				
			||||||
  const url = new URL(document.currentScript.src); | 
					 | 
				
			||||||
  __webpack_public_path__ = url.pathname.replace(/\/[^/]*?\/[^/]*?$/, '/'); | 
					 | 
				
			||||||
} | 
					 | 
				
			||||||
 | 
				
			|||||||
					Loading…
					
					
				
		Reference in new issue