Add style to flush
This commit is contained in:
		
							parent
							
								
									027c22f013
								
							
						
					
					
						commit
						d9f5570b51
					
				
					 1 changed files with 65 additions and 41 deletions
				
			
		|  | @ -1,47 +1,71 @@ | ||||||
| doctype html | doctype html | ||||||
| 
 | 
 | ||||||
| html | html | ||||||
| 	#msg |  | ||||||
| 	script. |  | ||||||
| 		const msg = document.getElementById('msg'); |  | ||||||
| 		const successText = `\nSuccess Flush! <a href="/">Back to Misskey</a>\n成功しました。<a href="/">Misskeyを開き直してください。</a>`; |  | ||||||
| 
 | 
 | ||||||
| 		message('Start flushing.'); | 	head | ||||||
| 
 | 		meta(charset='utf-8') | ||||||
| 		(async function() { | 		meta(name='application-name' content='Misskey') | ||||||
| 			try { | 		title Misskey Repair Tool | ||||||
| 				localStorage.clear(); | 		style. | ||||||
| 				message('localStorage cleared.'); | 			* { | ||||||
| 
 | 				font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; | ||||||
| 				const idbPromises = ['MisskeyClient', 'keyval-store'].map((name, i, arr) => new Promise((res, rej) => { | 				font-size: 16px; | ||||||
| 					const delidb = indexedDB.deleteDatabase(name); | 				color: #dfddcc; | ||||||
| 					delidb.onsuccess = () => res(message(`indexedDB "${name}" cleared. (${i + 1}/${arr.length})`)); |  | ||||||
| 					delidb.onerror = e => rej(e) |  | ||||||
| 				})); |  | ||||||
| 
 |  | ||||||
| 				await Promise.all(idbPromises); |  | ||||||
| 
 |  | ||||||
| 				if (navigator.serviceWorker.controller) { |  | ||||||
| 					navigator.serviceWorker.controller.postMessage('clear'); |  | ||||||
| 					await navigator.serviceWorker.getRegistrations() |  | ||||||
| 						.then(registrations => { |  | ||||||
| 							return Promise.all(registrations.map(registration => registration.unregister())); |  | ||||||
| 						}) |  | ||||||
| 						.catch(e => { throw Error(e) }); |  | ||||||
| 				} |  | ||||||
| 
 |  | ||||||
| 				message(successText); |  | ||||||
| 			} catch (e) { |  | ||||||
| 				message(`\n${e}\n\nFlush Failed. <a href="/flush">Please retry.</a>\n失敗しました。<a href="/flush">もう一度試してみてください。</a>`); |  | ||||||
| 				message(`\nIf you retry more than 3 times, clear the browser cache or contact to instance admin.\n3回以上試しても失敗する場合、ブラウザのキャッシュを消去し、それでもだめならインスタンス管理者に連絡してみてください。\n`) |  | ||||||
| 
 |  | ||||||
| 				console.error(e); |  | ||||||
| 				setTimeout(() => { |  | ||||||
| 					location = '/'; |  | ||||||
| 				}, 10000) |  | ||||||
| 			} | 			} | ||||||
| 		})(); |  | ||||||
| 
 | 
 | ||||||
| 		function message(text) { | 			body, | ||||||
| 			msg.insertAdjacentHTML('beforeend', `<p>[${(new Date()).toString()}] ${text.replace(/\n/g,'<br>')}</p>`) | 			html { | ||||||
| 		} | 				background-color: #222; | ||||||
|  | 				justify-content: center; | ||||||
|  | 				margin: auto; | ||||||
|  | 				width: 80%; | ||||||
|  | 				padding: 10px; | ||||||
|  | 				text-align: center; | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 		script. | ||||||
|  | 			const msg = document.getElementById('msg'); | ||||||
|  | 			const successText = `\nSuccess Flush! <a href="/">Back to Misskey</a>\n成功しました。<a href="/">Misskeyを開き直してください。</a>`; | ||||||
|  | 
 | ||||||
|  | 			message('Start flushing.'); | ||||||
|  | 
 | ||||||
|  | 			(async function() { | ||||||
|  | 				try { | ||||||
|  | 					localStorage.clear(); | ||||||
|  | 					message('localStorage cleared.'); | ||||||
|  | 
 | ||||||
|  | 					const idbPromises = ['MisskeyClient', 'keyval-store'].map((name, i, arr) => new Promise((res, rej) => { | ||||||
|  | 						const delidb = indexedDB.deleteDatabase(name); | ||||||
|  | 						delidb.onsuccess = () => res(message(`indexedDB "${name}" cleared. (${i + 1}/${arr.length})`)); | ||||||
|  | 						delidb.onerror = e => rej(e) | ||||||
|  | 					})); | ||||||
|  | 
 | ||||||
|  | 					await Promise.all(idbPromises); | ||||||
|  | 
 | ||||||
|  | 					if (navigator.serviceWorker.controller) { | ||||||
|  | 						navigator.serviceWorker.controller.postMessage('clear'); | ||||||
|  | 						await navigator.serviceWorker.getRegistrations() | ||||||
|  | 							.then(registrations => { | ||||||
|  | 								return Promise.all(registrations.map(registration => registration.unregister())); | ||||||
|  | 							}) | ||||||
|  | 							.catch(e => { throw Error(e) }); | ||||||
|  | 					} | ||||||
|  | 
 | ||||||
|  | 					message(successText); | ||||||
|  | 				} catch (e) { | ||||||
|  | 					message(`\n${e}\n\nFlush Failed. <a href="/flush">Please retry.</a>\n失敗しました。<a href="/flush">もう一度試してみてください。</a>`); | ||||||
|  | 					message(`\nIf you retry more than 3 times, clear the browser cache or contact to instance admin.\n3回以上試しても失敗する場合、ブラウザのキャッシュを消去し、それでもだめならインスタンス管理者に連絡してみてください。\n`) | ||||||
|  | 
 | ||||||
|  | 					console.error(e); | ||||||
|  | 					setTimeout(() => { | ||||||
|  | 						location = '/'; | ||||||
|  | 					}, 10000) | ||||||
|  | 				} | ||||||
|  | 			})(); | ||||||
|  | 
 | ||||||
|  | 			function message(text) { | ||||||
|  | 				msg.insertAdjacentHTML('beforeend', `<p>[${(new Date()).toString()}] ${text.replace(/\n/g,'<br>')}</p>`) | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 	body | ||||||
|  | 		#msg | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue