From 86e5a19971448559748acd6468119e0220dcef22 Mon Sep 17 00:00:00 2001 From: Namekuji Date: Fri, 24 Mar 2023 06:55:23 -0400 Subject: [PATCH 1/2] fix callback url --- packages/client/src/pages/auth.vue | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/client/src/pages/auth.vue b/packages/client/src/pages/auth.vue index 4ad7d08c66..34508610c1 100644 --- a/packages/client/src/pages/auth.vue +++ b/packages/client/src/pages/auth.vue @@ -88,8 +88,10 @@ export default defineComponent({ const getUrlParams = () => window.location.search.substring(1).split('&').reduce((result, query) => { const [k, v] = query.split('='); result[k] = decodeURI(v); return result; }, {}); const isMastodon = !!getUrlParams().mastodon if (this.session.app.callbackUrl && isMastodon) { - const stateParam = !!getUrlParams().state ? `&state=$(getUrlParams().state)` : ''; - location.href = `${this.session.app.callbackUrl}?code=${this.session.token}${stateParam}`; + const callbackUrl = new URL(this.session.app.callbackUrl); + callbackUrl.searchParams.append("code", this.session.token); + if (!!getUrlParams().state) callbackUrl.searchParams.append("state", getUrlParams().state); + location.href = callbackUrl.toString(); } else if (this.session.app.callbackUrl) { const url = new URL(this.session.app.callbackUrl); if (['javascript:', 'file:', 'data:', 'mailto:', 'tel:'].includes(url.protocol)) throw new Error('invalid url'); From 285e17ddd0cec478cd5fa83b02117c725e8002ea Mon Sep 17 00:00:00 2001 From: Namekuji Date: Thu, 23 Mar 2023 19:16:10 -0400 Subject: [PATCH 2/2] fix japanese locale --- locales/ja-JP.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 59bf28d5a6..67bf18b560 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -849,6 +849,9 @@ overridedDeviceKind: "デバイスタイプ" smartphone: "スマートフォン" tablet: "タブレット" auto: "自動" +showLocalPosts: "ローカルの投稿を表示する場所" +homeTimeline: "ホームタイムライン" +socialTimeline: "ソーシャルタイムライン" themeColor: "テーマカラー" size: "サイズ" numberOfColumn: "列の数" @@ -1240,10 +1243,10 @@ _tutorial: step4_2: "最初は{introduction}に投稿したり、シンプルに「こんにちは、アカウント作ってみました!」などの投稿をする人もいます。" step5_1: "タイムライン、タイムラインだらけ!" step5_2: "あなたのインスタンスでは{timelines}種類のタイムラインが有効になっています。" - step5_3: "ホーム{icon}タイムラインでは、あなたがフォローしているアカウントの投稿を見ることができます。" + step5_3: "ホーム{icon}タイムラインでは、あなたがフォローしているアカウントとこのインスタンスのみんなの投稿を見ることができます。もしフォローしているアカウントの投稿だけ見たい場合は、設定から変更できます。" step5_4: "ローカル{icon}タイムラインでは、このインスタンスのみんなの投稿を見ることができます。" - step5_5: "おすすめ{icon}タイムラインでは、管理人がおすすめするインスタンスの投稿を見ることができます。" - step5_6: "ソーシャル{icon}タイムラインでは、ホームタイムラインとローカルタイムラインの投稿を同時に見ることができます。" + step5_5: "ソーシャル{icon}タイムラインでは、あなたがフォローしているアカウントの投稿を見ることができます。" + step5_6: "おすすめ{icon}タイムラインでは、管理人がおすすめするインスタンスの投稿を見ることができます。" step5_7: "グローバル{icon}タイムラインでは、接続している他のすべてのインスタンスからの投稿を見ることができます。" step6_1: "じゃあ、ここはどんな場所なの?" step6_2: "実は、あなたはただCalckeyに参加しただけではありません。ここは、何千もの相互接続されたサーバーが構成する Fediverse への入口です。各サーバーは「インスタンス」と呼ばれます。"