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

fix(backend): 虚無ノートを投稿できる問題の修正と api.json の OpenAPI Specification 3.1.0 への対応 #12969

Merged
merged 22 commits into from
Jan 13, 2024

Conversation

zyoshoka
Copy link
Contributor

@zyoshoka zyoshoka commented Jan 11, 2024

What

  • notes/create に対して投げるリクエストの textnull または空白文字のみで構成されていて、かつそのリクエストが text のみの場合、INVALID_PARAM を返すようにしました。
  • notes/create に対して投げるリクエストがリノート、ファイルまたは投票を含んでいて、かつ text が空白文字のみで構成されている場合、レスポンスの text"" から null になるように変更しました。
  • JSON Schema で If-Then-Else を使いたかったので OpenAPI Specification を 3.1.0 に上げました。本 PR ではそれに伴う変更が含まれています。

Why

Fix: #12381

Additional info (optional)

以下のテストを追加しています。

  • textnull または空白文字のみで構成されていて、かつリクエストが text のみの場合、Ajv 側で invalid になる
  • notes/create に対して text が空白文字のみで構成された引用renoteを投げたとき、レスポンスの textnull になる

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

Copy link
Contributor

github-actions bot commented Jan 11, 2024

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

差分はこちら
--- base
+++ head
@@ -1,5 +1,5 @@
 {
-  "openapi": "3.0.0",
+  "openapi": "3.1.0",
   "info": {
     "version": "2023.12.2",
     "title": "Misskey API",
@@ -51699,33 +51699,36 @@
                     ]
                   }
                 },
-                "anyOf": [
-                  {
-                    "required": [
-                      "text"
-                    ]
-                  },
-                  {
-                    "required": [
-                      "renoteId"
-                    ]
-                  },
-                  {
-                    "required": [
-                      "fileIds"
-                    ]
-                  },
-                  {
-                    "required": [
-                      "mediaIds"
-                    ]
-                  },
-                  {
-                    "required": [
-                      "poll"
-                    ]
+                "if": {
+                  "properties": {
+                    "renoteId": {
+                      "type": "null"
+                    },
+                    "fileIds": {
+                      "type": "null"
+                    },
+                    "mediaIds": {
+                      "type": "null"
+                    },
+                    "poll": {
+                      "type": "null"
+                    }
                   }
-                ]
+                },
+                "then": {
+                  "properties": {
+                    "text": {
+                      "type": "string",
+                      "minLength": 1,
+                      "maxLength": 3000,
+                      "nullable": false,
+                      "pattern": "[^\\s]+"
+                    }
+                  },
+                  "required": [
+                    "text"
+                  ]
+                }
               }
             }
           }

Get diff files from Workflow Page

Copy link

codecov bot commented Jan 11, 2024

Codecov Report

Attention: 9 lines in your changes are missing coverage. Please review.

Comparison is base (6177fcb) 76.81% compared to head (cb224e6) 65.59%.
Report is 2 commits behind head on develop.

Files Patch % Lines
...ackages/backend/src/server/api/openapi/gen-spec.ts 0.00% 6 Missing ⚠️
packages/backend/src/core/NoteCreateService.ts 33.33% 2 Missing ⚠️
packages/backend/src/server/api/openapi/schemas.ts 95.83% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           develop   #12969       +/-   ##
============================================
- Coverage    76.81%   65.59%   -11.23%     
============================================
  Files          175      961      +786     
  Lines        22794   109500    +86706     
  Branches       430     5526     +5096     
============================================
+ Hits         17510    71827    +54317     
- Misses        5284    37673    +32389     

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

@zyoshoka zyoshoka marked this pull request as draft January 11, 2024 13:13
@acid-chicken
Copy link
Member

acid-chicken commented Jan 11, 2024

スコープ的に適切かはわからないけど renoteId 指定時に text: " " (not "") とかだとまだ虚無ノートが作れる(引用になるが)

@zyoshoka zyoshoka changed the title fix(backend): text: nullだけのノートは投稿できないように fix(backend): text: nullだけのノートや、空白文字のみで構成されたtextをもつノートは投稿できないように Jan 11, 2024
@acid-chicken
Copy link
Member

post({ renoteId: some, text: " " }) zl assert(response.text === null) のテストケースが欲しいかも

@GrapeApple0
Copy link
Sponsor Contributor

text: '\n'でも虚無ノートに近いものが作れる気がします

@Sayamame-beans
Copy link
Member

Sayamame-beans commented Jan 11, 2024

虚無ノート自体はゼロ幅スペースとかでも作れると思うので、nullと""以上の考慮はキリが無いような気がします…?
(そもそも引用で" ""\n"を塞ぐ必要はあるのでしょうか…? 追記: リプライ+引用なら塞がない方が良さそうですが、引用のみのケースでは塞いでも塞がなくても良さそうな気がします。)

@Sayamame-beans
Copy link
Member

そういえば、リプライでの引用において空のノート(text: ""と推測)を投稿したいというissueが出ていたのを思い出しました。これは別のノートにした内容を追加して補足としたい場合などに出番があります。

参考までに…

@zyoshoka
Copy link
Contributor Author

zyoshoka commented Jan 12, 2024

post({ renoteId: some, text: " " }) zl assert(response.text === null) のテストケースが欲しいかも

develop 最新では text が空白文字のみで構成されたリクエストに対して text: "" が返ってくるようになっているので、先にこれを直す必要がありそうです。renoteId または fileIdsmediaIds)または pollnull でない場合に、text が空白文字のみで構成されたリクエストになることを許可して、結果は text: null を返すようにすれば良さそうに思います。

text: '\n'でも虚無ノートに近いものが作れる気がします

虚無ノート自体はゼロ幅スペースとかでも作れると思うので、nullと""以上の考慮はキリが無いような気がします…?

とりあえず textpattern: '[^\\s]+' を指定するようにしたので、本 PR では \s にマッチするような文字だけで構成されたリクエストはすべて弾くようになっています(ゼロ幅スペースなどの \s にマッチしない文字はもう放置で良い気がしています)1

そういえば、リプライでの引用において空のノート(text: ""と推測)を投稿したいというissueが出ていたのを思い出しました。

#11744 が出たのちに 961f5a0 が入りテキストが空でもノートできるようになったにも関わらず、この問題が未だ open になっているのは、textnull であって renoteIdreplyIdnull でないようなノートが、フロント側で普通のリノートとして表示されてしまっているのが問題となっているようなので、本 PR で修正しようかと思います2 投稿フォームの UI など考慮すべき点が多そうだったので、本 PR では扱わないことにしました。

参考までに、develop 最新における仕様を掲げておきます。

develop 最新における仕様
renoteId
(空欄は null)
fileIds または mediaIds
(空欄は「省略されている」)
poll
(空欄は null)
text: null text: "" text: " "
text: "\\n" など
200
text: null
($\color{red}\textbf{虚無ノート}$)
400 200
text: ""
($\color{red}\textbf{虚無ノート}$)
null でない 200
text: null
(投票のみのノート)
400 200
text: ""
(投票のみのノート)
省略されていない 200
text: null
(ファイルのみのノート)
400 200
text: ""
(ファイルのみのノート)
省略されていない null でない 200
text: null
(ファイルと投票のノート)
400 200
text: ""
(ファイルと投票のノート)
null でない 200
text: null
(リノート)
400 200
text: ""
($\color{red}\textbf{虚無引用リノート}$)
null でない null でない 200
text: null
(投票のみの引用リノート)
400 200
text: ""
(投票のみの引用リノート)
null でない 省略されていない 200
text: null
(ファイルのみの引用リノート)
400 200
text: ""
(ファイルのみの引用リノート)
null でない 省略されていない null でない 200
text: null
(ファイルと投票の引用リノート)
400 200
text: ""
(ファイルと投票の引用リノート)

Footnotes

  1. Ajv の pattern 評価には RegExp が用いられています。Node.js の採用している V8 において正規表現 \s に該当する文字の範囲は次のとおりです: https://github.com/nodejs/node/blob/af8ba373354137aef046b38d80cdccbcac8e95a7/deps/v8/src/regexp/regexp-compiler.h#L27-L30

  2. ところで、develop 最新では text を空白文字のみで構成されたリクエストにすれば、リプライにおいてテキストが空であるような引用リノートを作成できます。

@github-actions github-actions bot added the packages/frontend Client side specific issue/PR label Jan 12, 2024
@zyoshoka
Copy link
Contributor Author

#12969 (comment) を反映しました。

参考までに、本 PR における仕様を掲げておきます。

本 PR における仕様
renoteId
(空欄は null)
fileIds または mediaIds
(空欄は「省略されている」)
poll
(空欄は null)
text: null text: "" text: " "
text: "\\n" など
400 400 400
null でない 200
text: null
(投票のみのノート)
400 200
text: null
(投票のみのノート)
省略されていない 200
text: null
(ファイルのみのノート)
400 200
text: null
(ファイルのみのノート)
省略されていない null でない 200
text: null
(ファイルと投票のノート)
400 200
text: null
(ファイルと投票のノート)
null でない 200
text: null
(リノート)
400 200
text: null
(リノート)
null でない null でない 200
text: null
(投票のみの引用リノート)
400 200
text: null
(投票のみの引用リノート)
null でない 省略されていない 200
text: null
(ファイルのみの引用リノート)
400 200
text: null
(ファイルのみの引用リノート)
null でない 省略されていない null でない 200
text: null
(ファイルと投票の引用リノート)
400 200
text: null
(ファイルと投票の引用リノート)

Copy link
Contributor

github-actions bot commented Jan 13, 2024

api.jsonの差分作成中にエラーが発生しました。詳細はWorkflowのログを確認してください。

@zyoshoka zyoshoka marked this pull request as ready for review January 13, 2024 03:44
Copy link
Contributor Author

@zyoshoka zyoshoka left a comment

Choose a reason for hiding this comment

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

OpenAPI Specification 3.1.0 対応に伴う変更点について記しておきます。

@@ -44,4 +44,4 @@ jobs:
- name: Build and generate
run: pnpm build && pnpm --filter backend generate-api-json
- name: Validation
run: swagger-cli validate ./packages/backend/built/api.json
run: npx @redocly/cli lint --extends=minimal ./packages/backend/built/api.json
Copy link
Contributor Author

Choose a reason for hiding this comment

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

swagger-cli は OpenAPI Specification 3.1.0 に対応せず deprecated となり、Redocly CLI への移行が公式に推奨されていた1ので、そちらへの移行作業を行いました。

このコマンドは公式ドキュメントに載っていたマイグレーション・ガイド2に基づいています。

Footnotes

  1. https://github.com/APIDevTools/swagger-cli#swaggeropenapi-cli

  2. https://redocly.com/docs/cli/guides/migrate-from-swagger-cli/#migrate-to-redocly-cli-from-swagger-cli

Copy link
Contributor Author

Choose a reason for hiding this comment

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

zyoshoka#4 にて validate-api-json が通っているのを確認済みです。

@@ -71,7 +71,7 @@ export function genOpenapiSpec(config: Config) {
}

const requestType = endpoint.meta.requireFile ? 'multipart/form-data' : 'application/json';
const schema = { ...endpoint.params };
const schema = { ...convertSchemaToOpenApiSchema(endpoint.params, 'param') };
Copy link
Contributor Author

Choose a reason for hiding this comment

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

OpenAPI Specification 3.1.0 では nullable が廃止され、type: null といった風の書式に変更されました1。リクエストのスキーマを修正する必要がありましたが変更点があまりにも大きすぎてしまうので、その場しのぎの対処として convertSchemaToOpenApiSchema にかけるようにして書き換えを行っています。

Footnotes

  1. 3.1.0-rc0 のリリースノート (https://github.com/OAI/OpenAPI-Specification/releases/tag/3.1.0-rc0) の Breaking Change を参照してください。

@@ -330,7 +330,7 @@ async function main() {
await mkdir(generatePath, { recursive: true });

const openApiJsonPath = './api.json';
const openApiDocs = await SwaggerParser.validate(openApiJsonPath) as OpenAPIV3.Document;
const openApiDocs = await OpenAPIParser.validate(openApiJsonPath) as OpenAPIV3_1.Document;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@apidevtools/swagger-parser が OpenAPI Specification 3.1.0 に対応していなかったので、これに対応していた fork の @readme/openapi-parser に移行しました。

packages/backend/src/server/api/openapi/gen-spec.ts Outdated Show resolved Hide resolved
@@ -36,7 +36,7 @@ export const paramDef = {
untilId: { type: 'string', format: 'misskey:id' },
folderId: { type: 'string', format: 'misskey:id', nullable: true, default: null },
type: { type: 'string', nullable: true, pattern: /^[a-zA-Z\/\-*]+$/.toString().slice(1, -1) },
sort: { type: 'string', nullable: true, enum: ['+createdAt', '-createdAt', '+name', '-name', '+size', '-size'] },
sort: { type: 'string', nullable: true, enum: ['+createdAt', '-createdAt', '+name', '-name', '+size', '-size', null] },
Copy link
Contributor Author

Choose a reason for hiding this comment

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

openapi-typescripttype: ['string', 'null'] と記述しても Union 型に null がつかないようになっている(仕様?)なので enum かつ nullable: true となっていた数箇所について enum への null 追記を行いました。

@zyoshoka zyoshoka changed the title fix(backend): text: nullだけのノートや、空白文字のみで構成されたtextをもつノートは投稿できないように fix(backend): 虚無ノートを投稿できる問題の修正と api.json の OpenAPI Specification 3.1.0 への対応 Jan 13, 2024
@Sayamame-beans
Copy link
Member

(途中で追加の変更内容が生えたため、)changelogの更新を忘れてしまっているような気がします…?

@syuilo syuilo merged commit d792f4f into misskey-dev:develop Jan 13, 2024
20 checks passed
@syuilo
Copy link
Member

syuilo commented Jan 13, 2024

🙏🙏🙏

@zyoshoka zyoshoka deleted the prohibit-posting-kyomu-note branch January 13, 2024 08:02
@tamaina
Copy link
Contributor

tamaina commented Feb 1, 2024

(json-schema配下のschema、スクリプトで変換せずにそのまま全部OpenAPI v3準拠に書き換えればよかったのに)

@zyoshoka
Copy link
Contributor Author

zyoshoka commented Feb 1, 2024

膨大になってしまう気がしたのでこの PR ではやらなかったんですが、自動でいい感じに全部書き換えられたらいいな・・・とは思っています(型チェックの問題も解消されそうですし)

syuilo added a commit that referenced this pull request Feb 17, 2024
* perf(drop-and-fusion): remove root Transition component for improve performance

* refactor(drop-and-fusion): some refactors

* clean up

* enhance(drop-and-fusion): some tweaks

* Feat(frontend): リアクション・ノート内絵文字・/about#emojisで絵文字詳細が見られるように (#12984)

* リアクション・ノート内絵文字・/about#emojisで絵文字詳細が見られるように

* update CHANGELOG.md

* fix locale & type errors

* fix locale etc

* fix

* fix type

* lint fixes

* lint fixes(2)

* tweak

* fix(backend): 虚無ノートを投稿できる問題の修正と `api.json` の OpenAPI Specification 3.1.0 への対応 (#12969)

* fix(backend): `text: null`だけのノートは投稿できないように

* add test

* Update CHANGELOG.md

* chore: bump OpenAPI Specification from 3.0.0 to 3.1.0

* chore: テストがすでにコメントで記述されていたのでそっちを使うことにする

* fix test

* fix(backend): prohibit posting whitespace-only notes

* Update CHANGELOG.md

* fix(backend): `renoteId`または`fileIds`(`mediaIds`)または`poll`が`null`でない場合に、`text  が空白文字のみで構成されたリクエストになることを許可して、結果は`text: null`を返すように

* test(backend): 引用renoteで空白文字のみで構成されたtextにするとレスポンスが`text: null`になることをチェックするテストを追加

* fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように

* fix(misskey-js): OpenAPI 3.1に対応

* fix(misskey-js): 型生成をOpenAPI Specification 3.1.0に対応

* fix(ci): `validate-api.json`をOpenAPI Specification 3.1.0に対応

* fix(ci): スキーマ書き換えの際のミスを修正

* Revert "fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように"

This reverts commit a9ca55343df6ea1679599acbc4801f78aa3a242b.

* fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように

* Revert "fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように"

This reverts commit 865458989f9ddacc38d1bb3743a41ea828dbf324.

* fix(misskey-js): `openapi-parser`で`validate`のかわりに`parse`を用いるように

* Update CHANGELOG.md

* fix type

* enhance(drop-and-fusion): refactor and new mode(wip)

* feat: 枠線をつけるMFMを追加 (#12981)

* Update MkMisskeyFlavoredMarkdown.ts

* Update const.ts

* Update MkMisskeyFlavoredMarkdown.ts

* Update MkMisskeyFlavoredMarkdown.ts

* Update CHANGELOG.md

* feat(CI): CHANGELOG.mdの追記個所をチェックするCIを追加 (#12963)

* feat(CI): CHANGELOG.mdの追記個所をチェックするCIを追加

* fix

* remove strategy

* fix

* fix

* enhance(drop-and-fusion): sweets mode

* 完成 (#12980)

* enhance(frontend): Playの説明欄にMFMを使えるように (#12899)

* (enhance) Playの説明欄にMFMを使えるように

* Update Changelog

* use class for mfm component

* Update packages/frontend/src/pages/flash/flash-edit.vue

Co-authored-by: 1Step621 <[email protected]>

* Update flash.vue

* Update CHANGELOG.md

---------

Co-authored-by: 1Step621 <[email protected]>

* fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように (#12988)

* fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように

* Update CHANGELOG.md

* Update CHANGELOG.md

* enhance(frontend) 日本語の拡張絵文字辞書を追加 (#12855)

* Create ja-JP.json

* Update general.vue

* Update ja-JP.json

* Update ja-JP.json

* Update ja-JP.json

* fix

* fix design

* (Add) ひらがな [wip]

* fix lint

* Apply suggestions from code review

Co-authored-by: 1Step621 <[email protected]>

* (add) ja-JP_hira

Co-authored-by: 1Step621 <[email protected]>

* (enhance) 言語名をちゃんと表示するように

---------

Co-authored-by: 1Step621 <[email protected]>

* refactor: noteテーブルのインデックス整理と配列カラムへのクエリでインデックスを使うように (#12993)

* Optimize note model index

* enhance(backend): ANY()をやめる (MisskeyIO#239)

* add small e2e test drive endpoint

---------

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

* enhance(frontend): dedicated games page

* enhance: 動画・音声周りのUIと動作改良 (#12925)

* wip

* (fix) `/files` をバイトレンジリクエストに対応させる

* video

* audio

* fix

* fix

* spdx

* fix (rangeRequest)

* fix

* Update CHANGELOG.md

* (add) ボリュームを保存できるように

* (fix) ミュート復帰時に音量が固定される

* named export

* tweak design

* Add sensitive class for audio component

* Refactor seekbar styles

* Refactor hms

* Revert "(add) ボリュームを保存できるように"

This reverts commit 6271f9493b63f96d0dd9915207e97fe120ef9037.

* Revert "(fix) ミュート復帰時に音量が固定される"

This reverts commit a65002b56ecdcb10f76bcc2debbe38593a69643f.

* revert revert changes

---------

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

* (style) sticky系フッターのデザイン調整 (#13005)

* enhance(frontend): ページ遷移時にPlayerを閉じるように (#13013)

* なんかできた

* update changelog.md

* onDeactivatedを使うように

* Enhance(frontend): MkCustomEmojiDetailedDialogを調整 (#13015)

* MkEmojiDetailedDialogを調整

* 絵文字ライセンスでMFMを使えるように

* <a> -> <MkLink>

* 入力ボックスでmfmのオートコンプリートを効かせる

* enhance(frontend): チャンネルノートの場合はその前後を見れるように (#13019)

* チャンネルノートの場合はその前後を見れるように

* Update Changelog

* $[border ...]にクリッピング機能を追加 (#13002)

* Update MkMisskeyFlavoredMarkdown.ts

* Update MkMisskeyFlavoredMarkdown.ts

* Update CHANGELOG.md

* Set clipping as default

* Fix: properly handle cc followers (#13009)

* Fix: properly handle cc followers

Fix #13001

* Update CHANGELOG.md

* Fix syntax error

* enhance(drop-and-fusion): ゲームバランスの調整など

* MkCodeにコピーボタンを追加 (#12999)

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update MkCode.vue

* Update CHANGELOG.md

---------

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

* chore(drop-and-fusion): bump version

* refactor: MkCodeをブロックとインラインで別コンポーネント化する (#13026)

* Create MkCodeInline.vue

* Update MkCode.vue

* Update MkMisskeyFlavoredMarkdown.ts

* Update flash.vue

* Update MkCodeInline.vue

* fix(frontend/MediaVideo): 再生シークバーの当たり判定を調整 (#13027)

* fix(frontend/MediaVideo): 再生シークバーの当たり判定を調整

* fix

* feat(frontend): 横スワイプでタブを切り替える機能 (#13011)

* (add) 横スワイプでタブを切り替える機能

* Change Changelog

* y方向の移動が一定量を超えたらスワイプを中断するように

* Update swipe distance thresholds

* Remove console.log

* adjust threshold

* rename, use v-model

* fix

* Update MkHorizontalSwipe.vue

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

* use css module

---------

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

* refactor: fully typed locales (#13033)

* refactor: fully typed locales

* refactor: hide parameterized locale strings from type data in ts access

* refactor: missing assertions

* docs: annotation

* refactor: style

* fix(frontend/HorizontalSwipe): ページの要素がはみ出る問題を修正 (#13036)

* 「外部サイトからインストール」のパスを /install-extensions に変更 (#12991)

* /install-extensionsに変更

* CHANGELOG.mdに追記

* 旧パスも利用できるように

* fix: Some fixes for #12850 (#12862)

- refinement the error message when trueMail validation fails
- the settings of trueMail are not displayed after saving
- changing how `Active Email Validation` is saved

* Enhance(frontend): MFMの属性にオートコンプリートが利用できるように (#12803)

* MFMのパラメータでオートコンプリートできるように

* tweak conditions & refactor

* ファイル末尾の改行忘れ

* remove console.log & refactor

* 型付けに敗北

* fix

* update CHANGELOG.md

* tweak conditions

* CHANGELOGの様式ミス

* CHANGELOGを書く場所を間違えていたので修正

* move changelog

* move changelog

* typeof MFM_TAGS[number]

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

* $[border.noclip ]対応

* Update const.ts

---------

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

* feat: reversi

Resolve #12962

* refactor: deprecate i18n.t (#13039)

* refactor: deprecate i18n.t

* revert: deprecate i18n.t

This reverts commit 7dbf873a2f745040ee723df5db659acacff84e12.

* chore: reimpl

* refactor: extract bubble-game engine as independent package

* lint fix

* lint fixes

* tweak reversi map

* fix lint

* fix(dev): fix workspace settings

* fix(dev): fix pnpm dev

* enhance(reversi): tweak reversi

* refactor: migrate to ESM

* fix api-extractor

* add missing ext

* enhance(reversi): tweak reversi

* :art:

* Fix(frontend): 日本語のUnicode絵文字追加辞書をインストールすると絵文字ピッカーでUnicode絵文字を検索できなくなるのを修正 (#13046)

* 絵文字辞書のサロゲートペアを修正

* update CHANGELOG.md

* Revert "update CHANGELOG.md"

This reverts commit 7c24fa611a533bb74ef7979a0356b83f3410a056.

* enhance(reversi): tweak reversi

Resolve #13048

* Update Dockerfile

* enhance(reversi): tweak reversi

* enhance(frontend): ノート作成画面の添付メニューから直接ファイルを消せるように (#12858)

* (enhance) 添付画面から直接ファイルを消せるように

* Update Changelog

---------

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

* enhance(reversi): tweak reversi

* enhance(sw): オフライン表示のデザインを改善 (#13052)

* enhance(sw): オフライン表示のデザインを改善

* Update Changelog

* fix

* fix

* fix

* 言語が取得できなかった場合のフォールバックを追加

* (change) translation key

* enhance(reversi): tweak reversi

* enhance(reversi): tweak reversi

* fix(frontend): MkHorizontalSwipeでメニューを閉じるのに2回クリックが必要になる問題を修正

#13055

* return a `Vary: Accept` header for all dual-format endpoints #365 (#13044)

`/users/:user`, `/@:user`, `/notes/:note` return different responses
depending on the request's `Accept:` header. If we don't consistently
return a `Vary: Accept` header, browsers and caching proxies will get
confused, and return AP representations when HTML was requested, or
vice versa.

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

* enhance(frontend): タイムラインフィルターの設定を保持+センシティブなノートを隠せるように (#12848)

* (enhance) タイムラインフィルターの状態を記憶するように

* fix

* (enhance) センシティブな投稿をミュート形式で表示する(TLのみ)

* fix

* Update Changelog

* Fix changelog

* Lintエラーを潰す

* Update locales/ja-JP.yml

* hideSensitive -> withSensitive

* Update CHANGELOG.md

* Update ja-JP.yml

---------

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

* Enhance(frontend): 絵文字編集ダイアログをウィンドウにする (#13047)

* 絵文字編集ダイアログをウィンドウにする

* update CHANGELOG.md

* update deps

* New Crowdin updates (#12845)

* New translations ja-jp.yml (French)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

* 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 (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 (Chinese Traditional)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

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

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

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Romanian)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* 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 Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Uzbek)

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

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

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

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

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Uzbek)

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

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Italian)

* 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 Traditional)

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

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

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

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (German)

* 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 Simplified)

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

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

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Romanian)

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

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Uzbek)

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

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

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

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

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

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

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

* chore(deps-dev): bump vite in /scripts/changelog-checker (#13040)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.11 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

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

* enhance(frontend): 季節に応じた画面の演出を南半球に対応させる (#12838)

* (enhance) 季節に応じた画面の演出を南半球に対応させる

* Update Changelog

* (add) 半球の簡易自動判定

---------

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

* enhance(frontend): リファクタリングなど

* perf(reversi): improve performance of reversi backend

* 2024.2.0-beta.1

* fix(frontend/pizzax): デフォルト値が適用できないことがあるのを修正 (#13057)

* fix(frontend/pizzax): デフォルト値が適用できないことがあるのを修正

* fix

* いらんプロパティをけす

* refactor(reversi): refactoring of reversi backend

* New Crowdin updates (#13056)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Romanian)

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

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Hungarian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Croatian)

* New translations ja-jp.yml (Uyghur)

* New translations ja-jp.yml (Lojban)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Kannada)

* New translations ja-jp.yml (Haitian Creole)

* New translations ja-jp.yml (Kabyle)

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

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

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

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

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

* 2024.2.0-beta.2

* enhance(reversi): some tweaks

* perf(reversi): improve performance of reversi backend

* fix lint

* enhance(reversi): render ogp

* fix lint

* fix: 2024-01-22 10:50時点のdevelopにてCIがコケている (#13060)

* fix: バブルゲームのビルド失敗修正

* fix: api.jsonの定義誤りを修正

* fix: lint.yml(typecheck)

* fix: fix eslint error

* fix: frontend vitest version

* fix: frontend vitest version

* fix:

* fix: cypress

* fix: misskey-js test

* fix: misskey-js tsd(tsdはpakcage.jsonのexportsをサポートしない?)

* fix: conflict

* fix: 間違えて上書きしたところを修正

* fix: 再

* fix: api.json

* fix: api.json

* fix: タイムアウト延長

* Update packages/misskey-js/jest.config.cjs

Co-authored-by: Sayamame-beans <[email protected]>

---------

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

* :art:

* fix lint

* 2024.2.0-beta.3

* chore: publish misskey-js automatically (#13014)

* chore: publish @misskey-dev/misskey-js

* remove @misskey-dev/

* ??

* correct version

* version

* fix of #13014 (misskey-js publish)

* 修正できたかも (#13066)

* perf: (productionの)dependenciesから@typesを削除、reversi/bubble-gameをesbuildにする (#13067)

* perf: (productionの)dependenciesから@typesを削除、reversi/bubble-gameをesbuildにする

* fix

* fix

* fix(build): スクリプトの名前の変更漏れ (#13068)

* fix(build): スクリプトの名前の変更漏れ

* 漏れの漏れ

* :art:

* enhance(reversi): improve desync handling

* New Crowdin updates (#13061)

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

* New translations ja-jp.yml (Korean)

* 2024.2.0-beta.4

* fix(frontend/HorizontalSwipe): スワイプ・UIアニメーションが無効の際はトランジションを行わないように (#13076)

* fix(frontend/HorizontalSwipe): アニメーションを減らすが考慮されるように

* fix

* fix

* revert unused change

* fix

* :art:

* enhance(reversi): 準備中の自分の対局も一覧に表示するように

* enhance(reversi): more robust matching process

* fix of 65557d5f27044bd90c538266fde1e6b91b696f80

* enhance(reversi): 開始時に対局をシェアできるように

* enhance(reversi): improve stability

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

* enhance(reversi): improve game setting flow

* enhance(reversi): tweak MATCHING_TIMEOUT_MS

* perf(reversi): set expire matchSpecific and matchAny

* fix(reversi): wait redis operation to improve stability

* 2024.2.0-beta.5

* fix(frontend/pizzax): オブジェクトにnullがある場合に正しくマージされないのを修正 (#13073)

* fix(frontend/pizzax): オブジェクトにnullがある場合に正しくマージされない

* fix types

* マージを内製

* fix(frontend/reversi): fix game preview

* enhance(reversi): improve matching system

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

* 2024.2.0-beta.6

* enhance(reversi): 変則なしマッチングを可能に

* fix(reversi/backend): refactor and fixes

* Create deploy-test-environment.yml (#13079)

* test

* Revert "Create deploy-test-environment.yml (#13079)"

This reverts commit 4de14fb5cf8c0aa2078ebbedc242a65e042ded54.

* New Crowdin updates (#13080)

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

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

* 2024.2.0-beta.7

* New Crowdin updates (#13082)

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

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

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

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

* fix(dev): pnpm devで依存関係更新が一部反映されない (#13091)

* fix misskey-js version

* refactor(frontend/MediaPlayer): cssの重複を削除 (#13094)

* Update MkMediaAudio.vue

* Update MkMediaVideo.vue

* enhance(frontend): リモートのユーザーはメニューから直接リモートで表示できるように (#13087)

* enhance(frontend): リモートのユーザーはメニューから直接リモートで表示できるように

* change changelog

* Apply suggestions from code review

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

---------

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

* fix(backend): Fix typos in job configurations (#13086)

* Fix typos

* Update CHANGELOG

* Update CHANGELOG.md

* feat(frontend/nirax): リダイレクトを設定できるように (#13030)

* feat(frontend/nirax): リダイレクトを設定できるように

* revert demonstrative changes

* fix

* revert unrelated changes

* リダイレクトの際にパスが変わらない問題を修正

* リダイレクトが必要なrouteを設定

* fix lint

* router向けe2eテストの追加

* fix

---------

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

* fix(i18n): ストック情報とフロー情報の文言をわかりやすく変更 (#13085)

* fix(i18n): ストック情報とフロー情報をわかりやすく書き直す

* Update ja-JP.yml

* Update ja-JP.yml

* test(frontend): load default config to start vite (#12867)

Co-authored-by: おさむのひと <[email protected]>

* iOSで大きな画像を変換してアップロードできない問題を修正 (#13109)

Fix https://github.com/misskey-dev/misskey/issues/12026

* refactor: frontendのcomponentsの型エラーを改善 (#12926)

* add: safeFloatParserを追加

* fix: 欠けていた型を追加

* refactor: pageBlockTypesをjson-schemaに移植

* refactor: components/global内の型エラーが出ている箇所を修正

* lint: fix null check style

* refactor: fix type error

* refactor: fix some type errors

* fix: 翻訳が抜けていた箇所を修正

* refactor: getJsonSchemaで正しいスキーマが返されるように修正

* fix: MkChartの型エラーとbytesオプションが機能していない問題を修正

* fix(misskey-js): `drive`->`folderUpdated`のpayloadの型が間違っていたのを修正

* refactor: fix some type errors

* change: Captcha読み込み中の文言をLoadingに変更

* refactor(backend/misskey-js): MainEventの型を改善

* refactor: chartjs-plugin-gradientが二重でpluginに登録されていたのを修正

* update: misskey-js.api.md

* refactor: fix some type errors

* fix: backendのtypecheckが落ちていたのを修正

* update: misskey-js.api.md

* add: json-schemaのnoteにpollの型定義を追加

* refactor: noteのjson-schemaの型を改善

* refactor: MkPoll

* refactor: fix some type errors

* change: UserLiteにisLockedを持たせるように

* fix: notificationスキーマにroleが含まれていないのを修正

* Revert "change: UserLiteにisLockedを持たせるように"

This reverts commit 1bb0c8e7a9b19a4e9f21bf7381712b98f27672a5.

* fix: フォロー通知から鍵垢へのフォローを行うと処理中のまま止まってしまう問題を修正

* refactor: noteスキーマのvisibilityにenumを追加

* change: deepCloneのCloneableTypeにundefinedを追加

* refactor: fix some type errors

* refactor: `allowEmpty: false`を使用していた箇所を`minLength: 1`に置き換え

* enhance: API 'retension' のresponseの型を追加

* fix: Chart関連のtooltipが正しい位置に表示されない問題を修正

* refactor: fix some type errors

* fix: 型情報が不足していたのを修正

* enhance: announcementスキーマにenumを追加

* enhance: ロールポリシーの型定義をRoleServiceからjson-schemaに移植

* refactor: policiesを`ref: RolePolicies`に統一

* fix: API `meta` のレスポンスの型にpoliciesが含まれていないのを修正

* refactor: fix some type errors

* fix: backendのlintが落ちているのを修正

* fix: MkFoldableSectionの開閉時のanimationが適用されていない問題を修正

* fix: backendのtypecheckが落ちているのを修正

* update: run build-misskey-js-with-types

* fix: MkDialogのmount時に文字数制限の判定が行われない問題を修正

* update: CHANGELOG.md

* refactor: MkUserSelectDialogの型を改善

* fix: deepCloneでundefinedはcloneしないように (#9207)

* change: frontendのcloneをbackend側にも反映

* update: CHANGELOG.md

* fix: RoleServiceからPackを通して型RolePoliciesに依存させないように

* Update packages/frontend/src/scripts/get-note-summary.ts

* revert RoleService.ts changes

* change:  optional chaining -> non-null assertion

* remove: unused import

* fix: propsで渡されたuserがUserLiteの場合に意図しない動作になってしまうのを修正

* change: fix null check style

* refactor: fix type error

* change: fix null check style

* Update packages/frontend/src/components/MkDrive.vue

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

* refactor: css moduleでglobalを使わないように

* refactor: roleのiconUrlは必ず存在するものとして扱うように

* enhance: MenuButtonのactiveにcomputedを受け付けられるように

* Update packages/frontend/src/components/MkNotePreview.vue

* Update MkWindow.vue

* refactor: notification.noteは必ず存在するものとして扱うように

* Update packages/frontend/src/components/MkNotification.vue

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

* fix: MkSignupDialogでdoneのemit時にresを含んでいなかったのを修正

* Update packages/frontend/src/scripts/clone.ts

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

* refactor: 不要な返り値の型を削除

* refactor: 不要なnullチェックを削除

* update: misskey-js-autogen

* update: clone.ts

* refactor

* Update MkNotification.vue

* Update MkNotification.vue

* :v:

* Update MkNotification.vue

* Update MkNotification.vue

* Update MkNotification.vue

* Update MkNotifications.vue

* Update MkUserSetupDialog.Profile.vue

* Update MkUserCardMini.vue

* :v:

* Update MkMenu.vue

---------

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

* fix/refactor(reversi): 既存のバグを修正・型定義を強化 (#13105)

* 既存のバグを修正

* fix types

* fix misskey-js autogen

* Update index.d.ts

---------

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

* update deps

* 2024.2.0-beta.8

* Revert "Revert "Create deploy-test-environment.yml (#13079)""

This reverts commit 4553d6426bfa6a54754d5cf477d04782d5e05860.

* refactor(frontend): global/router -> router

* refactor(backend): User関連のスキーマ/型の指定を強くする (#12808)

* refactor(backend): User関連のスキーマ/型の指定を強くする

* refactor(backend): `pack()`の引数にスキーマを指定するように

* chore: fix ci

* fix: 変更漏れ

* fix ci

---------

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

* fix(frontend): styleの指定方法を変更 (#13120)

* fix(ci): `misskey-js` のバージョンチェックをトリガーする条件の修正 (#13116)

* fix(misskey-js): バージョンチェックのトリガー条件を修正

* chore(misskey-js): 2024.2.0-beta.8

* Fix(frontend): リバーシで自分自信を招待できるのを修正 & os.selectUser()のincludeSelfが機能していないのを修正 (#13117)

* リバーシで自分自信を招待できるのを修正 & os.selectUser()のincludeSelfが機能していないのを修正

* lint fix

* enhance(frontend): :cherry_blossom:

* chore(deps): bump codecov/codecov-action from 3 to 4 (#13125)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-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>

* fix: Hide reactions of all remote users / feat: moderators can see reactions of all users (#13128)

* fix: Hide reactions of all remote users
https://github.com/misskey-dev/misskey/issues/12964

* feat: Moderators can see reactions of all users
https://github.com/misskey-dev/misskey/issues/13127

* modify CHANGELOG.md

* fix iAmModerator

* chore(deps): bump peter-evans/slash-command-dispatch from 3 to 4 (#13124)

Bumps [peter-evans/slash-command-dispatch](https://github.com/peter-evans/slash-command-dispatch) from 3 to 4.
- [Release notes](https://github.com/peter-evans/slash-command-dispatch/releases)
- [Commits](https://github.com/peter-evans/slash-command-dispatch/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/slash-command-dispatch
  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>

* 「見たことのあるリノートを省略して表示」が効いていない問題を修正  (#13133)

* fix: 「見たことのあるリノートを省略して表示」が効いていない問題を修正
fix #13131

* add a comment

* fix(backend): "誰でも新規登録できるようにする"の初期値をOFFにする (#13130)

* fix(backend): "誰でも新規登録できるようにする"の初期値をOFFにする

* fix CHANGELOG.md

* fix

* Update deploy-test-environment.yml (#13136)

* fix: api-docが開けない問題を修正 (#13132)

* refactor: 自己参照を使用している箇所に`selfRef`を持たせるように

* feat: スキーマ生成時に自己参照を含むかどうかを指定できるように

* fix: api.jsonにselfRefが含まれているのを修正

* refactor: 他の箇所と同様にselfRefの除去を行うように

* remove: 不要なimportを削除

* refactor(frontend): `os.popup()`の`props`の型チェックを有効化 (#13140)

* refactor(frontend): `os.popup()`の`props`の型チェックを有効化

* refactor: `ComponentProps`に書き換え

* refacor: `import type`

* enhance(frontend): shiki v1に移行 (#13138)

* enhance(frontend): shiki v1に移行

* optimize chunks, エラーを握りつぶす

* wasmを分離

* バンドルサイズの警告の最小値を650kBに引き上げ

* optimize

* fix(frontend): アバターデコレーションのアニメーションが止まらない (#13139)

* fix(frontend): アバターデコレーションのアニメーションが止まらない

* Update Changelog

* i -> index

* key

* revert lint fixes

* fix(frontend): selectUserのパラメータを調整 (#13142)

* fix(frontend): selectUserのパラメータを調整

* ついでに軽微なスタイルの修正

* fix(frontend): チャートのlegendがクリックに反応しない問題を修正

これにより発生 https://github.com/misskey-dev/misskey/pull/12926

* New Crowdin updates (#13090)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* 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 (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (French)

* 2024.2.0-beta.9

* fix(backend): メール配信機能が無効ならばメールを送ることのないように (#13152)

Do not send email if email delivery is disabled

* ignore `instance.actor` when checking if there are local users (#13146)

* ignore `instance.actor` when checking if there are local users

We've seen this happen a few times:

* there was some AP software at $some_domain
* it gets replaced by Misskey
* before the first user can be created, an AP activity comes in
* Misskey resolves the activity
* to do this, it creates the `instance.actor` to sign its request
* now there *is* a local user, so the `meta` endpoint returns
  `requireSetup:false`
* the admin is very confused

This commit factors out the check, and doesn't count the
`instance.actor` as a real user.

* autogen bits

* keep cached avatar&banner when refresh fails to get new values (#13145)

* keep cached avatar&banner when refresh fails to get new values

when the remote explicitly tells us a user image is gone, we remove
our cached value, but if we fail to get the image, we keep whatever
value we already have

this should minimise the problem of avatars randomly disappearing

* autogen bits

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

---------

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

* update patrons

* New Crowdin updates (#13156)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* Fix(frontend): クロップ後の解像度が異様に低くなる問題の修正&クロップに失敗する問題&コメントにnullという文字列が入る問題の修正 (#13162)

* Fix(frontend): Fix resolution of cropped image (misskey-dev#11489)

* CHANGELOG

* Fix(frontend): クロップの際、folderIdがnullだと文字列のnullが送られ検索できない問題

* Fix: キャプションが存在しないときにクロップすると'null'がキャプションに入ってしまう問題 (misskey-dev#11813)

* Update CHANGELOG

* refactor(frontend): `os.popup()`の`events`の型チェックを有効化 (#13165)

* 2024.2.0-beta.10

* enhance(frontend): シンタックスハイライトにテーマを適用できるように (#13175)

* enhance(frontend): シンタックスハイライトにテーマを適用できるように

* Update Changelog

* こっちも

* テーマの値がディープマージされるように

* 常にテーマ設定に準じるように

* テーマ更新時に新しいshikiテーマを読み込むように

* enhance(frontend): KeepAliveのページキャッシュを削除できるように (#13180)

* enhance(frontend): 内部のページキャッシュを削除できるように

* Update Changelog

* Enhance(frontend): フロント側でもリアクション権限のチェックをするように (#13134)

* フロント側でもリアクション権限のチェックをするように

* update CHANGELOG.md

* lint fixes

* remove unrelated diffs

* deny -> reject
denyは「(信用しないことを理由に)拒否する」という意味らしい

* allow -> accept

* EmojiSimpleにlocalOnlyを含めるように

* リアクション権限のない絵文字は打てないように(ダイアログを出すのではなく)

* regenerate type definitions

* lint fix

* remove unused locales

* remove unnecessary async

* fix(frontend): エラー画像URLを設定した後解除すると,デフォルトの画像が表示されない問題の修正 (#13172)

Co-authored-by: かっこかり <[email protected]>

* enhance(frontend): リモートへの引用リノートと同一のリンクにはリンクプレビューを表示しないように (#13178)

* enhance(frontend): リモートへの引用リノートと同一のリンクにはリンクプレビューを表示しないように

* Update Changelog

---------

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

* AP Key の JSON-LD 表現を修正 (#13170)

* CHANGELOGを修正 (#13181)

* chore(frontend): reword possible typo (#13182)

* fix(bubble-game): 共有用画像のコメントにnullが入る問題を修正 (#13183)

* fix(misskey-js): 自動生成物の冒頭からバージョンと日付を削除 (#13185)

* Enhance: 連合向けのノート配信を軽量化 (#13192)

* AP HTML表現をシンプルに

* a

* CHANGELOG

* リンク

* Fix(frontend): MkCodeEditorで行がずれていくのを修正 (#13188)

* MkCodeEditorで行がずれていくのを修正

* update CHANGELOG.md

* 正しい 2024.2.0-beta.10 改版手順? (#13173)

* 正しい 2024.2.0-beta.10 改版手順?

* run build-misskey-js-with-types

* enhance(frontend/HorizontalSwipe): 操作性の改善 (#13038)

* Update swipe thresholds and touch-action

* スワイプ中にPullToRefreshが反応しないように

* 横スワイプに関与する可能性のある要素がある場合はスワイプを発火しないように

* update threshold

* isSwipingを外部化

* rename

---------

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

* typo

* Fix: Summaly proxy利用時にプレイヤーが動作しないことがあるのを修正 (#13196)

* Fix: Summaly proxy利用時にプレイヤーが動作しないことがあるのを修正

* CHANGELOG

* test(frontend): migrate MSW in Storybook to v2 (#13195)

* fix(frontend) misskey-js type (#13202)

* refactor(backend): exist -> exists (#13203)

* refactor(backend): exist -> exists

* fix

* fix(frontend): aiscriptのコードブロックでのハイライト指定を修正 (#13208)

* chore: use [email protected] / [email protected]

* fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加 (#13210)

* fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加

* Serviceでチェックするように変更

* perf(frontend): splash screenのdomが消えない場合があるのを修正

https://github.com/misskey-dev/misskey/issues/10805

* chore(deps): bump pnpm/action-setup from 2 to 3 (#13215)

Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2 to 3.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2...v3)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  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>

* New Crowdin updates (#13179)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

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

* New translations ja-jp.yml (Catalan)

* update deps

* 2024.2.0-beta.11

* fix misskey-js version

* dev: Update misskey-tga deploy-test-environment.yml (#13221)

* fix: misskey-jsの型定義生成時にバックエンドの依存パッケージもビルドするように (#13249)

* fix(frontend): vue v3.4.16でタイムラインが正常に表示できない問題を修正

* type

* fix: misskey-jsの型定義生成時にバックエンドの依存パッケージもビルドするように

* Revert "type"

This reverts commit bac0951bd1608cbd97ba809a76a664590ce5efb3.

* Revert "fix(frontend): vue v3.4.16でタイムラインが正常に表示できない問題を修正"

This reverts commit 92b21658287932515cb061ddc2ab5c83b4b78ca2.

* Update about-misskey.vue

* New Crowdin updates (#13216)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* feat: provide tarball (#13260)

* feat: provide tarball

* build: pack on build-assets

* chore: use ignore-walk

* chore: debug

* build: dependencies

* New translations ja-jp.yml (Spanish) (#13261)

* update SPDX-FileCopyrightText

* refactor(msjs): avoid any (part 1) (#13247)

* refactor(msjs): avoid any

* run api extractor

---------

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

* ci(test-frontend): Cypressのテストの失敗時、永遠に止まらない問題を回避 (MisskeyIO#434) (#13274)

失敗しないようタイムアウトの延長・15分で止まるように

* chore: 以前の開発環境(backendにアクセスする方式)を立ち上げられるように (#13220)

* chore: 以前の開発環境(backendにアクセスする方式)を立ち上げられるように

* Update scripts/dev.mjs

Co-authored-by: かっこかり <[email protected]>

---------

Co-authored-by: かっこかり <[email protected]>

* fix: downgrade vue to 3.4.15

* enhance: 禁止ワードはリモートノートも対象に (#13280)

Resolve #13279

* Update CHANGELOG.md (#13282)

#13281 に対応していることを強調

* perf: omit search for immutable static requests (#13265)

* perf: omit search for immutable static requests

* perf: also applies to /files

* fix: exclude /proxy

* /files/:key/*を301 redirectに

---------

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

* Revert "update SPDX-FileCopyrightText"

This reverts commit 9b5aeb76d8c9372d67058c512597152b6bf222f2.

* (re)  update SPDX-FileCopyrightText
Fix  #13290

* fix(frontend): エラーページのトラブルシューティングがリンク切れしている問題 (#176) (#13288)

* fix: TypeAssertionExpression breaks Storybook builds

* build: upgrade Storybook to 8 beta (#13297)

* chore: upgrade Storybook to 8

* ci: restore Storybook workflow

* build: createRequire

* ci: TurboSnap life extension

* dev: Update misskey-tga (#13223)

* Update deploy-test-environment.yml

* Update .github/workflows/deploy-test-environment.yml

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

* Update deploy-test-environment.yml

* Update deploy-test-environment.yml

---------

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

* fix(ci): publish docker image fails (#13325)

* fix(ci): publish docker image fails

* fix: `docker.yml`

* refactor: remove inaccurate name

* fix: match version

* feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える (#13299)

* feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える

close #13298

* Update ReactionService.ts

* chore(backend): prefer single quote for string literal

* fix(backend): add missing schemas and fix incorrect schemas (#13295)

* fix(backend): add missing schemas and fix incorrect schemas

* fix: ci

* fix: ci (本命)

* fix: run `pnpm build-misskey-js-with-types`

* fix: typos

* fix: role-condition-formula-value contains `id`

* fix: incorrect schema

* リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273 (#13275)

* リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273

* CHAGELOG

* Use Redis event

---------

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

* refactor(backend): misc/cacheをシンプルな実装に戻した

* fix

* fix type

* Update CHANGELOG.md

* New Crowdin updates (#13267)

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (English)

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

* New translations ja-jp.yml (Thai)

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

* fix(frontend): vue v3.4.16以降でタイムラインが正常に表示できない問題を修正 (#13248)

* fix(frontend): vue v3.4.16でタイムラインが正常に表示できない問題を修正

* type

* Revert "fix: downgrade vue to 3.4.15"

This reverts commit e12369ac13a906321397dfee5142f2af4b12f5b6.

* Update pnpm-lock.yaml

---------

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

* 2024.2.0-beta.12

* fix(ci): publish docker image fails (3) (#13327)

* fix(ci): publish docker image fails (3)

* fix: set `tags`

* fix(frontend/pageMetadata): ページタイトルが更新されない問題 (#13289)

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

* chore(deps): bump actions/github-script from 6.4.0 to 7.0.1 (#13311)

Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.0 to 7.0.1.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6.4.0...v7.0.1)

---
updated-dependencies:
- dependency-name: actions/github-script
  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>

* chore(deps): bump pnpm/action-setup from 2 to 3 (#13310)

Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2 to 3.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2.0.0...v3)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  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>

* chore(deps): bump actions/checkout from 3.6.0 to 4.1.1 (#13309)

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.6.0...v4.1.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>

* chore(deps): bump actions/upload-artifact from 3 to 4 (#13308)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  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>

* chore(deps): bump actions/setup-node from 3.8.1 to 4.0.2 (#13307)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.8.1 to 4.0.2.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.8.1...v4.0.2)

---
updated-dependencies:
- dependency-name: actions/setup-node
  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>

* build: docker buildのpnpm i実行時にNODE_ENV=productionが指定されるようにする (#13329)

* fix of  #13330 (#13330)

* build: docker buildのpnpm i実行時にNODE_ENV=productionが指定されるようにする

* build: 消す行間違ってたのを修正

* fix(dev): devコマンドの実装を修正 (#13336)

* fix misskey-js version

* refactor(backend): remove/replace deprecated type deps (#13252)

* Update CHANGELOG.md

* 2024.2.0-beta.13

* Merge pull request from GHSA-qqrm-9grj-6v32

* maybe ok

* fix

* test wip

* :v:

* fix

* if (res.ok)

* validateContentTypeSetAsJsonLD

* 条件を考慮し直す

* その他の+json接尾辞が付いているメディアタイプも受け容れる

* https://github.com/misskey-dev/misskey-ghsa-qqrm-9grj-6v32/pull/1#discussion_r1490999009

* add `; profile="https://www.w3.org/ns/activitystreams"`

* application/ld+json;

* feat: add link to local note in initial comment of abuse note (#13347)

* feat: add link to local note in initial comment of abuse note

* docs(changelog): ノートの通報時にリモートのノートであっても自インスタンスにおけるノートのリンクを含むように

* feat: license violation protection (#13285)

* spec(frontend): aboutページにリポジトリ・フィードバックのURLを表示させる

Cherry-picked from MisskeyIO#441
Cherry-picked from MisskeyIO#438

* feat: license violation protection

* build: fix typo

* build: fix typo

* fix: farewell to the static type land

* fix: key typo

* fix: import typo

* fix: properly interpret `prominently`

* docs: add disclaimer

* docs: update CHANGELOG

* chore: add gap

---------

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

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: 1Step621 <[email protected]>
Co-authored-by: zyoshoka <[email protected]>
Co-authored-by: FineArchs <[email protected]>
Co-authored-by: おさむのひと <[email protected]>
Co-authored-by: ikasoba <[email protected]>
Co-authored-by: かっこかり <[email protected]>
Co-authored-by: GrapeApple0 <[email protected]>
Co-authored-by: YS <[email protected]>
Co-authored-by: まっちゃとーにゅ <[email protected]>
Co-authored-by: a <[email protected]>
Co-authored-by: Acid Chicken (硫酸鶏) <[email protected]>
Co-authored-by: Korange <[email protected]>
Co-authored-by: AsukaMari <[email protected]>
Co-authored-by: dakkar <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sayamame-beans <[email protected]>
Co-authored-by: tamaina <[email protected]>
Co-authored-by: Srgr0 <[email protected]>
Co-authored-by: woxtu <[email protected]>
Co-authored-by: Kagami Sascha Rosylight <[email protected]>
Co-authored-by: yukineko <[email protected]>
Co-authored-by: atsuchan <[email protected]>
Co-authored-by: taichan <[email protected]>
Co-authored-by: Soli <[email protected]>
Co-authored-by: MeiMei <[email protected]>
Co-authored-by: Kisaragi <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: taiy <[email protected]>
Co-authored-by: anatawa12 <[email protected]>
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.

虚無ノートが投稿できる
6 participants