タイトルやアイコンがきちんと設定されないことがあるのを修正 (#5265)
* Fix: og:site_nameがbase系ページに正しく反映さんれない * instanceNameはAPIのmetaじゃなくてog:site_nameを参照するように * Fix: タイトルが変更されるページから通常ページに遷移してもタイトルが戻らない * Fix: タイトルが戻らない mobile / notifications * Fix: faviconの変更が効かないページがある
This commit is contained in:
		
							parent
							
								
									7dd193636c
								
							
						
					
					
						commit
						ed8b073e54
					
				
					 11 changed files with 39 additions and 4 deletions
				
			
		|  | @ -143,7 +143,11 @@ export default Vue.extend({ | |||
| 		this.$root.getMeta().then(meta => { | ||||
| 			this.meta = meta; | ||||
| 		}); | ||||
| 	} | ||||
| 	}, | ||||
| 
 | ||||
| 	mounted() { | ||||
| 		document.title = this.$root.instanceName; | ||||
| 	}, | ||||
| }); | ||||
| </script> | ||||
| 
 | ||||
|  |  | |||
|  | @ -40,5 +40,9 @@ export default Vue.extend({ | |||
| 			icon: faStar | ||||
| 		}); | ||||
| 	}, | ||||
| 
 | ||||
| 	mounted() { | ||||
| 		document.title = this.$root.instanceName; | ||||
| 	}, | ||||
| }); | ||||
| </script> | ||||
|  |  | |||
|  | @ -40,5 +40,9 @@ export default Vue.extend({ | |||
| 			icon: faNewspaper | ||||
| 		}); | ||||
| 	}, | ||||
| 
 | ||||
| 	mounted() { | ||||
| 		document.title = this.$root.instanceName; | ||||
| 	}, | ||||
| }); | ||||
| </script> | ||||
|  |  | |||
|  | @ -52,6 +52,9 @@ export default Vue.extend({ | |||
| 			icon: faStickyNote | ||||
| 		}); | ||||
| 	}, | ||||
| 	mounted() { | ||||
| 		document.title = this.$root.instanceName; | ||||
| 	}, | ||||
| 	methods: { | ||||
| 		create() { | ||||
| 			this.$router.push(`/i/pages/new`); | ||||
|  |  | |||
|  | @ -62,6 +62,8 @@ export default Vue.extend({ | |||
| 		}; | ||||
| 	}, | ||||
| 	mounted() { | ||||
| 		document.title = this.$root.instanceName; | ||||
| 
 | ||||
| 		this.$root.api('users/groups/owned').then(groups => { | ||||
| 			this.ownedGroups = groups; | ||||
| 		}); | ||||
|  |  | |||
|  | @ -33,6 +33,8 @@ export default Vue.extend({ | |||
| 		}; | ||||
| 	}, | ||||
| 	mounted() { | ||||
| 		document.title = this.$root.instanceName; | ||||
| 		 | ||||
| 		this.$root.api('users/lists/list').then(lists => { | ||||
| 			this.fetching = false; | ||||
| 			this.lists = lists; | ||||
|  |  | |||
|  | @ -94,6 +94,8 @@ export default Vue.extend({ | |||
| 	}, | ||||
| 
 | ||||
| 	mounted() { | ||||
| 		document.title = this.$root.instanceName; | ||||
| 
 | ||||
| 		(this.$refs.tl as any).$once('loaded', () => { | ||||
| 			this.$emit('loaded'); | ||||
| 		}); | ||||
|  |  | |||
|  | @ -13,6 +13,9 @@ export default Vue.extend({ | |||
| 	components: { | ||||
| 		XSettings: () => import('../components/settings.vue').then(m => m.default) | ||||
| 	}, | ||||
| 	mounted() { | ||||
| 		document.title = this.$root.instanceName; | ||||
| 	}, | ||||
| }); | ||||
| </script> | ||||
| 
 | ||||
|  |  | |||
|  | @ -28,7 +28,12 @@ export default class MiOS extends EventEmitter { | |||
| 	}; | ||||
| 
 | ||||
| 	public get instanceName() { | ||||
| 		return this.meta ? (this.meta.data.name || 'Misskey') : 'Misskey'; | ||||
| 		const siteName = document.querySelector('meta[property="og:site_name"]') as HTMLMetaElement; | ||||
| 		if (siteName && siteName.content) { | ||||
| 			return siteName.content; | ||||
| 		} | ||||
| 
 | ||||
| 		return 'Misskey'; | ||||
| 	} | ||||
| 
 | ||||
| 	private isMetaFetching = false; | ||||
|  |  | |||
|  | @ -25,6 +25,9 @@ export default Vue.extend({ | |||
| 			faBell, | ||||
| 		}; | ||||
| 	}, | ||||
| 	mounted() { | ||||
| 		document.title = this.$root.instanceName; | ||||
| 	}, | ||||
| 	methods: { | ||||
| 		beforeInit() { | ||||
| 			Progress.start(); | ||||
|  |  | |||
|  | @ -164,7 +164,8 @@ router.get('/@:user', async (ctx, next) => { | |||
| 
 | ||||
| 		await ctx.render('user', { | ||||
| 			user, profile, me, | ||||
| 			instanceName: meta.name || 'Misskey' | ||||
| 			instanceName: meta.name || 'Misskey', | ||||
| 			icon: meta.iconUrl | ||||
| 		}); | ||||
| 		ctx.set('Cache-Control', 'public, max-age=30'); | ||||
| 	} else { | ||||
|  | @ -197,7 +198,8 @@ router.get('/notes/:note', async ctx => { | |||
| 		await ctx.render('note', { | ||||
| 			note: _note, | ||||
| 			summary: getNoteSummary(_note), | ||||
| 			instanceName: meta.name || 'Misskey' | ||||
| 			instanceName: meta.name || 'Misskey', | ||||
| 			icon: meta.iconUrl | ||||
| 		}); | ||||
| 
 | ||||
| 		if (['public', 'home'].includes(note.visibility)) { | ||||
|  | @ -283,6 +285,7 @@ router.get('*', async ctx => { | |||
| 	await ctx.render('base', { | ||||
| 		img: meta.bannerUrl, | ||||
| 		title: meta.name || 'Misskey', | ||||
| 		instanceName: meta.name || 'Misskey', | ||||
| 		desc: meta.description, | ||||
| 		icon: meta.iconUrl | ||||
| 	}); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue