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

Release: 2025.1.0 #15279

Open
wants to merge 75 commits into
base: master
Choose a base branch
from
Open

Release: 2025.1.0 #15279

wants to merge 75 commits into from

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jan 14, 2025

Note

  • [重要] ノート検索プロバイダの追加に伴い、configファイル(default.ymlなど)の構成が少し変わります.
    • 新しい設定項目"fulltextSearch.provider"が追加されました. sqlLike, sqlPgroonga, meilisearchのいずれかを設定出来ます.
    • すでにMeilisearchをお使いの場合、 "fulltextSearch.provider"を"meilisearch"に設定する必要 があります.
    • 詳細は 検索機能をpgroongaに対応させる #14730 および .config/example.yml または .config/docker_example.ymlの'Fulltext search configuration'をご参照願います.

General

Client

  • Enhance: PC画面でチャンネルが複数列で表示されるように
    (Cherry-picked from チャンネル一覧の列を最大3列にした Otaku-Social/maniakey#13)
  • Enhance: 照会に失敗した場合、その理由を表示するように
  • Enhance: ワードミュートで検知されたワードを表示できるように
  • Enhance: リモートのノートのリンクをコピーできるように
  • Enhance: 連合がホワイトリスト化・無効化されているサーバー向けのデザイン修正
  • Enhance: AiScriptのセーブデータを明示的に削除する関数Mk:removeを追加
  • Enhance: ノートの添付ファイルを一覧で遡れる「ファイル」タブを追加
    (Based on 投稿したファイルの一覧をプロフィールページ内のタブで見れるようにしてみた Otaku-Social/maniakey#14)
  • Enhance: AiScriptの拡張API関数において引数の型チェックをより厳格に
  • Fix: 画面サイズが変わった際にナビゲーションバーが自動で折りたたまれない問題を修正
  • Fix: サーバー情報メニューに区切り線が不足していたのを修正
  • Fix: ノートがログインしているユーザーしか見れない場合にログインダイアログを閉じるとその後の動線がなくなる問題を修正
  • Fix: 公開範囲がホームのノートの埋め込みウィジェットが読み込まれない問題を修正
    (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/803)
  • Fix: 絵文字管理画面で一部の絵文字が表示されない問題を修正
  • Fix: Botプロテクションの設定変更時は実際に検証を通過しないと保存できないように( Captchaの設定に不備があるとログインが行えなくなる #15137 )
  • Fix: ノート検索が使用できない場合でもチャンネルのノート検索欄がでていた問題を修正
  • Fix: Ui:C:selectで値の変更が画面に反映されない問題を修正
  • Fix: MiAuth認可画面で、認可処理に失敗した場合でもコールバックURLに遷移してしまう問題を修正
    (Cherry-picked from TeamNijimiss@8003596)
  • Fix: ノート作成画面でファイルの添付可能個数を超えてもノートボタンが押せていた問題を修正
  • Fix: 「アカウントを管理」画面で、ユーザー情報の取得に失敗したアカウント(削除されたアカウントなど)が表示されない問題を修正
  • Fix: 言語データのキャッシュ状況によっては、埋め込みウィジェットが正しく起動しない問題を修正
  • Fix: 「削除して編集」でノートの引用を解除出来なかった問題を修正( 「削除して編集」で引用として添付したノートを外せない #14476 )
  • Fix: RSSウィジェットが正しく表示されない問題を修正
    (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/857)

Server

Misskey.js

  • Feat: allow setting binaryType of WebSocket connection

github-actions bot and others added 30 commits November 22, 2024 09:15
* fix(frontend): 画面サイズが変わった際にnavbarが自動で折りたたまれない問題を修正

* Update Changelog

* fix
* fix(backend): アドレス入力で直接ユーザのプロフィールページを表示した際、前提データが足りず描画に失敗する

* fix CHANGELOG.md
…5044)

* fix(frontend): サーバードキュメントとMisskey関連リソースとの間にdividerが入らないことがある問題を修正

* Update Changelog
* check harder for connectibility

`allSettled` does not throw if a promise is rejected, so
`check_connect` never actually failed

* Update Changelog

---------

Co-authored-by: dakkar <[email protected]>
* Resolve frontend/backend contradiction for home visibility embeds

This now uses the same check from `packages/frontend/src/scripts/get-note-menu.ts`

* Update Changelog

---------

Co-authored-by: CenTdemeern1 <[email protected]>
#15101)

* fix(frontend): ノートがログインしているユーザーしか見れない場合にログインをキャンセルすると一切の処理が停止する問題を修正

* Update Changelog

---------

Co-authored-by: syuilo <[email protected]>
* チャンネル一覧の列を最大3列にした (Otaku-Social#13)

* fix

* fix

* fix

* 🎨

* fix

* 🎨

* Update Changelog

* Update Changelog

* 要らない_marginを消す

---------

Co-authored-by: tmorio <[email protected]>
* fix(frontend): 絵文字管理画面で絵文字が表示されないことがある問題を修正

* Update Changelog

* optimize
* fix(frontend): serverContextの型エラーを修正

* add comment
* enhance: 照会の失敗理由を表示するように

* Update Changelog

* fix

* fix test

* lookupErrors-> remoteLookupErrors
…15205)

* Use LIKE-LOWER instead of ILIKE, which pg_bigm doesn't support.

* changelog: Enhance: pg_bigmが利用できるよう、ノートの検索をILIKE演算子でなくLIKE演算子でLOWER()をかけたテキストに対して行うように
* fix(frontend/AiScript): Ui:C:selectの値が切り替わらない問題を修正

* Update Changelog
* feat(MiAuth): アクセストークンの発行に失敗した場合コールバックに遷移しないようにする (MisskeyIO#831)

Cherry-picked from TeamNijimiss/misskey@8003596

Co-authored-by: nafu-at <[email protected]>

* Update Changelog

* Update Changelog

---------

Co-authored-by: あわわわとーにゅ <[email protected]>
Co-authored-by: nafu-at <[email protected]>
samunohito and others added 11 commits January 14, 2025 10:37
* feature(backend): config(default.yml)からSQLログ全文を出力するか否かを設定可能に

* disableHighlightやめる

* refactor
* Fix(frontend): 削除して編集で引用ありを消せない

* docs(changelog): update CHANGELOG.md

* rename noteToRenote -> renoteTargetNote

with type fix

* Update Changelog

---------

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

* #15039 (comment) の反映

Co-authored-by: Kagami Sascha Rosylight <[email protected]>

* fix CHANGELOG.md

* remove inspection

---------

Co-authored-by: Kagami Sascha Rosylight <[email protected]>
* feat(frontend): CAPTCHAの設定変更時は実際に検証を通過しないと保存できないようにする

* なしでも保存できるようにした

* fix CHANGELOG.md

* フォームが増殖するのを修正

* add comment

* add server-side verify

* fix ci

* fix

* fix

* fix i18n

* add current.ts

* fix text

* fix

* regenerate locales

* fix MkFormFooter.vue

---------

Co-authored-by: syuilo <[email protected]>
* enhance(backend): metaにfederation modeに関する情報を公開

* enhance(frontend): 登録画面の注意書きを追加

* enhance(frontend): aboutページ・サーバー情報

* enhance(frontend): サーバー統計

* enhance(frontend): みつけるページ

* enhance(frontend): 検索

* enhance(frontend): ユーザー選択

* enhance(frontend): 設定画面

* enhance(frontend): ウィジェット

* enhance(frontend): リモートで開くオプション

* Update Changelog

* enhance(frontend): ステータスバー

* i18n

---------

Co-authored-by: syuilo <[email protected]>
* UserWebhook側の対処

* SystemWebhook側の対処

* fix test
* fix(backend): pagesのnameの重複チェックはnameプロパティがある時のみ行うように

* Update Changelog

---------

Co-authored-by: syuilo <[email protected]>
@github-actions github-actions bot added packages/frontend Client side specific issue/PR packages/backend Server side specific issue/PR packages/misskey-js packages/backend:test labels Jan 14, 2025
samunohito and others added 2 commits January 14, 2025 12:01
* feat(backend): pgroongaに対応(configの構成変更あり)

* fix CHANGELOG.md

* fix CHANGELOG.md

* add using provider logging

* fix CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <[email protected]>
* 投稿したファイルの一覧をプロフィールページ内のタブで見れるようにしてみた (Otaku-Social#14)

* ギャラリー(ノート)の取得方法を変更、ページネーションに対応

* ギャラリー(ノート)が動作しない問題を修正

* ギャラリー(ノート)の名称変更

* styles

* GalleryFromPosts -> Files

* fix

* enhance: 既存のファイルコンテナの「もっと見る」をクリックしたらファイルタブに飛べるように

* Update Changelog

* 共通化

* spdx

* その他のメディアがちゃんとプレビューされるように

* fix(frontend): リストがセンシティブ設定を考慮するように

* arrayをsetに変更

* remove unused imports

* 🎨

* 🎨

* 画像以外のファイルのプレビューに対応したのでコメントを削除

* サムネイルをMkDriveFileThumbnailに統一

* v-panelに置き換え

* lint

---------

Co-authored-by: tmorio <[email protected]>
Co-authored-by: tmorio <[email protected]>
Co-authored-by: syuilo <[email protected]>
Copy link
Contributor Author

github-actions bot commented Jan 14, 2025

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

差分はこちら
--- base
+++ head
@@ -1,7 +1,7 @@
 {
   "openapi": "3.1.0",
   "info": {
-    "version": "2024.11.0",
+    "version": "2025.1.0-beta.1",
     "title": "Misskey API"
   },
   "externalDocs": {
@@ -4748,6 +4748,492 @@
         }
       }
     },
+    "/admin/captcha/current": {
+      "post": {
+        "operationId": "admin___captcha___current",
+        "summary": "admin/captcha/current",
+        "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:admin:meta*",
+        "externalDocs": {
+          "description": "Source code",
+          "url": "https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/endpoints/admin/captcha/current.ts"
+        },
+        "tags": [
+          "admin"
+        ],
+        "security": [
+          {
+            "bearerAuth": []
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "OK (with results)",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "object",
+                  "properties": {
+                    "provider": {
+                      "type": "string",
+                      "enum": [
+                        "none",
+                        "hcaptcha",
+                        "mcaptcha",
+                        "recaptcha",
+                        "turnstile",
+                        "testcaptcha"
+                      ]
+                    },
+                    "hcaptcha": {
+                      "type": "object",
+                      "properties": {
+                        "siteKey": {
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "secretKey": {
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        }
+                      },
+                      "required": [
+                        "siteKey",
+                        "secretKey"
+                      ]
+                    },
+                    "mcaptcha": {
+                      "type": "object",
+                      "properties": {
+                        "siteKey": {
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "secretKey": {
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "instanceUrl": {
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        }
+                      },
+                      "required": [
+                        "siteKey",
+                        "secretKey",
+                        "instanceUrl"
+                      ]
+                    },
+                    "recaptcha": {
+                      "type": "object",
+                      "properties": {
+                        "siteKey": {
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "secretKey": {
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        }
+                      },
+                      "required": [
+                        "siteKey",
+                        "secretKey"
+                      ]
+                    },
+                    "turnstile": {
+                      "type": "object",
+                      "properties": {
+                        "siteKey": {
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "secretKey": {
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        }
+                      },
+                      "required": [
+                        "siteKey",
+                        "secretKey"
+                      ]
+                    }
+                  },
+                  "required": [
+                    "provider",
+                    "hcaptcha",
+                    "mcaptcha",
+                    "recaptcha",
+                    "turnstile"
+                  ]
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Client error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INVALID_PARAM": {
+                    "value": {
+                      "error": {
+                        "message": "Invalid param.",
+                        "code": "INVALID_PARAM",
+                        "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "CREDENTIAL_REQUIRED": {
+                    "value": {
+                      "error": {
+                        "message": "Credential required.",
+                        "code": "CREDENTIAL_REQUIRED",
+                        "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "403": {
+            "description": "Forbidden error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "AUTHENTICATION_FAILED": {
+                    "value": {
+                      "error": {
+                        "message": "Authentication failed. Please ensure your token is correct.",
+                        "code": "AUTHENTICATION_FAILED",
+                        "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "418": {
+            "description": "I'm Ai",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "I_AM_AI": {
+                    "value": {
+                      "error": {
+                        "message": "You sent a request to Ai-chan, Misskey's showgirl, instead of the server.",
+                        "code": "I_AM_AI",
+                        "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "500": {
+            "description": "Internal server error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INTERNAL_ERROR": {
+                    "value": {
+                      "error": {
+                        "message": "Internal error occurred. Please contact us if the error persists.",
+                        "code": "INTERNAL_ERROR",
+                        "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/admin/captcha/save": {
+      "post": {
+        "operationId": "admin___captcha___save",
+        "summary": "admin/captcha/save",
+        "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:admin:meta*",
+        "externalDocs": {
+          "description": "Source code",
+          "url": "https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/endpoints/admin/captcha/save.ts"
+        },
+        "tags": [
+          "admin"
+        ],
+        "security": [
+          {
+            "bearerAuth": []
+          }
+        ],
+        "requestBody": {
+          "required": true,
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "provider": {
+                    "type": "string",
+                    "enum": [
+                      "none",
+                      "hcaptcha",
+                      "mcaptcha",
+                      "recaptcha",
+                      "turnstile",
+                      "testcaptcha"
+                    ]
+                  },
+                  "captchaResult": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
+                  },
+                  "sitekey": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
+                  },
+                  "secret": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
+                  },
+                  "instanceUrl": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
+                  }
+                },
+                "required": [
+                  "provider"
+                ]
+              }
+            }
+          }
+        },
+        "responses": {
+          "204": {
+            "description": "OK (without any results)"
+          },
+          "400": {
+            "description": "Client error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INVALID_PROVIDER": {
+                    "value": {
+                      "error": {
+                        "message": "Invalid provider.",
+                        "code": "INVALID_PROVIDER",
+                        "id": "14bf7ae1-80cc-4363-acb2-4fd61d086af0",
+                        "httpStatusCode": 400
+                      }
+                    }
+                  },
+                  "INVALID_PARAMETERS": {
+                    "value": {
+                      "error": {
+                        "message": "Invalid parameters.",
+                        "code": "INVALID_PARAMETERS",
+                        "id": "26654194-410e-44e2-b42e-460ff6f92476",
+                        "httpStatusCode": 400
+                      }
+                    }
+                  },
+                  "NO_RESPONSE_PROVIDED": {
+                    "value": {
+                      "error": {
+                        "message": "No response provided.",
+                        "code": "NO_RESPONSE_PROVIDED",
+                        "id": "40acbba8-0937-41fb-bb3f-474514d40afe",
+                        "httpStatusCode": 400
+                      }
+                    }
+                  },
+                  "REQUEST_FAILED": {
+                    "value": {
+                      "error": {
+                        "message": "Request failed.",
+                        "code": "REQUEST_FAILED",
+                        "id": "0f4fe2f1-2c15-4d6e-b714-efbfcde231cd",
+                        "httpStatusCode": 500
+                      }
+                    }
+                  },
+                  "VERIFICATION_FAILED": {
+                    "value": {
+                      "error": {
+                        "message": "Verification failed.",
+                        "code": "VERIFICATION_FAILED",
+                        "id": "c41c067f-24f3-4150-84b2-b5a3ae8c2214",
+                        "httpStatusCode": 400
+                      }
+                    }
+                  },
+                  "UNKNOWN": {
+                    "value": {
+                      "error": {
+                        "message": "unknown",
+                        "code": "UNKNOWN",
+                        "id": "f868d509-e257-42a9-99c1-42614b031a97",
+                        "httpStatusCode": 500
+                      }
+                    }
+                  },
+                  "INVALID_PARAM": {
+                    "value": {
+                      "error": {
+                        "message": "Invalid param.",
+                        "code": "INVALID_PARAM",
+                        "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "CREDENTIAL_REQUIRED": {
+                    "value": {
+                      "error": {
+                        "message": "Credential required.",
+                        "code": "CREDENTIAL_REQUIRED",
+                        "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "403": {
+            "description": "Forbidden error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "AUTHENTICATION_FAILED": {
+                    "value": {
+                      "error": {
+                        "message": "Authentication failed. Please ensure your token is correct.",
+                        "code": "AUTHENTICATION_FAILED",
+                        "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "418": {
+            "description": "I'm Ai",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "I_AM_AI": {
+                    "value": {
+                      "error": {
+                        "message": "You sent a request to Ai-chan, Misskey's showgirl, instead of the server.",
+                        "code": "I_AM_AI",
+                        "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "500": {
+            "description": "Internal server error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INTERNAL_ERROR": {
+                    "value": {
+                      "error": {
+                        "message": "Internal error occurred. Please contact us if the error persists.",
+                        "code": "INTERNAL_ERROR",
+                        "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
     "/admin/delete-all-files-of-a-user": {
       "post": {
         "operationId": "admin___delete-all-files-of-a-user",
@@ -17446,7 +17932,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -19087,7 +19573,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -19224,6 +19710,51 @@
                   "$ref": "#/components/schemas/Error"
                 },
                 "examples": {
+                  "FEDERATION_NOT_ALLOWED": {
+                    "value": {
+                      "error": {
+                        "message": "Federation for this host is not allowed.",
+                        "code": "FEDERATION_NOT_ALLOWED",
+                        "id": "974b799e-1a29-4889-b706-18d4dd93e266"
+                      }
+                    }
+                  },
+                  "URI_INVALID": {
+                    "value": {
+                      "error": {
+                        "message": "URI is invalid.",
+                        "code": "URI_INVALID",
+                        "id": "1a5eab56-e47b-48c2-8d5e-217b897d70db"
+                      }
+                    }
+                  },
+                  "REQUEST_FAILED": {
+                    "value": {
+                      "error": {
+                        "message": "Request failed.",
+                        "code": "REQUEST_FAILED",
+                        "id": "81b539cf-4f57-4b29-bc98-032c33c0792e"
+                      }
+                    }
+                  },
+                  "RESPONSE_INVALID": {
+                    "value": {
+                      "error": {
+                        "message": "Response from remote server is invalid.",
+                        "code": "RESPONSE_INVALID",
+                        "id": "70193c39-54f3-4813-82f0-70a680f7495b"
+                      }
+                    }
+                  },
+                  "RESPONSE_INVALID_ID_HOST_NOT_MATCH": {
+                    "value": {
+                      "error": {
+                        "message": "Requested URI and response URI host does not match.",
+                        "code": "RESPONSE_INVALID_ID_HOST_NOT_MATCH",
+                        "id": "a2c9c61a-cb72-43ab-a964-3ca5fddb410a"
+                      }
+                    }
+                  },
                   "NO_SUCH_OBJECT": {
                     "value": {
                       "error": {
@@ -19310,7 +19841,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -20538,7 +21069,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -20742,7 +21273,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -21127,7 +21658,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -29299,7 +29830,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -31851,7 +32382,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -32947,7 +33478,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -33312,7 +33843,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -34802,7 +35333,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -36639,7 +37170,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -36843,7 +37374,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -37057,7 +37588,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -37229,7 +37760,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -37433,7 +37964,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -38949,7 +39480,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -39817,7 +40348,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -44016,7 +44547,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -44183,7 +44714,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -44330,7 +44861,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -44477,7 +45008,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -44624,7 +45155,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -44771,7 +45302,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -44918,7 +45449,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -45065,7 +45596,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -45778,7 +46309,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -45983,7 +46514,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -46185,7 +46716,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -46387,7 +46918,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -46589,7 +47120,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -46832,7 +47363,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -47079,7 +47610,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -50067,7 +50598,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -51434,7 +51965,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -51654,7 +52185,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -52889,7 +53420,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -54656,7 +55187,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -55193,7 +55724,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -56853,7 +57384,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -57040,7 +57571,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -57227,7 +57758,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -59606,7 +60137,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -60881,7 +61412,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -61613,7 +62144,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -62006,7 +62537,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -62414,7 +62945,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -62821,7 +63352,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -63894,7 +64425,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -64093,7 +64624,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -65127,7 +65658,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -66748,7 +67279,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -70937,7 +71468,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -75254,7 +75785,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -75767,7 +76298,7 @@
             }
           },
           "429": {
-            "description": "To many requests",
+            "description": "Too many requests",
             "content": {
               "application/json": {
                 "schema": {
@@ -82440,6 +82971,14 @@
           },
           "maxFileSize": {
             "type": "number"
+          },
+          "federation": {
+            "type": "string",
+            "enum": [
+              "all",
+              "specified",
+              "none"
+            ]
           }
         },
         "required": [
@@ -82493,7 +83032,8 @@
           "themeColor",
           "policies",
           "noteSearchableScope",
-          "maxFileSize"
+          "maxFileSize",
+          "federation"
         ]
       },
       "MetaDetailedOnly": {

Get diff files from Workflow Page

Sayamame-beans and others added 5 commits January 14, 2025 12:12
* feat(frontend): ノートのリンクをリモートのサーバーのURLとしてコピーできるように

* 出し分けのロジックを1箇所に統一

* docs: CHANGELOGの内容をコミット内容に合わせる

* docs: reverts 11d1b95

per #13566 (comment)

* chore: 調整

* chore: 調整2

---------

Co-authored-by: Kisaragi Marine <[email protected]>
Co-authored-by: kakkokari-gtyih <[email protected]>
Co-authored-by: Kisaragi <[email protected]>
Co-authored-by: syuilo <[email protected]>
* fix: punycode.js が使用されていない場所がある問題

* fix: use punycode/punycode.js on backend

* fix: use punycode/punycode.es6.js on backend

* fix: d.ts missing declare keyword

* chore: don't use punycode.js on backend

* update pnpm-lock.yaml

* chore: remove punycode.d.ts

* chore: use punycode.js instead of punycode npm package

* chore: bump psl to 1.15.0

* chore: bump nsfwjs to 4.2.0

4.2.1 is not usable because of infinitered/nsfwjs#904

* chore: prevent loading node-fetch from tensorflow

* chore: DOMWindow['document'] => Document

IDK why DOMWindow['document'] fails, but might be related to tsc internal complexity limit

* fix: disable --trace-deprecation

---------

Co-authored-by: syuilo <[email protected]>
* enhance(backend): 絵文字の連合でライセンス欄を相互にやり取りするように

Co-authored-by: Kisaragi Marine <[email protected]>
Co-authored-by: ruruke <[email protected]>

* fix CHANGELOG.md

---------

Co-authored-by: Kisaragi Marine <[email protected]>
Co-authored-by: ruruke <[email protected]>
Co-authored-by: taichan <[email protected]>
Co-authored-by: syuilo <[email protected]>
This fix makes `MfmService.fromHtml()` method accept `<ruby>` tags
and translate it to MFM's ruby characters syntax (`$[ruby ...]`).

このパッチは`MfmService.fromHtml()`メソッドが`<ruby>`タグをMFMの
読み仮名(ルビ)文法に翻訳する様に修正します。
@syuilo syuilo marked this pull request as ready for review January 14, 2025 13:27
github-actions bot and others added 4 commits January 14, 2025 13:28
* feat(frontend): ソフトミュートで引っかかったものを表示できるように

* ソフトワードミュートのミュート文字列表示を切り替え可能に

* Chore(docs): Update CHANGELOG

* Fix: language file

* Fixed by review

* Fix by review

* Fix: reloadAskなおしきれていなかった

* perf: filter -> findに変更して最初の一個のみを表示するように変更

* Revert "perf: filter -> findに変更して最初の一個のみを表示するように変更"

This reverts commit 72ef92f.
* New translations ja-jp.yml (English)

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

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

* New translations ja-jp.yml (Dutch)

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

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

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

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

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

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

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Russian)

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

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

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Turkish)

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

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

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

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

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

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

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

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)
Copy link

codecov bot commented Jan 15, 2025

Codecov Report

Attention: Patch coverage is 43.40406% with 1227 lines in your changes missing coverage. Please review.

Project coverage is 39.43%. Comparing base (71bfa85) to head (6653233).
Report is 4 commits behind head on master.

Files with missing lines Patch % Lines
...ckages/frontend/src/pages/admin/bot-protection.vue 0.00% 177 Missing ⚠️
packages/backend/src/core/SearchService.ts 23.83% 131 Missing ⚠️
...ckages/frontend/src/components/MkNoteMediaGrid.vue 0.00% 98 Missing and 1 partial ⚠️
packages/frontend/src/pages/settings/accounts.vue 0.00% 87 Missing ⚠️
packages/frontend/src/components/MkCaptcha.vue 0.00% 59 Missing ⚠️
packages/frontend/src/pages/user/files.vue 0.00% 55 Missing and 1 partial ⚠️
...end/src/server/api/endpoints/admin/captcha/save.ts 65.11% 45 Missing ⚠️
...ckages/backend/src/server/api/endpoints/ap/show.ts 41.26% 37 Missing ⚠️
packages/frontend/src/scripts/lookup.ts 0.00% 37 Missing ⚠️
packages/frontend/src/pages/about.vue 0.00% 30 Missing ⚠️
... and 75 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master   #15279      +/-   ##
==========================================
- Coverage   39.96%   39.43%   -0.53%     
==========================================
  Files        1563     1568       +5     
  Lines      197741   199142    +1401     
  Branches     3631     3656      +25     
==========================================
- Hits        79027    78539     -488     
- Misses     118109   119992    +1883     
- Partials      605      611       +6     

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

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
Development

Successfully merging this pull request may close these issues.