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

Sync/2024.11.0 #15031

Closed
wants to merge 213 commits into from
Closed

Sync/2024.11.0 #15031

wants to merge 213 commits into from

Conversation

chan-mai
Copy link

What

Why

Additional info (optional)

Checklist

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

n1lsqn and others added 30 commits March 24, 2024 16:13
feat: ポータルへの導線確保
* feat: チャンネル内お知らせ機能のbackend側を実装

* update: 型定義を更新

* fix: channel.annoucementのjson-schemaがoptionalを許容していたのを修正

* fix: 誤字修正

* fix: チャンネル作成時にお知らせを設定出来ないようになっていたのを修正

* feat: クライアント側を実装
* change: 投稿フォーム下部の項目の切り離し

* feat: storeに投稿フォーム下部の項目の並び順を保存できるように

* remove: console.log

* add: 設定ページを追加

* add: 翻訳を追加
* add: 下書きに関する関数等の切り離し

* feat: 下書きピッカーを実装

* refactor: indexedDbに移行

* change: uniqueIdの指定を必須に

* fix: マイグレーションが正常に行えない問題を修正

* enhance: 下書きピッカーを改善

* feat: 投稿フォームに下書きを適用できるように

* feat: 下書きを自動保存するかどうかを設定できるように

* feat: 「下書きとして保存」ボタンを実装

* enhance: 既に入力されている内容がある場合に上書き警告を出すように

* add: 翻訳を追加
chan-mai and others added 23 commits November 11, 2024 13:00
fix: リアクション数を隠す機能が正しく動作するように
feat: いいねボタンを有効/無効切り替えれるように
fix: 詳細表示時にいいねボタンが動作してなかった
feat: リモートのリアクション相乗り
@github-actions github-actions bot added packages/frontend Client side specific issue/PR packages/backend Server side specific issue/PR packages/misskey-js packages/sw labels Nov 22, 2024
@chan-mai chan-mai closed this Nov 22, 2024
Copy link
Contributor

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

差分はこちら
--- base
+++ head
@@ -1,7 +1,7 @@
 {
   "openapi": "3.1.0",
   "info": {
-    "version": "2024.11.0",
+    "version": "2024.11.0-shahu.1.7.0",
     "title": "Misskey API"
   },
   "externalDocs": {
@@ -211,6 +211,12 @@
                         "type": "string"
                       }
                     },
+                    "emailWhitelist": {
+                      "type": [
+                        "string",
+                        "null"
+                      ]
+                    },
                     "preservedUsernames": {
                       "type": "array",
                       "items": {
@@ -614,6 +620,7 @@
                     "sensitiveWords",
                     "prohibitedWords",
                     "prohibitedWordsForNameOfUser",
+                    "emailWhitelist",
                     "preservedUsernames",
                     "hcaptchaSecretKey",
                     "mcaptchaSecretKey",
@@ -3259,6 +3266,21 @@
                     ],
                     "format": "misskey:id",
                     "default": null
+                  },
+                  "isRoleSpecified": {
+                    "type": "boolean",
+                    "default": false
+                  },
+                  "roleIds": {
+                    "type": [
+                      "array",
+                      "null"
+                    ],
+                    "items": {
+                      "type": "string",
+                      "format": "misskey:id"
+                    },
+                    "default": null
                   }
                 },
                 "required": [
@@ -3681,6 +3703,28 @@
                           "null"
                         ]
                       },
+                      "isRoleSpecified": {
+                        "type": "boolean"
+                      },
+                      "roles": {
+                        "type": "array",
+                        "items": {
+                          "type": "object",
+                          "properties": {
+                            "id": {
+                              "type": "string",
+                              "format": "id"
+                            },
+                            "name": {
+                              "type": "string"
+                            }
+                          },
+                          "required": [
+                            "id",
+                            "name"
+                          ]
+                        }
+                      },
                       "reads": {
                         "type": "number"
                       }
@@ -3692,6 +3736,8 @@
                       "text",
                       "title",
                       "imageUrl",
+                      "isRoleSpecified",
+                      "roles",
                       "reads"
                     ]
                   }
@@ -3878,6 +3924,16 @@
                   },
                   "isActive": {
                     "type": "boolean"
+                  },
+                  "isRoleSpecified": {
+                    "type": "boolean"
+                  },
+                  "roleIds": {
+                    "type": "array",
+                    "items": {
+                      "type": "string",
+                      "format": "misskey:id"
+                    }
                   }
                 },
                 "required": [
@@ -14303,6 +14359,9 @@
                       "type": "string"
                     }
                   },
+                  "emailWhitelist": {
+                    "type": "boolean"
+                  },
                   "preservedUsernames": {
                     "type": "array",
                     "items": {
@@ -20989,6 +21048,14 @@
                     "minLength": 1,
                     "maxLength": 2048
                   },
+                  "announcement": {
+                    "type": [
+                      "string",
+                      "null"
+                    ],
+                    "minLength": 1,
+                    "maxLength": 2048
+                  },
                   "bannerId": {
                     "type": [
                       "string",
@@ -22360,6 +22427,14 @@
                       "format": "misskey:id"
                     }
                   },
+                  "announcement": {
+                    "type": [
+                      "string",
+                      "null"
+                    ],
+                    "minLength": 1,
+                    "maxLength": 2048
+                  },
                   "color": {
                     "type": "string",
                     "minLength": 1,
@@ -46694,6 +46769,8 @@
                         "achievementEarned",
                         "exportCompleted",
                         "login",
+                        "scheduledNoteFailed",
+                        "scheduledNotePosted",
                         "app",
                         "test",
                         "pollVote",
@@ -46720,6 +46797,8 @@
                         "achievementEarned",
                         "exportCompleted",
                         "login",
+                        "scheduledNoteFailed",
+                        "scheduledNotePosted",
                         "app",
                         "test",
                         "pollVote",
@@ -46937,10 +47016,13 @@
                         "achievementEarned",
                         "exportCompleted",
                         "login",
+                        "scheduledNoteFailed",
+                        "scheduledNotePosted",
                         "app",
                         "test",
                         "reaction:grouped",
                         "renote:grouped",
+                        "note:grouped",
                         "pollVote",
                         "groupInvited"
                       ]
@@ -46965,10 +47047,13 @@
                         "achievementEarned",
                         "exportCompleted",
                         "login",
+                        "scheduledNoteFailed",
+                        "scheduledNotePosted",
                         "app",
                         "test",
                         "reaction:grouped",
                         "renote:grouped",
+                        "note:grouped",
                         "pollVote",
                         "groupInvited"
                       ]
@@ -50502,6 +50587,9 @@
                   "autoAcceptFollowed": {
                     "type": "boolean"
                   },
+                  "autoRejectFollowRequest": {
+                    "type": "boolean"
+                  },
                   "noCrawle": {
                     "type": "boolean"
                   },
@@ -56587,6 +56675,27 @@
                     "required": [
                       "choices"
                     ]
+                  },
+                  "scheduledDelete": {
+                    "type": [
+                      "object",
+                      "null"
+                    ],
+                    "properties": {
+                      "deleteAt": {
+                        "type": [
+                          "integer",
+                          "null"
+                        ]
+                      },
+                      "deleteAfter": {
+                        "type": [
+                          "integer",
+                          "null"
+                        ],
+                        "minimum": 1
+                      }
+                    }
                   }
                 },
                 "if": {
@@ -56722,6 +56831,15 @@
                       }
                     }
                   },
+                  "CANNOT_SCHEDULE_DELETE_EARLIER_THAN_NOW": {
+                    "value": {
+                      "error": {
+                        "message": "Scheduled delete time is earlier than now.",
+                        "code": "CANNOT_SCHEDULE_DELETE_EARLIER_THAN_NOW",
+                        "id": "9576c3c8-d8f3-11ee-ac15-00155d19d35d"
+                      }
+                    }
+                  },
                   "NO_SUCH_CHANNEL": {
                     "value": {
                       "error": {
@@ -59995,6 +60113,917 @@
         }
       }
     },
+    "/notes/schedule/create": {
+      "post": {
+        "operationId": "notes___schedule___create",
+        "summary": "notes/schedule/create",
+        "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:notes-schedule*",
+        "externalDocs": {
+          "description": "Source code",
+          "url": "https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/endpoints/notes/schedule/create.ts"
+        },
+        "tags": [
+          "notes"
+        ],
+        "security": [
+          {
+            "bearerAuth": []
+          }
+        ],
+        "requestBody": {
+          "required": true,
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "visibility": {
+                    "type": "string",
+                    "enum": [
+                      "public",
+                      "home",
+                      "followers",
+                      "specified"
+                    ],
+                    "default": "public"
+                  },
+                  "visibleUserIds": {
+                    "type": "array",
+                    "uniqueItems": true,
+                    "items": {
+                      "type": "string",
+                      "format": "misskey:id"
+                    }
+                  },
+                  "cw": {
+                    "type": [
+                      "string",
+                      "null"
+                    ],
+                    "minLength": 1,
+                    "maxLength": 100
+                  },
+                  "reactionAcceptance": {
+                    "type": [
+                      "string",
+                      "null"
+                    ],
+                    "enum": [
+                      null,
+                      "likeOnly",
+                      "likeOnlyForRemote",
+                      "nonSensitiveOnly",
+                      "nonSensitiveOnlyForLocalLikeOnlyForRemote"
+                    ],
+                    "default": null
+                  },
+                  "noExtractMentions": {
+                    "type": "boolean",
+                    "default": false
+                  },
+                  "noExtractHashtags": {
+                    "type": "boolean",
+                    "default": false
+                  },
+                  "noExtractEmojis": {
+                    "type": "boolean",
+                    "default": false
+                  },
+                  "replyId": {
+                    "type": [
+                      "string",
+                      "null"
+                    ],
+                    "format": "misskey:id"
+                  },
+                  "renoteId": {
+                    "type": [
+                      "string",
+                      "null"
+                    ],
+                    "format": "misskey:id"
+                  },
+                  "text": {
+                    "type": [
+                      "string",
+                      "null"
+                    ],
+                    "minLength": 1,
+                    "maxLength": 3000
+                  },
+                  "fileIds": {
+                    "type": "array",
+                    "uniqueItems": true,
+                    "minItems": 1,
+                    "maxItems": 16,
+                    "items": {
+                      "type": "string",
+                      "format": "misskey:id"
+                    }
+                  },
+                  "mediaIds": {
+                    "type": "array",
+                    "uniqueItems": true,
+                    "minItems": 1,
+                    "maxItems": 16,
+                    "items": {
+                      "type": "string",
+                      "format": "misskey:id"
+                    }
+                  },
+                  "poll": {
+                    "type": [
+                      "object",
+                      "null"
+                    ],
+                    "properties": {
+                      "choices": {
+                        "type": "array",
+                        "uniqueItems": true,
+                        "minItems": 2,
+                        "maxItems": 10,
+                        "items": {
+                          "type": "string",
+                          "minLength": 1,
+                          "maxLength": 50
+                        }
+                      },
+                      "multiple": {
+                        "type": "boolean"
+                      },
+                      "expiresAt": {
+                        "type": [
+                          "integer",
+                          "null"
+                        ]
+                      },
+                      "expiredAfter": {
+                        "type": [
+                          "integer",
+                          "null"
+                        ],
+                        "minimum": 1
+                      }
+                    },
+                    "required": [
+                      "choices"
+                    ]
+                  },
+                  "scheduleNote": {
+                    "type": "object",
+                    "properties": {
+                      "scheduledAt": {
+                        "type": "integer"
+                      }
+                    }
+                  }
+                },
+                "anyOf": [
+                  {
+                    "required": [
+                      "text"
+                    ]
+                  },
+                  {
+                    "required": [
+                      "renoteId"
+                    ]
+                  },
+                  {
+                    "required": [
+                      "fileIds"
+                    ]
+                  },
+                  {
+                    "required": [
+                      "mediaIds"
+                    ]
+                  },
+                  {
+                    "required": [
+                      "poll"
+                    ]
+                  }
+                ],
+                "required": [
+                  "scheduleNote"
+                ]
+              }
+            }
+          }
+        },
+        "responses": {
+          "204": {
+            "description": "OK (without any results)"
+          },
+          "400": {
+            "description": "Client error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "SCHEDULE_NOTE_MAX": {
+                    "value": {
+                      "error": {
+                        "message": "Schedule note max.",
+                        "code": "SCHEDULE_NOTE_MAX",
+                        "id": "168707c3-e7da-4031-989e-f42aa3a274b2"
+                      }
+                    }
+                  },
+                  "NO_SUCH_RENOTE_TARGET": {
+                    "value": {
+                      "error": {
+                        "message": "No such renote target.",
+                        "code": "NO_SUCH_RENOTE_TARGET",
+                        "id": "b5c90186-4ab0-49c8-9bba-a1f76c282ba4"
+                      }
+                    }
+                  },
+                  "CANNOT_RENOTE_TO_A_PURE_RENOTE": {
+                    "value": {
+                      "error": {
+                        "message": "You can not Renote a pure Renote.",
+                        "code": "CANNOT_RENOTE_TO_A_PURE_RENOTE",
+                        "id": "fd4cc33e-2a37-48dd-99cc-9b806eb2031a"
+                      }
+                    }
+                  },
+                  "CANNOT_RENOTE_DUE_TO_VISIBILITY": {
+                    "value": {
+                      "error": {
+                        "message": "You can not Renote due to target visibility.",
+                        "code": "CANNOT_RENOTE_DUE_TO_VISIBILITY",
+                        "id": "be9529e9-fe72-4de0-ae43-0b363c4938af"
+                      }
+                    }
+                  },
+                  "NO_SUCH_REPLY_TARGET": {
+                    "value": {
+                      "error": {
+                        "message": "No such reply target.",
+                        "code": "NO_SUCH_REPLY_TARGET",
+                        "id": "749ee0f6-d3da-459a-bf02-282e2da4292c"
+                      }
+                    }
+                  },
+                  "CANNOT_REPLY_TO_A_PURE_RENOTE": {
+                    "value": {
+                      "error": {
+                        "message": "You can not reply to a pure Renote.",
+                        "code": "CANNOT_REPLY_TO_A_PURE_RENOTE",
+                        "id": "3ac74a84-8fd5-4bb0-870f-01804f82ce15"
+                      }
+                    }
+                  },
+                  "CANNOT_CREATE_ALREADY_EXPIRED_POLL": {
+                    "value": {
+                      "error": {
+                        "message": "Poll is already expired.",
+                        "code": "CANNOT_CREATE_ALREADY_EXPIRED_POLL",
+                        "id": "04da457d-b083-4055-9082-955525eda5a5"
+                      }
+                    }
+                  },
+                  "CANNOT_CREATE_ALREADY_EXPIRED_SCHEDULE": {
+                    "value": {
+                      "error": {
+                        "message": "Schedule is already expired.",
+                        "code": "CANNOT_CREATE_ALREADY_EXPIRED_SCHEDULE",
+                        "id": "8a9bfb90-fc7e-4878-a3e8-d97faaf5fb07"
+                      }
+                    }
+                  },
+                  "NO_SUCH_CHANNEL": {
+                    "value": {
+                      "error": {
+                        "message": "No such channel.",
+                        "code": "NO_SUCH_CHANNEL",
+                        "id": "b1653923-5453-4edc-b786-7c4f39bb0bbb"
+                      }
+                    }
+                  },
+                  "NO_SUCH_SCHEDULE": {
+                    "value": {
+                      "error": {
+                        "message": "No such schedule.",
+                        "code": "NO_SUCH_SCHEDULE",
+                        "id": "44dee229-8da1-4a61-856d-e3a4bbc12032"
+                      }
+                    }
+                  },
+                  "YOU_HAVE_BEEN_BLOCKED": {
+                    "value": {
+                      "error": {
+                        "message": "You have been blocked by this user.",
+                        "code": "YOU_HAVE_BEEN_BLOCKED",
+                        "id": "b390d7e1-8a5e-46ed-b625-06271cafd3d3"
+                      }
+                    }
+                  },
+                  "NO_SUCH_FILE": {
+                    "value": {
+                      "error": {
+                        "message": "Some files are not found.",
+                        "code": "NO_SUCH_FILE",
+                        "id": "b6992544-63e7-67f0-fa7f-32444b1b5306"
+                      }
+                    }
+                  },
+                  "CANNOT_RENOTE_OUTSIDE_OF_CHANNEL": {
+                    "value": {
+                      "error": {
+                        "message": "Cannot renote outside of channel.",
+                        "code": "CANNOT_RENOTE_OUTSIDE_OF_CHANNEL",
+                        "id": "33510210-8452-094c-6227-4a6c05d99f00"
+                      }
+                    }
+                  },
+                  "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"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "429": {
+            "description": "To many requests",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "RATE_LIMIT_EXCEEDED": {
+                    "value": {
+                      "error": {
+                        "message": "Rate limit exceeded. Please try again later.",
+                        "code": "RATE_LIMIT_EXCEEDED",
+                        "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "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"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/notes/schedule/delete": {
+      "post": {
+        "operationId": "notes___schedule___delete",
+        "summary": "notes/schedule/delete",
+        "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:notes-schedule*",
+        "externalDocs": {
+          "description": "Source code",
+          "url": "https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/endpoints/notes/schedule/delete.ts"
+        },
+        "tags": [
+          "notes"
+        ],
+        "security": [
+          {
+            "bearerAuth": []
+          }
+        ],
+        "requestBody": {
+          "required": true,
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "noteId": {
+                    "type": "string",
+                    "format": "misskey:id"
+                  }
+                },
+                "required": [
+                  "noteId"
+                ]
+              }
+            }
+          }
+        },
+        "responses": {
+          "204": {
+            "description": "OK (without any results)"
+          },
+          "400": {
+            "description": "Client error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "NO_SUCH_NOTE": {
+                    "value": {
+                      "error": {
+                        "message": "No such note.",
+                        "code": "NO_SUCH_NOTE",
+                        "id": "a58056ba-8ba1-4323-8ebf-e0b585bc244f"
+                      }
+                    }
+                  },
+                  "PERMISSION_DENIED": {
+                    "value": {
+                      "error": {
+                        "message": "Permission denied.",
+                        "code": "PERMISSION_DENIED",
+                        "id": "c0da2fed-8f61-4c47-a41d-431992607b5c",
+                        "httpStatusCode": 403
+                      }
+                    }
+                  },
+                  "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"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "429": {
+            "description": "To many requests",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "RATE_LIMIT_EXCEEDED": {
+                    "value": {
+                      "error": {
+                        "message": "Rate limit exceeded. Please try again later.",
+                        "code": "RATE_LIMIT_EXCEEDED",
+                        "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "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"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/notes/schedule/list": {
+      "post": {
+        "operationId": "notes___schedule___list",
+        "summary": "notes/schedule/list",
+        "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:notes-schedule*",
+        "externalDocs": {
+          "description": "Source code",
+          "url": "https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/endpoints/notes/schedule/list.ts"
+        },
+        "tags": [
+          "notes"
+        ],
+        "security": [
+          {
+            "bearerAuth": []
+          }
+        ],
+        "requestBody": {
+          "required": true,
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "sinceId": {
+                    "type": "string",
+                    "format": "misskey:id"
+                  },
+                  "untilId": {
+                    "type": "string",
+                    "format": "misskey:id"
+                  },
+                  "limit": {
+                    "type": "integer",
+                    "minimum": 1,
+                    "maximum": 100,
+                    "default": 10
+                  }
+                }
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK (with results)",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "array",
+                  "items": {
+                    "type": "object",
+                    "properties": {
+                      "id": {
+                        "type": "string",
+                        "format": "misskey:id"
+                      },
+                      "note": {
+                        "type": "object",
+                        "properties": {
+                          "createdAt": {
+                            "type": "string"
+                          },
+                          "text": {
+                            "type": "string"
+                          },
+                          "cw": {
+                            "type": [
+                              "string",
+                              "null"
+                            ]
+                          },
+                          "fileIds": {
+                            "type": "array",
+                            "items": {
+                              "type": "string",
+                              "format": "misskey:id"
+                            }
+                          },
+                          "visibility": {
+                            "type": "string",
+                            "enum": [
+                              "public",
+                              "home",
+                              "followers",
+                              "specified"
+                            ]
+                          },
+                          "visibleUsers": {
+                            "type": "array",
+                            "items": {
+                              "type": "object",
+                              "$ref": "#/components/schemas/UserLite"
+                            }
+                          },
+                          "user": {
+                            "type": "object",
+                            "$ref": "#/components/schemas/User"
+                          },
+                          "reactionAcceptance": {
+                            "type": [
+                              "string",
+                              "null"
+                            ],
+                            "enum": [
+                              null,
+                              "likeOnly",
+                              "likeOnlyForRemote",
+                              "nonSensitiveOnly",
+                              "nonSensitiveOnlyForLocalLikeOnlyForRemote"
+                            ],
+                            "default": null
+                          },
+                          "isSchedule": {
+                            "type": "boolean"
+                          }
+                        },
+                        "required": [
+                          "createdAt",
+                          "fileIds",
+                          "visibility",
+                          "visibleUsers",
+                          "user",
+                          "reactionAcceptance",
+                          "isSchedule"
+                        ]
+                      },
+                      "userId": {
+                        "type": "string"
+                      },
+                      "scheduledAt": {
+                        "type": "string"
+                      }
+                    },
+                    "required": [
+                      "id",
+                      "note",
+                      "userId",
+                      "scheduledAt"
+                    ]
+                  }
+                }
+              }
+            }
+          },
+          "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"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "429": {
+            "description": "To many requests",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "RATE_LIMIT_EXCEEDED": {
+                    "value": {
+                      "error": {
+                        "message": "Rate limit exceeded. Please try again later.",
+                        "code": "RATE_LIMIT_EXCEEDED",
+                        "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "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"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
     "/notes/search-by-tag": {
       "post": {
         "operationId": "notes___search-by-tag",
@@ -78858,6 +79887,9 @@
           "forYou": {
             "type": "boolean"
           },
+          "forYourRoles": {
+            "type": "boolean"
+          },
           "isRead": {
             "type": "boolean"
           }
@@ -78873,7 +79905,8 @@
           "display",
           "needConfirmationToRead",
           "silence",
-          "forYou"
+          "forYou",
+          "forYourRoles"
         ]
       },
       "App": {
@@ -79078,6 +80111,13 @@
               "choices"
             ]
           },
+          "deleteAt": {
+            "type": [
+              "string",
+              "null"
+            ],
+            "format": "date-time"
+          },
           "emojis": {
             "type": "object",
             "additionalProperties": {
@@ -79920,6 +80960,73 @@
               "type": {
                 "type": "string",
                 "enum": [
+                  "scheduledNoteFailed"
+                ]
+              },
+              "reason": {
+                "type": "string"
+              }
+            },
+            "required": [
+              "id",
+              "createdAt",
+              "type",
+              "reason"
+            ]
+          },
+          {
+            "type": "object",
+            "properties": {
+              "id": {
+                "type": "string",
+                "format": "id"
+              },
+              "createdAt": {
+                "type": "string",
+                "format": "date-time"
+              },
+              "type": {
+                "type": "string",
+                "enum": [
+                  "scheduledNotePosted"
+                ]
+              },
+              "user": {
+                "type": "object",
+                "$ref": "#/components/schemas/UserLite"
+              },
+              "userId": {
+                "type": "string",
+                "format": "id"
+              },
+              "note": {
+                "type": "object",
+                "$ref": "#/components/schemas/Note"
+              }
+            },
+            "required": [
+              "id",
+              "createdAt",
+              "type",
+              "user",
+              "userId",
+              "note"
+            ]
+          },
+          {
+            "type": "object",
+            "properties": {
+              "id": {
+                "type": "string",
+                "format": "id"
+              },
+              "createdAt": {
+                "type": "string",
+                "format": "date-time"
+              },
+              "type": {
+                "type": "string",
+                "enum": [
                   "reaction:grouped"
                 ]
               },
@@ -80740,6 +81847,12 @@
               "type": "object",
               "$ref": "#/components/schemas/Note"
             }
+          },
+          "announcement": {
+            "type": [
+              "string",
+              "null"
+            ]
           }
         },
         "required": [
@@ -80756,7 +81869,8 @@
           "usersCount",
           "notesCount",
           "isSensitive",
-          "allowRenoteToExternal"
+          "allowRenoteToExternal",
+          "announcement"
         ]
       },
       "QueueCount": {
@@ -81820,6 +82934,9 @@
           },
           "canImportUserLists": {
             "type": "boolean"
+          },
+          "scheduleNoteMax": {
+            "type": "integer"
           }
         },
         "required": [
@@ -81853,7 +82970,8 @@
           "canImportBlocking",
           "canImportFollowing",
           "canImportMuting",
-          "canImportUserLists"
+          "canImportUserLists",
+          "scheduleNoteMax"
         ]
       },
       "ReversiGameLite": {

Get diff files from Workflow Page

Copy link

codecov bot commented Nov 22, 2024

Codecov Report

Attention: Patch coverage is 39.50837% with 1698 lines in your changes missing coverage. Please review.

Project coverage is 23.88%. Comparing base (a3d236c) to head (8058b87).
Report is 449 commits behind head on develop.

Files with missing lines Patch % Lines
...ges/frontend/src/pages/settings/shahu-settings.vue 0.00% 215 Missing and 1 partial ⚠️
packages/frontend/src/pages/settings/post-form.vue 0.00% 167 Missing and 1 partial ⚠️
...kages/frontend/src/components/MkPostFormDrafts.vue 0.00% 155 Missing and 1 partial ⚠️
...ackages/frontend/src/pages/admin/announcements.vue 0.00% 149 Missing ⚠️
packages/frontend/src/pages/settings/general.vue 0.00% 143 Missing ⚠️
...ges/frontend/src/components/MkRoleSelectDialog.vue 0.00% 130 Missing and 1 partial ⚠️
packages/frontend/src/scripts/font.ts 0.00% 122 Missing and 1 partial ⚠️
packages/frontend/src/store.ts 0.00% 89 Missing ⚠️
packages/frontend/src/scripts/rate-limiter.ts 0.00% 70 Missing and 1 partial ⚠️
packages/frontend/src/scripts/note-drafts.ts 35.35% 64 Missing ⚠️
... and 30 more
Additional details and impacted files
@@             Coverage Diff              @@
##           develop   #15031       +/-   ##
============================================
- Coverage    41.74%   23.88%   -17.86%     
============================================
  Files         1549      744      -805     
  Lines       196555   112004    -84551     
  Branches      2767     1033     -1734     
============================================
- Hits         82055    26755    -55300     
+ Misses      113939    84687    -29252     
- Partials       561      562        +1     

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


🚨 Try these New Features:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages/backend Server side specific issue/PR packages/frontend Client side specific issue/PR packages/misskey-js packages/sw
Projects
None yet
Development

Successfully merging this pull request may close these issues.