From d633fe41bc68b8f6edc983049d1ef2216a390922 Mon Sep 17 00:00:00 2001 From: Evan Paterakis Date: Sat, 5 Oct 2024 14:49:29 +0300 Subject: [PATCH 1/7] Don't depend on launcher.moe for status assets --- .../src/server/web/ClientServerService.ts | 6 +++--- packages/frontend/assets/status/error.png | Bin 0 -> 26966 bytes .../frontend/assets/status/missingpage.webp | Bin 0 -> 6578 bytes packages/frontend/assets/status/nothinghere.png | Bin 0 -> 36452 bytes packages/frontend/src/const.ts | 6 +++--- packages/frontend/src/index.html | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 packages/frontend/assets/status/error.png create mode 100644 packages/frontend/assets/status/missingpage.webp create mode 100644 packages/frontend/assets/status/nothinghere.png diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts index 0af90a844b..e20707977f 100644 --- a/packages/backend/src/server/web/ClientServerService.ts +++ b/packages/backend/src/server/web/ClientServerService.ts @@ -193,9 +193,9 @@ export class ClientServerService { icon: meta.iconUrl, appleTouchIcon: meta.app512IconUrl, themeColor: meta.themeColor, - serverErrorImageUrl: meta.serverErrorImageUrl ?? 'https://launcher.moe/error.png', - infoImageUrl: meta.infoImageUrl ?? 'https://launcher.moe/nothinghere.png', - notFoundImageUrl: meta.notFoundImageUrl ?? 'https://launcher.moe/missingpage.webp', + serverErrorImageUrl: meta.serverErrorImageUrl ?? '/status/error.png', + infoImageUrl: meta.infoImageUrl ?? '/status/nothinghere.png', + notFoundImageUrl: meta.notFoundImageUrl ?? '/status/missingpage.webp', instanceUrl: this.config.url, randomMOTD: this.config.customMOTD ? this.config.customMOTD[Math.floor(Math.random() * this.config.customMOTD.length)] : undefined, metaJson: htmlSafeJsonStringify(await this.metaEntityService.packDetailed(meta)), diff --git a/packages/frontend/assets/status/error.png b/packages/frontend/assets/status/error.png new file mode 100644 index 0000000000000000000000000000000000000000..9f21236c39379d34cad8cb6a195ab793fcd9f65f GIT binary patch literal 26966 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/status/missingpage.webp b/packages/frontend/assets/status/missingpage.webp new file mode 100644 index 0000000000000000000000000000000000000000..3ac83b31101ee6d7bf21a456a28e80d809f5e419 GIT binary patch literal 6578 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/status/nothinghere.png b/packages/frontend/assets/status/nothinghere.png new file mode 100644 index 0000000000000000000000000000000000000000..5ebe210acdaa5008678a64f3595af606755f5e57 GIT binary patch literal 36452 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 = { diff --git a/packages/frontend/src/index.html b/packages/frontend/src/index.html index 733116b75f..fdeb642c70 100644 --- a/packages/frontend/src/index.html +++ b/packages/frontend/src/index.html @@ -20,7 +20,7 @@ worker-src 'self'; script-src 'self' 'unsafe-eval' https://*.hcaptcha.com https://challenges.cloudflare.com https://esm.sh; style-src 'self' 'unsafe-inline'; - img-src 'self' data: blob: www.google.com xn--931a.moe launcher.moe localhost:3000 localhost:5173 127.0.0.1:5173 127.0.0.1:3000 activitypub.software secure.gravatar.com avatars.githubusercontent.com; + img-src 'self' data: blob: www.google.com xn--931a.moe localhost:3000 localhost:5173 127.0.0.1:5173 127.0.0.1:3000 activitypub.software secure.gravatar.com avatars.githubusercontent.com; media-src 'self' localhost:3000 localhost:5173 127.0.0.1:5173 127.0.0.1:3000; connect-src 'self' localhost:3000 localhost:5173 127.0.0.1:5173 127.0.0.1:3000 https://newassets.hcaptcha.com https://api.listenbrainz.org; frame-src *;" From 1410f8d501405919e9b03f68d83714f5f764bdea Mon Sep 17 00:00:00 2001 From: PrivateGER Date: Fri, 13 Sep 2024 11:38:51 +0100 Subject: [PATCH 2/7] Experimental: dont mark backfetched notes as silent --- packages/backend/src/core/activitypub/models/ApNoteService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/core/activitypub/models/ApNoteService.ts b/packages/backend/src/core/activitypub/models/ApNoteService.ts index 7b7a7921fb..382cda301f 100644 --- a/packages/backend/src/core/activitypub/models/ApNoteService.ts +++ b/packages/backend/src/core/activitypub/models/ApNoteService.ts @@ -587,7 +587,7 @@ export class ApNoteService { // ここでuriの代わりに添付されてきたNote Objectが指定されていると、サーバーフェッチを経ずにノートが生成されるが // 添付されてきたNote Objectは偽装されている可能性があるため、常にuriを指定してサーバーフェッチを行う。 const createFrom = options.sentFrom?.origin === new URL(uri).origin ? value : uri; - return await this.createNote(createFrom, options.resolver, true); + return await this.createNote(createFrom, options.resolver, false); } finally { unlock(); } From c0702fd92f70782005517c0065048ececa1ef287 Mon Sep 17 00:00:00 2001 From: Evan Paterakis Date: Sat, 5 Oct 2024 22:58:43 +0300 Subject: [PATCH 3/7] Check if time-based achievements are unlocked before initializing them in main-boot --- packages/frontend/src/boot/main-boot.ts | 28 +++++++++++++++---------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index c10930a038..5ff998fac4 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -216,19 +216,25 @@ export async function mainBoot() { claimAchievement('collectAchievements30'); } - window.setInterval(() => { - if (Math.floor(Math.random() * 20000) === 0) { - claimAchievement('justPlainLucky'); - } - }, 1000 * 10); + if (!claimedAchievements.includes('justPlainLucky')) { + window.setInterval(() => { + if (Math.floor(Math.random() * 20000) === 0) { + claimAchievement('justPlainLucky'); + } + }, 1000 * 10); + } - window.setTimeout(() => { - claimAchievement('client30min'); - }, 1000 * 60 * 30); + if (!claimedAchievements.includes('client30min')) { + window.setTimeout(() => { + claimAchievement('client30min'); + }, 1000 * 60 * 30); + } - window.setTimeout(() => { - claimAchievement('client60min'); - }, 1000 * 60 * 60); + if (!claimedAchievements.includes('client60min')) { + window.setTimeout(() => { + claimAchievement('client60min'); + }, 1000 * 60 * 60); + } // 邪魔 //const lastUsed = miLocalStorage.getItem('lastUsed'); From ca98107eeeb2ea4a498693caff8a725cf8333b40 Mon Sep 17 00:00:00 2001 From: Hazel K Date: Sat, 5 Oct 2024 18:25:13 -0400 Subject: [PATCH 4/7] respect following privacy settings --- .../frontend/src/components/MkPostForm.vue | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue index dc3f3aa94c..e2aeda7a94 100644 --- a/packages/frontend/src/components/MkPostForm.vue +++ b/packages/frontend/src/components/MkPostForm.vue @@ -630,11 +630,21 @@ async function onPaste(ev: ClipboardEvent) { if (paste.length > 1000) { ev.preventDefault(); - os.confirm({ - type: 'info', + os.actions({ + type: 'question', text: i18n.ts.attachAsFileQuestion, - }).then(({ canceled }) => { - if (canceled) { + actions: [ + { + value: 'yes', + text: i18n.ts.yes, + }, + { + value: 'no', + text: i18n.ts.no, + }, + ], + }).then(({ result }) => { + if (result !== 'yes') { insertTextAtCursor(textareaEl.value, paste); return; } From c63599261603b6c4619a9d31ba89006115140e88 Mon Sep 17 00:00:00 2001 From: Hazel K Date: Sat, 5 Oct 2024 18:47:50 -0400 Subject: [PATCH 5/7] restore primary highlighting --- packages/frontend/src/components/MkPostForm.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue index e2aeda7a94..add5296f0a 100644 --- a/packages/frontend/src/components/MkPostForm.vue +++ b/packages/frontend/src/components/MkPostForm.vue @@ -637,6 +637,7 @@ async function onPaste(ev: ClipboardEvent) { { value: 'yes', text: i18n.ts.yes, + primary: true, }, { value: 'no', From e622ab7cc7e13b96ca14c7ef496bb6572ee7af97 Mon Sep 17 00:00:00 2001 From: Hazel K Date: Sat, 5 Oct 2024 19:13:09 -0400 Subject: [PATCH 6/7] indicate if a user is blocked / muted by the current user --- locales/en-US.yml | 2 ++ locales/index.d.ts | 20 +++++++++++----- locales/ja-JP.yml | 2 ++ packages/frontend/src/pages/user/home.vue | 29 +++++++++++++++++------ 4 files changed, 40 insertions(+), 13 deletions(-) diff --git a/locales/en-US.yml b/locales/en-US.yml index 221ade4028..2f855ef9eb 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -143,8 +143,10 @@ markAsSensitive: "Mark as sensitive" unmarkAsSensitive: "Unmark as sensitive" enterFileName: "Enter filename" mute: "Mute" +muted: "Muted" unmute: "Unmute" renoteMute: "Mute Boosts" +renoteMuted: "Boosts muted" renoteUnmute: "Unmute Boosts" block: "Block" unblock: "Unblock" diff --git a/locales/index.d.ts b/locales/index.d.ts index f93ef14325..8a17705600 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -588,6 +588,10 @@ export interface Locale extends ILocale { * ミュート */ "mute": string; + /** + * Muted + */ + "muted": string; /** * ミュート解除 */ @@ -596,6 +600,10 @@ export interface Locale extends ILocale { * ブーストをミュート */ "renoteMute": string; + /** + * Boosts muted + */ + "renoteMuted": string; /** * ブーストのミュートを解除 */ @@ -3128,6 +3136,10 @@ export interface Locale extends ILocale { * 返信にサーバー情報を表示する */ "showTickerOnReplies": string; + /** + * 猫の話し方を無効にする + */ + "disableCatSpeak": string; /** * 検索MFMの検索エンジン */ @@ -4429,10 +4441,6 @@ export interface Locale extends ILocale { * 連合なしにする */ "disableFederationOk": string; - /** - * 猫の話し方を無効にする - */ - "disableCatSpeak": string; /** * 現在このサーバーは招待制です。招待コードをお持ちの方のみ登録できます。 */ @@ -5777,7 +5785,7 @@ export interface Locale extends ILocale { */ "social": string; /** - * バッッブルタイムラインでは、管理者が選択した接続サーバーからのメモを表示できます。 + * バブルタイムラインでは、管理者が選択した接続サーバーからの投稿を表示できます。 */ "bubble": string; /** @@ -9139,7 +9147,7 @@ export interface Locale extends ILocale { */ "global": string; /** - * バッッブル + * バブル */ "bubble": string; }; diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 70acc3adf4..724e9a23a1 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -143,8 +143,10 @@ markAsSensitive: "センシティブとして設定" unmarkAsSensitive: "センシティブを解除する" enterFileName: "ファイル名を入力" mute: "ミュート" +muted: "Muted" unmute: "ミュート解除" renoteMute: "ブーストをミュート" +renoteMuted: "Boosts muted" renoteUnmute: "ブーストのミュートを解除" block: "ブロック" unblock: "ブロック解除" diff --git a/packages/frontend/src/pages/user/home.vue b/packages/frontend/src/pages/user/home.vue index b997fe1c3f..e82ec0cb97 100644 --- a/packages/frontend/src/pages/user/home.vue +++ b/packages/frontend/src/pages/user/home.vue @@ -30,7 +30,12 @@ SPDX-License-Identifier: AGPL-3.0-only - {{ i18n.ts.followsYou }} +
+ {{ i18n.ts.followsYou }} + {{ i18n.ts.muted }} + {{ i18n.ts.renoteMuted }} + {{ i18n.ts.blocked }} +
@@ -445,15 +450,25 @@ onUnmounted(() => { background: linear-gradient(transparent, rgba(#000, 0.7)); } - > .followed { + > .info-badges { position: absolute; top: 12px; left: 12px; - padding: 4px 8px; - color: #fff; - background: rgba(0, 0, 0, 0.7); - font-size: 0.7em; - border-radius: var(--radius-sm); + + display: flex; + flex-direction: row; + + > * { + padding: 4px 8px; + color: #fff; + background: rgba(0, 0, 0, 0.7); + font-size: 0.7em; + border-radius: var(--radius-sm); + } + + > :not(:first-child) { + margin-left: 8px; + } } > .actions { From c315f9ccf5f652278a5f70394f191b0a84566fa5 Mon Sep 17 00:00:00 2001 From: Hazel K Date: Sat, 5 Oct 2024 19:48:35 -0400 Subject: [PATCH 7/7] include Mastodon's "indexable" property on federated user profiles --- packages/backend/src/core/activitypub/ApRendererService.ts | 1 + packages/backend/src/core/activitypub/misc/contexts.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/backend/src/core/activitypub/ApRendererService.ts b/packages/backend/src/core/activitypub/ApRendererService.ts index 55d1054de9..499a163d6c 100644 --- a/packages/backend/src/core/activitypub/ApRendererService.ts +++ b/packages/backend/src/core/activitypub/ApRendererService.ts @@ -526,6 +526,7 @@ export class ApRendererService { publicKey: this.renderKey(user, keypair, '#main-key'), isCat: user.isCat, noindex: user.noindex, + indexable: !user.noindex, speakAsCat: user.speakAsCat, attachment: attachment.length ? attachment : undefined, }; diff --git a/packages/backend/src/core/activitypub/misc/contexts.ts b/packages/backend/src/core/activitypub/misc/contexts.ts index 815b20b910..86a665732a 100644 --- a/packages/backend/src/core/activitypub/misc/contexts.ts +++ b/packages/backend/src/core/activitypub/misc/contexts.ts @@ -545,6 +545,7 @@ const extension_context_definition = { Emoji: 'toot:Emoji', featured: 'toot:featured', discoverable: 'toot:discoverable', + indexable: 'toot:indexable', // schema schema: 'http://schema.org#', PropertyValue: 'schema:PropertyValue',