-
Notifications
You must be signed in to change notification settings - Fork 6
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: 1.1.0 #539
Release: 1.1.0 #539
Conversation
cherrypick from Type4ny-Project/Type4ny@e133a6b # Conflicts: # locales/index.d.ts # misskey-assets # packages/backend/src/core/NoteCreateService.ts # packages/backend/src/core/QueueModule.ts # packages/backend/src/core/QueueService.ts # packages/backend/src/di-symbols.ts # packages/backend/src/models/_.ts # packages/backend/src/queue/types.ts # packages/backend/src/server/api/endpoints/admin/queue/stats.ts # packages/backend/src/server/web/ClientServerService.ts # packages/frontend/src/components/MkPostForm.vue Co-authored-by: まっちゃてぃー。 <56515516+mattyatea@users.noreply.github.com>Signed-off-by: mattyatea <mattyacocacora0@gmail.com>
cherrypick from Type4ny-Project/Type4ny@387faf5 # Conflicts: # package.json # packages/backend/src/models/RepositoryModule.ts # packages/backend/src/postgres.ts Co-authored-by: まっちゃてぃー。 <56515516+mattyatea@users.noreply.github.com>Signed-off-by: mattyatea <mattyacocacora0@gmail.com>
cherrypick from Type4ny-Project/Type4ny@540f531 # Conflicts: # locales/index.d.ts # packages/backend/src/server/api/EndpointsModule.ts # packages/backend/src/server/api/endpoints.ts # packages/frontend/src/components/MkNoteHeader.vue # packages/frontend/src/components/MkNoteSimple.vue # packages/frontend/src/components/MkPostForm.vue Co-authored-by: まっちゃてぃー。 <56515516+mattyatea@users.noreply.github.com>Signed-off-by: mattyatea <mattyacocacora0@gmail.com>
cherrypick from Type4ny-Project/Type4ny@d6fb3c3 # Conflicts: # packages/frontend/src/components/MkPostForm.vue Co-authored-by: まっちゃてぃー。 <56515516+mattyatea@users.noreply.github.com>
cherrypick from Type4ny-Project/Type4ny@9bc6d80 cherrypick from Type4ny-Project/Type4ny@28ee4d4 # Conflicts: # locales/index.d.ts # locales/ja-JP.yml # packages/frontend/src/components/MkPostForm.vue # packages/frontend/src/components/MkScheduleEditor.vue # packages/frontend/src/components/MkSchedulePostListDialog.vue Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> Co-authored-by: まっちゃてぃー。 <56515516+mattyatea@users.noreply.github.com>
Co-authored-by: kozakura913 <98575220+kozakura913@users.noreply.github.com>
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
- 56312:6379 | ||
|
||
steps: | ||
- uses: actions/checkout@v4.1.1 |
Check warning
Code scanning / Scorecard
Pinned-Dependencies Medium test
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with: | ||
submodules: true | ||
- name: Runs OpenSearch | ||
uses: esmarkowski/opensearch-github-action@v1.0.0 |
Check warning
Code scanning / Scorecard
Pinned-Dependencies Medium test
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
opensearch_password: eF53xwF4NYjrcXXwZ2CHgpwFL | ||
port: 59200 | ||
- name: Install pnpm | ||
uses: pnpm/action-setup@v4 |
Check warning
Code scanning / Scorecard
Pinned-Dependencies Medium test
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
- name: Install pnpm | ||
uses: pnpm/action-setup@v4 | ||
- name: Use Node.js ${{ matrix.node-version }} | ||
uses: actions/setup-node@v4.0.3 |
Check warning
Code scanning / Scorecard
Pinned-Dependencies Medium test
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
- name: Test | ||
run: pnpm --filter backend test-and-coverage:e2e | ||
- name: Upload to Codecov | ||
uses: codecov/codecov-action@v4 |
Check warning
Code scanning / Scorecard
Pinned-Dependencies Medium test
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
이 PR에 의한 api.json 차이 차이점은 여기에서 볼 수 있음--- base
+++ head
@@ -1,7 +1,7 @@
{
"openapi": "3.1.0",
"info": {
- "version": "4.11.1-yojo1.0.1",
+ "version": "4.11.1-yojo1.1.0",
"description": "2024.8.0",
"title": "CherryPick API"
},
@@ -13122,6 +13122,31 @@
"bearerAuth": []
}
],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "index": {
+ "type": "string",
+ "enum": [
+ "notes",
+ "reaction",
+ "pollVote",
+ "clipNotes",
+ "Favorites"
+ ]
+ }
+ },
+ "required": [
+ "index"
+ ]
+ }
+ }
+ }
+ },
"responses": {
"204": {
"description": "OK (without any results)"
@@ -20817,6 +20842,15 @@
}
}
},
+ "OUTBOX_FIRST_PAGE_UNDEFINED_THIS_USER": {
+ "value": {
+ "error": {
+ "message": "outbox first page undefined this user",
+ "code": "OUTBOX_FIRST_PAGE_UNDEFINED_THIS_USER",
+ "id": "e1f29e66-86a9-4fdc-9be6-63d4587dc350"
+ }
+ }
+ },
"INVALID_PARAM": {
"value": {
"error": {
@@ -29990,6 +30024,15 @@
}
}
},
+ "FAILED_TO_RESOLVE_REMOTE_USER": {
+ "value": {
+ "error": {
+ "message": "failedToResolveRemoteUser.",
+ "code": "FAILED_TO_RESOLVE_REMOTE_USER",
+ "id": "56d5e552-d55a-47e3-9f37-6dc85a93ecf9"
+ }
+ }
+ },
"INVALID_PARAM": {
"value": {
"error": {
@@ -30115,8 +30158,7 @@
"type": "object",
"properties": {
"clipId": {
- "type": "string",
- "format": "misskey:id"
+ "type": "string"
}
},
"required": [
@@ -30273,6 +30315,26 @@
"bearerAuth": []
}
],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "withLocal": {
+ "type": "boolean",
+ "default": true
+ },
+ "withRemote": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ }
+ }
+ }
+ },
"responses": {
"200": {
"description": "OK (with results)",
@@ -34707,6 +34769,8 @@
"-firstRetrievedAt",
"+latestRequestReceivedAt",
"-latestRequestReceivedAt",
+ "+reversiVersion",
+ "-reversiVersion",
null
]
}
@@ -34934,6 +34998,8 @@
"-firstRetrievedAt",
"+latestRequestReceivedAt",
"-latestRequestReceivedAt",
+ "+reversiVersion",
+ "-reversiVersion",
null
]
}
@@ -46018,6 +46084,7 @@
"groupInvited",
"roleAssigned",
"achievementEarned",
+ "scheduleNote",
"app",
"test",
"pollVote"
@@ -46042,6 +46109,7 @@
"groupInvited",
"roleAssigned",
"achievementEarned",
+ "scheduleNote",
"app",
"test",
"pollVote"
@@ -46257,10 +46325,12 @@
"groupInvited",
"roleAssigned",
"achievementEarned",
+ "scheduleNote",
"app",
"test",
"reaction:grouped",
"renote:grouped",
+ "note:grouped",
"pollVote"
]
}
@@ -46283,10 +46353,12 @@
"groupInvited",
"roleAssigned",
"achievementEarned",
+ "scheduleNote",
"app",
"test",
"reaction:grouped",
"renote:grouped",
+ "note:grouped",
"pollVote"
]
}
@@ -49980,6 +50052,18 @@
"isExplorable": {
"type": "boolean"
},
+ "isIndexable": {
+ "type": "boolean"
+ },
+ "searchableBy": {
+ "type": "string",
+ "enum": [
+ "public",
+ "followersAndReacted",
+ "reactedOnly",
+ "private"
+ ]
+ },
"hideOnlineStatus": {
"type": "boolean"
},
@@ -54749,6 +54833,13 @@
"properties": {
"name": {
"type": "string"
+ },
+ "host": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "default": null
}
},
"required": [
@@ -54897,6 +54988,13 @@
"properties": {
"name": {
"type": "string"
+ },
+ "host": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "default": null
}
},
"required": [
@@ -57208,6 +57306,19 @@
],
"default": null
},
+ "searchableBy": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "public",
+ "followersAndReacted",
+ "reactedOnly",
+ "private"
+ ],
+ "default": "public"
+ },
"disableRightClick": {
"type": "boolean",
"default": false
@@ -57645,6 +57756,959 @@
}
}
},
+ "/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/kokonect-link/cherrypick/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
+ },
+ "searchableBy": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ "public",
+ "followersAndReacted",
+ "reactedOnly",
+ "private"
+ ],
+ "default": "public"
+ },
+ "disableRightClick": {
+ "type": "boolean",
+ "default": false
+ },
+ "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": 5120
+ },
+ "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"
+ ]
+ },
+ "event": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "properties": {
+ "title": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 128
+ },
+ "start": {
+ "type": "integer"
+ },
+ "end": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "metadata": {
+ "type": "object"
+ }
+ }
+ },
+ "schedule": {
+ "type": "object",
+ "properties": {
+ "expiresAt": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "anyOf": [
+ {
+ "required": [
+ "text"
+ ]
+ },
+ {
+ "required": [
+ "renoteId"
+ ]
+ },
+ {
+ "required": [
+ "fileIds"
+ ]
+ },
+ {
+ "required": [
+ "mediaIds"
+ ]
+ },
+ {
+ "required": [
+ "poll"
+ ]
+ }
+ ],
+ "required": [
+ "schedule"
+ ]
+ }
+ }
+ }
+ },
+ "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, CherryPick'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/kokonect-link/cherrypick/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"
+ },
+ "expiresAt": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "note",
+ "userId",
+ "expiresAt"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "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, CherryPick'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/kokonect-link/cherrypick/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, CherryPick'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/delete": {
"post": {
"operationId": "notes___delete",
@@ -61726,6 +62790,26 @@
"type": "string",
"description": "指定した文字列を含むノートを返します"
},
+ "reactions": {
+ "type": "array",
+ "description": "指定したリアクションがつけられたノートを探します",
+ "uniqueItems": true,
+ "minItems": 1,
+ "maxItems": 16,
+ "items": {
+ "type": "string"
+ }
+ },
+ "reactionsExclude": {
+ "type": "array",
+ "description": "指定したリアクションがつけられていないノートを探します",
+ "uniqueItems": true,
+ "minItems": 1,
+ "maxItems": 16,
+ "items": {
+ "type": "string"
+ }
+ },
"sinceId": {
"type": "string",
"description": "指定されたID以降のノートを返します",
@@ -61774,6 +62858,16 @@
"default": "combined",
"description": "添付ファイルのセンシティブ状態"
},
+ "followingFilter": {
+ "type": "string",
+ "enum": [
+ "following",
+ "notFollowing",
+ "combined"
+ ],
+ "default": "combined",
+ "description": "ユーザーのフォロー状態"
+ },
"offset": {
"type": "integer",
"default": 0,
@@ -61806,11 +62900,16 @@
"format": "misskey:id",
"default": null,
"description": "ノートを作成したユーザーのID"
+ },
+ "useStrictSearch": {
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "default": false,
+ "description": "表記ゆれ検索を無効にする"
}
- },
- "required": [
- "query"
- ]
+ }
}
}
}
@@ -61847,6 +62946,15 @@
}
}
},
+ "UNIMPLEMENTED": {
+ "value": {
+ "error": {
+ "message": "Reaction Search is unimplemented",
+ "code": "UNIMPLEMENTED",
+ "id": "64d1dbf5-c14c-406e-88da-0f799b4b42ea"
+ }
+ }
+ },
"INVALID_PARAM": {
"value": {
"error": {
@@ -66744,8 +67852,7 @@
"type": "object",
"properties": {
"flashId": {
- "type": "string",
- "format": "misskey:id"
+ "type": "string"
}
},
"required": [
@@ -66914,8 +68021,7 @@
"type": "object",
"properties": {
"flashId": {
- "type": "string",
- "format": "misskey:id"
+ "type": "string"
}
},
"required": [
@@ -66954,6 +68060,24 @@
}
}
},
+ "INVALID_ID_FORMAT": {
+ "value": {
+ "error": {
+ "message": "Invalid id format.",
+ "code": "INVALID_ID_FORMAT",
+ "id": "df45c7d1-cd15-4a35-b3e1-8c9f987c4f5c"
+ }
+ }
+ },
+ "FAILED_TO_RESOLVE_REMOTE_USER": {
+ "value": {
+ "error": {
+ "message": "failedToResolveRemoteUser.",
+ "code": "FAILED_TO_RESOLVE_REMOTE_USER",
+ "id": "56d5e552-d55a-47e3-9f37-6dc85a93ecf9"
+ }
+ }
+ },
"INVALID_PARAM": {
"value": {
"error": {
@@ -67079,8 +68203,7 @@
"type": "object",
"properties": {
"flashId": {
- "type": "string",
- "format": "misskey:id"
+ "type": "string"
}
},
"required": [
@@ -67632,6 +68755,14 @@
"untilId": {
"type": "string",
"format": "misskey:id"
+ },
+ "withLocal": {
+ "type": "boolean",
+ "default": true
+ },
+ "withRemote": {
+ "type": "boolean",
+ "default": true
}
}
}
@@ -76906,12 +78037,10 @@
"default": 10
},
"sinceId": {
- "type": "string",
- "format": "misskey:id"
+ "type": "string"
},
"untilId": {
- "type": "string",
- "format": "misskey:id"
+ "type": "string"
}
},
"required": [
@@ -84703,6 +85832,34 @@
"type": {
"type": "string",
"enum": [
+ "scheduleNote"
+ ]
+ },
+ "errorType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "type",
+ "errorType"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "id"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
"app"
]
},
@@ -84825,6 +85982,45 @@
"type": {
"type": "string",
"enum": [
+ "note:grouped"
+ ]
+ },
+ "noteIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/components/schemas/UserLite"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "type",
+ "noteIds",
+ "users"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "id"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
"test"
]
}
@@ -85795,6 +86991,16 @@
},
"notesCount": {
"type": "integer"
+ },
+ "emojis": {
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ }
+ ]
+ }
}
},
"required": [
@@ -86211,6 +87417,16 @@
},
"isLiked": {
"type": "boolean"
+ },
+ "emojis": {
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ }
+ ]
+ }
}
},
"required": [
@@ -86678,6 +87894,9 @@
"canEditNote": {
"type": "boolean"
},
+ "scheduleNoteMax": {
+ "type": "integer"
+ },
"mutualLinkSectionLimit": {
"type": "integer"
},
@@ -86715,6 +87934,7 @@
"avatarDecorationLimit",
"fileSizeLimit",
"canEditNote",
+ "scheduleNoteMax",
"mutualLinkSectionLimit",
"mutualLinkLimit"
] |
1.1.0
Cherrypick 4.11.1
Release Date
2024-11-08
Note
ノートが多数ある場合マイグレーションに長時間かかることがあります
docker環境でノートレコードが多数(数百万件)ある場合一時的に compose.ymlの
healthcheck
のstart_period
を大きめに指定してくださいインデックス構造が変わったためノートインデックスの再作成が必要です。
リアクションや投票が途中からインデックスにされるので再インデックスをおすすめします。
General
reactionSearchLocalOnly: true
にすることでリモートのカスタム絵文字リアクションをインデックス対象外にできますClient
/search?type=anote
q
通常検索と同じuserId
通常検索と同じusername
通常検索と同じhost
通常検索と同じfileAttach
添付ファイル有無 あり:file-only
なし:no-file
fileSensitive
添付ファイルセンシティブ状態 あり:includeSensitive
なし:withOutSensitive
センシティブのみsensitiveOnly
reactions
リアクション検索ボックスreactionsExclude
リアクション検索ボックス(除外)excludeReply
リプライ除外 true/falseexcludeCw
CW除外 true/falseexcludeQuote
引用除外 true/falsestrictSearch
表記ゆれ検索有効 true/falseServer
notes/advanced-search
でquery
が必須ではなくなりました #496api/admin/recreate-index
では再インデックスをしないように #531/api/clips/show
と/api/users/clips
の応答にemojisを追加 #466api/emoji
でhost
を指定できるように #514