diff --git a/CHANGELOG.md b/CHANGELOG.md index ee2f11b15640..e4244399b728 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -849,6 +849,86 @@ Meilisearchの設定に`index`が必要になりました。値はMisskeyサー ### Improvements - ロールで広告の非表示が有効になっている場合は最初から広告を非表示にするように +## 13.5.3 (2023/02/09) + +### Improvements +- Client: デッキにチャンネルカラムを追加 + +## 13.5.2 (2023/02/08) + +### Changes +- Revert: perf(client): do not render custom emojis in user names + +### Bugfixes +- Client: register_note_view_interruptor not working +- Client: ログイントークンの再生成が出来ない + +## 13.5.0 (2023/02/08) + +### Changes +- perf(client): do not render custom emojis in user names + +### Improvements +- Client: disableShowingAnimatedImagesのデフォルト値をprefers-reduced-motionにする +- enhance(client): tweak medialist style + +### Bugfixes +- fix docker health check +- Client: MkEmojiPickerでもChromeで検索ダイアログで変換確定するとそのまま検索されてしまうのを修正 +- fix(mfm): default degree not used in rotate +- fix(server): validate urls from ap to improve security + +## 13.4.0 (2023/02/05) + +### Improvements +- ロールにアイコンを設定してユーザー名の横に表示できるように +- feat: timeline page for non-login users +- 実績の単なるラッキーの獲得確立を調整 +- Add Thai language support + +### Bugfixes +- fix(server): 自分のノートをお気に入りに登録しても実績解除される問題を修正 +- fix(server): clean up file in FileServer +- fix(server): Deny UNIX domain socket +- fix(server): validate filename and emoji name to improve security +- fix(client): validate input response in aiscript +- fix(client): add webhook delete button +- fix(client): tweak notification style +- fix(client): インラインコードを折り返して表示する + +## 13.3.3 (2023/02/04) + +### Bugfixes +- Server: improve security + +## 13.3.2 (2023/02/04) + +### Improvements +- 外部メディアプロキシへの対応を強化しました + 外部メディアプロキシのFastify実装を作りました + https://github.com/misskey-dev/media-proxy +- Server: improve performance + +### Bugfixes +- Client: validate urls to improve security + +## 13.3.1 (2023/02/04) + +### Bugfixes +- Client: カスタム絵文字にアニメーション画像を再生しない設定が適用されていない問題を修正 +- Client: オートコンプリートでUnicode絵文字がカスタム絵文字として表示されてしまうのを修正 +- Client: Fix Vue-plyr CORS issue +- Client: validate urls to improve security + +## 13.3.0 (2023/02/03) +### Changes +- twitter/github/discord連携機能が削除されました +- ハッシュタグごとのチャートが削除されました +- syslogのサポートが削除されました + +### Improvements +- ロールで広告の非表示が有効になっている場合は最初から広告を非表示にするように + ## 13.2.6 (2023/02/01) ### Changes - docker-compose.ymlをdocker-compose.yml.exampleにしました。docker-compose.ymlとしてコピーしてから使用してください。 diff --git a/README.md b/README.md index ab4388c2ebd2..548114ce512a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ + + + + +--- +
Misskey logo diff --git a/package.json b/package.json index 2259ede6d55e..4373b6121169 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "misskey", - "version": "2023.9.3", + "version": "2023.9.3-mashiro.4", "codename": "nasubi", "repository": { "type": "git", - "url": "https://github.com/misskey-dev/misskey.git" + "url": "https://github.com/AyumuNekozuki/misskey.git" }, "packageManager": "pnpm@8.8.0", "workspaces": [ diff --git a/packages/backend/assets/apple-touch-icon.png b/packages/backend/assets/apple-touch-icon.png index 06ad3f1bb4d5..998763b7cecd 100644 Binary files a/packages/backend/assets/apple-touch-icon.png and b/packages/backend/assets/apple-touch-icon.png differ diff --git a/packages/backend/assets/favicon.ico b/packages/backend/assets/favicon.ico index 9be1ff62956c..089fa04d1d6b 100644 Binary files a/packages/backend/assets/favicon.ico and b/packages/backend/assets/favicon.ico differ diff --git a/packages/backend/assets/favicon.png b/packages/backend/assets/favicon.png index b4eb18a5cb8d..089fa04d1d6b 100644 Binary files a/packages/backend/assets/favicon.png and b/packages/backend/assets/favicon.png differ diff --git a/packages/backend/assets/icons/192.png b/packages/backend/assets/icons/192.png index 15fd1e373121..998763b7cecd 100644 Binary files a/packages/backend/assets/icons/192.png and b/packages/backend/assets/icons/192.png differ diff --git a/packages/backend/assets/icons/300.png b/packages/backend/assets/icons/300.png new file mode 100644 index 000000000000..965669540926 Binary files /dev/null and b/packages/backend/assets/icons/300.png differ diff --git a/packages/backend/assets/icons/500.png b/packages/backend/assets/icons/500.png new file mode 100644 index 000000000000..01a494563229 Binary files /dev/null and b/packages/backend/assets/icons/500.png differ diff --git a/packages/backend/assets/icons/512.png b/packages/backend/assets/icons/512.png index f2169ec9b040..71a334dcb75b 100644 Binary files a/packages/backend/assets/icons/512.png and b/packages/backend/assets/icons/512.png differ diff --git a/packages/backend/src/queue/processors/InboxProcessorService.ts b/packages/backend/src/queue/processors/InboxProcessorService.ts index 99e823f9fa55..f4dfb8595031 100644 --- a/packages/backend/src/queue/processors/InboxProcessorService.ts +++ b/packages/backend/src/queue/processors/InboxProcessorService.ts @@ -43,19 +43,19 @@ export class InboxProcessorService { private instanceChart: InstanceChart, private apRequestChart: ApRequestChart, private federationChart: FederationChart, - private queueLoggerService: QueueLoggerService, + private queueLoggerService: QueueLoggerService ) { - this.logger = this.queueLoggerService.logger.createSubLogger('inbox'); + this.logger = this.queueLoggerService.logger.createSubLogger("inbox"); } @bindThis public async process(job: Bull.Job): Promise { - const signature = job.data.signature; // HTTP-signature + const signature = job.data.signature; // HTTP-signature const activity = job.data.activity; //#region Log const info = Object.assign({}, activity); - delete info['@context']; + delete info["@context"]; this.logger.debug(JSON.stringify(info, null, 2)); //#endregion @@ -68,7 +68,7 @@ export class InboxProcessorService { } const keyIdLower = signature.keyId.toLowerCase(); - if (keyIdLower.startsWith('acct:')) { + if (keyIdLower.startsWith("acct:")) { return `Old keyId is no longer supported. ${keyIdLower}`; } @@ -81,7 +81,9 @@ export class InboxProcessorService { // keyIdでわからなければ、activity.actorを元にDBから取得 || activity.actorを元にリモートから取得 if (authUser == null) { try { - authUser = await this.apDbResolverService.getAuthUserFromApId(getApId(activity.actor)); + authUser = await this.apDbResolverService.getAuthUserFromApId( + getApId(activity.actor) + ); } catch (err) { // 対象が4xxならスキップ if (err instanceof StatusError) { @@ -104,7 +106,10 @@ export class InboxProcessorService { } // HTTP-Signatureの検証 - const httpSignatureValidated = httpSignature.verifySignature(signature, authUser.key.keyPem); + const httpSignatureValidated = httpSignature.verifySignature( + signature, + authUser.key.keyPem + ); // また、signatureのsignerは、activity.actorと一致する必要がある if (!httpSignatureValidated || authUser.user.uri !== activity.actor) { @@ -117,12 +122,14 @@ export class InboxProcessorService { // activity.signature.creator: https://example.oom/users/user#main-key // みたいになっててUserを引っ張れば公開キーも入ることを期待する if (activity.signature.creator) { - const candicate = activity.signature.creator.replace(/#.*/, ''); + const candicate = activity.signature.creator.replace(/#.*/, ""); await this.apPersonService.resolvePerson(candicate).catch(() => null); } // keyIdからLD-Signatureのユーザーを取得 - authUser = await this.apDbResolverService.getAuthUserFromKeyId(activity.signature.creator); + authUser = await this.apDbResolverService.getAuthUserFromKeyId( + activity.signature.creator + ); if (authUser == null) { throw new Bull.UnrecoverableError('skip: LD-Signatureのユーザーが取得できませんでした'); } @@ -133,7 +140,9 @@ export class InboxProcessorService { // LD-Signature検証 const ldSignature = this.ldSignatureService.use(); - const verified = await ldSignature.verifyRsaSignature2017(activity, authUser.key.keyPem).catch(() => false); + const verified = await ldSignature + .verifyRsaSignature2017(activity, authUser.key.keyPem) + .catch(() => false); if (!verified) { throw new Bull.UnrecoverableError('skip: LD-Signatureの検証に失敗しました'); } @@ -154,7 +163,7 @@ export class InboxProcessorService { } // activity.idがあればホストが署名者のホストであることを確認する - if (typeof activity.id === 'string') { + if (typeof activity.id === "string") { const signerHost = this.utilityService.extractDbHost(authUser.user.uri!); const activityIdHost = this.utilityService.extractDbHost(activity.id); if (signerHost !== activityIdHost) { @@ -181,6 +190,6 @@ export class InboxProcessorService { // アクティビティを処理 await this.apInboxService.performActivity(authUser.user, activity); - return 'ok'; + return "ok"; } } diff --git a/packages/backend/src/server/web/manifest.json b/packages/backend/src/server/web/manifest.json index 41171d62a19f..740781199793 100644 --- a/packages/backend/src/server/web/manifest.json +++ b/packages/backend/src/server/web/manifest.json @@ -1,6 +1,6 @@ { - "short_name": "Misskey", - "name": "Misskey", + "short_name": "みすほわいと", + "name": "みすほわいと", "start_url": "/", "display": "standalone", "background_color": "#313a42", @@ -19,7 +19,7 @@ "purpose": "maskable" }, { - "src": "/static-assets/splash.png", + "src": "/static-assets/icons/300.png", "sizes": "300x300", "type": "image/png", "purpose": "any" diff --git a/packages/frontend/src/components/MkVisitorDashboard.vue b/packages/frontend/src/components/MkVisitorDashboard.vue index e4520bbb2d4a..1301b19b6213 100644 --- a/packages/frontend/src/components/MkVisitorDashboard.vue +++ b/packages/frontend/src/components/MkVisitorDashboard.vue @@ -19,7 +19,14 @@ SPDX-License-Identifier: AGPL-3.0-only
- {{ i18n.ts.invitationRequiredToRegister }} +
+ 現在、このサーバーは招待制です。
+ 登録には招待コードが必要です。
+
+ 招待コードはすでに登録済みのご友人から受け取るか、
+ こちらから使えるコードを探して利用してください。 + +
{{ i18n.ts.joinThisServer }} @@ -54,6 +61,7 @@ SPDX-License-Identifier: AGPL-3.0-only import { } from 'vue'; import * as Misskey from 'misskey-js'; import XTimeline from './welcome.timeline.vue'; +import MkLink from '@/components/MkLink.vue'; import XSigninDialog from '@/components/MkSigninDialog.vue'; import XSignupDialog from '@/components/MkSignupDialog.vue'; import MkButton from '@/components/MkButton.vue'; diff --git a/packages/frontend/src/pages/about.vue b/packages/frontend/src/pages/about.vue index 02768b077406..c5beb785986d 100644 --- a/packages/frontend/src/pages/about.vue +++ b/packages/frontend/src/pages/about.vue @@ -24,16 +24,31 @@ SPDX-License-Identifier: AGPL-3.0-only
- - - -
{{ i18n.ts.aboutMisskey }}
+ +
+ + + + + + + {{ i18n.ts._aboutMisskey.source }} + + + + + サーバー代支援 + + +
+
+
diff --git a/packages/frontend/src/pages/timeline.vue b/packages/frontend/src/pages/timeline.vue index 5bad689aee25..0b49b26cee85 100644 --- a/packages/frontend/src/pages/timeline.vue +++ b/packages/frontend/src/pages/timeline.vue @@ -213,7 +213,7 @@ const headerTabsWhenNotLogin = $computed(() => [ icon: 'ti ti-whirl', iconOnly: true, }] : []), -] as Tab[]); +]); definePageMetadata(computed(() => ({ title: i18n.ts.timeline, diff --git a/packages/frontend/src/pages/welcome.entrance.a.vue b/packages/frontend/src/pages/welcome.entrance.a.vue index 998d94248888..d40543baeaab 100644 --- a/packages/frontend/src/pages/welcome.entrance.a.vue +++ b/packages/frontend/src/pages/welcome.entrance.a.vue @@ -68,7 +68,7 @@ os.apiGet('federation/instances', { position: fixed; top: 0; right: 0; - width: 80vw; // 100%からshapeの幅を引いている + width: 85vw; // 100%からshapeの幅を引いている height: 100vh; } @@ -79,7 +79,7 @@ os.apiGet('federation/instances', { right: 64px; margin: auto; padding: 128px 0; - width: 500px; + width: 300px; height: calc(100% - 256px); overflow: hidden; -webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 128px, rgba(0,0,0,1) calc(100% - 128px), rgba(0,0,0,0) 100%); diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts index ca4a71a67f0f..611f0c927cd5 100644 --- a/packages/frontend/src/ui/_common_/common.ts +++ b/packages/frontend/src/ui/_common_/common.ts @@ -69,7 +69,13 @@ export function openInstanceMenu(ev: MouseEvent) { icon: 'ti ti-icons', } : undefined], }, null, { - text: i18n.ts.help, + text: "みすほわいと ヘルプ", + icon: 'ti ti-help-circle', + action: () => { + window.open('https://mi-mashiro-site.notion.site/mi-mashiro-site/de158e06de974157893a4790472e2f1e', '_blank'); + }, + },{ + text: `Misskey ${i18n.ts.help}`, icon: 'ti ti-help-circle', action: () => { window.open('https://misskey-hub.net/help.html', '_blank');