Skip to content
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

メンションの最大数をロールごとに設定可能にする #13343

Merged
merged 11 commits into from
Feb 29, 2024

Conversation

yuriha-chan
Copy link
Contributor

@yuriha-chan yuriha-chan commented Feb 16, 2024

What

ユーザーが投稿できるメンションとダイレクト投稿の宛先の数をロールごとに制限する。リモートの投稿も対象となる。

Why

メンションを多数つけた投稿を行うことで、スパムを投稿しようとする攻撃者は、限られたレートリミットにおいてスパムの送付対象となる被害ユーザーを増やすことができる。そのため、一つのノートにつけられるメンションの数を制限することで、スパムを送付する効率を下げることができると考えられる。

ロールごとにメンションとダイレクト投稿の宛先の数を制限することにより、信頼のおけるユーザーのみが複数のメンションを許すというサーバーの運用が可能になる。

Additional info (optional)

Checklist

  • Read the contribution guide
  • Test working in a local environment
  • (If needed) Add story of storybook
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

@github-actions github-actions bot added packages/frontend Client side specific issue/PR packages/backend Server side specific issue/PR packages/misskey-js labels Feb 16, 2024
@yuriha-chan
Copy link
Contributor Author

Related: #13332

Copy link
Contributor

github-actions bot commented Feb 16, 2024

このPRによるapi.jsonの差分

差分はこちら
--- base
+++ head
@@ -53625,6 +53625,15 @@
                       }
                     }
                   },
+                  "CONTAINS_TOO_MANY_MENTIONS": {
+                    "value": {
+                      "error": {
+                        "message": "Cannot post because it exceeds the allowed number of mentions.",
+                        "code": "CONTAINS_TOO_MANY_MENTIONS",
+                        "id": "4de0363a-3046-481b-9b0f-feff3e211025"
+                      }
+                    }
+                  },
                   "INVALID_PARAM": {
                     "value": {
                       "error": {
@@ -77834,6 +77843,9 @@
           "canPublicNote": {
             "type": "boolean"
           },
+          "mentionLimit": {
+            "type": "integer"
+          },
           "canInvite": {
             "type": "boolean"
           },
@@ -77902,6 +77914,7 @@
           "gtlAvailable",
           "ltlAvailable",
           "canPublicNote",
+          "mentionLimit",
           "canInvite",
           "inviteLimit",
           "inviteLimitCycle",

Get diff files from Workflow Page

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Feb 16, 2024

#13332 (comment) とはいえロールで切れるのならそれでもよさそう

Copy link

codecov bot commented Feb 16, 2024

Codecov Report

Attention: Patch coverage is 68.18182% with 7 lines in your changes are missing coverage. Please review.

Project coverage is 62.83%. Comparing base (16f16e6) to head (3420057).
Report is 2 commits behind head on develop.

❗ Current head 3420057 differs from pull request most recent head 9072231. Consider uploading reports for the commit 9072231 to get more accurate results

Files Patch % Lines
...s/backend/src/server/api/endpoints/notes/create.ts 54.54% 5 Missing ⚠️
packages/backend/src/core/NoteCreateService.ts 50.00% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #13343      +/-   ##
===========================================
  Coverage    62.83%   62.83%              
===========================================
  Files          986      804     -182     
  Lines       110646    90252   -20394     
  Branches      5358     5251     -107     
===========================================
- Hits         69527    56712   -12815     
+ Misses       39453    32112    -7341     
+ Partials      1666     1428     -238     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kakkokari-gtyih kakkokari-gtyih linked an issue Feb 21, 2024 that may be closed by this pull request
1 task
@@ -379,6 +379,10 @@ export class NoteCreateService implements OnApplicationShutdown {
}
}

if (mentionedUsers.length > (await this.roleService.getUserPolicies(user.id)).mentionLimit) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (mentionedUsers.length > (await this.roleService.getUserPolicies(user.id)).mentionLimit) {
if (mentionedUsers.length > 0 && mentionedUsers.length > (await this.roleService.getUserPolicies(user.id)).mentionLimit) {

@tai-cha
Copy link
Contributor

tai-cha commented Feb 21, 2024

なですきーで実運用してみているのですが、リモートの投稿の場合にジョブキューのInboxにDelayedで溜まってしまう現象が起きています
packages/backend/src/queue/processors/InboxProcessorService.tsなどで例外をキャッチする必要があるかもしれません

参考:
#13428
MisskeyIO#468

@yuriha-chan
Copy link
Contributor Author

yuriha-chan commented Feb 24, 2024

・デフォルトのベースロールのメンション上限は20アカウントに設定しています。
・解決できないリモートユーザーは、メンションの人数に含めない実装になっています。(そのためリモートユーザーへのメンションは自動テスト項目から除外しています。)

@syuilo
Copy link
Member

syuilo commented Feb 24, 2024

CHANGELOG要りそう

@yuriha-chan
Copy link
Contributor Author

autogenを実行しても手元では何も差分が生まれなかったので、CIのエラーはちょっとわからないです…。

$ pnpm run build-misskey-js-with-types 

> [email protected] build-misskey-js-with-types /home/yuriha/misskey
> pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api


> [email protected] build-pre /home/yuriha/misskey
> node ./scripts/build-pre.js

Scope: 2 of 8 workspace projects
packages/misskey-reversi build$ node ./build.js
└─ Done in 100ms
packages/backend build$ swc src -d built -D
│ Successfully compiled: 800 files, copied 27 files with swc (401.53ms)
└─ Done in 509ms

> backend@ generate-api-json /home/yuriha/misskey/packages/backend
> pnpm build && node ./generate_api_json.js

(中略)
api-extractor 7.39.1  - https://api-extractor.com/

Using configuration from ./api-extractor.json
Analysis will use the bundled TypeScript version 5.3.3
Writing: /home/yuriha/misskey/packages/misskey-js/temp/misskey-js.api.json
The API report is up to date: temp/misskey-js.api.md

API Extractor completed successfully

$ git status
On branch limit-mentions
Your branch is up to date with 'origin/limit-mentions'.

nothing to commit, working tree clean

@tai-cha
Copy link
Contributor

tai-cha commented Feb 28, 2024

develop取り込んだらワンチャン全チェック通らないかな

@tai-cha
Copy link
Contributor

tai-cha commented Feb 28, 2024

Chromatic以外は全部通ってそう

Copy link
Contributor

@tai-cha tai-cha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

よさそうなきがする

@tai-cha
Copy link
Contributor

tai-cha commented Feb 29, 2024

developにマージしやすいようにupdateしたらテスト落ちたけど1個前でpassしてるのでdevelopがチェック落ちているのが悪そう

@syuilo syuilo merged commit 26d4c5f into misskey-dev:develop Feb 29, 2024
13 of 17 checks passed
@syuilo
Copy link
Member

syuilo commented Feb 29, 2024

👍

Copy link
Contributor

Thank you for sending us a great Pull Request! 👍
Please regenerate misskey-js type definitions! 🙏

example:

pnpm run build-misskey-js-with-types

hideki0403 added a commit to hideki0403/kakurega.app that referenced this pull request Mar 1, 2024
* fix: nodeinfoにenableMcaptchaとenableTurnstileが無い (misskey-dev#13387)

* fix: syuilo/misskey時代から使用してるサーバーが改変したバージョンだと誤判定される問題 (DB migrationで修正) (misskey-dev#13389)

* Fix(frontend): オートコンプリートが出るべき状況で出ないことがあるのを修正  (misskey-dev#13376)

* オートコンプリートが出るべき状況で出ないことがあるのを修正

* update CHANGELOG.md

* Fix Changelog

* enhance(frontend): ノート作成画面の添付メニューのdividerの位置を"添付取り消し"の上にする (misskey-dev#13409)

* enhance(frontend): change divider position for MkPostFormAttaches

* docs(changelog): update

* fix(frontend): チャートのラベルが消えている問題を修正 (misskey-dev#13416)

* fix(frontend): チャートのラベルが消えている問題を修正

* Update CHANGELOG.md

* fix(frontend): 画面表示後最初の音声再生が爆音になることがある問題を修正 (misskey-dev#13379)

* fix(frontend): 画面表示後最初の音声再生が爆音になることがある問題を修正

* Update CHANGELOG.md

* Update CHANGELOG.md

* refactor(frontend): 不必要なconsole.logを除去・抑制 (misskey-dev#13400)

* refactor(frontend): 不必要なconsole.logを除去

* Update MkCode.core.vue

* Update game.board.vue

* refactor(backend): `ReactionService.prototype.convertLegacyReactions` (misskey-dev#13375)

* add unit tests

* cleanup unnecessary type assertions

* `convertedReaction`変数の定義と変換表に対する存在確認処理の整理

* `count`変数の定義とループ処理での`Object.entries()`の活用

* 条件式の整理

* `Array.prototype.reduce`を使うように

* `Array.prototype.reduce`を使うように

* 配列操作を1つのメソッドチェーンに整理

これまでの実装では、`decodeReaction`の返り値が同一になる異なる入力値が同時に複数個存在した場合、後ろのもので上書きされてしまっていたはず。
これからの実装では、後ろのものは前のものに加算される。
(実際にこの挙動の変更が問題になるシチュエーションはまずないはず。)

* add unit test

* ドキュメントコメントの追加と型定義の調整

* fix: Bump sharp to 0.33.2 (misskey-dev#13391)

* 🎨

* fix: MkUserPopupが表示されてる状態でv-user-previewがついた要素がdetachされるとMkUserPopupが消えない問題 (misskey-dev#13349)

* fix: MkUserPopupが表示されてる状態でv-user-previewがついた要素がdetachされるとMkUserPopupが消えない問題

* docs(changelog): previewの中のユーザメンションをホバーした状態で投稿を編集するとユーザの情報popupが消えない問題を修正

* docs(changelog): ユーザの情報のポップアップが消えなくなることがある問題を修正

* fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題 (misskey-dev#13428)

* refactor: use IdentifiableError instead of NoteCreateService.ContainsProhibitedWordsError

* fix: notes with prohibited words are reprocessed with delay

* docs(changelog): 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題

* lint: fix lint errors

* fix: rethrowするべきなのにrethrowし忘れていたのを修正

* enhance: サーバーごとにモデレーションノートを残せるように

* refactor: Refactor NoteReadService.read (misskey-dev#13429)

* refactor: Refactor NoteReadService.read

* clean up

* Update packages/backend/src/core/NoteReadService.ts

---------

Co-authored-by: syuilo <[email protected]>

* flash/update で部分的に変更できるようにする (misskey-dev#13396)

* make flash/update params optional

* Update autogen files

pnpm run build-misskey-js-with-types

* Update update.ts

* Update CHANGELOG.md

* hasOwnProperty -> hasOwn

Co-authored-by: syuilo <[email protected]>

---------

Co-authored-by: syuilo <[email protected]>

* enhance: `meta`をSSR HTMLに埋め込む (misskey-dev#13436)

* enhance: `meta`をSSR HTMLに埋め込む

* HTML Metaの有効時間を指定

* 1時間

* MetaEntityService

* JSONをPackするように

* ✌️

---------

Co-authored-by: syuilo <[email protected]>

* fix: SSR時のmetaをエスケープするように (misskey-dev#13440)

* fix: SSR時のmetaをエスケープするように

* エスケープ方法を変更

* refactor(backend): `Array.prototype.filter`での非null確認では`isNotNull`関数を使うように (misskey-dev#13442)

* `Array.prototype.filter`での非null確認では`isNotNull`関数を使うように

* `{}` -> `NonNullable<unknown>`

* fix(test): Chromaticが落ちているのを一部修正? (misskey-dev#13435)

* fix(test): Chromaticが落ちているのを修正?

* いらん変更をけす

* 未来過ぎた

* Fix(frontend): 絵文字オートコンプリートの優先順位がおかしいのを修正 (misskey-dev#13423)

* 絵文字オートコンプリートの優先順位がおかしいのを修正

* update CHANGELOG.md

* テストを追加

* lint fix

* fix: プッシュ通知の変更が1時間ほど反映されない問題を修正 (misskey-dev#13407)

* fix: プッシュ通知の変更が1時間ほど反映されない問題を修正

* 410 to refresh

* refreshCache

* fix(backend): より多くの人に使われているハッシュタグが検索結果上位に来るように (misskey-dev#11498) (misskey-dev#13340)

* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる (misskey-dev#13388)

* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる

* nanka meccha kaeta

* ブロックチェックの後にフォロー関係の存在チェックをする

* enhance(games): 抜けている翻訳を追加・スタイル共通化 (misskey-dev#13434)

* enhance(games): 抜けている翻訳を追加・スタイル共通化

* frameDivider の使用箇所が見当たらなかったので削除

* ミス

* インナーでもcss変数を使う

* コロンを翻訳から外す

* 一部の翻訳を除去

* p

* revert some text

---------

Co-authored-by: syuilo <[email protected]>

* enhance?: DeleteAccountServiceでユーザーを削除する際にuserChangeDeletedStateを発行する (misskey-dev#13382)

* Enhance(frontend): リアクションピッカーを調整 (misskey-dev#13354)

* 打てない絵文字を表示しないのではなくグレーアウトするように など

* fix: 今度は検索とピン留めに効いてなかった

* lint fix

* use Map

* 斜めに線を引いてわかりやすく

* 斜め線は右上からのほうが良かったかも

* デザイン調整

* refactor

* fix(frontend): `userActivation`がない環境において不具合が生じる問題を修正 (misskey-dev#13451)

* fix: 古いキャッシュを使うのを修正 (misskey-dev#13453)

* admin/emoji/updateの必須項目を減らす 等 (misskey-dev#13449)

* admin/emoji/update enhancement

* add CustomEmojiService.getEmojiByName

* update endpoint

* fix

* Update update.ts

* Update autogen files

* type assertion

* Update CHANGELOG.md

* test(frontend): Chromaticテストが落ちるのを修正 (misskey-dev#13448)

* test(frontend): Chromaticテストが落ちるのを修正

* fix: テストケースを修正

* refactor: comment

* fix(backend): fix incorrect schemas (misskey-dev#13458)

* Enhance: コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加 (misskey-dev#13463)

* コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加

* コメント修正

* enhance(backend): フォロー・フォロワー関連の通知の受信設定の強化 (misskey-dev#13468)

* enhance(backend): 通知の受信設定に「フォロー中またはフォロワー」を追加

* fix(backend): 通知の受信設定で「相互フォロー」が正しく動作しない問題を修正

* Update CHANGELOG.md

* refactor(backend): ノートのエクスポート処理でStreams APIを使うように (misskey-dev#13465)

* refactor(backend): ノートのエクスポート処理でStreams APIを使うように

* fixup! refactor(backend): ノートのエクスポート処理でStreams APIを使うように

`await`忘れにより、ジョブがすぐに完了したことになり削除されてしまっていた。
それによって、`NoteStream`内での`updateProgress`メソッドの呼び出しで、`Missing key for job`のエラーが発生することがあった。

---------

Co-authored-by: syuilo <[email protected]>

* fix(backend): リノート時のHTLへのストリーミングの意図しない挙動を修正 (misskey-dev#13425)

* fix(backend): リノート時のストリーミングの意図しない挙動を修正

* Update CHANGELOG.md

* fix: 不要な返り値

* fix: 不適切な条件分岐を修正

* test(backend): add htl tests

---------

Co-authored-by: syuilo <[email protected]>

* refactor(frontend): `os.ts`周りのリファクタリング (misskey-dev#13186)

* refactor(frontend): `os.ts`周りのリファクタリング

* refactor: apiWithDialogのdataの型付け

* refactor: 不要なas anyを除去

* refactor: 返り値の型を明記、`selectDriveFolder`は`File`のほうに合わせるよう返り値を変更

* refactor: 返り値の型を改善

* refactor: フォームの型を改善

* refactor: 良い感じのimportに修正

* refactor: フォームの返り値の型を改善

* refactor: `popup()`の`props`に`ref`な値を入れるのを許可するように

* fix: `os.input`系と`os.select`の返り値の型がおかしい問題とそれによるバグを修正

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <[email protected]>

* enhance(backend): 通知がミュート・凍結を考慮するようにする (misskey-dev#13412)

* Never return broken notifications misskey-dev#409

Since notifications are stored in Redis, we can't expect relational
integrity: deleting a user will *not* delete notifications that
mention it.

But if we return notifications with missing bits (a `follow` without a
`user`, for example), the frontend will get very confused and throw an
exception while trying to render them.

This change makes sure we never expose those broken notifications. For
uniformity, I've applied the same logic to notes and roles mentioned
in notifications, even if nobody reported breakage in those cases.

Tested by creating a few types of notifications with a `notifierId`,
then deleting their user.

(cherry picked from commit 421f8d4)

* Update Changelog

* Update CHANGELOG.md

* enhance: 通知がミュートを考慮するようにする

* enhance: 通知が凍結も考慮するようにする

* fix: notifierIdがない通知が消えてしまう問題

* Add tests (通知がミュートを考慮しているかどうか)

* fix: notifierIdがない通知が消えてしまう問題 (grouped)

* Remove unused import

* Fix: typo

* Revert "enhance: 通知が凍結も考慮するようにする"

This reverts commit b1e57e5.

* Revert API handling

* Remove unused imports

* enhance: Check if notifierId is valid in NotificationEntityService

* 通知作成時にpackしてnullになったらあとの処理をやめる

* Remove duplication of valid notifier check

* add filter notification is not null

* Revert "Remove duplication of valid notifier check"

This reverts commit 239a695.

* Improve performance

* Fix packGrouped

* Refactor: 判定部分を共通化

* Fix condition

* use isNotNull

* Update CHANGELOG.md

* filterの改善

* Refactor: DONT REPEAT YOURSELF
Note: GroupedNotificationはNotificationの拡張なのでその例外だけ書けば基本的に共通の処理になり複雑な個別の処理は増えにくいと思われる

* Add groupedNotificationTypes

* Update misskey-js typedef

* Refactor: less sql calls

* refactor

* clean up

* filter notes to mark as read

* packed noteがmapなのでそちらを使う

* if (notesToRead.size > 0)

* if (notes.length === 0) return;

* fix

* Revert "if (notes.length === 0) return;"

This reverts commit 22e2324.

* 🎨

* console.error

* err

* remove try-catch

* 不要なジェネリクスを除去

* Revert  (既読処理をpack内で行うものを元に戻す)

* Clean

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/NotificationService.ts

* Clean

---------

Co-authored-by: dakkar <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: かっこかり <[email protected]>
Co-authored-by: tamaina <[email protected]>
Co-authored-by: syuilo <[email protected]>

* Update CHANGELOG.md

* update deps

* feat: 時限ノート機能 (#129)

* feat; ScheduledNoteDeleteのQueue関連を実装

* feat: ノート作成時に削除する時間を指定できるように

* feat: ノートに削除予定時刻を含めるように

* feat: APIのレスポンスにノートの削除予定時刻を含めるように

* update: types

* fix: QueueProcessorModuleへの追記漏れを修正

* feat: PostFormに削除予定時刻のエディタを実装

* update: MkDeleteScheduleEditorにタイトルを追加

* feat: 自己消滅するノートにはアイコンを表示するように

* fix: ノートの自己消滅を設定しても下書きが保存されない問題を修正

* fix: BullBoardにscheduledNoteDeleteQueueが表示されない問題を修正

* fix type

* fix: ノート通知のユーザー名が表示されていなかった問題を修正

* fix test

* update: ドキュメントを更新

* release: v1.31.0

* ci: add job name

* Update scroll.test.ts

* enhance: 通知の履歴をリセットできるように (misskey-dev#13335)

* enhance: 通知の履歴をリセットできるように

* Update Changelog

* 通知欄も連動して更新するように

* revert some changes

* Update CHANGELOG.md

* Remove unused part

* fix

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように (misskey-dev#13477)

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように

* Update CHANGELOG.md

* test(backend): `notes/create`とWebSocket関連のテストを追加

* Update CHANGELOG.md

* New Crowdin updates (misskey-dev#13359)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* 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 (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Simplified)

* 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 (Italian)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* 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 (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* fix(client): use colorizeEmoji when unicodeEmojisMap.get

* メンションの最大数をロールごとに設定可能にする (misskey-dev#13343)

* Add new role policy: maximum mentions per note

* fix

* Reviewを反映

* fix

* Add ChangeLog

* Update type definitions

* Add E2E test

* CHANGELOG に説明を追加

---------

Co-authored-by: taichan <[email protected]>

* Update CHANGELOG.md

* refactor: remove export of unicodeEmojisMap

* fix packedRoleCondFormulaValueAssignedRoleSchema

* New Crowdin updates (misskey-dev#13478)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* update pnpm

* update deps

* update deps

* update deps

* Update CHANGELOG.md

Co-authored-by: zyoshoka <[email protected]>

* Update CHANGELOG.md

* format

* Update packages/backend/test/e2e/mute.ts

Co-authored-by: zyoshoka <[email protected]>

* format

* add missing license headers

* enhance: 禁止ワードチェック強化 (#27)

* enhance: 禁止ワードチェック強化
* リモートの禁止ワードチェックを添付ファイルとユーザーを登録する前に行うなど
  Resolve misskey-dev#13374
* 禁止ワートの対象の見直し

* performActivityで特定のエラーが出た際にDelayedに追加しないように

* use IdentifiableError

* NoteCreateService.checkProhibitedWords

* https://github.com/misskey-dev/misskey-private/pull/27/files#r1507416135

* remove comment

* 2024.3.0

* New translations ja-jp.yml (Chinese Traditional) (misskey-dev#13480)

* Revert "spec(backend/NoteCreateService): ローカルユーザーがまだ誰もフォローしていないリモートユーザーによる投稿のフィルターの条件の調整 (MisskeyIO#466)"

This reverts commit b621144.

* Revert "enhance: スパムを弾いた時のログレベルをerrorからinfoに変更"

This reverts commit ac2dd69.

* Revert "fix: スパムメッセージを弾いたときにinbox queueがリトライしようとするのを修正"

This reverts commit b2b800d.

* Revert "enhance: コントロールパネルのモデレーションからスパムブロックの設定を変更できるように"

This reverts commit 5f97b4b.

* Revert "spec(backend/NoteCreateService): ローカルユーザーがまだ誰もフォローしていないリモートユーザーによる通知を引き起こす可能性のある投稿を拒否できるように (MisskeyIO#462)"

This reverts commit fd1d125.

* chore: remove unused codes

* fix: duplicated import

* chore: update types

* update: types

* add: revert migration of BlockMentionsFromUnfamiliarRemoteUsers

* add: デフォルトのリポジトリURLを隠れ家のものに変更

* revert: スパム対策を消したのを戻す

* Reapply "enhance: コントロールパネルのモデレーションからスパムブロックの設定を変更できるように"

This reverts commit 39f5531.

* refactor: スパム対策関連のリファクタリング

* update: types

---------

Co-authored-by: anatawa12 <[email protected]>
Co-authored-by: 1Step621 <[email protected]>
Co-authored-by: かっこかり <[email protected]>
Co-authored-by: Sayamame-beans <[email protected]>
Co-authored-by: zyoshoka <[email protected]>
Co-authored-by: okayurisotto <[email protected]>
Co-authored-by: tamaina <[email protected]>
Co-authored-by: syuilo <[email protected]>
Co-authored-by: FineArchs <[email protected]>
Co-authored-by: zawa-ch <[email protected]>
Co-authored-by: taichan <[email protected]>
Co-authored-by: dakkar <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: yukineko <[email protected]>
Co-authored-by: Yuriha <[email protected]>
jbblily added a commit to jbblily/misskey that referenced this pull request Mar 5, 2024
* fix: nodeinfoにenableMcaptchaとenableTurnstileが無い (misskey-dev#13387)

* fix: syuilo/misskey時代から使用してるサーバーが改変したバージョンだと誤判定される問題 (DB migrationで修正) (misskey-dev#13389)

* Fix(frontend): オートコンプリートが出るべき状況で出ないことがあるのを修正  (misskey-dev#13376)

* オートコンプリートが出るべき状況で出ないことがあるのを修正

* update CHANGELOG.md

* Fix Changelog

* enhance(frontend): ノート作成画面の添付メニューのdividerの位置を"添付取り消し"の上にする (misskey-dev#13409)

* enhance(frontend): change divider position for MkPostFormAttaches

* docs(changelog): update

* fix(frontend): チャートのラベルが消えている問題を修正 (misskey-dev#13416)

* fix(frontend): チャートのラベルが消えている問題を修正

* Update CHANGELOG.md

* fix(frontend): 画面表示後最初の音声再生が爆音になることがある問題を修正 (misskey-dev#13379)

* fix(frontend): 画面表示後最初の音声再生が爆音になることがある問題を修正

* Update CHANGELOG.md

* Update CHANGELOG.md

* refactor(frontend): 不必要なconsole.logを除去・抑制 (misskey-dev#13400)

* refactor(frontend): 不必要なconsole.logを除去

* Update MkCode.core.vue

* Update game.board.vue

* refactor(backend): `ReactionService.prototype.convertLegacyReactions` (misskey-dev#13375)

* add unit tests

* cleanup unnecessary type assertions

* `convertedReaction`変数の定義と変換表に対する存在確認処理の整理

* `count`変数の定義とループ処理での`Object.entries()`の活用

* 条件式の整理

* `Array.prototype.reduce`を使うように

* `Array.prototype.reduce`を使うように

* 配列操作を1つのメソッドチェーンに整理

これまでの実装では、`decodeReaction`の返り値が同一になる異なる入力値が同時に複数個存在した場合、後ろのもので上書きされてしまっていたはず。
これからの実装では、後ろのものは前のものに加算される。
(実際にこの挙動の変更が問題になるシチュエーションはまずないはず。)

* add unit test

* ドキュメントコメントの追加と型定義の調整

* fix: Bump sharp to 0.33.2 (misskey-dev#13391)

* 🎨

* fix: MkUserPopupが表示されてる状態でv-user-previewがついた要素がdetachされるとMkUserPopupが消えない問題 (misskey-dev#13349)

* fix: MkUserPopupが表示されてる状態でv-user-previewがついた要素がdetachされるとMkUserPopupが消えない問題

* docs(changelog): previewの中のユーザメンションをホバーした状態で投稿を編集するとユーザの情報popupが消えない問題を修正

* docs(changelog): ユーザの情報のポップアップが消えなくなることがある問題を修正

* fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題 (misskey-dev#13428)

* refactor: use IdentifiableError instead of NoteCreateService.ContainsProhibitedWordsError

* fix: notes with prohibited words are reprocessed with delay

* docs(changelog): 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題

* lint: fix lint errors

* fix: rethrowするべきなのにrethrowし忘れていたのを修正

* enhance: サーバーごとにモデレーションノートを残せるように

* refactor: Refactor NoteReadService.read (misskey-dev#13429)

* refactor: Refactor NoteReadService.read

* clean up

* Update packages/backend/src/core/NoteReadService.ts

---------

Co-authored-by: syuilo <[email protected]>

* flash/update で部分的に変更できるようにする (misskey-dev#13396)

* make flash/update params optional

* Update autogen files

pnpm run build-misskey-js-with-types

* Update update.ts

* Update CHANGELOG.md

* hasOwnProperty -> hasOwn

Co-authored-by: syuilo <[email protected]>

---------

Co-authored-by: syuilo <[email protected]>

* enhance: `meta`をSSR HTMLに埋め込む (misskey-dev#13436)

* enhance: `meta`をSSR HTMLに埋め込む

* HTML Metaの有効時間を指定

* 1時間

* MetaEntityService

* JSONをPackするように

* ✌️

---------

Co-authored-by: syuilo <[email protected]>

* fix: SSR時のmetaをエスケープするように (misskey-dev#13440)

* fix: SSR時のmetaをエスケープするように

* エスケープ方法を変更

* refactor(backend): `Array.prototype.filter`での非null確認では`isNotNull`関数を使うように (misskey-dev#13442)

* `Array.prototype.filter`での非null確認では`isNotNull`関数を使うように

* `{}` -> `NonNullable<unknown>`

* fix(test): Chromaticが落ちているのを一部修正? (misskey-dev#13435)

* fix(test): Chromaticが落ちているのを修正?

* いらん変更をけす

* 未来過ぎた

* Fix(frontend): 絵文字オートコンプリートの優先順位がおかしいのを修正 (misskey-dev#13423)

* 絵文字オートコンプリートの優先順位がおかしいのを修正

* update CHANGELOG.md

* テストを追加

* lint fix

* fix: プッシュ通知の変更が1時間ほど反映されない問題を修正 (misskey-dev#13407)

* fix: プッシュ通知の変更が1時間ほど反映されない問題を修正

* 410 to refresh

* refreshCache

* fix(backend): より多くの人に使われているハッシュタグが検索結果上位に来るように (misskey-dev#11498) (misskey-dev#13340)

* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる (misskey-dev#13388)

* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる

* nanka meccha kaeta

* ブロックチェックの後にフォロー関係の存在チェックをする

* enhance(games): 抜けている翻訳を追加・スタイル共通化 (misskey-dev#13434)

* enhance(games): 抜けている翻訳を追加・スタイル共通化

* frameDivider の使用箇所が見当たらなかったので削除

* ミス

* インナーでもcss変数を使う

* コロンを翻訳から外す

* 一部の翻訳を除去

* p

* revert some text

---------

Co-authored-by: syuilo <[email protected]>

* enhance?: DeleteAccountServiceでユーザーを削除する際にuserChangeDeletedStateを発行する (misskey-dev#13382)

* Enhance(frontend): リアクションピッカーを調整 (misskey-dev#13354)

* 打てない絵文字を表示しないのではなくグレーアウトするように など

* fix: 今度は検索とピン留めに効いてなかった

* lint fix

* use Map

* 斜めに線を引いてわかりやすく

* 斜め線は右上からのほうが良かったかも

* デザイン調整

* refactor

* fix(frontend): `userActivation`がない環境において不具合が生じる問題を修正 (misskey-dev#13451)

* fix: 古いキャッシュを使うのを修正 (misskey-dev#13453)

* admin/emoji/updateの必須項目を減らす 等 (misskey-dev#13449)

* admin/emoji/update enhancement

* add CustomEmojiService.getEmojiByName

* update endpoint

* fix

* Update update.ts

* Update autogen files

* type assertion

* Update CHANGELOG.md

* test(frontend): Chromaticテストが落ちるのを修正 (misskey-dev#13448)

* test(frontend): Chromaticテストが落ちるのを修正

* fix: テストケースを修正

* refactor: comment

* fix(backend): fix incorrect schemas (misskey-dev#13458)

* Enhance: コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加 (misskey-dev#13463)

* コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加

* コメント修正

* enhance(backend): フォロー・フォロワー関連の通知の受信設定の強化 (misskey-dev#13468)

* enhance(backend): 通知の受信設定に「フォロー中またはフォロワー」を追加

* fix(backend): 通知の受信設定で「相互フォロー」が正しく動作しない問題を修正

* Update CHANGELOG.md

* refactor(backend): ノートのエクスポート処理でStreams APIを使うように (misskey-dev#13465)

* refactor(backend): ノートのエクスポート処理でStreams APIを使うように

* fixup! refactor(backend): ノートのエクスポート処理でStreams APIを使うように

`await`忘れにより、ジョブがすぐに完了したことになり削除されてしまっていた。
それによって、`NoteStream`内での`updateProgress`メソッドの呼び出しで、`Missing key for job`のエラーが発生することがあった。

---------

Co-authored-by: syuilo <[email protected]>

* fix(backend): リノート時のHTLへのストリーミングの意図しない挙動を修正 (misskey-dev#13425)

* fix(backend): リノート時のストリーミングの意図しない挙動を修正

* Update CHANGELOG.md

* fix: 不要な返り値

* fix: 不適切な条件分岐を修正

* test(backend): add htl tests

---------

Co-authored-by: syuilo <[email protected]>

* refactor(frontend): `os.ts`周りのリファクタリング (misskey-dev#13186)

* refactor(frontend): `os.ts`周りのリファクタリング

* refactor: apiWithDialogのdataの型付け

* refactor: 不要なas anyを除去

* refactor: 返り値の型を明記、`selectDriveFolder`は`File`のほうに合わせるよう返り値を変更

* refactor: 返り値の型を改善

* refactor: フォームの型を改善

* refactor: 良い感じのimportに修正

* refactor: フォームの返り値の型を改善

* refactor: `popup()`の`props`に`ref`な値を入れるのを許可するように

* fix: `os.input`系と`os.select`の返り値の型がおかしい問題とそれによるバグを修正

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <[email protected]>

* enhance(backend): 通知がミュート・凍結を考慮するようにする (misskey-dev#13412)

* Never return broken notifications misskey-dev#409

Since notifications are stored in Redis, we can't expect relational
integrity: deleting a user will *not* delete notifications that
mention it.

But if we return notifications with missing bits (a `follow` without a
`user`, for example), the frontend will get very confused and throw an
exception while trying to render them.

This change makes sure we never expose those broken notifications. For
uniformity, I've applied the same logic to notes and roles mentioned
in notifications, even if nobody reported breakage in those cases.

Tested by creating a few types of notifications with a `notifierId`,
then deleting their user.

(cherry picked from commit 421f8d4)

* Update Changelog

* Update CHANGELOG.md

* enhance: 通知がミュートを考慮するようにする

* enhance: 通知が凍結も考慮するようにする

* fix: notifierIdがない通知が消えてしまう問題

* Add tests (通知がミュートを考慮しているかどうか)

* fix: notifierIdがない通知が消えてしまう問題 (grouped)

* Remove unused import

* Fix: typo

* Revert "enhance: 通知が凍結も考慮するようにする"

This reverts commit b1e57e5.

* Revert API handling

* Remove unused imports

* enhance: Check if notifierId is valid in NotificationEntityService

* 通知作成時にpackしてnullになったらあとの処理をやめる

* Remove duplication of valid notifier check

* add filter notification is not null

* Revert "Remove duplication of valid notifier check"

This reverts commit 239a695.

* Improve performance

* Fix packGrouped

* Refactor: 判定部分を共通化

* Fix condition

* use isNotNull

* Update CHANGELOG.md

* filterの改善

* Refactor: DONT REPEAT YOURSELF
Note: GroupedNotificationはNotificationの拡張なのでその例外だけ書けば基本的に共通の処理になり複雑な個別の処理は増えにくいと思われる

* Add groupedNotificationTypes

* Update misskey-js typedef

* Refactor: less sql calls

* refactor

* clean up

* filter notes to mark as read

* packed noteがmapなのでそちらを使う

* if (notesToRead.size > 0)

* if (notes.length === 0) return;

* fix

* Revert "if (notes.length === 0) return;"

This reverts commit 22e2324.

* 🎨

* console.error

* err

* remove try-catch

* 不要なジェネリクスを除去

* Revert  (既読処理をpack内で行うものを元に戻す)

* Clean

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/NotificationService.ts

* Clean

---------

Co-authored-by: dakkar <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: かっこかり <[email protected]>
Co-authored-by: tamaina <[email protected]>
Co-authored-by: syuilo <[email protected]>

* Update CHANGELOG.md

* update deps

* fix type

* fix test

* Update scroll.test.ts

* enhance: 通知の履歴をリセットできるように (misskey-dev#13335)

* enhance: 通知の履歴をリセットできるように

* Update Changelog

* 通知欄も連動して更新するように

* revert some changes

* Update CHANGELOG.md

* Remove unused part

* fix

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように (misskey-dev#13477)

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように

* Update CHANGELOG.md

* test(backend): `notes/create`とWebSocket関連のテストを追加

* Update CHANGELOG.md

* New Crowdin updates (misskey-dev#13359)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* 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 (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Simplified)

* 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 (Italian)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* 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 (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* fix(client): use colorizeEmoji when unicodeEmojisMap.get

* メンションの最大数をロールごとに設定可能にする (misskey-dev#13343)

* Add new role policy: maximum mentions per note

* fix

* Reviewを反映

* fix

* Add ChangeLog

* Update type definitions

* Add E2E test

* CHANGELOG に説明を追加

---------

Co-authored-by: taichan <[email protected]>

* Update CHANGELOG.md

* refactor: remove export of unicodeEmojisMap

* fix packedRoleCondFormulaValueAssignedRoleSchema

* New Crowdin updates (misskey-dev#13478)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* update pnpm

* update deps

* update deps

* update deps

* Update CHANGELOG.md

Co-authored-by: zyoshoka <[email protected]>

* Update CHANGELOG.md

* format

* Update packages/backend/test/e2e/mute.ts

Co-authored-by: zyoshoka <[email protected]>

* format

* add missing license headers

* enhance: 禁止ワードチェック強化 (misskey-dev#27)

* enhance: 禁止ワードチェック強化
* リモートの禁止ワードチェックを添付ファイルとユーザーを登録する前に行うなど
  Resolve misskey-dev#13374
* 禁止ワートの対象の見直し

* performActivityで特定のエラーが出た際にDelayedに追加しないように

* use IdentifiableError

* NoteCreateService.checkProhibitedWords

* https://github.com/misskey-dev/misskey-private/pull/27/files#r1507416135

* remove comment

* 2024.3.0

* New translations ja-jp.yml (Chinese Traditional) (misskey-dev#13480)

* fix: emoji colorization

* chore(client): 絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 (misskey-dev#13487)

* fix(frontend): ピン留め or 履歴に表示されるカスタム絵文字がサーバから削除されるとリアクションが出来なくなる (misskey-dev#13486)

* fix(frontend): ピン留めに登録されているカスタム絵文字がサーバから削除されるとリアクションが出来なくなる

* fix CHANGELOG.md

* fix Unicode Emojis

* fix Unicode Emojis

* fix

* New Crowdin updates (misskey-dev#13489)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* Update CHANGELOG.md

* Update CHANGELOG.md

* fix(frontend): MkCustomEmojiでフォールバックをテキストか画像か選べるように
fix of misskey-dev#13487

* 2024.3.1

---------

Co-authored-by: anatawa12 <[email protected]>
Co-authored-by: 1Step621 <[email protected]>
Co-authored-by: かっこかり <[email protected]>
Co-authored-by: Sayamame-beans <[email protected]>
Co-authored-by: zyoshoka <[email protected]>
Co-authored-by: okayurisotto <[email protected]>
Co-authored-by: tamaina <[email protected]>
Co-authored-by: syuilo <[email protected]>
Co-authored-by: FineArchs <[email protected]>
Co-authored-by: zawa-ch <[email protected]>
Co-authored-by: taichan <[email protected]>
Co-authored-by: dakkar <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: Yuriha <[email protected]>
Co-authored-by: Acid Chicken (硫酸鶏) <[email protected]>
Co-authored-by: おさむのひと <[email protected]>
jbblily added a commit to jbblily/misskey that referenced this pull request Jun 7, 2024
* enhance(backend): 通知がミュート・凍結を考慮するようにする (misskey-dev#13412)

* Never return broken notifications misskey-dev#409

Since notifications are stored in Redis, we can't expect relational
integrity: deleting a user will *not* delete notifications that
mention it.

But if we return notifications with missing bits (a `follow` without a
`user`, for example), the frontend will get very confused and throw an
exception while trying to render them.

This change makes sure we never expose those broken notifications. For
uniformity, I've applied the same logic to notes and roles mentioned
in notifications, even if nobody reported breakage in those cases.

Tested by creating a few types of notifications with a `notifierId`,
then deleting their user.

(cherry picked from commit 421f8d4)

* Update Changelog

* Update CHANGELOG.md

* enhance: 通知がミュートを考慮するようにする

* enhance: 通知が凍結も考慮するようにする

* fix: notifierIdがない通知が消えてしまう問題

* Add tests (通知がミュートを考慮しているかどうか)

* fix: notifierIdがない通知が消えてしまう問題 (grouped)

* Remove unused import

* Fix: typo

* Revert "enhance: 通知が凍結も考慮するようにする"

This reverts commit b1e57e5.

* Revert API handling

* Remove unused imports

* enhance: Check if notifierId is valid in NotificationEntityService

* 通知作成時にpackしてnullになったらあとの処理をやめる

* Remove duplication of valid notifier check

* add filter notification is not null

* Revert "Remove duplication of valid notifier check"

This reverts commit 239a695.

* Improve performance

* Fix packGrouped

* Refactor: 判定部分を共通化

* Fix condition

* use isNotNull

* Update CHANGELOG.md

* filterの改善

* Refactor: DONT REPEAT YOURSELF
Note: GroupedNotificationはNotificationの拡張なのでその例外だけ書けば基本的に共通の処理になり複雑な個別の処理は増えにくいと思われる

* Add groupedNotificationTypes

* Update misskey-js typedef

* Refactor: less sql calls

* refactor

* clean up

* filter notes to mark as read

* packed noteがmapなのでそちらを使う

* if (notesToRead.size > 0)

* if (notes.length === 0) return;

* fix

* Revert "if (notes.length === 0) return;"

This reverts commit 22e2324.

* 🎨

* console.error

* err

* remove try-catch

* 不要なジェネリクスを除去

* Revert  (既読処理をpack内で行うものを元に戻す)

* Clean

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/NotificationService.ts

* Clean

---------

Co-authored-by: dakkar <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: かっこかり <[email protected]>
Co-authored-by: tamaina <[email protected]>
Co-authored-by: syuilo <[email protected]>

* Update CHANGELOG.md

* update deps

* fix type

* fix test

* Update scroll.test.ts

* enhance: 通知の履歴をリセットできるように (misskey-dev#13335)

* enhance: 通知の履歴をリセットできるように

* Update Changelog

* 通知欄も連動して更新するように

* revert some changes

* Update CHANGELOG.md

* Remove unused part

* fix

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように (misskey-dev#13477)

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように

* Update CHANGELOG.md

* test(backend): `notes/create`とWebSocket関連のテストを追加

* Update CHANGELOG.md

* New Crowdin updates (misskey-dev#13359)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* 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 (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Simplified)

* 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 (Italian)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* 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 (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* fix(client): use colorizeEmoji when unicodeEmojisMap.get

* Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop

* メンションの最大数をロールごとに設定可能にする (misskey-dev#13343)

* Add new role policy: maximum mentions per note

* fix

* Reviewを反映

* fix

* Add ChangeLog

* Update type definitions

* Add E2E test

* CHANGELOG に説明を追加

---------

Co-authored-by: taichan <[email protected]>

* Update CHANGELOG.md

* refactor: remove export of unicodeEmojisMap

* Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop

* fix packedRoleCondFormulaValueAssignedRoleSchema

* New Crowdin updates (misskey-dev#13478)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* update pnpm

* update deps

* update deps

* update deps

* Update CHANGELOG.md

Co-authored-by: zyoshoka <[email protected]>

* Update CHANGELOG.md

* format

* Update packages/backend/test/e2e/mute.ts

Co-authored-by: zyoshoka <[email protected]>

* format

* Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop

* add missing license headers

* enhance: 禁止ワードチェック強化 (misskey-dev#27)

* enhance: 禁止ワードチェック強化
* リモートの禁止ワードチェックを添付ファイルとユーザーを登録する前に行うなど
  Resolve misskey-dev#13374
* 禁止ワートの対象の見直し

* performActivityで特定のエラーが出た際にDelayedに追加しないように

* use IdentifiableError

* NoteCreateService.checkProhibitedWords

* https://github.com/misskey-dev/misskey-private/pull/27/files#r1507416135

* remove comment

* 2024.3.0

* New translations ja-jp.yml (Chinese Traditional) (misskey-dev#13480)

* Merge pull request misskey-dev#13447 from misskey-dev/develop

Release: 2024.3.0

* fix: emoji colorization

* chore(client): 絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 (misskey-dev#13487)

* fix(frontend): ピン留め or 履歴に表示されるカスタム絵文字がサーバから削除されるとリアクションが出来なくなる (misskey-dev#13486)

* fix(frontend): ピン留めに登録されているカスタム絵文字がサーバから削除されるとリアクションが出来なくなる

* fix CHANGELOG.md

* fix Unicode Emojis

* fix Unicode Emojis

* fix

* New Crowdin updates (misskey-dev#13489)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* Update CHANGELOG.md

* Update CHANGELOG.md

* fix(frontend): MkCustomEmojiでフォールバックをテキストか画像か選べるように
fix of misskey-dev#13487

* 2024.3.1

* Merge pull request misskey-dev#13493 from misskey-dev/develop

Release: 2024.3.1

* Update README.md

* test(backend): refactor tests (misskey-dev#13499)

* test(backend): refactor tests

* fix: failed test

* chore: Automated release (misskey-dev#13075)

* chore: Automated release

* follow

* fix(backend): リモートサーバーの情報が更新できなくなっていた問題を修正 (misskey-dev#13507)

* fix(backend): fetchInstanceMetadataのLockが永遠に解除されない問題を修正

Co-authored-by: まっちゃとーにゅ <[email protected]>

* fix test

* fix

* comment

* comment

* improve test

---------

Co-authored-by: まっちゃとーにゅ <[email protected]>

* Update CHANGELOG.md

* remove template txt

*  doc: Nestで循環依存がある場合のCONTRIBUTING.mdに書く  (misskey-dev#13522)

* doc: Nestモジュールテストの例をCONTRIBUTING.mdに書く

* rm normal test

* forwardRef

* fix(frontend): router遷移時にmatchAllに入った場合一度`location.href`を経由するように (misskey-dev#13509)

* fix(frontend): router遷移時にmatchAllに入った場合一度`location.href`を経由するように

* Update Changelog

* Update CHANGELOG.md

* remove unnecessary args
jbblily added a commit to jbblily/misskey that referenced this pull request Oct 1, 2024
* Update style.scss

한글 폰트 수정

* GTL relay patch

* Update style.scss

* misskey update (2024.3.1) (#1)

* fix: nodeinfoにenableMcaptchaとenableTurnstileが無い (#13387)

* fix: syuilo/misskey時代から使用してるサーバーが改変したバージョンだと誤判定される問題 (DB migrationで修正) (#13389)

* Fix(frontend): オートコンプリートが出るべき状況で出ないことがあるのを修正  (#13376)

* オートコンプリートが出るべき状況で出ないことがあるのを修正

* update CHANGELOG.md

* Fix Changelog

* enhance(frontend): ノート作成画面の添付メニューのdividerの位置を"添付取り消し"の上にする (#13409)

* enhance(frontend): change divider position for MkPostFormAttaches

* docs(changelog): update

* fix(frontend): チャートのラベルが消えている問題を修正 (#13416)

* fix(frontend): チャートのラベルが消えている問題を修正

* Update CHANGELOG.md

* fix(frontend): 画面表示後最初の音声再生が爆音になることがある問題を修正 (#13379)

* fix(frontend): 画面表示後最初の音声再生が爆音になることがある問題を修正

* Update CHANGELOG.md

* Update CHANGELOG.md

* refactor(frontend): 不必要なconsole.logを除去・抑制 (#13400)

* refactor(frontend): 不必要なconsole.logを除去

* Update MkCode.core.vue

* Update game.board.vue

* refactor(backend): `ReactionService.prototype.convertLegacyReactions` (#13375)

* add unit tests

* cleanup unnecessary type assertions

* `convertedReaction`変数の定義と変換表に対する存在確認処理の整理

* `count`変数の定義とループ処理での`Object.entries()`の活用

* 条件式の整理

* `Array.prototype.reduce`を使うように

* `Array.prototype.reduce`を使うように

* 配列操作を1つのメソッドチェーンに整理

これまでの実装では、`decodeReaction`の返り値が同一になる異なる入力値が同時に複数個存在した場合、後ろのもので上書きされてしまっていたはず。
これからの実装では、後ろのものは前のものに加算される。
(実際にこの挙動の変更が問題になるシチュエーションはまずないはず。)

* add unit test

* ドキュメントコメントの追加と型定義の調整

* fix: Bump sharp to 0.33.2 (#13391)

* :art:

* fix: MkUserPopupが表示されてる状態でv-user-previewがついた要素がdetachされるとMkUserPopupが消えない問題 (#13349)

* fix: MkUserPopupが表示されてる状態でv-user-previewがついた要素がdetachされるとMkUserPopupが消えない問題

* docs(changelog): previewの中のユーザメンションをホバーした状態で投稿を編集するとユーザの情報popupが消えない問題を修正

* docs(changelog): ユーザの情報のポップアップが消えなくなることがある問題を修正

* fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題 (#13428)

* refactor: use IdentifiableError instead of NoteCreateService.ContainsProhibitedWordsError

* fix: notes with prohibited words are reprocessed with delay

* docs(changelog): 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題

* lint: fix lint errors

* fix: rethrowするべきなのにrethrowし忘れていたのを修正

* enhance: サーバーごとにモデレーションノートを残せるように

* refactor: Refactor NoteReadService.read (#13429)

* refactor: Refactor NoteReadService.read

* clean up

* Update packages/backend/src/core/NoteReadService.ts

---------

Co-authored-by: syuilo <[email protected]>

* flash/update で部分的に変更できるようにする (#13396)

* make flash/update params optional

* Update autogen files

pnpm run build-misskey-js-with-types

* Update update.ts

* Update CHANGELOG.md

* hasOwnProperty -> hasOwn

Co-authored-by: syuilo <[email protected]>

---------

Co-authored-by: syuilo <[email protected]>

* enhance: `meta`をSSR HTMLに埋め込む (#13436)

* enhance: `meta`をSSR HTMLに埋め込む

* HTML Metaの有効時間を指定

* 1時間

* MetaEntityService

* JSONをPackするように

* :v:

---------

Co-authored-by: syuilo <[email protected]>

* fix: SSR時のmetaをエスケープするように (#13440)

* fix: SSR時のmetaをエスケープするように

* エスケープ方法を変更

* refactor(backend): `Array.prototype.filter`での非null確認では`isNotNull`関数を使うように (#13442)

* `Array.prototype.filter`での非null確認では`isNotNull`関数を使うように

* `{}` -> `NonNullable<unknown>`

* fix(test): Chromaticが落ちているのを一部修正? (#13435)

* fix(test): Chromaticが落ちているのを修正?

* いらん変更をけす

* 未来過ぎた

* Fix(frontend): 絵文字オートコンプリートの優先順位がおかしいのを修正 (#13423)

* 絵文字オートコンプリートの優先順位がおかしいのを修正

* update CHANGELOG.md

* テストを追加

* lint fix

* fix: プッシュ通知の変更が1時間ほど反映されない問題を修正 (#13407)

* fix: プッシュ通知の変更が1時間ほど反映されない問題を修正

* 410 to refresh

* refreshCache

* fix(backend): より多くの人に使われているハッシュタグが検索結果上位に来るように (#11498) (#13340)

* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる (#13388)

* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる

* nanka meccha kaeta

* ブロックチェックの後にフォロー関係の存在チェックをする

* enhance(games): 抜けている翻訳を追加・スタイル共通化 (#13434)

* enhance(games): 抜けている翻訳を追加・スタイル共通化

* frameDivider の使用箇所が見当たらなかったので削除

* ミス

* インナーでもcss変数を使う

* コロンを翻訳から外す

* 一部の翻訳を除去

* p

* revert some text

---------

Co-authored-by: syuilo <[email protected]>

* enhance?: DeleteAccountServiceでユーザーを削除する際にuserChangeDeletedStateを発行する (#13382)

* Enhance(frontend): リアクションピッカーを調整 (#13354)

* 打てない絵文字を表示しないのではなくグレーアウトするように など

* fix: 今度は検索とピン留めに効いてなかった

* lint fix

* use Map

* 斜めに線を引いてわかりやすく

* 斜め線は右上からのほうが良かったかも

* デザイン調整

* refactor

* fix(frontend): `userActivation`がない環境において不具合が生じる問題を修正 (#13451)

* fix: 古いキャッシュを使うのを修正 (#13453)

* admin/emoji/updateの必須項目を減らす 等 (#13449)

* admin/emoji/update enhancement

* add CustomEmojiService.getEmojiByName

* update endpoint

* fix

* Update update.ts

* Update autogen files

* type assertion

* Update CHANGELOG.md

* test(frontend): Chromaticテストが落ちるのを修正 (#13448)

* test(frontend): Chromaticテストが落ちるのを修正

* fix: テストケースを修正

* refactor: comment

* fix(backend): fix incorrect schemas (#13458)

* Enhance: コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加 (#13463)

* コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加

* コメント修正

* enhance(backend): フォロー・フォロワー関連の通知の受信設定の強化 (#13468)

* enhance(backend): 通知の受信設定に「フォロー中またはフォロワー」を追加

* fix(backend): 通知の受信設定で「相互フォロー」が正しく動作しない問題を修正

* Update CHANGELOG.md

* refactor(backend): ノートのエクスポート処理でStreams APIを使うように (#13465)

* refactor(backend): ノートのエクスポート処理でStreams APIを使うように

* fixup! refactor(backend): ノートのエクスポート処理でStreams APIを使うように

`await`忘れにより、ジョブがすぐに完了したことになり削除されてしまっていた。
それによって、`NoteStream`内での`updateProgress`メソッドの呼び出しで、`Missing key for job`のエラーが発生することがあった。

---------

Co-authored-by: syuilo <[email protected]>

* fix(backend): リノート時のHTLへのストリーミングの意図しない挙動を修正 (#13425)

* fix(backend): リノート時のストリーミングの意図しない挙動を修正

* Update CHANGELOG.md

* fix: 不要な返り値

* fix: 不適切な条件分岐を修正

* test(backend): add htl tests

---------

Co-authored-by: syuilo <[email protected]>

* refactor(frontend): `os.ts`周りのリファクタリング (#13186)

* refactor(frontend): `os.ts`周りのリファクタリング

* refactor: apiWithDialogのdataの型付け

* refactor: 不要なas anyを除去

* refactor: 返り値の型を明記、`selectDriveFolder`は`File`のほうに合わせるよう返り値を変更

* refactor: 返り値の型を改善

* refactor: フォームの型を改善

* refactor: 良い感じのimportに修正

* refactor: フォームの返り値の型を改善

* refactor: `popup()`の`props`に`ref`な値を入れるのを許可するように

* fix: `os.input`系と`os.select`の返り値の型がおかしい問題とそれによるバグを修正

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <[email protected]>

* enhance(backend): 通知がミュート・凍結を考慮するようにする (#13412)

* Never return broken notifications #409

Since notifications are stored in Redis, we can't expect relational
integrity: deleting a user will *not* delete notifications that
mention it.

But if we return notifications with missing bits (a `follow` without a
`user`, for example), the frontend will get very confused and throw an
exception while trying to render them.

This change makes sure we never expose those broken notifications. For
uniformity, I've applied the same logic to notes and roles mentioned
in notifications, even if nobody reported breakage in those cases.

Tested by creating a few types of notifications with a `notifierId`,
then deleting their user.

(cherry picked from commit 421f8d49e5d7a8dc3a798cc54716c767df8be3cb)

* Update Changelog

* Update CHANGELOG.md

* enhance: 通知がミュートを考慮するようにする

* enhance: 通知が凍結も考慮するようにする

* fix: notifierIdがない通知が消えてしまう問題

* Add tests (通知がミュートを考慮しているかどうか)

* fix: notifierIdがない通知が消えてしまう問題 (grouped)

* Remove unused import

* Fix: typo

* Revert "enhance: 通知が凍結も考慮するようにする"

This reverts commit b1e57e571dfd9a7d8b2430294473c2053cc3ea33.

* Revert API handling

* Remove unused imports

* enhance: Check if notifierId is valid in NotificationEntityService

* 通知作成時にpackしてnullになったらあとの処理をやめる

* Remove duplication of valid notifier check

* add filter notification is not null

* Revert "Remove duplication of valid notifier check"

This reverts commit 239a6952f717add53d52c3e701e7362eb1987645.

* Improve performance

* Fix packGrouped

* Refactor: 判定部分を共通化

* Fix condition

* use isNotNull

* Update CHANGELOG.md

* filterの改善

* Refactor: DONT REPEAT YOURSELF
Note: GroupedNotificationはNotificationの拡張なのでその例外だけ書けば基本的に共通の処理になり複雑な個別の処理は増えにくいと思われる

* Add groupedNotificationTypes

* Update misskey-js typedef

* Refactor: less sql calls

* refactor

* clean up

* filter notes to mark as read

* packed noteがmapなのでそちらを使う

* if (notesToRead.size > 0)

* if (notes.length === 0) return;

* fix

* Revert "if (notes.length === 0) return;"

This reverts commit 22e2324f9633bddba50769ef838bc5ddb4564c88.

* :art:

* console.error

* err

* remove try-catch

* 不要なジェネリクスを除去

* Revert  (既読処理をpack内で行うものを元に戻す)

* Clean

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/NotificationService.ts

* Clean

---------

Co-authored-by: dakkar <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: かっこかり <[email protected]>
Co-authored-by: tamaina <[email protected]>
Co-authored-by: syuilo <[email protected]>

* Update CHANGELOG.md

* update deps

* fix type

* fix test

* Update scroll.test.ts

* enhance: 通知の履歴をリセットできるように (#13335)

* enhance: 通知の履歴をリセットできるように

* Update Changelog

* 通知欄も連動して更新するように

* revert some changes

* Update CHANGELOG.md

* Remove unused part

* fix

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように (#13477)

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように

* Update CHANGELOG.md

* test(backend): `notes/create`とWebSocket関連のテストを追加

* Update CHANGELOG.md

* New Crowdin updates (#13359)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* 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 (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Simplified)

* 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 (Italian)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* 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 (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* fix(client): use colorizeEmoji when unicodeEmojisMap.get

* メンションの最大数をロールごとに設定可能にする (#13343)

* Add new role policy: maximum mentions per note

* fix

* Reviewを反映

* fix

* Add ChangeLog

* Update type definitions

* Add E2E test

* CHANGELOG に説明を追加

---------

Co-authored-by: taichan <[email protected]>

* Update CHANGELOG.md

* refactor: remove export of unicodeEmojisMap

* fix packedRoleCondFormulaValueAssignedRoleSchema

* New Crowdin updates (#13478)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* update pnpm

* update deps

* update deps

* update deps

* Update CHANGELOG.md

Co-authored-by: zyoshoka <[email protected]>

* Update CHANGELOG.md

* format

* Update packages/backend/test/e2e/mute.ts

Co-authored-by: zyoshoka <[email protected]>

* format

* add missing license headers

* enhance: 禁止ワードチェック強化 (#27)

* enhance: 禁止ワードチェック強化
* リモートの禁止ワードチェックを添付ファイルとユーザーを登録する前に行うなど
  Resolve https://github.com/misskey-dev/misskey/issues/13374
* 禁止ワートの対象の見直し

* performActivityで特定のエラーが出た際にDelayedに追加しないように

* use IdentifiableError

* NoteCreateService.checkProhibitedWords

* https://github.com/misskey-dev/misskey-private/pull/27/files#r1507416135

* remove comment

* 2024.3.0

* New translations ja-jp.yml (Chinese Traditional) (#13480)

* fix: emoji colorization

* chore(client): 絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 (#13487)

* fix(frontend): ピン留め or 履歴に表示されるカスタム絵文字がサーバから削除されるとリアクションが出来なくなる (#13486)

* fix(frontend): ピン留めに登録されているカスタム絵文字がサーバから削除されるとリアクションが出来なくなる

* fix CHANGELOG.md

* fix Unicode Emojis

* fix Unicode Emojis

* fix

* New Crowdin updates (#13489)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* Update CHANGELOG.md

* Update CHANGELOG.md

* fix(frontend): MkCustomEmojiでフォールバックをテキストか画像か選べるように
fix of #13487

* 2024.3.1

---------

Co-authored-by: anatawa12 <[email protected]>
Co-authored-by: 1Step621 <[email protected]>
Co-authored-by: かっこかり <[email protected]>
Co-authored-by: Sayamame-beans <[email protected]>
Co-authored-by: zyoshoka <[email protected]>
Co-authored-by: okayurisotto <[email protected]>
Co-authored-by: tamaina <[email protected]>
Co-authored-by: syuilo <[email protected]>
Co-authored-by: FineArchs <[email protected]>
Co-authored-by: zawa-ch <[email protected]>
Co-authored-by: taichan <[email protected]>
Co-authored-by: dakkar <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: Yuriha <[email protected]>
Co-authored-by: Acid Chicken (硫酸鶏) <[email protected]>
Co-authored-by: おさむのひと <[email protected]>

* Support Remote Avatar Decoration view

+ fix 7891331

+ fix !avatarDecorations

* Remote Avatar 데코레이션용 캐시

* Avatar decoration 연합에 offsetX, offsetY 추가

* 리모트 유저의 여러 아바타 장식 연합 지원

* 유저 삭제 액티비티를 알고있는 모든 inbox에 전달하도록

* 2024.3.1. fix1

* 2024.5월 업데이트 분 (#3)

* enhance(backend): 通知がミュート・凍結を考慮するようにする (#13412)

* Never return broken notifications #409

Since notifications are stored in Redis, we can't expect relational
integrity: deleting a user will *not* delete notifications that
mention it.

But if we return notifications with missing bits (a `follow` without a
`user`, for example), the frontend will get very confused and throw an
exception while trying to render them.

This change makes sure we never expose those broken notifications. For
uniformity, I've applied the same logic to notes and roles mentioned
in notifications, even if nobody reported breakage in those cases.

Tested by creating a few types of notifications with a `notifierId`,
then deleting their user.

(cherry picked from commit 421f8d49e5d7a8dc3a798cc54716c767df8be3cb)

* Update Changelog

* Update CHANGELOG.md

* enhance: 通知がミュートを考慮するようにする

* enhance: 通知が凍結も考慮するようにする

* fix: notifierIdがない通知が消えてしまう問題

* Add tests (通知がミュートを考慮しているかどうか)

* fix: notifierIdがない通知が消えてしまう問題 (grouped)

* Remove unused import

* Fix: typo

* Revert "enhance: 通知が凍結も考慮するようにする"

This reverts commit b1e57e571dfd9a7d8b2430294473c2053cc3ea33.

* Revert API handling

* Remove unused imports

* enhance: Check if notifierId is valid in NotificationEntityService

* 通知作成時にpackしてnullになったらあとの処理をやめる

* Remove duplication of valid notifier check

* add filter notification is not null

* Revert "Remove duplication of valid notifier check"

This reverts commit 239a6952f717add53d52c3e701e7362eb1987645.

* Improve performance

* Fix packGrouped

* Refactor: 判定部分を共通化

* Fix condition

* use isNotNull

* Update CHANGELOG.md

* filterの改善

* Refactor: DONT REPEAT YOURSELF
Note: GroupedNotificationはNotificationの拡張なのでその例外だけ書けば基本的に共通の処理になり複雑な個別の処理は増えにくいと思われる

* Add groupedNotificationTypes

* Update misskey-js typedef

* Refactor: less sql calls

* refactor

* clean up

* filter notes to mark as read

* packed noteがmapなのでそちらを使う

* if (notesToRead.size > 0)

* if (notes.length === 0) return;

* fix

* Revert "if (notes.length === 0) return;"

This reverts commit 22e2324f9633bddba50769ef838bc5ddb4564c88.

* :art:

* console.error

* err

* remove try-catch

* 不要なジェネリクスを除去

* Revert  (既読処理をpack内で行うものを元に戻す)

* Clean

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/NotificationService.ts

* Clean

---------

Co-authored-by: dakkar <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: かっこかり <[email protected]>
Co-authored-by: tamaina <[email protected]>
Co-authored-by: syuilo <[email protected]>

* Update CHANGELOG.md

* update deps

* fix type

* fix test

* Update scroll.test.ts

* enhance: 通知の履歴をリセットできるように (#13335)

* enhance: 通知の履歴をリセットできるように

* Update Changelog

* 通知欄も連動して更新するように

* revert some changes

* Update CHANGELOG.md

* Remove unused part

* fix

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように (#13477)

* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように

* Update CHANGELOG.md

* test(backend): `notes/create`とWebSocket関連のテストを追加

* Update CHANGELOG.md

* New Crowdin updates (#13359)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* 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 (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Simplified)

* 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 (Italian)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* 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 (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* fix(client): use colorizeEmoji when unicodeEmojisMap.get

* Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop

* メンションの最大数をロールごとに設定可能にする (#13343)

* Add new role policy: maximum mentions per note

* fix

* Reviewを反映

* fix

* Add ChangeLog

* Update type definitions

* Add E2E test

* CHANGELOG に説明を追加

---------

Co-authored-by: taichan <[email protected]>

* Update CHANGELOG.md

* refactor: remove export of unicodeEmojisMap

* Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop

* fix packedRoleCondFormulaValueAssignedRoleSchema

* New Crowdin updates (#13478)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* update pnpm

* update deps

* update deps

* update deps

* Update CHANGELOG.md

Co-authored-by: zyoshoka <[email protected]>

* Update CHANGELOG.md

* format

* Update packages/backend/test/e2e/mute.ts

Co-authored-by: zyoshoka <[email protected]>

* format

* Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop

* add missing license headers

* enhance: 禁止ワードチェック強化 (#27)

* enhance: 禁止ワードチェック強化
* リモートの禁止ワードチェックを添付ファイルとユーザーを登録する前に行うなど
  Resolve https://github.com/misskey-dev/misskey/issues/13374
* 禁止ワートの対象の見直し

* performActivityで特定のエラーが出た際にDelayedに追加しないように

* use IdentifiableError

* NoteCreateService.checkProhibitedWords

* https://github.com/misskey-dev/misskey-private/pull/27/files#r1507416135

* remove comment

* 2024.3.0

* New translations ja-jp.yml (Chinese Traditional) (#13480)

* Merge pull request #13447 from misskey-dev/develop

Release: 2024.3.0

* fix: emoji colorization

* chore(client): 絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 (#13487)

* fix(frontend): ピン留め or 履歴に表示されるカスタム絵文字がサーバから削除されるとリアクションが出来なくなる (#13486)

* fix(frontend): ピン留めに登録されているカスタム絵文字がサーバから削除されるとリアクションが出来なくなる

* fix CHANGELOG.md

* fix Unicode Emojis

* fix Unicode Emojis

* fix

* New Crowdin updates (#13489)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* Update CHANGELOG.md

* Update CHANGELOG.md

* fix(frontend): MkCustomEmojiでフォールバックをテキストか画像か選べるように
fix of #13487

* 2024.3.1

* Merge pull request #13493 from misskey-dev/develop

Release: 2024.3.1

* Update README.md

* test(backend): refactor tests (#13499)

* test(backend): refactor tests

* fix: failed test

* chore: Automated release (#13075)

* chore: Automated release

* follow

* fix(backend): リモートサーバーの情報が更新できなくなっていた問題を修正 (#13507)

* fix(backend): fetchInstanceMetadataのLockが永遠に解除されない問題を修正

Co-authored-by: まっちゃとーにゅ <[email protected]>

* fix test

* fix

* comment

* comment

* improve test

---------

Co-authored-by: まっちゃとーにゅ <[email protected]>

* Update CHANGELOG.md

* remove template txt

*  doc: Nestで循環依存がある場合のCONTRIBUTING.mdに書く  (#13522)

* doc: Nestモジュールテストの例をCONTRIBUTING.mdに書く

* rm normal test

* forwardRef

* fix(frontend): router遷移時にmatchAllに入った場合一度`location.href`を経由するように (#13509)

* fix(frontend): router遷移時にmatchAllに入った場合一度`location.href`を経由するように

* Update Changelog

* Update CHANGELOG.md

* remove unnecessary args

* Revert "2024.5월 업데이트 분 (#3)"

This reverts commit a953dcfd6a09441a1a4126ee9ea48ed8c5b75445.

* Update pnpm-lock.yaml

* Relay GTL patch

* 2024.5.0 monster version

* 2024.7.0 (#5)

* feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする (#13758)

* feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする

* モデログに対応&エンドポイントを単一オブジェクトでのサポートに変更(API経由で大量に作るシチュエーションもないと思うので)

* fix spdx

* fix migration

* fix migration

* fix models

* add e2e webhook

* tweak

* fix modlog

* fix bugs

* add tests and fix bugs

* add tests and fix bugs

* add tests

* fix path

* regenerate locale

* 混入除去

* 混入除去

* add abuseReportResolved

* fix pnpm-lock.yaml

* add abuseReportResolved test

* fix bugs

* fix ui

* add tests

* fix CHANGELOG.md

* add tests

* add RoleService.getModeratorIds tests

* WebhookServiceをUserとSystemに分割

* fix CHANGELOG.md

* fix test

* insertOneを使う用に

* fix

* regenerate locales

* revert version

* separate webhook job queue

* fix

* :art:

* Update QueueProcessorService.ts

---------

Co-authored-by: osamu <[email protected]>
Co-authored-by: syuilo <[email protected]>

* test(#10336): add `components/MkC.*` stories (#13830)

* test(storybook): add `components/MkC.*` stories

* test(storybook): add some tests

* test: add sleep

* test: comment-out flaky test

* test(storybook): add test for `MkChannelFollowButton`

* chore(storybook): tweak sleep duration in `MkChannelFollowButton` story test

* fix(chromatic): add delay to `MkChannelList`

* chore: replace `mswDecorator` with `mswLoader`

* fix(storybook): tweak some parameters

* chore: serve static files

* fix(chromatic): add delay to `MkCwButton`

* chore: delete logging for debug

* fix: add right click in `MkContextMenu` play

* refactor: remove unused imports

* fix(frontend): 追加情報のラベルを投稿者のサーバーの絵文字で表示する (#13968)

* fix(frontend): 追加情報のラベルを投稿者のサーバーの絵文字で表示する

* docs: update changelog

* node_modulesをvolume化して高速化+パーミッション問題回避、git submodule update時にローカルにsubmoduleがあっても問題が起こらないようにする (#13956)

* Fix json module imports for node 22 (#13875)

* node 22 support

* feat(backend): report `Retry-After` if client hit rate limit (#13949)

* feat(backend): report `Retry-After` if client hit rate limit

* refactor(backend): fix lint error

* docs: update changelog (follow-up of #13949) (#13971)

* fix rate limit check never ends (#13994)

* chore: issueを起票する前にGitHub Discussionsにも誘導する (#13991)

* refactor(backend): get column names from metadata (#13943)

* ci: enable

* chore: stop when generated column found

* chore: get column names from metadata

* ci: disable

* fix(frontend): chart in `MkInstanceCardMini` is no longer displayed (#13932)

* fix(frontend): chart in `MkInstanceCardMini` is no longer displayed

* Update CHANGELOG.md

* test: add `MkInstanceCardMini` story

---------

Co-authored-by: syuilo <[email protected]>

* ci: upgrade dockle (#14002)

* fix changelog

* fix(frontend): fix time on `MkChart`'s story (#13958)

* Fix(backend): Limit antenna/webhook/list to exact amount (#14036)

... not +1
* Update antennas/clips e2e test

* docs: add changelog entry (follow-up of #14036) (#14037)

* Add missing styles (#14031)

* Enable to iterate over DOM collections (#14040)

* Fix type checking (#14047)

* update typescript

* refactor(backend): remove unnecessary isNotNull sugar

* remove unused file

* remove unused files

* refactor

* Fix type checking (#14052)

* test(frontend): fix component error in `MkChart` story (#14056)

* Replace with `vue/no-setup-props-reactivity-loss` rule (#14062)

* fix(backend): fallback if `sinceId` is older than the oldest in cache when using FTT (#14061)

* fix(backend): fallback if `sinceId` is older than the oldest in cache when using FTT

* Update CHANGELOG.md

* chore: fix description of test

* fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)

Co-authored-by: syuilo <[email protected]>

* fix(frontend): リバーシ開始時の自動投稿のURLが正しくない場合があるのを修正 (#14045)

* fix(frontend): リバーシ開始時の自動投稿のURLが正しくない場合があるのを修正

* :v:

* chore(deps): bump docker/build-push-action from 5 to 6 (#14039)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* enhance(frontend): WidgetInstanceInfo.vue と WidgetProfile.vue のスタイル調整 (#14028)

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 home.vue

* fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す (#14006)

* fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す (test wip)

* chore: beforeEachを使う?

* fix: プレーンテキストにフォールバックしてMFMが含まれていないか調べる方針を実装

* fix: application/jsonだとパースされるのでその作用をキャンセル

* build: fix lint error

* docs: update CHANGELOG.md

---------

Co-authored-by: syuilo <[email protected]>

* refactor: api/*/update系の必須キーを最低限に (#13824)

* refactor: clips/updateの必須キーをclipIdのみに

* refactor: admin/roles/update の必須キーをroleIdのみに

* feat: pages/update の必須キーをpageIdのみに

* refactor: gallery/posts/update の必須キーをpostidのみに

* feat: misskey-jsの型を更新

* feat: i/webhooks/updateの必須キーをwebhookIdのみに

* feat: admin/ad/updateの必須キーをidのみに

* feat: misskey-jsの型を更新

* chore: update CHANGELOG.md

* docs: update CHANGELOG.md

* fix: secretが更新できなくなる場合がある

Co-authored-by: zyoshoka <[email protected]>

* Update packages/backend/src/server/api/endpoints/gallery/posts/update.ts

---------

Co-authored-by: zyoshoka <[email protected]>
Co-authored-by: syuilo <[email protected]>

* ci: add quote (#13990)

* fix(frontend): ベースロールを編集してもUI上では変更が反映されない問題を修正 (#13995)

* fix(frontend): ベースロールを変更してもUI上では変更が反映されない問題を修正

* Update CHANGELOG.md

* fix(backend): 自分以外のクリップ内のノート個数が見えるのを修正 (#14065)

* fix(backend): 自分以外のクリップ内のノート個数が見えることがあるのを修正

* Update Changelog

* fix

* refactor: say bye to the weird groupBy friends (#13975)

* refactor(frontend): say bye to the weird groupBy friends

* refactor(backend): say bye to the weird groupBy friends

* build: install pnpm with corepack on docker build (#13926)

* build: install pnpm with corepack on build

* docs(changelog): Dockerコンテナの立ち上げ時に`pnpm`のインストールで固まることがある問題

* Remove @types/node-fetch (#13948)

* fix(backend): fix creating reactions bugs (#13901)

* fix(backend): add fallback for empty string when creating reaction

* fix(backend): prohibit reactions to Renote

* test(backend): add some tests for `notes/reactions/create` endpoint

* Update CHANGELOG.md

* lint

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <[email protected]>

* enhance: update datasaver switch titles (#12834)

* Fix type annotations (#14071)

* fix(frontend): run `pnpm build-assets` (#14077)

* refactor(frontend): Remove unused directives (#14085)

* feat: アンテナの編集画面のボタンにgapを追加 (#14091)

* fix(frontend): テーマプレビューが見れない問題を修正 (#14097)

* fix(frontend): テーマプレビューが見れない問題を修正

* fix: MkPreview.vue, preview.vue

* update: CHANGELOG.md for #14097 (#14099)

* Add null checking (#14089)

* chore(docker-compose): 推奨の名前にする (#14096)

* chore(docker-compose): 推奨の名前にする

https://github.com/compose-spec/compose-spec/blob/5c18e329d5a15a15e4b636ed093b256b96615e33/spec.md#compose-file

* yaml to yml

* fix

* fix

* fix(storybook): prevent infinite remount of component (#14101)

* fix(storybook): prevent infinite remount of component

* fix: disable flaky `.toMatch()` test

* update deps (#14057)

* wip

* locales/index.jsのymlファイル取得ロジックを調節

* regenerate pnpm-lock.yaml

* fix(backend): typecheck fails

* chore(deps): bump ip-cidr from 4.0.0 to 4.0.1 in /packages/backend

* chore: migrate ESLint configs to flat config (#14094)

* chore: migrate ESLint configs to flat config

* fix: update paths

* fix: frontend lint fails

* refactor(misskey-js): lint build.js

* update deps

---------

Co-authored-by: samunohito <[email protected]>
Co-authored-by: zyoshoka <[email protected]>
Co-authored-by: zyoshoka <[email protected]>

* test(backend): goodbye, Lenna (#14111)

* Use built-in API (#14095)

* dev: fix pnpm dev is broken (#14123)

* dev: pnpm dev is broken

* dev: fix crash pnpm dev because of unhandled promise

* fix(storybook): build skipping even after updating impl story files (#14124)

* refactor(frontend): refactor popup api and make sure call dispose callback

Close #14122

* fix(dev): devサーバーで`/notes/`に直でアクセスしたらサーバー側のレスポンスが返ってくる問題を修正 (#14137)

* fix import path

* fix changelog

* fix(backend): parse5関係の型のimport方法を変更 (#14146)

* fix(frontend): サーバーサイドbootでエラー画面の描画時にDOMが初期化できていないことがあるのを修正 (#14139)

* feat(misskey-js): multipart/form-dataのリクエストに対応 (#14147)

* feat(misskey-js): multipart/form-dataのリクエストに対応

* lint

* add test

* Update Changelog

* テストを厳しくする

* lint

* multipart/form-dataではnullのプロパティを弾くように

* fix(backend): 名前を空白文字列だけにできる問題を修正 (#14119)

* fix(backend): 名前を空白文字列だけにできる問題を修正

* Update Changelog

* fix test

* Unicodeを含める

* fix

* ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに

* Revert "ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに"

This reverts commit 6c752a69c0d3649072e7e4ed30025183bceb48f9.

* [ci skip] changelog typo

* Fix compose file name (#14153)

* Bump release actions to v2 (develop-stable(master) branches system) (#13941)

* fix/refactor(frontend): hotkeyの改修 (#14157)

* improve(frontend): hotkeyの改修 (#234)

(cherry picked from commit 678be147f4db709dadf25d007cc2e679e98a370e)

* Change path, add missing script

Co-authored-by: taiy <[email protected]>

* fix

* fix

* add missing keycodes

* fix

* update changelog

---------

Co-authored-by: taiy <[email protected]>

* fix(backend): api-docをScalarに変更 (#14152)

* fix(backend): api-docをScalarに変更

* Update Changelog

* fix(frontend): remove unused statement

fix #14162

* feat(misskey-js): `POST admin/roles/create`の型を具象化 (#14167)

* feat(misskey-js): `POST admin/roles/create`の型を具象化

* fix

* docs: CHANGELOG.md

* test(misskey-js): admin/roles/createの型が合うことを表明

* test(misskey-js): single quote

* test(misskey-js): 無を読もうとして爆発するのを修正

* test(misskey-js): fix comment

* Improve background color specification (#14176)

* リリースPRがないときにrelease-edit-with-push.ymlがfailして見栄えが悪いのを修正 (#14160)

* enhance(frontend): ウェルカムタイムラインのデザインを調整 (#14156)

* enhance(frontend): 非ログイン時のハイライトTLのデザイン調整

* Update Changelog

* fix cw handling

* ホバーしてたらスクロールを止めるように

* fix

* lint

* enhance(frontend): 未使用のサウンド設定を削除 (#14116)

* enhance(frontend): 未使用のサウンド設定を削除

* Update Changelog

* Update CHANGELOG.md

* fix(frontend): フォーカスの挙動を修正 (#14158)

* fix(frontend): 直前のパターンを記録するように

* fix(frontend): フォーカス/タブ移動に関する挙動を調整 (#226)

Cherry-pick commit e8c030673326871edf3623cf2b8675d68f9e1b13

Co-authored-by: taiyme <[email protected]>

* focusのデザイン修正

* move scripts

* Modalにfocus trapを追加

* 記録するホットキーはレートリミット式にする

* escキーのハンドリングをMkModalに統一

* fix

* enterで子メニューを開けるように

* lint

* fix focus trap

* improve switch accessibility

* 一部のmodalのフォーカストラップが外れない問題を修正

* fix

* fix

* Revert "記録するホットキーはレートリミット式にする"

This reverts commit 40a7509286a87911ad4cc06d9482e8a2e5d0e7e8.

* Revert "fix(frontend): 直前のパターンを記録するように"

This reverts commit 5372b2594023952cff34aa62253ed4efef15b5dd.

* Revert "Revert "fix(frontend): 直前のパターンを記録するように""

This reverts commit a9bb52e799e110927ad92cd8f26af980819334e1.

* Revert "Revert "記録するホットキーはレートリミット式にする""

This reverts commit bdac34273e0bc5f13604c7e2f9fa6b1321a0df3d.

* 試験的にCypressでのFocustrapを無効化

* fix

* fix focus-trap

* Update Changelog

* :v:

* fix focustrap invocation logic

* スクロールがsticky headerを考慮するように

* :art:

* スタイルの微調整

* :art:

* remove deprecated key aliases

* focusElementが足りなかったので修正

* preview系にfocus時スタイルが足りなかったので修正

* `returnFocusElement` -> `returnFocusTo`

* lint

* Update packages/frontend/src/components/MkModalWindow.vue

* Apply suggestions from code review

Co-authored-by: taiy <[email protected]>

* keydownイベントをまとめる

* use correct pesudo-element selector

* fix

* rename

---------

Co-authored-by: taiyme <[email protected]>
Co-authored-by: syuilo <[email protected]>

* fix(frontend): use proper import path

* fix: サジェストされるユーザのリストアップ方法を見直し (#14180)

* fix: サジェストされるユーザのリストアップ方法を見直し

* fix comment

* fix CHANGELOG.md

* ノートの無いユーザ(updatedAtが無いユーザ)は含めないらしい

* fix test

* fix(backend): デフォルトテーマに無効なテーマコードを入力するとUIが使用できなくなる問題を修正

Fix #13955

* fix(frontend): すでにfocus trap対象の要素にinertがかかっている場合は解除するように (#14189)

* fix(frontend): すでにfocus trap対象の要素にinertがかかっている場合は解除するように

* 他のfocus-trapped要素とのインタラクションがある場合の動作を変更

* typo

* fix(frontend): ホットキーのレートリミットがallowRepeatを考慮しない問題を修正 (#14192)

* refactor(sw): enable noImplicitAny (#14191)

* parse `notRespondingSince` from redis instance cache (#14079)

if we don't do this, we'll get a string, and `DeliverProcessorService`
will error out `i.notRespondingSince.getTime is not a function`

* deps(frontend): AiScript VSCodeのバージョンを上げる (#14199)

* fix(backend): 一般ユーザーから見たユーザーのバッジの一覧に公開されていないものが含まれることがある問題を修正 (#14195)

* enhance(backend): 公開バッジのみをpackするように (MisskeyIO#652)

(cherry picked from commit b8a90659f35fef49d1d00fb2f9b152226c97643c)

* Update Changelog

* fix

* Update UserEntityService.ts

---------

Co-authored-by: CyberRex <[email protected]>

* Feat: ユーザーのアイコン/バナーの変更可否をロールで設定可能に (#14078)

* feat: implement role policy "canUpdateBioMedia"

* docs(changelog): update changelog

* docs(changelog): update changelog

* chore: regenerate misskey-js type definitions

* chore: Apply suggestion from code review

Co-authored-by: anatawa12 <[email protected]>

* chore: fix unnecessarily strict inequality check

* chore: policies should be gotten only once

---------

Co-authored-by: anatawa12 <[email protected]>

* test(backend): kill many `any` in backend test (partial) (#14054)

* kill any on utils:api

* kill any on timeline test

* use optional chain to kill TS2532 on timeline test
変更前: 該当ノートが見つからなければundefinedに対するプロパティアクセスとしてテストがクラッシュ
変更後: 該当ノートが見つからなければoptional chainがundefinedとして評価されるが、strictEqualの右辺がnon-nullableなためアサーションに失敗しテストがクラッシュ

* kill `as any` for ApMfmService

* kill argument any for api-visibility

* kill argument any across a few tests

* do not return value that has yielded from `await`-ing `Promise<void>`

* force cast

* runtime non-null assertion to coerce

* rewrite `assert.notEqual(expr, null)` to `assert.ok(expr)`
こうすることでassertion type扱いになり、non-nullableになる

* change return type of `failedApiCall` to `void`
戻り値がどこにも使われていない

* split bindings for exports.ts
型が合わなくて文句を言ってくるので適切に分割

* runtime non-null assertion

* runtime non-null assertion

* 何故かうまく行かないので、とりあえずXORしてみる

* Revert "何故かうまく行かないので、とりあえずXORしてみる"

This reverts commit 48cf32c930924840d0892af92d71b9437acb5844.

* castAsErrorで安全ではないキャストを隠蔽

* 型アサーションの追加

* 型アサーションの追加

* 型アサーションの追加

* voidで値を返さない

* castAsError

* assert.ok => kill nullability

* もはや明示的な型の指定は必要ない

* castAsError

* castAsError

* 型アサーションの追加

* nullableを一旦抑止

* 変数を分離して型エラーを排除

* 不要なプロパティを削除する処理を隠蔽してanyを排除

* Repository type

* simple type

* assert.ok => kill nullability

* revert `as any` drop
reverts fe95c05b3f53266108128680d9358a3796844232 partialy

* test: fix invalid assertion
partially revert b99b7b5392d9d20c81dfee1346ba8b33ff9e1fbb

* test: 52d8a54fc72b886fecb30a736b3ccf5057ea2a0c により型が合うようになった部分の`as any`を除去

* format

* test: apply https://github.com/misskey-dev/misskey/pull/14054#discussion_r1672369526 (part 1)

* test: use non-null assertion to suppress too many error

* Update packages/backend/test/utils.ts

Co-authored-by: anatawa12 <[email protected]>

---------

Co-authored-by: anatawa12 <[email protected]>

* enhance(frontend): サーバー情報・お問い合わせページを改修 (#14198)

* improve(frontend): サーバー情報・お問い合わせページを改修 (#238)

* Revert "Revert "enhance(frontend): add contact page" (#208)" (This reverts commit 5a329a09c987b3249f97f9d53af67d1bffb09eea.)

* improve(frontend): サーバー情報・お問い合わせページを改修

(cherry picked from commit e72758d8cda3db009c5d1bf1f4141682931b91f8)

* fix

* Update Changelog

* tweak

* lint

* 既存の翻訳を使用するように

---------

Co-authored-by: taiy <[email protected]>

* enhance: 非ログイン時には別サーバーに遷移できるように (#13089)

* enhance: 非ログイン時にはMisskey Hub経由で別サーバーに遷移できるように

* fix

* サーバーサイド照会を削除

* クライアント側の照会動作

* hubを経由せずにリモートで続行できるように

* fix と pleaseLogin誘導箇所の追加

* fix

* fix

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <[email protected]>

* refactor(misskey-js): enable exactOptionalPropertyTypes (#14203)

* refactor(misskey-js): enable exactOptionalPropertyTypes

* refactor(misskey-js): fix error where is appeared by enabling

* fix(frontend): Nested RouteのときにRouterViewに当たるキーがルートのpathとぶち当たる可能性があるのを修正 (#14202)

Co-authored-by: syuilo <[email protected]>

* ci: ワークフローが更新されたときにもワークフローが起動するようにする (#14207)

* ci: include themselves in `on.push.paths`
command: find .github/workflows -type f \( -name '*.yaml' -or -name '*.yml' \) | xargs -I {} yq_4.44.2-linux_x86-64 'select(.on.push.paths != null) | .[0] | map("{}")[0]' {} | xargs -I {} ~/.local/bin/yq_4.44.2-linux_x86-64 -i '.on.push.paths += ["{}"]' {}

* ci: include themselves in `on.pull_request.paths`
command: find .github/workflows -type f \( -name '*.yaml' -or -name '*.yml' \) | xargs -I {} yq_4.44.2-linux_x86-64 'select(.on.pull_request.paths != null) | .[0] | map("{}")[0]' {} | xargs -I {} ~/.local/bin/yq_4.44.2-linux_x86-64 -i '.on.pull_request.paths += ["{}"]' {}

* fix(frontend): follow-up of #13089 (#14206)

* fix(frontend): #13089 を修正

* fix

* 正規表現を強化

* fix

* enhance(backend): configにsignToActivityPubGetの指定が無い場合trueと見做すように

trueの方が望ましいため

* fix(backend): ユーザーのリアクション一覧でミュート/ブロックが機能していなかった問題を修正 (#14100)

* fix: mute/block was not considered on users/reactions

* docs(changelog): update changelog

* chore: Apply suggestion from code review

Co-authored-by: zyoshoka <[email protected]>

---------

Co-authored-by: zyoshoka <[email protected]>

* fix: error with trying to handle SIGKILL (#14208)

* chore(deps): bump actions/setup-node from 4.0.2 to 4.0.3 (#14165)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.2...v4.0.3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci: cache eslint (#14204)

* ci: cache eslint

* dummy commit to trigger

* fix syntax error

* Enhance(frontend): Allow negative delay in MFM (#14200)

Co-authored-by: easrng <[email protected]>

* enhance(backend): Load settings via environment variables (#14179)

* feat(backend): Load settings via environment variables

If they're not loaded from the config file.

* chore(docker): Add hints for environment variables

It supports users to know about them.

* docs(changelog): Add the description about this change

Users can notice what's changed by this PR.

* style(backend): Fix code syntax

To pass the linter.

* chore(backend): registed -> registered (#14213)

* chore(backend): registed -> registered

* Update CHANGELOG.md

* fix: CHANGELOG.mdの記載に漏れがあったのを修正 (#14220)

* fix(frontend): MkSignin.vueのcredentialRequestからReactivityを削除 (#14223)

* Remove reactivity from credentialRequest in MkSignin.vue

* Update Changelog

* Fix typo (#14231)

* AiScriptを0.19.0にアップデート (#14226)

* Update autogen files

* Update CHANGELOG.md

* Update flash-edit.vue

* Bump version to 2024.7.0-beta.0

* use [email protected]

* fix changelog (wrong category)

* chore: Use clipboard API directly (#14227)

* chore: Use clipboard API directly

* fix: Fix lint

* refactor(frontend): Improve typing (#14240)

* Improve typing

* Remove redundant promise

* Refactor

* Update packages/frontend/src/scripts/mfm-function-picker.ts

Co-authored-by: かっこかり <[email protected]>

* Update packages/frontend/src/scripts/mfm-function-picker.ts

Co-authored-by: かっこかり <[email protected]>

---------

Co-authored-by: かっこかり <[email protected]>

* fix(frontend): 「アニメーション画像を再生しない」がオンのときにバナー画像・サーバー背景画像がアニメーションしないように (#14243)

* fix: stop animating banner and backgrounds when stop showing animated images is enabled

(cherry picked from commit 8fe2596316e9688509745706ea424f0b4bfd4136)

* chore: nest ternary

(cherry picked from commit 2783fe5f5bd7c0647db9f9b6fb5e000e4f411092)

* chore: flip ternary

(cherry picked from commit b9d66f824cff373cc53bfa846a56c16f456a6d5b)

* update changelog

---------

Co-authored-by: Marie <[email protected]>

* perf(federation): Ed25519署名に対応する (#13464)

* 1. ed25519キーペアを発行・Personとして公開鍵を送受信

* validate additionalPublicKeys

* getAuthUserFromApIdはmainを選ぶ

* :v:

* fix

* signatureAlgorithm

* set publicKeyCache lifetime

* refresh

* httpMessageSignatureAcceptable

* ED25519_SIGNED_ALGORITHM

* ED25519_PUBLIC_KEY_SIGNATURE_ALGORITHM

* remove sign additionalPublicKeys signature requirements

* httpMessageSignaturesSupported

* httpMessageSignaturesImplementationLevel

* httpMessageSignaturesImplementationLevel: '01'

* perf(federation): Use hint for getAuthUserFromApId (#13470)

* Hint for getAuthUserFromApId

* とどのつまりこれでいいのか?

* use @misskey-dev/node-http-message-signatures

* fix

* signedPost, signedGet

* ap-request.tsを復活させる

* remove digest prerender

* fix test?

* fix test

* add httpMessageSignaturesImplementationLevel to FederationInstance

* ManyToOne

* fetchPersonWithRenewal

* exactKey

* :v:

* use const

* use gen-key-pair fn. from  '@misskey-dev/node-http-message-signatures'

* update node-http-message-signatures

* fix

* @misskey-dev/[email protected]

* getAuthUserFromApIdでupdatePersonの頻度を増やす

* cacheRaw.date

* use requiredInputs
https://github.com/misskey-dev/misskey/pull/13464#discussion_r1509964359

* update @misskey-dev/node-http-message-signatures

* clean up

* err msg

* fix(backend): fetchInstanceMetadataのLockが永遠に解除されない問題を修正

Co-authored-by: まっちゃとーにゅ <[email protected]>

* fix httpMessageSignaturesImplementationLevel validation

* fix test

* fix

* comment

* comment

* improve test

* fix

* use Promise.all in genRSAAndEd25519KeyPair

* refreshAndprepareEd25519KeyPair

* refreshAndfindKey

* commetn

* refactor public keys add

* digestプリレンダを復活させる

RFC実装時にどうするか考える

* fix, async

* fix

* !== true

* use save

* Deliver update person when new key generated (not tested)
https://github.com/misskey-dev/misskey/pull/13464#issuecomment-1977049061

* 循環参照で落ちるのを解消?

* fix?

* Revert "fix?"

This reverts commit 0082f6f8e8c5d5febd14933ba9a1ac643f70ca92.

* a

* logger

* log

* change logger

* 秘密鍵の変更は、フラグではなく鍵を引き回すようにする

* addAllKnowingSharedInboxRecipe

* nanka meccha kaeta

* delivre

* キャッシュ有効チェックはロック取得前に行う

* @misskey-dev/[email protected]

* PrivateKeyPem

* getLocalUserPrivateKey

* fix test

* if

* fix ap-request

* update node-http-message-signatures

* fix type error

* update package

* fix type

* update package

* retry no key

* @misskey-dev/[email protected]

* fix type error

* log keyid

* logger

* db-resolver

* JSON.stringify

* HTTP Signatureがなかったり使えなかったりしそうな場合にLD Signatureを活用するように

* inbox-delayed use actor if no signature

* ユーザーとキーの同一性チェックはhostの一致にする

* log signature parse err

* save array

* とりあえずtryで囲っておく

* fetchPersonWithRenewalでエラーが起きたら古いデータを返す

* use transactionalEntityManager

* fix spdx

* @misskey-dev/[email protected]

* add comment

* fix

* publicKeyに配列が入ってもいいようにする
https://github.com/misskey-dev/misskey/pull/13950

* define additionalPublicKeys

* fix

* merge fix

* refreshAndprepareEd25519KeyPair → refreshAndPrepareEd25519KeyPair

* remove gen-key-pair.ts

* defaultMaxListeners = 512

* Revert "defaultMaxListeners = 512"

This reverts commit f2c412c18057a9300540794ccbe4dfbf6d259ed6.

* genRSAAndEd25519KeyPairではキーを直列に生成する?

* maxConcurrency: 8

* maxConcurrency: 16

* maxConcurrency: 8

* Revert "genRSAAndEd25519KeyPairではキーを直列に生成する?"

This reverts commit d0aada55c1ed5aa98f18731ec82f3ac5eb5a6c16.

* maxWorkers: '90%'

* Revert "maxWorkers: '90%'"

This reverts commit 9e0a93f110456320d6485a871f014f7cdab29b33.

* e2e/timelines.tsで個々のテストに対するtimeoutを削除, maxConcurrency: 32

* better error handling of this.userPublickeysRepository.delete

* better comment

* set result to keypairEntityCache

* deliverJobConcurrency: 16, deliverJobPerSec: 1024, inboxJobConcurrency: 4

* inboxJobPerSec: 64

* delete request.headers['host'];

* fix

* // node-fetch will generate this for us. if we keep 'Host', it won't change with redirects!

* move delete host

* modify comment

* modify comment

* fix correct → collect

* refreshAndfindKey → refreshAndFindKey

* modify comment

* modify attachLdSignature

* getApId, InboxProcessorService

* TODO

* [skip ci] add CHANGELOG

---------

Co-authored-by: MeiMei <[email protected]>
Co-authored-by: まっちゃとーにゅ <[email protected]>

* refactor: misskey-assetsサブモジュールを削除 (#12818)

* (change) misskey-assetsサブモジュールを削除

* なんか残ってた

* fix(frontend): add missing import (follow-up of #12265)

* chore: ignore misskey-assets (follow-up of #12818 )

* fix: ソーシャルタイムラインにローカルタイムラインに表示される自分へのリプライが表示されない問題を修正 (#13978)

Co-authored-by: Sayamame-beans <[email protected]>

* Bump version to 2024.7.0-beta.1

* chore: CHANGELOGにジョブキュー設定について追記 (follow-up of #13464)

* fix(backend): リノートミュートがキャッシュが切れるまで効かない問題を修正 (#14242)

* Fix: RenoteMuteがキャッシュが切れるまで効かない問題を修正

(cherry picked from commit e9601029b52e0ad43d9131b555b614e56c84ebc1)

* update changelog

* :art:

* remove unused import

* 消したときもキャッシュを飛ばすように

* lint

---------

Co-authored-by: mattyatea <[email protected]>

* docs: 開発環境のセットアップ手順を詳細にする (#14235)

* docs: mentioning Devcontainer

fix #13753

* revise

* revise 2

* Apply suggestions from code review
per https://github.com/misskey-dev/misskey/pull/14235#discussion_r1680883942

Co-authored-by: anatawa12 <[email protected]>

* 下の方にあったDevcontainerのセクションをマージ

* revise 3

* Update CONTRIBUTING.md

https://github.com/misskey-dev/misskey/pull/14235#discussion_r1680928026

Co-authored-by: おさむのひと <[email protected]>

* mention Meilisearch

* Update CONTRIBUTING.md

---------

Co-authored-by: anatawa12 <[email protected]>
Co-authored-by: おさむのひと <[email protected]>

* fix: remove unreleased section (#14246)

* fix(frontend): Twitchの埋め込みが開けない問題を修正 (#14247)

* fix(frontend): twitchの埋め込みが開けない問題を修正

* Update Changelog

* fix test

* fix(frontend): 子メニューの最大長調整が行われていない問題を修正 (#14003)

* fix(frontend): 子メニューの最大長調整が行われていない問題を修正

* Update Changelog

* fix

* changelog

* Revert "fix"

This reverts commit 39fb326d49eedf484342c78a61c0dba8e223e596.

* Revert "fix(frontend): 子メニューの最大長調整が行われていない問題を修正"

This reverts commit ea58bf7a53fc8a254b7fbdf222a676e23527358c.

* use css

* maxHeightをchildから定義するように

* use css min

* kill any from streaming API Implementation (#14251)

* chore: add JsonValue type

* refactor: kill any from Connection.ts

* refactor: fix StreamEventEmitter contains undefined instead of null

* refactor: kill any from channels

* docs(changelog): Fix: Steaming APIが不正なデータを受けた場合の動作が不安定である問題

* fix license header

* fix lints

* chore: modernize issue template (#14263)

* fix(frontend): 個人宛てダイアログお知らせが即時表示されない問題 (#14260)

* fix(frontend): 個人向けお知らせが即時ダイアログで出ない問題

* Update CHANGELOG

* enhance(frontend): センシティブなメディアを開く際に確認ダイアログを出せるように (#14115)

* enhance(frontend): センシティブなメディアを開く際に確認ダイアログを出せるように

* Update Changelog

* Disable ESLint for migration files (#14262)

* fix(frontend): blurhashが無い場合に何も出力されないのを修正 (#14250)

* fix(frontend): blurhashが無い場合に何も出力されないのを修正

* Update Changelog

* Update packages/frontend/src/components/MkImgWithBlurhash.vue

Co-authored-by: tamaina <[email protected]>

* attempt to fix test

* Update packages/frontend/src/components/MkImgWithBlurhash.vue

Co-authored-by: tamaina <[email protected]>

* attempt to ignore test

---------

Co-authored-by: tamaina <[email protected]>

* docs(misskey-js): fix broken i-want-you image link in README.md (#14265)

* revert 5f88d56d96

バグがある(かつすぐに修正できそうにない) & まだレビュー途中で意図せずマージされたため

* Update about-misskey.vue

* fix(frontend): 初期化時とroute変更時でkeyの決定方法が違うのを修正 (#14283)

* fix(backend): avoid notifying to remote users on local (#13774)

* fix(backend): avoid notifying to remote users on local

* Update CHANGELOG.md

* refactor: check before calling method

---------

Co-authored-by: かっこかり <[email protected]>
Co-authored-by: syuilo <[email protected]>

* fix(backend): avoid caching remote user's HTL when receiving Note (#13772)

* fix(backend): avoid caching remote user's HTL when receiving Note

* test(backend): add test for FFT

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <[email protected]>

* [Re] refactor(misskey-js): 警告をすべて解決 (#14277)

* 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 c22dd6358ba4e068c49be033a07d9fbb001f2347

* 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 67072e3ca6e3e16342ca3b35feadcb41afcbe04f.

* eliminate reversiGame any

* move reversiGame types

* lint

* Update packages/misskey-js/src/streaming.ts

Co-authored-by: Sayamame-beans <[email protected]>

* Update acct.ts

* run api extractor

* re-run api extractor

---------

Co-authored-by: Kisaragi Marine <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>

* fix(frontend): emoji picker not opening on `/share` page (#14295)

* fix(frontend): emoji picker not opening on `/share` page

* Update CHANGELOG.md

* fix(frontend): リアクションしたユーザー一覧のユーザー名がはみ出る問題を修正 (#14294)

* pnpm dev で絵文字が表示されない問題を解決

(cherry picked from commit 22fcafbf55830922efe75d129f48b4d8c11724e6)

* リアクションしたユーザー一覧のユーザーネームがはみ出る問題を解決

(cherry picked from commit 46458b190e2b4ccfc8b50b6857ee9a5a6fd09fe9)

* Update Changelog

---------

Co-authored-by: 6wFh3kVo <[email protected]>
Co-authored-by: syuilo <[email protected]>

* fix(frontend): いくつかの`number` inputに最小値を設定 (#14284)

* chore: reflect actual policy about Committers' rights (#14267)

* Update CONTRIBUTING.md

* member -> commiter

* apply suggestions

Co-authored-by: Marie <[email protected]>

* Update CONTRIBUTING.md

---------

Co-authored-by: Marie <[email protected]>

* Bump version to 2024.7.0-beta.2

* docs: format `CONTRIBUTING.md` (#14302)

* fix: correct typos

* chore: convert indentation to tabs

* fix: missing lang

* chore: trim unnecessary whitespaces and newlines

* chore: use local path

* chore: use GFM alerts

* fix: missing use GFM alerts

* fix(build): autogen生成時にbackendを2度buildしているのを修正 (#14309)

* fix(build): autogen生成時にbackendを2度buildしているのを修正

* fix

* fix

* fix(frontend): modalが正しく閉じられていないのを修正 (#14307)

* fix(frontend): modalが正しく閉じられていないのを修正

* Update packages/frontend/src/components/MkSystemWebhookEditor.vue

Co-authored-by: syuilo <[email protected]>

---------

Co-authored-by: syuilo <[email protected]>

* refactor

* enhance(frontend): add withCloseButton option for MkModalWindow

* update deps (#14312)

* Fix(frontend): 下書き/削除して編集で保持されない項目があった問題を修正 (#14285)

* chore(frontend): reorder assignments

* fix(frontend): visibleUserIds is not kept when deleteAndEdit

* fix(frontend): quoteId is not kept on draft

* fix(frontend): reactionAcceptance is not kept for draft/deleteAndEdit

* docs(changelog): update changelog

* Bump version to 2024.7.0-beta.3

* fix: deck uiの通知音が重なる問題 (#14029)

* fix: deck uiの通知音が重なる

* docs: Fix: deck uiの通知音が重なる問題

* unexport internal function

* fix

Co-authored-by: Sayamame-beans <[email protected]>

* chore: improve condition

* docs: move js dco comment

---------

Co-authored-by: Sayamame-beans <[email protected]>
Co-authored-by: syuilo <[email protected]>

* New Crowdin updates (#13916)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Kabyle)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* 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 (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New transl…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages/backend:test packages/backend Server side specific issue/PR packages/frontend Client side specific issue/PR packages/misskey-js
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Anti Mention Spam
4 participants