Skip to content

upstream: 2026.5.4#9

Open
sync-agent[bot] wants to merge 134 commits into
developfrom
upstream/2026.5.4
Open

upstream: 2026.5.4#9
sync-agent[bot] wants to merge 134 commits into
developfrom
upstream/2026.5.4

Conversation

@sync-agent
Copy link
Copy Markdown

@sync-agent sync-agent Bot commented May 26, 2026

General

Client

  • Fix: ビルドに失敗することがある問題を修正

github-actions Bot and others added 30 commits March 31, 2026 12:14
* deps: update dependencies

* fix?

* fix

* Update AiService.ts

* fix

* update deps
* Initial plan

* fix: fix /api-doc returning 404 after backend minification (misskey-dev#17266)

Agent-Logs-Url: https://github.com/misskey-dev/misskey/sessions/8d7d0585-55da-412f-a8ee-dde1b6565026

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* enhance: API DocのHTMLをJSXで生成するように

* Update Changelog

* chore: remove unused imports [ci skip]

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
* deps: Update vite to v8

* fix

* migrate some plugins to rolldown-based

* fix broken lockfile

* wip

* update rolldown

* override rolldown version

* perf

* spdx

* fix

* update vite to 8.0.1

* chore: rewrite rollup-plugin-unwind-css-module-class-name with MagicString

* format

* swap type definitions

* replace using MagicString

* provided magicString

* fix code style

* fix

* fix

* fix

* fix

* fix

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>

* fix: lint fixes

* swap sass with sass-embedded

* fix lint

* fix: インライン化されたVue SFC出力に対してCSS Module定義削除が効かないのを修正

* fix

* fix: バックエンドのCSS読み込みの方法が悪いのを修正

* fix: 使用されないpreloadを削除

* fix lint [ci skip]

* Apply suggestion from @syuilo

* Add comment in pnpm-workspace.yaml [ci skip]

* update vite/rolldown

* remove magic-string

---------

Co-authored-by: cm-ayf <cm.ayf2734@gmail.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
* fix: handle array or string in alsoKnownAs, closes misskey-dev#17274

* style: use more idiomatic toArray() for UserEntityService handling of alsoKnownAs

* fix: handle array-valued or unwrapped alsoKnownAs in ApPersonService

* doc: note about bugfix for alsoKnownAs
* enhance(frontend): チャンネル指定リノートでリノート先のチャンネルに移動できるように

* Update Changelog

* fix condition

* refactor
Revert "deps: Update vite to v8 (misskey-dev#17238)"

This reverts commit e601fcb.
* refactor(frontend): MkButtonのprops等整理

* fix
* wip

* Update MkMenu.vue

* wip

* wip

* Update MkMenu.vue

* wip

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* 💢

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue
* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

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

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

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

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

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)
…る修正 (misskey-dev#17281)

* fix(frontend): follow-up of misskey-dev#13509

* fix: fix use of inappropriate method

* Update CHANGELOG.md [ci skip]
* fix(frontend): follow-up of misskey-dev#13509

* fix: fix use of inappropriate method

* enhance(frontend): niraxにテストを追加
* Revert "Revert "deps: Update vite to v8" (misskey-dev#17283)"

This reverts commit a18c909.

* fix(frontend): popupのりアクティビティがチャンクをまたいで切れる事がある問題を修正

* update vite/rolldown
…isskey-dev#17299)

fix(frontend): bannerUrl が空の場合に /about ページで /null へのリクエストが発生する問題を修正

bannerUrl が空の場合は 背景画像を設定しない。

about.overview.vue の background-image: url("null"); によって /null へのリクエストが発生してしまうため。
…key-dev#17303)

* fix(frontend): 連合が無効化されたサーバーでInstance Tickerの設定が中途半端に消えている問題を修正

* Update Changelog
* ドライブの実ファイル名ではなくsuffixを保持するように

* MkUploaderItemsでファイル名が圧縮後の拡張子も含めて表示されるように

* Apply suggestion from @kakkokari-gtyih

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

* changelog

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
* fix(backend): 存在しないActorに対するDeleteアクティビティは無視するように

* Update Changelog

* fix

* Revert "fix"

This reverts commit 985feea.

* fix?

* fix

* fix

* fix

* fix

* refactor: remove unused imports

* fix

* Update CHANGELOG.md [ci skip]
* update deps

* update dependencies (major)

* fix: migrate meilisearch

* fix: migrate color-convert types

* fix cypress?

* rollback ts v5 as it is not supported by cypress

* fix fake-timers
…dev#17278)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
fix(backend): fix parseUlidFull to correctly handle Crockford Base32 chars W/X/Y/Z
* fix(backend): robots.txtで返却する内容の調整

* Update Changelog

* fix: add paths

* Update Changleog
samunohito and others added 22 commits May 17, 2026 19:30
* fix(docker): runnerでのpnpmの依存関係チェックを無効化

* Update Changelog

* update changelog
…dev#17434)

* fix: false positive not exists error if sourceCode is empty

* Return empty array for empty sourceCode

* lint

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: Prevent timing attacks and RDF-graph rewrites

* fix: Proper vuln fix, not a bandaid

* fix: Accidental removal

* fix: Explicitly check for null

* fix: Address issues

* clean up

* lint fixes

* fix: reset pnpm-lock.yaml to current develop

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
* fix(backend): restrict chat room / chat message permissions

* spec: モデレーター以上の権限では全てを閲覧可能
* fix(frontend): avoid recursive reference on theme variables

* fix(theme): filter compiled theme properties to include only valid themeProps
This issue was originally reported by sururu-k as part of a series of ai slop public pull requests.
Although the original pull request was closed as ai slop, I later confirmed one described a real security issue.
@github-actions
Copy link
Copy Markdown

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

差分はこちら
--- base
+++ head
@@ -1,7 +1,7 @@
 {
   "openapi": "3.1.0",
   "info": {
-    "version": "2026.3.2",
+    "version": "2026.5.4",
     "title": "Misskey API"
   },
   "externalDocs": {
@@ -3318,6 +3318,12 @@
                     "items": {
                       "type": "string"
                     }
+                  },
+                  "category": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
                   }
                 },
                 "required": [
@@ -3367,6 +3373,12 @@
                         "type": "string",
                         "format": "id"
                       }
+                    },
+                    "category": {
+                      "type": [
+                        "string",
+                        "null"
+                      ]
                     }
                   },
                   "required": [
@@ -3376,7 +3388,8 @@
                     "name",
                     "description",
                     "url",
-                    "roleIdsThatCanBeUsedThisDecoration"
+                    "roleIdsThatCanBeUsedThisDecoration",
+                    "category"
                   ]
                 }
               }
@@ -3735,6 +3748,12 @@
                           "type": "string",
                           "format": "id"
                         }
+                      },
+                      "category": {
+                        "type": [
+                          "string",
+                          "null"
+                        ]
                       }
                     },
                     "required": [
@@ -3903,6 +3922,12 @@
                     "items": {
                       "type": "string"
                     }
+                  },
+                  "category": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
                   }
                 },
                 "required": [
@@ -48446,6 +48471,181 @@
         }
       }
     },
+    "/following/list": {
+      "post": {
+        "operationId": "post___following___list",
+        "summary": "following/list",
+        "description": "List of following users\n\n**Credential required**: *Yes* / **Permission**: *read:following*",
+        "externalDocs": {
+          "description": "Source code",
+          "url": "https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/endpoints/following/list.ts"
+        },
+        "tags": [
+          "users"
+        ],
+        "security": [
+          {
+            "bearerAuth": []
+          }
+        ],
+        "requestBody": {
+          "required": true,
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "notification": {
+                    "type": "boolean",
+                    "default": false
+                  },
+                  "sinceId": {
+                    "type": "string",
+                    "format": "misskey:id"
+                  },
+                  "untilId": {
+                    "type": "string",
+                    "format": "misskey:id"
+                  },
+                  "sinceDate": {
+                    "type": "integer"
+                  },
+                  "untilDate": {
+                    "type": "integer"
+                  },
+                  "limit": {
+                    "type": "integer",
+                    "minimum": 1,
+                    "maximum": 100,
+                    "default": 10
+                  }
+                }
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK (with results)",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "array",
+                  "items": {
+                    "$ref": "#/components/schemas/Following"
+                  }
+                }
+              }
+            }
+          },
+          "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"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
     "/following/requests/accept": {
       "post": {
         "operationId": "post___following___requests___accept",
@@ -51264,6 +51464,12 @@
                           "type": "string",
                           "format": "id"
                         }
+                      },
+                      "category": {
+                        "type": [
+                          "string",
+                          "null"
+                        ]
                       }
                     },
                     "required": [
@@ -53553,186 +53759,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "type": "object",
-                  "properties": {
-                    "rp": {
-                      "type": "object",
-                      "properties": {
-                        "id": {
-                          "type": "string"
-                        }
-                      }
-                    },
-                    "user": {
-                      "type": "object",
-                      "properties": {
-                        "id": {
-                          "type": "string"
-                        },
-                        "name": {
-                          "type": "string"
-                        },
-                        "displayName": {
-                          "type": "string"
-                        }
-                      },
-                      "required": [
-                        "id",
-                        "name",
-                        "displayName"
-                      ]
-                    },
-                    "challenge": {
-                      "type": "string"
-                    },
-                    "pubKeyCredParams": {
-                      "type": "array",
-                      "items": {
-                        "type": "object",
-                        "properties": {
-                          "type": {
-                            "type": "string"
-                          },
-                          "alg": {
-                            "type": "number"
-                          }
-                        },
-                        "required": [
-                          "type",
-                          "alg"
-                        ]
-                      }
-                    },
-                    "timeout": {
-                      "type": [
-                        "number",
-                        "null"
-                      ]
-                    },
-                    "excludeCredentials": {
-                      "type": [
-                        "array",
-                        "null"
-                      ],
-                      "items": {
-                        "type": "object",
-                        "properties": {
-                          "id": {
-                            "type": "string"
-                          },
-                          "type": {
-                            "type": "string"
-                          },
-                          "transports": {
-                            "type": "array",
-                            "items": {
-                              "type": "string",
-                              "enum": [
-                                "ble",
-                                "cable",
-                                "hybrid",
-                                "internal",
-                                "nfc",
-                                "smart-card",
-                                "usb"
-                              ]
-                            }
-                          }
-                        },
-                        "required": [
-                          "id",
-                          "type",
-                          "transports"
-                        ]
-                      }
-                    },
-                    "authenticatorSelection": {
-                      "type": [
-                        "object",
-                        "null"
-                      ],
-                      "properties": {
-                        "authenticatorAttachment": {
-                          "type": "string",
-                          "enum": [
-                            "cross-platform",
-                            "platform"
-                          ]
-                        },
-                        "requireResidentKey": {
-                          "type": "boolean"
-                        },
-                        "userVerification": {
-                          "type": "string",
-                          "enum": [
-                            "discouraged",
-                            "preferred",
-                            "required"
-                          ]
-                        }
-                      },
-                      "required": [
-                        "authenticatorAttachment",
-                        "requireResidentKey",
-                        "userVerification"
-                      ]
-                    },
-                    "attestation": {
-                      "type": [
-                        "string",
-                        "null"
-                      ],
-                      "enum": [
-                        "direct",
-                        "enterprise",
-                        "indirect",
-                        "none",
-                        null
-                      ]
-                    },
-                    "extensions": {
-                      "type": [
-                        "object",
-                        "null"
-                      ],
-                      "properties": {
-                        "appid": {
-                          "type": [
-                            "string",
-                            "null"
-                          ]
-                        },
-                        "credProps": {
-                          "type": [
-                            "boolean",
-                            "null"
-                          ]
-                        },
-                        "hmacCreateSecret": {
-                          "type": [
-                            "boolean",
-                            "null"
-                          ]
-                        }
-                      },
-                      "required": [
-                        "appid",
-                        "credProps",
-                        "hmacCreateSecret"
-                      ]
-                    }
-                  },
-                  "required": [
-                    "rp",
-                    "user",
-                    "challenge",
-                    "pubKeyCredParams",
-                    "timeout",
-                    "excludeCredentials",
-                    "authenticatorSelection",
-                    "attestation",
-                    "extensions"
-                  ]
+                  "type": "object"
                 }
               }
             }
@@ -92888,6 +92915,9 @@
           "canHideAds": {
             "type": "boolean"
           },
+          "canCreateChannel": {
+            "type": "boolean"
+          },
           "driveCapacityMb": {
             "type": "integer"
           },
@@ -92984,6 +93014,7 @@
           "canSearchUsers",
           "canUseTranslator",
           "canHideAds",
+          "canCreateChannel",
           "driveCapacityMb",
           "maxFileSizeMb",
           "uploadableFileTypes",

Get diff files from Workflow Page

@github-actions
Copy link
Copy Markdown

Backend memory usage comparison

Before GC

Metric base (MB) head (MB) Diff (MB) Diff (%)
VmRSS 338.55 MB 324.98 MB -13.56 MB -4.00%
VmHWM 338.55 MB 324.98 MB -13.56 MB -4.00%
VmSize 23115.76 MB 23172.12 MB +56.36 MB +0.24%
VmData 1386.78 MB 1372.17 MB -14.60 MB -1.05%

After GC

Metric base (MB) head (MB) Diff (MB) Diff (%)
VmRSS 338.58 MB 324.99 MB -13.59 MB -4.01%
VmHWM 338.58 MB 324.99 MB -13.59 MB -4.01%
VmSize 23115.76 MB 23172.37 MB +56.61 MB +0.24%
VmData 1386.78 MB 1372.42 MB -14.35 MB -1.03%

After Request

Metric base (MB) head (MB) Diff (MB) Diff (%)
VmRSS 339.07 MB 325.50 MB -13.57 MB -4.00%
VmHWM 339.07 MB 325.50 MB -13.57 MB -4.00%
VmSize 23115.84 MB 23172.53 MB +56.69 MB +0.24%
VmData 1386.86 MB 1372.58 MB -14.27 MB -1.02%

See workflow logs for details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.