-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pull] develop from misskey-dev:develop #5
Conversation
Merge pull request #10048 from misskey-dev/develop
Merge pull request #10050 from misskey-dev/develop
Release: 13.7.5
* Add dialog to remove follower (#9718) * update PULL_REQUEST_TEMPLATE * 起動時にRedisの疎通確認を行う (#9832) * 起動時にRedisの疎通確認を行う * check:connectをstart内に移動 --------- Co-authored-by: tamaina <tamaina@hotmail.co.jp> * Pass `--detectOpenHandles` to Jest (#9895) Co-authored-by: tamaina <tamaina@hotmail.co.jp> * enhance(client): MkUrlPreviewの閉じるボタンを見やすく (#9913) Co-authored-by: tamaina <tamaina@hotmail.co.jp> * test(backend): restore ap-request tests (#9997) Co-authored-by: tamaina <tamaina@hotmail.co.jp> * fix/refaftor(client): MkTime.vueの変更 (#10061) * fix(client): MkTime.timeにstringでもDateでない値が入った場合、?を表示 * fix(client): MkTimeを改良 * numberを許容 * falsyな値もとる * 不明 * ありません * fix * fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする (#9911) * fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする * NO_SUCH_FILE * Update codecov.yml * Update apple-touch-icon.png * デプロイされているプレビュー環境がない場合はプレビュー環境を削除しないようにする (#10062) * デプロイされているプレビュー環境がない場合はDestroy preview environmentを実行しないようにする * CIがない場合の処理追加 * enhance(client): improve clip menu ux * 未知のユーザーが deleteActor されたら処理をスキップする (#10067) * fix(client): Android ChromeでPWAとしてインストールできない問題を修正 (#10069) * fix(client): Android ChromeでPWAとしてインストールできない問題を修正 * 順番関係ある? * Windows環境でswcを使うと正常にビルドができない問題の修正 (#10074) * Update @swc/core to v1.3.36 * Update CHANGELOG.md * Update CHANGELOG.md * バックグラウンドで一定時間経過したらページネーションのアイテム更新をしない (#10053) * 🎨 * feat: 2つの検索画面の統合 (#9949) (#10038) * feat: 検索画面の UI を統一 * fix: エラーの修正 * add: changelog --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp> * enhance(client): ノートメニューからユーザーメニューを開けるように Resolve #10019 * enhance(client): renoteした際の表示を改善 Resolve #10078 * Update CHANGELOG.md * enhance(client): tweak contextmenu position calculation * 🎨 * 🎨 * feat: in-channel featured note Resolve #9938 * refactor(frontend): fix eslint error (#10084) * Simplify search.vue (remove dead code) (#10088) * Simplify search.vue This is already handled by the code above it, no need to handle it twice * Remove unused imports * Update about-misskey.vue * test(server): add validation test of api:notes/create (#10090) * fix(server): notes/createのバリデーションが効いていない Fix #10079 Co-Authored-By: mei23 <m@m544.net> * anyOf内にバリデーションを書いても最初の一つしかチェックされない * ✌️ * wip * wip * ✌️ * RequiredProp * Revert "RequiredProp" This reverts commit 7469390. * add api:notes/create * fix lint * text * ✌️ * improve readability --------- Co-authored-by: mei23 <m@m544.net> Co-authored-by: syuilo <Syuilotan@yahoo.co.jp> * New Crowdin updates (#10059) * New translations ja-JP.yml (Japanese, Kansai) * New translations ja-JP.yml (Romanian) * New translations ja-JP.yml (French) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (Arabic) * New translations ja-JP.yml (Czech) * New translations ja-JP.yml (German) * New translations ja-JP.yml (Italian) * New translations ja-JP.yml (Korean) * New translations ja-JP.yml (Polish) * New translations ja-JP.yml (Russian) * New translations ja-JP.yml (Slovak) * New translations ja-JP.yml (Ukrainian) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Vietnamese) * New translations ja-JP.yml (Indonesian) * New translations ja-JP.yml (Bengali) * New translations ja-JP.yml (Thai) * New translations ja-JP.yml (Japanese, Kansai) * New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (Ukrainian) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Ukrainian) * New translations ja-JP.yml (Ukrainian) * New translations ja-JP.yml (Ukrainian) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Japanese, Kansai) * New translations ja-JP.yml (Thai) * New translations ja-JP.yml (Thai) * New translations ja-JP.yml (Thai) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (Spanish) * enhance(client): improve user menu ux * enhance(client): photoswipe 表示時に戻る操作をしても前の画面に戻らないように (#10098) * enhance(client): photoswipe 表示時に戻る操作をしても前の画面に戻らないように * add: changelog --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp> * enhance(client): メニューの「もっと」からインスタンス情報を見れるように * [Fix] fixed an typo in error message (#10102) * Update codecov.yml * Update CHANGELOG.md * fix(server): エラーのスタックトレースは返さないように Fix #10064 * [chore]Editorconfig: ymlに加えてyamlファイルに対しても同じ規約を適用する (#10081) * Added yaml file in addition to yml file, in editorconfig * Applied editorconfig for pnpm-workspace.yaml --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp> * update deps * ホームタイムラインの読み込みでクエリタイムアウトになるのを修正する (#10106) * refactor * New translations ja-JP.yml (French) (#10103) * Update CHANGELOG.md * 13.8.0 --------- Co-authored-by: atsuchan <83960488+atsu1125@users.noreply.github.com> Co-authored-by: Masaya Suzuki <15100604+massongit@users.noreply.github.com> Co-authored-by: tamaina <tamaina@hotmail.co.jp> Co-authored-by: Kagami Sascha Rosylight <saschanaz@outlook.com> Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com> Co-authored-by: xianon <xianon@hotmail.co.jp> Co-authored-by: kabo2468 <28654659+kabo2468@users.noreply.github.com> Co-authored-by: YS <47836716+yszkst@users.noreply.github.com> Co-authored-by: Khsmty <me@khsmty.com> Co-authored-by: Soni L <EnderMoneyMod@gmail.com> Co-authored-by: mei23 <m@m544.net> Co-authored-by: daima3629 <52790780+daima3629@users.noreply.github.com> Co-authored-by: Windymelt <1113940+windymelt@users.noreply.github.com>
Release: 13.8.1
Release: 13.9.0
Release: 13.9.1
Release: 13.9.2
Release: 13.10.0
Release: 13.10.1
Release: 13.10.2
Release: 13.10.3
Release: 13.11.1
Release: 13.11.2
Update CHANGELOG.md
Release: 13.11.3
Release: 13.12.0
Release: 13.12.1
* refactor(frontend): use css modules * feat: 投稿したコンテンツのAIによる学習を軽減するオプションを追加 Resolve #10819 * enhance(backend): publicReactionsをデフォルトtrueに * 念のためnoimageaiもつける * add X-Robots-Tag: noai * Update ja-JP.yml * fix(frontend): ブラーエフェクトを有効にしている状態で高負荷になる問題を修正 * enhance(backend): graceful shutdown for job queue and refactor * fix(backend): テスト時は一部のサービスを停止 * fix test * New Crowdin updates (#10815) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (Korean) * New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (Chinese Traditional) * refactor * bump * refactor(frontend): use css module * refactor(frontend): use css module * delete unused component * センシティブワードを正規表現、CWにも適用するように (#10688) * cwにセンシティブが効いてない * CWが無いときにTextを見るように * 比較演算子間違えた * とりあえずチェック * 正規表現対応 * /test/giにも対応 * matchでしなくてもいいのでは感 * レビュー修正 * Update packages/backend/src/core/NoteCreateService.ts Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com> * Update packages/backend/src/core/NoteCreateService.ts Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com> * 修正 * wipかも * wordsでスペース区切りのものできたかも * なんか動いたかも * test作成 * 文言の修正 * 修正 * note参照 --------- Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com> * Update CHANGELOG.md * New Crowdin updates (#10823) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * ci: fix typo * fix(frontend): より明確な説明にしたのとtypo修正 * fix typo * fix(frontend): カラーバーがリプライには表示されないのを修正 * fix(frontend): チャンネル内の検索ボックスが挙動不審な問題を修正 Fix #10793 * enhance(backend): ノートのハッシュタグもMeilisearchに突っ込むように 今後ハッシュタグ検索とか実装するときのため * feat(frontend): ユーザー指定ノート検索 * fix(frontend): fix retention chart rendering * Update about-misskey.vue * meta: Remove @rinsuki from reviewer-lottery (#10830) * New Crowdin updates (#10824) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (French) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Japanese, Kansai) * New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (German) * New translations ja-JP.yml (Italian) * New translations ja-JP.yml (Korean) * New translations ja-JP.yml (Norwegian) * New translations ja-JP.yml (Russian) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Indonesian) * New translations ja-JP.yml (Thai) * enhance(frontend): アカウント初期設定ウィザードにプライバシー設定を追加 * Update CHANGELOG.md * fix(backend): ひとつのMeilisearchサーバーを複数のMisskeyサーバーで使えない問題を修正 * fix MkUserSetupDialog.Privacy.vue * ci: skip non-Japanese locale on TurboSnap * ci: notify on changes for push events * ci: fix missing branch * Update basic.cy.js * [ci skip] New Crowdin updates (#10834) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Arabic) * New translations ja-JP.yml (German) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Japanese, Kansai) * New translations ja-JP.yml (Arabic) * 🎨 * 🎨 * enhance(frontend): add retention line chart * update deps * refactor * fix(frontend): Pageにおいて画像ブロックに画像を設定できない問題を修正 Fix #10837 --------- Co-authored-by: nenohi <kimutipartylove@gmail.com> Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com> Co-authored-by: rinsuki <428rinsuki+git@gmail.com>
Release: 13.13.0
Release: 13.13.1
Release: 13.13.2
Release: 13.14.0
Release: 13.14.1
Release: 13.14.2
Release: 2023.9.0
Release: 2023.9.2
@@ -13,6 +13,7 @@ import type { Config } from '@/config.js'; | |||
import { DI } from '@/di-symbols.js'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
コード改善点 (Uncle Bob 風)
- 不要な依存関係の削除:
@misskey-dev/node-http-message-signatures
の使用を@peertube/http-signature
に置き換えることで、依存関係を減らし、コードをシンプルにすることができます。 - 冗長なコードの削除:
genRFC3230DigestHeader
を使用していた部分をApRequestCreator.createDigest
に置き換え、重複コードを削除し、コードを簡潔にすることができます。 - 不要な引数削除:
deliver
関数とdeliverMany
関数からprivateKey
引数を削除し、ApRequestCreator
を使用して暗号化処理を統一することで、コードの複雑さを軽減できます。 - インターフェースの明確化:
ParsedSignature
をhttpSignature.IParsedSignature
に置き換えることで、インターフェースを明確にし、コードの可読性を向上させることができます。 - コードの可読性向上:
privateKey
引数の代わりにApRequestCreator
を使用することで、コードの可読性を向上させることができます。
これらの変更により、コードはよりシンプルで理解しやすく、保守しやすいものになります。
@@ -16,8 +16,6 @@ import { ApRendererService } from '@/core/activitypub/ApRendererService.js'; | |||
import { DI } from '@/di-symbols.js'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
コード改善点
- 依存関係の注入:
UserKeypairService
は直接インスタンス化ではなく、DIコンテナから注入するように変更すべきです。 - プライベートキーの取得: プライベートキーの取得は、
deliverToRelays
メソッドから分離し、専用のメソッドを作成すべきです。 deliverMany
の使用:deliverMany
メソッドを使って複数のリレーに同時に配信することで、コードを簡潔にできます。- エラーハンドリング: リレーへの配信処理中に発生する可能性のあるエラーを適切にキャッチし、処理する必要があります。
- コードの可読性: 複雑なロジックを分かりやすく分割し、コメントを追加して可読性を向上させるべきです。
@@ -3,6 +3,7 @@ | |||
* SPDX-License-Identifier: AGPL-3.0-only |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
コード改善点 (Uncle Bob 風)
- 依存関係の注入:
genRSAAndEd25519KeyPair
を別のモジュールからインポートするのではなく、generateKeyPair
を直接利用するように変更しましょう。これは、依存関係をより明確にし、コードの可読性を向上させます。 - 重複コードの排除:
genRSAAndEd25519KeyPair
のロジックをgenerateKeyPair
で置き換えることで、重複コードを排除できます。 - 可読性の向上:
Promise
内のコールバック関数を簡潔なアロー関数で書き直すことで、コードの可読性を向上させましょう。 - 明示的な変数名:
keyPair
の要素をpublicKey
とprivateKey
のように明確な変数名に置き換えることで、コードの理解しやすさを向上させます。 - 無駄なコードの削除:
MiUserKeypair
に不要な...keyPair
を削除することで、コードを簡潔に保ちましょう。
@@ -5,184 +5,41 @@ | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
このコードは、UserKeypairService クラス内のキャッシュ処理に問題があります。
- 複数種類のキャッシュ: RedisKVCache と MemoryKVCache の2種類のキャッシュが使用されています。これは、コードの複雑さと保守性を高め、パフォーマンスを低下させる可能性があります。
- キャッシュの使い分け: RedisKVCache と MemoryKVCache がどのように使い分けられているのか不明です。
- 不要なキャッシュ: MemoryKVCache は、
crypto.subtle.importKey
のパフォーマンスを改善するために使用されていますが、fetchMaybe
メソッドが使用されているため、必要ありません。 - キャッシュの更新:
refresh
メソッドは、キャッシュを更新する役割を果たしますが、その使用方法が不明です。 - イベントリスナー:
onMessage
メソッドは、イベントリスナーとして機能し、userKeypairUpdated
イベントを処理しますが、キャッシュ更新のロジックが複雑です。
これらの問題を解決するために、以下の改善点を検討してください:
- 単一のキャッシュ機構 (RedisKVCache) を使用し、MemoryKVCache を削除してください。
- すべてのキャッシュ処理を RedisKVCache で統一してください。
fetchMaybe
メソッドの代わりに、fetch
メソッドを使用してください。- キャッシュ更新のロジックを簡素化し、イベントリスナーを不要にしてください。
@@ -0,0 +1,52 @@ | |||
/* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
コード改善点 (Uncle Bob 風)
- 関数名:
mute
とunmute
は、ユーザーが「ミュートする」というアクションを直接表現していません。「ユーザーのミュート状態を更新する」というように、より正確な表現を使うべきです。 - 引数:
unmute
関数のmutings
は、内部でmuterId
を抽出し、ループで処理しています。この処理は、関数内で完結させるのではなく、別途getUniqueMuterIds
などの関数として抽出することで、コードの可読性を高めることができます。 - キャッシュ:
unmute
関数では、複数のユーザーのキャッシュを更新しています。これは、ユーザーごとにキャッシュを個別に更新するよりも、一括更新する方が効率的です。 - エラー処理: エラーが発生した場合の処理が不足しています。
mute
やunmute
の処理中にエラーが発生した場合、適切なエラー処理を追加する必要があります。 - 可読性: 関数のコメントを増やすことで、コードの可読性を向上させることができます。特に、
unmute
関数の内部処理など、複雑なロジック部分にコメントを追加すると良いでしょう。
@@ -3,23 +3,27 @@ | |||
* SPDX-License-Identifier: AGPL-3.0-only |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
このコードは、ユーザーのアカウントを一時停止・解除する処理を記述しており、ActivityPubプロトコルを用いて、他のアカウントにその変更を通知しています。以下に、アンクルボブ風に改善点を指摘します。
- 依存関係の注入:
FollowingsRepository
、QueueService
などの依存関係がすべてconstructor
で注入されている点は良いですが、各依存関係に対して@Inject
デコレータを使用することで、コードの可読性を向上させ、依存関係が明示的にわかるようにできます。 - 重複コードの削減: 一時停止処理と解除処理で、
SharedInbox
への通知処理がほぼ同じです。この部分は、共通の関数として抽出することで、コードの重複を減らし、保守性を向上させることができます。 - 関数分割:
suspend
とunsuspend
関数は、それぞれ40行ほどと少し長くなっています。処理をより小さな関数に分割することで、各関数の役割が明確になり、可読性が向上します。 - エラー処理: エラーハンドリングが不足しています。特に、
followingsRepository.find
やqueueService.deliver
が失敗した場合の処理を追加する必要があります。 - テストの改善: 現在のコードでは、
suspend
とunsuspend
関数の単体テストが不足しているように見えます。各関数の振る舞い、特に ActivityPub の通知処理について、適切な単体テストを追加することで、コードの信頼性を向上させる必要があります。
@@ -46,7 +46,7 @@ export class WebfingerService { | |||
const m = query.match(mRegex); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
コード改善点 (Uncle Bob風)
- 環境変数の名前がわかりにくい:
MISSKEY_USE_HTTP
は汎用的すぎる。MISSKEY_WEBFINGER_USE_HTTP
のように、用途を明確にする。 - HTTP プロトコル判定が冗長:
useHttp ? '' : 's'
はuseHttp ? 's' : ''
にすれば簡潔になる。 - 変数名:
m
よりもmatch
のような意味がわかりやすい名前を使う。 - コードの可読性:
query.match(mRegex)
の結果をすぐにhostname
に代入するのではなく、const match = query.match(mRegex)
のように中間変数を使って可読性を向上させる。 - エラーハンドリング:
match
がnull
の場合の処理を追加して、コードの堅牢性を高める。
@@ -5,20 +5,17 @@ | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
このコードは、改善の余地があります。具体的には、以下の点が挙げられます。
- キャッシュの管理:
publicKeyByUserIdCache
は不要です。publicKeyCache
で十分に管理できます。 - ロジックの複雑さ:
getAuthUserFromApId
のロジックは複雑です。簡潔に分割できる可能性があります。 - エラーハンドリング: エラーハンドリングが不足しています。適切なエラー処理を追加する必要があります。
- コメントの不足: コードの意図が分かりにくい箇所があります。コメントを追加して可読性を向上させるべきです。
- 命名規則: 変数名や関数名が分かりにくい箇所があります。適切な命名規則に従うべきです。
これらの改善点を踏まえて、コードをよりシンプルで分かりやすく、堅牢なものに修正することができます。
このPRによるapi.jsonの差分 差分はこちら--- base
+++ head
@@ -79663,9 +79663,6 @@
"string",
"null"
]
- },
- "httpMessageSignaturesImplementationLevel": {
- "type": "string"
}
},
"required": [
@@ -79692,8 +79689,7 @@
"faviconUrl",
"themeColor",
"infoUpdatedAt",
- "latestRequestReceivedAt",
- "httpMessageSignaturesImplementationLevel"
+ "latestRequestReceivedAt"
]
},
"GalleryPost": { |
* fix(backend): avoid notifying to remote users on local * Update CHANGELOG.md * refactor: check before calling method --------- Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
…3772) * fix(backend): avoid caching remote user's HTL when receiving Note * test(backend): add test for FFT * Update CHANGELOG.md --------- Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
* chore(misskey-js): Unchanged files with check annotationsで紛らわしい部分の警告を抑制 ロジック面は後で直す * dummy change to see if the feature do not report them (to be reverted after the check) * refactor: 型合わせ * refactor: fix warnings from c22dd63 * lint * 型合わせ * キャスト * pnpm build-misskey-js-with-types * Revert "dummy change to see if the feature do not report them (to be reverted after the check)" This reverts commit 67072e3. * eliminate reversiGame any * move reversiGame types * lint * Update packages/misskey-js/src/streaming.ts Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> * Update acct.ts * run api extractor * re-run api extractor --------- Co-authored-by: Kisaragi Marine <kisaragi.effective@gmail.com> Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
* Update CONTRIBUTING.md * member -> commiter * apply suggestions Co-authored-by: Marie <robloxfilmcam@gmail.com> * Update CONTRIBUTING.md --------- Co-authored-by: Marie <robloxfilmcam@gmail.com>
See Commits and Changes for more details.
Created by pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )