summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/web
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/server/web')
-rw-r--r--packages/backend/src/server/web/ClientServerService.ts10
-rw-r--r--packages/backend/src/server/web/FeedService.ts6
-rw-r--r--packages/backend/src/server/web/HtmlTemplateService.ts3
-rw-r--r--packages/backend/src/server/web/views/_.ts1
-rw-r--r--packages/backend/src/server/web/views/announcement.tsx2
-rw-r--r--packages/backend/src/server/web/views/base-embed.tsx1
-rw-r--r--packages/backend/src/server/web/views/base.tsx3
-rw-r--r--packages/backend/src/server/web/views/channel.tsx2
-rw-r--r--packages/backend/src/server/web/views/clip.tsx2
-rw-r--r--packages/backend/src/server/web/views/flash.tsx2
-rw-r--r--packages/backend/src/server/web/views/gallery-post.tsx2
-rw-r--r--packages/backend/src/server/web/views/info-card.tsx6
-rw-r--r--packages/backend/src/server/web/views/note.tsx4
-rw-r--r--packages/backend/src/server/web/views/page.tsx2
-rw-r--r--packages/backend/src/server/web/views/reversi-game.tsx2
-rw-r--r--packages/backend/src/server/web/views/user.tsx4
16 files changed, 28 insertions, 24 deletions
diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts
index 24bc619e79..ea567a53f2 100644
--- a/packages/backend/src/server/web/ClientServerService.ts
+++ b/packages/backend/src/server/web/ClientServerService.ts
@@ -156,10 +156,10 @@ export class ClientServerService {
let manifest = {
// 空文字列の場合右辺を使いたいため
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- 'short_name': this.meta.shortName || this.meta.name || this.config.host,
+ 'short_name': this.meta.shortName || this.meta.name || this.config.webHost,
// 空文字列の場合右辺を使いたいため
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- 'name': this.meta.name || this.config.host,
+ 'name': this.meta.name || this.config.webHost,
'start_url': '/',
'display': 'standalone',
'background_color': '#313a42',
@@ -213,7 +213,7 @@ export class ClientServerService {
@bindThis
public createServer(fastify: FastifyInstance, options: FastifyPluginOptions, done: (err?: Error) => void) {
- const configUrl = new URL(this.config.url);
+ const configUrl = new URL(this.config.webUrl);
fastify.addHook('onRequest', (request, reply, done) => {
// クリックジャッキング防止のためiFrameの中に入れられないようにする
@@ -407,8 +407,8 @@ export class ClientServerService {
content += `<ShortName>${name}</ShortName>`;
content += `<Description>${name} Search</Description>`;
content += '<InputEncoding>UTF-8</InputEncoding>';
- content += `<Image width="16" height="16" type="image/x-icon">${this.config.url}/favicon.ico</Image>`;
- content += `<Url type="text/html" template="${this.config.url}/search?q={searchTerms}"/>`;
+ content += `<Image width="16" height="16" type="image/x-icon">${this.config.webUrl}/favicon.ico</Image>`;
+ content += `<Url type="text/html" template="${this.config.webUrl}/search?q={searchTerms}"/>`;
content += '</OpenSearchDescription>';
reply.header('Content-Type', 'application/opensearchdescription+xml');
diff --git a/packages/backend/src/server/web/FeedService.ts b/packages/backend/src/server/web/FeedService.ts
index eae7645321..9c386d3a4f 100644
--- a/packages/backend/src/server/web/FeedService.ts
+++ b/packages/backend/src/server/web/FeedService.ts
@@ -42,7 +42,7 @@ export class FeedService {
@bindThis
public async packFeed(user: MiUser) {
const author = {
- link: `${this.config.url}/@${user.username}`,
+ link: `${this.config.webUrl}/@${user.username}`,
name: user.name ?? user.username,
};
@@ -60,7 +60,7 @@ export class FeedService {
const feed = new Feed({
id: author.link,
- title: `${author.name} (@${user.username}@${this.config.host})`,
+ title: `${author.name} (@${user.username}@${this.config.localHost})`,
updated: notes.length !== 0 ? this.idService.parse(notes[0].id).date : undefined,
generator: 'Misskey',
description: `${user.notesCount} Notes, ${profile.followingVisibility === 'public' ? user.followingCount : '?'} Following, ${profile.followersVisibility === 'public' ? user.followersCount : '?'} Followers${profile.description ? ` · ${profile.description}` : ''}`,
@@ -83,7 +83,7 @@ export class FeedService {
feed.addItem({
title: `New note by ${author.name}`,
- link: `${this.config.url}/notes/${note.id}`,
+ link: `${this.config.webUrl}/notes/${note.id}`,
date: this.idService.parse(note.id).date,
description: note.cw ?? undefined,
content: text ? this.mfmService.toHtml(mfmParse(text), JSON.parse(note.mentionedRemoteUsers)) ?? undefined : undefined,
diff --git a/packages/backend/src/server/web/HtmlTemplateService.ts b/packages/backend/src/server/web/HtmlTemplateService.ts
index 8ff985530d..ffb8f7df9f 100644
--- a/packages/backend/src/server/web/HtmlTemplateService.ts
+++ b/packages/backend/src/server/web/HtmlTemplateService.ts
@@ -86,7 +86,8 @@ export class HtmlTemplateService {
serverErrorImageUrl: this.meta.serverErrorImageUrl ?? 'https://xn--931a.moe/assets/error.jpg',
infoImageUrl: this.meta.infoImageUrl ?? 'https://xn--931a.moe/assets/info.jpg',
notFoundImageUrl: this.meta.notFoundImageUrl ?? 'https://xn--931a.moe/assets/not-found.jpg',
- instanceUrl: this.config.url,
+ instanceUrl: this.config.webUrl,
+ localUrl: this.config.localUrl,
metaJson: htmlSafeJsonStringify(await this.metaEntityService.packDetailed(this.meta)),
now: Date.now(),
federationEnabled: this.meta.federation !== 'none',
diff --git a/packages/backend/src/server/web/views/_.ts b/packages/backend/src/server/web/views/_.ts
index ac7418f362..7476c218a9 100644
--- a/packages/backend/src/server/web/views/_.ts
+++ b/packages/backend/src/server/web/views/_.ts
@@ -34,6 +34,7 @@ export type CommonData = MinimumCommonData & {
infoImageUrl: string;
notFoundImageUrl: string;
instanceUrl: string;
+ localUrl: string;
now: number;
federationEnabled: boolean;
frontendBootloaderJs: string | null;
diff --git a/packages/backend/src/server/web/views/announcement.tsx b/packages/backend/src/server/web/views/announcement.tsx
index bc1c808177..70105732a5 100644
--- a/packages/backend/src/server/web/views/announcement.tsx
+++ b/packages/backend/src/server/web/views/announcement.tsx
@@ -18,7 +18,7 @@ export function AnnouncementPage(props: CommonProps<{
<meta property="og:type" content="article" />
<meta property="og:title" content={props.announcement.title} />
<meta property="og:description" content={description} />
- <meta property="og:url" content={`${props.config.url}/announcements/${props.announcement.id}`} />
+ <meta property="og:url" content={`${props.config.webUrl}/announcements/${props.announcement.id}`} />
{props.announcement.imageUrl ? (
<>
<meta property="og:image" content={props.announcement.imageUrl} />
diff --git a/packages/backend/src/server/web/views/base-embed.tsx b/packages/backend/src/server/web/views/base-embed.tsx
index 011b66592e..6de70152b6 100644
--- a/packages/backend/src/server/web/views/base-embed.tsx
+++ b/packages/backend/src/server/web/views/base-embed.tsx
@@ -41,6 +41,7 @@ export function BaseEmbed(props: PropsWithChildren<CommonProps<{
<meta name="theme-color-orig" content={props.themeColor ?? '#86b300'} />
<meta property="og:site_name" content={props.instanceName || 'Misskey'} />
<meta property="instance_url" content={props.instanceUrl} />
+ <meta property="local_url" content={props.localUrl} />
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover" />
<meta name="format-detection" content="telephone=no,date=no,address=no,email=no,url=no" />
<link rel="icon" href={props.icon ?? '/favicon.ico'} />
diff --git a/packages/backend/src/server/web/views/base.tsx b/packages/backend/src/server/web/views/base.tsx
index 6fa3395fb8..59dcc27f1e 100644
--- a/packages/backend/src/server/web/views/base.tsx
+++ b/packages/backend/src/server/web/views/base.tsx
@@ -43,12 +43,13 @@ export function Layout(props: PropsWithChildren<CommonProps<{
<meta name="theme-color-orig" content={props.themeColor ?? '#86b300'} />
<meta property="og:site_name" content={props.instanceName || 'Misskey'} />
<meta property="instance_url" content={props.instanceUrl} />
+ <meta property="local_url" content={props.localUrl} />
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover" />
<meta name="format-detection" content="telephone=no,date=no,address=no,email=no,url=no" />
<link rel="icon" href={props.icon || '/favicon.ico'} />
<link rel="apple-touch-icon" href={props.appleTouchIcon || '/apple-touch-icon.png'} />
<link rel="manifest" href="/manifest.json" />
- <link rel="search" type="application/opensearchdescription+xml" title={props.title || 'Misskey'} href={`${props.config.url}/opensearch.xml`} />
+ <link rel="search" type="application/opensearchdescription+xml" title={props.title || 'Misskey'} href={`${props.config.webUrl}/opensearch.xml`} />
{props.serverErrorImageUrl != null ? <link rel="prefetch" as="image" href={props.serverErrorImageUrl} /> : null}
{props.infoImageUrl != null ? <link rel="prefetch" as="image" href={props.infoImageUrl} /> : null}
{props.notFoundImageUrl != null ? <link rel="prefetch" as="image" href={props.notFoundImageUrl} /> : null}
diff --git a/packages/backend/src/server/web/views/channel.tsx b/packages/backend/src/server/web/views/channel.tsx
index 7d8123ea85..9bbf2c6a15 100644
--- a/packages/backend/src/server/web/views/channel.tsx
+++ b/packages/backend/src/server/web/views/channel.tsx
@@ -17,7 +17,7 @@ export function ChannelPage(props: CommonProps<{
<meta property="og:type" content="website" />
<meta property="og:title" content={props.channel.name} />
{props.channel.description != null ? <meta property="og:description" content={props.channel.description} /> : null}
- <meta property="og:url" content={`${props.config.url}/channels/${props.channel.id}`} />
+ <meta property="og:url" content={`${props.config.webUrl}/channels/${props.channel.id}`} />
{props.channel.bannerUrl ? (
<>
<meta property="og:image" content={props.channel.bannerUrl} />
diff --git a/packages/backend/src/server/web/views/clip.tsx b/packages/backend/src/server/web/views/clip.tsx
index c3cc505e35..208ed176d8 100644
--- a/packages/backend/src/server/web/views/clip.tsx
+++ b/packages/backend/src/server/web/views/clip.tsx
@@ -18,7 +18,7 @@ export function ClipPage(props: CommonProps<{
<meta property="og:type" content="article" />
<meta property="og:title" content={props.clip.name} />
{props.clip.description != null ? <meta property="og:description" content={props.clip.description} /> : null}
- <meta property="og:url" content={`${props.config.url}/clips/${props.clip.id}`} />
+ <meta property="og:url" content={`${props.config.webUrl}/clips/${props.clip.id}`} />
{props.clip.user.avatarUrl ? (
<>
<meta property="og:image" content={props.clip.user.avatarUrl} />
diff --git a/packages/backend/src/server/web/views/flash.tsx b/packages/backend/src/server/web/views/flash.tsx
index 25a6b2c0ae..6942bcd5e0 100644
--- a/packages/backend/src/server/web/views/flash.tsx
+++ b/packages/backend/src/server/web/views/flash.tsx
@@ -18,7 +18,7 @@ export function FlashPage(props: CommonProps<{
<meta property="og:type" content="article" />
<meta property="og:title" content={props.flash.title} />
<meta property="og:description" content={props.flash.summary} />
- <meta property="og:url" content={`${props.config.url}/play/${props.flash.id}`} />
+ <meta property="og:url" content={`${props.config.webUrl}/play/${props.flash.id}`} />
{props.flash.user.avatarUrl ? (
<>
<meta property="og:image" content={props.flash.user.avatarUrl} />
diff --git a/packages/backend/src/server/web/views/gallery-post.tsx b/packages/backend/src/server/web/views/gallery-post.tsx
index 2bec2de930..3528dc9a20 100644
--- a/packages/backend/src/server/web/views/gallery-post.tsx
+++ b/packages/backend/src/server/web/views/gallery-post.tsx
@@ -18,7 +18,7 @@ export function GalleryPostPage(props: CommonProps<{
<meta property="og:type" content="article" />
<meta property="og:title" content={props.galleryPost.title} />
{props.galleryPost.description != null ? <meta property="og:description" content={props.galleryPost.description} /> : null}
- <meta property="og:url" content={`${props.config.url}/gallery/${props.galleryPost.id}`} />
+ <meta property="og:url" content={`${props.config.webUrl}/gallery/${props.galleryPost.id}`} />
{props.galleryPost.isSensitive && props.galleryPost.user.avatarUrl ? (
<>
<meta property="og:image" content={props.galleryPost.user.avatarUrl} />
diff --git a/packages/backend/src/server/web/views/info-card.tsx b/packages/backend/src/server/web/views/info-card.tsx
index 27be4c69e8..bcc28a5110 100644
--- a/packages/backend/src/server/web/views/info-card.tsx
+++ b/packages/backend/src/server/web/views/info-card.tsx
@@ -21,13 +21,13 @@ export function InfoCardPage(props: CommonPropsMinimum<{
<meta charset="UTF-8" />
<meta name="application-name" content="Misskey" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title safe>{props.meta.name ?? props.config.url}</title>
+ <title safe>{props.meta.name ?? props.config.webUrl}</title>
<link rel="stylesheet" href="/static-assets/misc/info-card.css" />
</head>
<body>
- <a id="a" href={props.config.url} target="_blank" rel="noopener noreferrer">
+ <a id="a" href={props.config.webUrl} target="_blank" rel="noopener noreferrer">
<header id="banner" style={props.meta.bannerUrl != null ? `background-image: url(${props.meta.bannerUrl});` : ''}>
- <div id="title" safe>{props.meta.name ?? props.config.url}</div>
+ <div id="title" safe>{props.meta.name ?? props.config.webUrl}</div>
</header>
</a>
<div id="content">
diff --git a/packages/backend/src/server/web/views/note.tsx b/packages/backend/src/server/web/views/note.tsx
index 803c3d2537..85657eb1ed 100644
--- a/packages/backend/src/server/web/views/note.tsx
+++ b/packages/backend/src/server/web/views/note.tsx
@@ -26,7 +26,7 @@ export function NotePage(props: CommonProps<{
<meta property="og:type" content="article" />
<meta property="og:title" content={title} />
<meta property="og:description" content={summary} />
- <meta property="og:url" content={`${props.config.url}/notes/${props.note.id}`} />
+ <meta property="og:url" content={`${props.config.webUrl}/notes/${props.note.id}`} />
{videos.map(video => (
<>
<meta property="og:video:url" content={video.url} />
@@ -74,7 +74,7 @@ export function NotePage(props: CommonProps<{
{props.federationEnabled ? (
<>
- {props.note.user.host == null ? <link rel="alternate" type="application/activity+json" href={`${props.config.url}/notes/${props.note.id}`} /> : null}
+ {props.note.user.host == null ? <link rel="alternate" type="application/activity+json" href={`${props.config.webUrl}/notes/${props.note.id}`} /> : null}
{props.note.uri != null ? <link rel="alternate" type="application/activity+json" href={props.note.uri} /> : null}
</>
) : null}
diff --git a/packages/backend/src/server/web/views/page.tsx b/packages/backend/src/server/web/views/page.tsx
index d0484612df..f523173a49 100644
--- a/packages/backend/src/server/web/views/page.tsx
+++ b/packages/backend/src/server/web/views/page.tsx
@@ -18,7 +18,7 @@ export function PagePage(props: CommonProps<{
<meta property="og:type" content="article" />
<meta property="og:title" content={props.page.title} />
{props.page.summary != null ? <meta property="og:description" content={props.page.summary} /> : null}
- <meta property="og:url" content={`${props.config.url}/pages/${props.page.id}`} />
+ <meta property="og:url" content={`${props.config.webUrl}/pages/${props.page.id}`} />
{props.page.eyeCatchingImage != null ? (
<>
<meta property="og:image" content={props.page.eyeCatchingImage.thumbnailUrl ?? props.page.eyeCatchingImage.url} />
diff --git a/packages/backend/src/server/web/views/reversi-game.tsx b/packages/backend/src/server/web/views/reversi-game.tsx
index 22609311fd..d969b47575 100644
--- a/packages/backend/src/server/web/views/reversi-game.tsx
+++ b/packages/backend/src/server/web/views/reversi-game.tsx
@@ -19,7 +19,7 @@ export function ReversiGamePage(props: CommonProps<{
<meta property="og:type" content="article" />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
- <meta property="og:url" content={`${props.config.url}/reversi/g/${props.reversiGame.id}`} />
+ <meta property="og:url" content={`${props.config.webUrl}/reversi/g/${props.reversiGame.id}`} />
<meta property="twitter:card" content="summary" />
</>
);
diff --git a/packages/backend/src/server/web/views/user.tsx b/packages/backend/src/server/web/views/user.tsx
index 76c2633ab9..023af2fdd0 100644
--- a/packages/backend/src/server/web/views/user.tsx
+++ b/packages/backend/src/server/web/views/user.tsx
@@ -26,7 +26,7 @@ export function UserPage(props: CommonProps<{
<meta property="og:type" content="blog" />
<meta property="og:title" content={title} />
{props.user.description != null ? <meta property="og:description" content={props.user.description} /> : null}
- <meta property="og:url" content={`${props.config.url}/@${props.user.username}`} />
+ <meta property="og:url" content={`${props.config.webUrl}/@${props.user.username}`} />
<meta property="og:image" content={props.user.avatarUrl} />
<meta property="twitter:card" content="summary" />
</>
@@ -48,7 +48,7 @@ export function UserPage(props: CommonProps<{
{props.sub == null && props.federationEnabled ? (
<>
- {props.user.host == null ? <link rel="alternate" type="application/activity+json" href={`${props.config.url}/users/${props.user.id}`} /> : null}
+ {props.user.host == null ? <link rel="alternate" type="application/activity+json" href={`${props.config.webUrl}/users/${props.user.id}`} /> : null}
{props.user.uri != null ? <link rel="alternate" type="application/activity+json" href={props.user.uri} /> : null}
{props.profile.url != null ? <link rel="alternate" type="text/html" href={props.profile.url} /> : null}
</>