summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-08-16 14:16:19 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-08-16 14:16:19 +0900
commited8b073e548938174406bf7d00a6490124d5cc2b (patch)
treedd1dd487661bef0eaaa3278a8aec32031bc992fe /src
parentFix #5260 (diff)
downloadsharkey-ed8b073e548938174406bf7d00a6490124d5cc2b.tar.gz
sharkey-ed8b073e548938174406bf7d00a6490124d5cc2b.tar.bz2
sharkey-ed8b073e548938174406bf7d00a6490124d5cc2b.zip
タイトルやアイコンがきちんと設定されないことがあるのを修正 (#5265)
* Fix: og:site_nameがbase系ページに正しく反映さんれない * instanceNameはAPIのmetaじゃなくてog:site_nameを参照するように * Fix: タイトルが変更されるページから通常ページに遷移してもタイトルが戻らない * Fix: タイトルが戻らない mobile / notifications * Fix: faviconの変更が効かないページがある
Diffstat (limited to 'src')
-rw-r--r--src/client/app/common/views/pages/explore.vue6
-rw-r--r--src/client/app/common/views/pages/favorites.vue4
-rw-r--r--src/client/app/common/views/pages/featured.vue4
-rw-r--r--src/client/app/common/views/pages/pages.vue3
-rw-r--r--src/client/app/common/views/pages/user-groups.vue2
-rw-r--r--src/client/app/common/views/pages/user-lists.vue2
-rw-r--r--src/client/app/desktop/views/home/timeline.vue2
-rw-r--r--src/client/app/desktop/views/pages/settings.vue3
-rw-r--r--src/client/app/mios.ts7
-rw-r--r--src/client/app/mobile/views/pages/notifications.vue3
-rw-r--r--src/server/web/index.ts7
11 files changed, 39 insertions, 4 deletions
diff --git a/src/client/app/common/views/pages/explore.vue b/src/client/app/common/views/pages/explore.vue
index f28760e516..507b0638b9 100644
--- a/src/client/app/common/views/pages/explore.vue
+++ b/src/client/app/common/views/pages/explore.vue
@@ -143,7 +143,11 @@ export default Vue.extend({
this.$root.getMeta().then(meta => {
this.meta = meta;
});
- }
+ },
+
+ mounted() {
+ document.title = this.$root.instanceName;
+ },
});
</script>
diff --git a/src/client/app/common/views/pages/favorites.vue b/src/client/app/common/views/pages/favorites.vue
index 36403dde52..e396615a93 100644
--- a/src/client/app/common/views/pages/favorites.vue
+++ b/src/client/app/common/views/pages/favorites.vue
@@ -40,5 +40,9 @@ export default Vue.extend({
icon: faStar
});
},
+
+ mounted() {
+ document.title = this.$root.instanceName;
+ },
});
</script>
diff --git a/src/client/app/common/views/pages/featured.vue b/src/client/app/common/views/pages/featured.vue
index 161511998f..c00361aa85 100644
--- a/src/client/app/common/views/pages/featured.vue
+++ b/src/client/app/common/views/pages/featured.vue
@@ -40,5 +40,9 @@ export default Vue.extend({
icon: faNewspaper
});
},
+
+ mounted() {
+ document.title = this.$root.instanceName;
+ },
});
</script>
diff --git a/src/client/app/common/views/pages/pages.vue b/src/client/app/common/views/pages/pages.vue
index d0a56ac2fa..236330db46 100644
--- a/src/client/app/common/views/pages/pages.vue
+++ b/src/client/app/common/views/pages/pages.vue
@@ -52,6 +52,9 @@ export default Vue.extend({
icon: faStickyNote
});
},
+ mounted() {
+ document.title = this.$root.instanceName;
+ },
methods: {
create() {
this.$router.push(`/i/pages/new`);
diff --git a/src/client/app/common/views/pages/user-groups.vue b/src/client/app/common/views/pages/user-groups.vue
index a51a5f723f..6501a26061 100644
--- a/src/client/app/common/views/pages/user-groups.vue
+++ b/src/client/app/common/views/pages/user-groups.vue
@@ -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;
});
diff --git a/src/client/app/common/views/pages/user-lists.vue b/src/client/app/common/views/pages/user-lists.vue
index 29085935cb..955eef993a 100644
--- a/src/client/app/common/views/pages/user-lists.vue
+++ b/src/client/app/common/views/pages/user-lists.vue
@@ -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;
diff --git a/src/client/app/desktop/views/home/timeline.vue b/src/client/app/desktop/views/home/timeline.vue
index b870395c18..224b937997 100644
--- a/src/client/app/desktop/views/home/timeline.vue
+++ b/src/client/app/desktop/views/home/timeline.vue
@@ -94,6 +94,8 @@ export default Vue.extend({
},
mounted() {
+ document.title = this.$root.instanceName;
+
(this.$refs.tl as any).$once('loaded', () => {
this.$emit('loaded');
});
diff --git a/src/client/app/desktop/views/pages/settings.vue b/src/client/app/desktop/views/pages/settings.vue
index 7aba863b7c..29188277f4 100644
--- a/src/client/app/desktop/views/pages/settings.vue
+++ b/src/client/app/desktop/views/pages/settings.vue
@@ -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>
diff --git a/src/client/app/mios.ts b/src/client/app/mios.ts
index cb25eaa83d..085a327599 100644
--- a/src/client/app/mios.ts
+++ b/src/client/app/mios.ts
@@ -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;
diff --git a/src/client/app/mobile/views/pages/notifications.vue b/src/client/app/mobile/views/pages/notifications.vue
index e71a855d56..24f8f79ccc 100644
--- a/src/client/app/mobile/views/pages/notifications.vue
+++ b/src/client/app/mobile/views/pages/notifications.vue
@@ -25,6 +25,9 @@ export default Vue.extend({
faBell,
};
},
+ mounted() {
+ document.title = this.$root.instanceName;
+ },
methods: {
beforeInit() {
Progress.start();
diff --git a/src/server/web/index.ts b/src/server/web/index.ts
index 6c41bbde46..50f006e345 100644
--- a/src/server/web/index.ts
+++ b/src/server/web/index.ts
@@ -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
});