From 587ab8500abb2d8b0a494dc05952c9919cc7f66f Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 2 Mar 2026 16:05:12 -0500 Subject: split url into webUrl and localUrl (like mastodon) --- packages/backend/src/server/web/ClientServerService.ts | 10 +++++----- packages/backend/src/server/web/FeedService.ts | 6 +++--- packages/backend/src/server/web/HtmlTemplateService.ts | 3 ++- packages/backend/src/server/web/views/_.ts | 1 + packages/backend/src/server/web/views/announcement.tsx | 2 +- packages/backend/src/server/web/views/base-embed.tsx | 1 + packages/backend/src/server/web/views/base.tsx | 3 ++- packages/backend/src/server/web/views/channel.tsx | 2 +- packages/backend/src/server/web/views/clip.tsx | 2 +- packages/backend/src/server/web/views/flash.tsx | 2 +- packages/backend/src/server/web/views/gallery-post.tsx | 2 +- packages/backend/src/server/web/views/info-card.tsx | 6 +++--- packages/backend/src/server/web/views/note.tsx | 4 ++-- packages/backend/src/server/web/views/page.tsx | 2 +- packages/backend/src/server/web/views/reversi-game.tsx | 2 +- packages/backend/src/server/web/views/user.tsx | 4 ++-- 16 files changed, 28 insertions(+), 24 deletions(-) (limited to 'packages/backend/src/server/web') 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 += `${name}`; content += `${name} Search`; content += 'UTF-8'; - content += `${this.config.url}/favicon.ico`; - content += ``; + content += `${this.config.webUrl}/favicon.ico`; + content += ``; content += ''; 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<{ - + {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 + 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 + - + {props.serverErrorImageUrl != null ? : null} {props.infoImageUrl != null ? : null} {props.notFoundImageUrl != null ? : 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<{ {props.channel.description != null ? : null} - + {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<{ {props.clip.description != null ? : null} - + {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<{ - + {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<{ {props.galleryPost.description != null ? : null} - + {props.galleryPost.isSensitive && 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<{ - {props.meta.name ?? props.config.url} + {props.meta.name ?? props.config.webUrl} - +
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<{ - + {videos.map(video => ( <> @@ -74,7 +74,7 @@ export function NotePage(props: CommonProps<{ {props.federationEnabled ? ( <> - {props.note.user.host == null ? : null} + {props.note.user.host == null ? : null} {props.note.uri != null ? : 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<{ {props.page.summary != null ? : null} - + {props.page.eyeCatchingImage != null ? ( <> 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<{ - + ); 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<{ {props.user.description != null ? : null} - + @@ -48,7 +48,7 @@ export function UserPage(props: CommonProps<{ {props.sub == null && props.federationEnabled ? ( <> - {props.user.host == null ? : null} + {props.user.host == null ? : null} {props.user.uri != null ? : null} {props.profile.url != null ? : null} -- cgit v1.2.3-freya