};
type ObjectSchemaTypeDef =
p['ref'] extends keyof typeof refs ? Packed
:
@@ -232,6 +235,12 @@ export type SchemaTypeDef
=
p['items']['allOf'] extends ReadonlyArray ? UnionToIntersection>>[] :
never
) :
+ p['prefixItems'] extends ReadonlyArray ? (
+ p['items'] extends NonNullable ? [...ArrayToTuple, ...SchemaType
[]] :
+ p['items'] extends false ? ArrayToTuple
:
+ p['unevaluatedItems'] extends false ? ArrayToTuple
:
+ [...ArrayToTuple
, ...unknown[]]
+ ) :
p['items'] extends NonNullable ? SchemaType[] :
any[]
) :
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts
index 7a3410ffa7..f3e440b4cb 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts
@@ -21,16 +21,15 @@ export const meta = {
items: {
type: 'array',
optional: false, nullable: false,
- items: {
- anyOf: [
- {
- type: 'string',
- },
- {
- type: 'number',
- },
- ],
- },
+ prefixItems: [
+ {
+ type: 'string',
+ },
+ {
+ type: 'number',
+ },
+ ],
+ unevaluatedItems: false,
},
example: [[
'example.com',
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts
index 305ae1af1d..e7589cba81 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts
@@ -21,16 +21,15 @@ export const meta = {
items: {
type: 'array',
optional: false, nullable: false,
- items: {
- anyOf: [
- {
- type: 'string',
- },
- {
- type: 'number',
- },
- ],
- },
+ prefixItems: [
+ {
+ type: 'string',
+ },
+ {
+ type: 'number',
+ },
+ ],
+ unevaluatedItems: false,
},
example: [[
'example.com',
diff --git a/packages/frontend/src/pages/admin/overview.queue.vue b/packages/frontend/src/pages/admin/overview.queue.vue
index c7478f252a..fb190f5325 100644
--- a/packages/frontend/src/pages/admin/overview.queue.vue
+++ b/packages/frontend/src/pages/admin/overview.queue.vue
@@ -36,7 +36,9 @@ SPDX-License-Identifier: AGPL-3.0-only
+
+
From cdb0566c5b823f0ce4ecc493bd459cb726431be2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?=
<67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Fri, 6 Sep 2024 16:12:14 +0900
Subject: [PATCH 23/31] =?UTF-8?q?refactor(frontend):=20scss=20deprecated?=
=?UTF-8?q?=20=E8=AD=A6=E5=91=8A=E3=81=AB=E5=AF=BE=E5=BF=9C=20(#14513)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../frontend/src/components/MkModalWindow.vue | 6 +++---
packages/frontend/src/components/MkSuperMenu.vue | 6 +++---
packages/frontend/src/components/MkWindow.vue | 8 ++++----
.../frontend/src/pages/admin/overview.users.vue | 8 ++++----
packages/frontend/src/pages/page.vue | 3 +--
packages/frontend/src/style.scss | 8 ++++----
packages/frontend/src/ui/_common_/statusbars.vue | 16 ++++++++--------
packages/frontend/src/ui/deck/column.vue | 6 +++---
8 files changed, 30 insertions(+), 31 deletions(-)
diff --git a/packages/frontend/src/components/MkModalWindow.vue b/packages/frontend/src/components/MkModalWindow.vue
index c3c7812036..f26959888b 100644
--- a/packages/frontend/src/components/MkModalWindow.vue
+++ b/packages/frontend/src/components/MkModalWindow.vue
@@ -94,12 +94,12 @@ defineExpose({
--root-margin: 24px;
+ --headerHeight: 46px;
+ --headerHeightNarrow: 42px;
+
@media (max-width: 500px) {
--root-margin: 16px;
}
-
- --headerHeight: 46px;
- --headerHeightNarrow: 42px;
}
.header {
diff --git a/packages/frontend/src/components/MkSuperMenu.vue b/packages/frontend/src/components/MkSuperMenu.vue
index 1a880170be..3746ffd8f3 100644
--- a/packages/frontend/src/components/MkSuperMenu.vue
+++ b/packages/frontend/src/components/MkSuperMenu.vue
@@ -100,14 +100,14 @@ defineProps<{
&.grid {
> .group {
+ margin-left: 0;
+ margin-right: 0;
+
& + .group {
padding-top: 0;
border-top: none;
}
- margin-left: 0;
- margin-right: 0;
-
> .title {
font-size: 1em;
opacity: 0.7;
diff --git a/packages/frontend/src/components/MkWindow.vue b/packages/frontend/src/components/MkWindow.vue
index 303e49de00..26ba598498 100644
--- a/packages/frontend/src/components/MkWindow.vue
+++ b/packages/frontend/src/components/MkWindow.vue
@@ -508,10 +508,6 @@ defineExpose({
.header {
--height: 39px;
- &.mini {
- --height: 32px;
- }
-
display: flex;
position: relative;
z-index: 1;
@@ -524,6 +520,10 @@ defineExpose({
//border-bottom: solid 1px var(--divider);
font-size: 90%;
font-weight: bold;
+
+ &.mini {
+ --height: 32px;
+ }
}
.headerButton {
diff --git a/packages/frontend/src/pages/admin/overview.users.vue b/packages/frontend/src/pages/admin/overview.users.vue
index 408be88d47..a7dd4c0a48 100644
--- a/packages/frontend/src/pages/admin/overview.users.vue
+++ b/packages/frontend/src/pages/admin/overview.users.vue
@@ -47,14 +47,14 @@ useInterval(fetch, 1000 * 60, {
.root {
&:global {
> .users {
- .chart-move {
- transition: transform 1s ease;
- }
-
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
grid-gap: 12px;
+ .chart-move {
+ transition: transform 1s ease;
+ }
+
> .user:hover {
text-decoration: none;
}
diff --git a/packages/frontend/src/pages/page.vue b/packages/frontend/src/pages/page.vue
index cb1ce9b918..7ae61236e8 100644
--- a/packages/frontend/src/pages/page.vue
+++ b/packages/frontend/src/pages/page.vue
@@ -433,13 +433,12 @@ definePageMetadata(() => ({
.pageBannerTitleUser {
--height: 32px;
flex-shrink: 0;
+ line-height: var(--height);
.avatar {
height: var(--height);
width: var(--height);
}
-
- line-height: var(--height);
}
.pageBannerTitleSubActions {
diff --git a/packages/frontend/src/style.scss b/packages/frontend/src/style.scss
index 44ef740a2e..caaf9fca6f 100644
--- a/packages/frontend/src/style.scss
+++ b/packages/frontend/src/style.scss
@@ -17,10 +17,6 @@
--minBottomSpacingMobile: calc(72px + max(12px, env(safe-area-inset-bottom, 0px)));
--minBottomSpacing: var(--minBottomSpacingMobile);
- @media (max-width: 500px) {
- --margin: var(--marginHalf);
- }
-
//--ad: rgb(255 169 0 / 10%);
--eventFollow: #36aed2;
--eventRenote: #36d298;
@@ -29,6 +25,10 @@
--eventReaction: #e99a0b;
--eventAchievement: #cb9a11;
--eventOther: #88a6b7;
+
+ @media (max-width: 500px) {
+ --margin: var(--marginHalf);
+ }
}
::selection {
diff --git a/packages/frontend/src/ui/_common_/statusbars.vue b/packages/frontend/src/ui/_common_/statusbars.vue
index 872c69810c..690366307b 100644
--- a/packages/frontend/src/ui/_common_/statusbars.vue
+++ b/packages/frontend/src/ui/_common_/statusbars.vue
@@ -40,6 +40,14 @@ const XUserList = defineAsyncComponent(() => import('./statusbar-user-list.vue')
--nameMargin: 10px;
font-size: 0.85em;
+ display: flex;
+ vertical-align: bottom;
+ width: 100%;
+ line-height: var(--height);
+ height: var(--height);
+ overflow: clip;
+ contain: strict;
+
&.verySmall {
--nameMargin: 7px;
--height: 16px;
@@ -64,14 +72,6 @@ const XUserList = defineAsyncComponent(() => import('./statusbar-user-list.vue')
font-size: 0.9em;
}
- display: flex;
- vertical-align: bottom;
- width: 100%;
- line-height: var(--height);
- height: var(--height);
- overflow: clip;
- contain: strict;
-
&.black {
background: #000;
color: #fff;
diff --git a/packages/frontend/src/ui/deck/column.vue b/packages/frontend/src/ui/deck/column.vue
index e96402d13b..893301122e 100644
--- a/packages/frontend/src/ui/deck/column.vue
+++ b/packages/frontend/src/ui/deck/column.vue
@@ -324,11 +324,11 @@ function onDrop(ev) {
> .body {
background: transparent !important;
+ scrollbar-color: var(--scrollbarHandle) transparent;
&::-webkit-scrollbar-track {
background: transparent;
}
- scrollbar-color: var(--scrollbarHandle) transparent;
}
}
@@ -338,11 +338,11 @@ function onDrop(ev) {
> .body {
background: var(--bg) !important;
overflow-y: scroll !important;
+ scrollbar-color: var(--scrollbarHandle) transparent;
&::-webkit-scrollbar-track {
background: inherit;
}
- scrollbar-color: var(--scrollbarHandle) transparent;
}
}
}
@@ -423,10 +423,10 @@ function onDrop(ev) {
box-sizing: border-box;
container-type: size;
background-color: var(--bg);
+ scrollbar-color: var(--scrollbarHandle) var(--panel);
&::-webkit-scrollbar-track {
background: var(--panel);
}
- scrollbar-color: var(--scrollbarHandle) var(--panel);
}
From 8d19bdbb65c79e2425bf5c73fd8b6310670a8c10 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?=
<67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Fri, 6 Sep 2024 17:22:45 +0900
Subject: [PATCH 24/31] =?UTF-8?q?fix(misskey-js):=20content-type=E3=81=AFa?=
=?UTF-8?q?pplication/json=E3=81=A7=E3=81=AA=E3=81=84=E3=82=82=E3=81=AE?=
=?UTF-8?q?=E3=81=AE=E3=81=BF=E3=82=92=E8=A8=98=E9=8C=B2=E3=81=99=E3=82=8B?=
=?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=20(#14508)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../misskey-js/generator/src/generator.ts | 21 +-
packages/misskey-js/src/api.ts | 9 +-
packages/misskey-js/src/autogen/endpoint.ts | 385 +-----------------
3 files changed, 22 insertions(+), 393 deletions(-)
diff --git a/packages/misskey-js/generator/src/generator.ts b/packages/misskey-js/generator/src/generator.ts
index 4ae00a4522..88f2ae9ee9 100644
--- a/packages/misskey-js/generator/src/generator.ts
+++ b/packages/misskey-js/generator/src/generator.ts
@@ -96,15 +96,11 @@ async function generateEndpoints(
endpoint.request = req;
const reqType = new EndpointReqMediaType(path, req);
- endpointReqMediaTypesSet.add(reqType.getMediaType());
- endpointReqMediaTypes.push(reqType);
- } else {
- endpointReqMediaTypesSet.add('application/json');
- endpointReqMediaTypes.push(new EndpointReqMediaType(path, undefined, 'application/json'));
+ if (reqType.getMediaType() !== 'application/json') {
+ endpointReqMediaTypesSet.add(reqType.getMediaType());
+ endpointReqMediaTypes.push(reqType);
+ }
}
- } else {
- endpointReqMediaTypesSet.add('application/json');
- endpointReqMediaTypes.push(new EndpointReqMediaType(path, undefined, 'application/json'));
}
if (operation.responses && isResponseObject(operation.responses['200']) && operation.responses['200'].content) {
@@ -158,16 +154,19 @@ async function generateEndpoints(
endpointOutputLine.push('');
function generateEndpointReqMediaTypesType() {
- return `Record `'${t}'`).join(' | ')}>`;
+ return `{ [K in keyof Endpoints]?: ${[...endpointReqMediaTypesSet].map((t) => `'${t}'`).join(' | ')}; }`;
}
- endpointOutputLine.push(`export const endpointReqTypes: ${generateEndpointReqMediaTypesType()} = {`);
+ endpointOutputLine.push(`/**
+ * NOTE: The content-type for all endpoints not listed here is application/json.
+ */`);
+ endpointOutputLine.push('export const endpointReqTypes = {');
endpointOutputLine.push(
...endpointReqMediaTypes.map(it => '\t' + it.toLine()),
);
- endpointOutputLine.push('};');
+ endpointOutputLine.push(`} as const satisfies ${generateEndpointReqMediaTypesType()};`);
endpointOutputLine.push('');
await writeFile(endpointOutputPath, endpointOutputLine.join('\n'));
diff --git a/packages/misskey-js/src/api.ts b/packages/misskey-js/src/api.ts
index ea1df57f3d..659a29a221 100644
--- a/packages/misskey-js/src/api.ts
+++ b/packages/misskey-js/src/api.ts
@@ -56,6 +56,10 @@ export class APIClient {
return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
}
+ private assertSpecialEpReqType(ep: keyof Endpoints): ep is keyof typeof endpointReqTypes {
+ return ep in endpointReqTypes;
+ }
+
public request(
endpoint: E,
params: P = {} as P,
@@ -63,9 +67,10 @@ export class APIClient {
): Promise> {
return new Promise((resolve, reject) => {
let mediaType = 'application/json';
- if (endpoint in endpointReqTypes) {
+ if (this.assertSpecialEpReqType(endpoint) && endpointReqTypes[endpoint] != null) {
mediaType = endpointReqTypes[endpoint];
}
+
let payload: FormData | string = '{}';
if (mediaType === 'application/json') {
@@ -100,7 +105,7 @@ export class APIClient {
method: 'POST',
body: payload,
headers: {
- 'Content-Type': endpointReqTypes[endpoint],
+ 'Content-Type': mediaType,
},
credentials: 'omit',
cache: 'no-cache',
diff --git a/packages/misskey-js/src/autogen/endpoint.ts b/packages/misskey-js/src/autogen/endpoint.ts
index be41951e4d..8fbdbbb629 100644
--- a/packages/misskey-js/src/autogen/endpoint.ts
+++ b/packages/misskey-js/src/autogen/endpoint.ts
@@ -955,384 +955,9 @@ export type Endpoints = {
'reversi/verify': { req: ReversiVerifyRequest; res: ReversiVerifyResponse };
}
-export const endpointReqTypes: Record = {
- 'admin/meta': 'application/json',
- 'admin/abuse-user-reports': 'application/json',
- 'admin/abuse-report/notification-recipient/list': 'application/json',
- 'admin/abuse-report/notification-recipient/show': 'application/json',
- 'admin/abuse-report/notification-recipient/create': 'application/json',
- 'admin/abuse-report/notification-recipient/update': 'application/json',
- 'admin/abuse-report/notification-recipient/delete': 'application/json',
- 'admin/accounts/create': 'application/json',
- 'admin/accounts/delete': 'application/json',
- 'admin/accounts/find-by-email': 'application/json',
- 'admin/ad/create': 'application/json',
- 'admin/ad/delete': 'application/json',
- 'admin/ad/list': 'application/json',
- 'admin/ad/update': 'application/json',
- 'admin/announcements/create': 'application/json',
- 'admin/announcements/delete': 'application/json',
- 'admin/announcements/list': 'application/json',
- 'admin/announcements/update': 'application/json',
- 'admin/avatar-decorations/create': 'application/json',
- 'admin/avatar-decorations/delete': 'application/json',
- 'admin/avatar-decorations/list': 'application/json',
- 'admin/avatar-decorations/update': 'application/json',
- 'admin/delete-all-files-of-a-user': 'application/json',
- 'admin/unset-user-avatar': 'application/json',
- 'admin/unset-user-banner': 'application/json',
- 'admin/drive/clean-remote-files': 'application/json',
- 'admin/drive/cleanup': 'application/json',
- 'admin/drive/files': 'application/json',
- 'admin/drive/show-file': 'application/json',
- 'admin/emoji/add-aliases-bulk': 'application/json',
- 'admin/emoji/add': 'application/json',
- 'admin/emoji/copy': 'application/json',
- 'admin/emoji/delete-bulk': 'application/json',
- 'admin/emoji/delete': 'application/json',
- 'admin/emoji/import-zip': 'application/json',
- 'admin/emoji/list-remote': 'application/json',
- 'admin/emoji/list': 'application/json',
- 'admin/emoji/remove-aliases-bulk': 'application/json',
- 'admin/emoji/set-aliases-bulk': 'application/json',
- 'admin/emoji/set-category-bulk': 'application/json',
- 'admin/emoji/set-license-bulk': 'application/json',
- 'admin/emoji/update': 'application/json',
- 'admin/federation/delete-all-files': 'application/json',
- 'admin/federation/refresh-remote-instance-metadata': 'application/json',
- 'admin/federation/remove-all-following': 'application/json',
- 'admin/federation/update-instance': 'application/json',
- 'admin/get-index-stats': 'application/json',
- 'admin/get-table-stats': 'application/json',
- 'admin/get-user-ips': 'application/json',
- 'admin/invite/create': 'application/json',
- 'admin/invite/list': 'application/json',
- 'admin/promo/create': 'application/json',
- 'admin/queue/clear': 'application/json',
- 'admin/queue/deliver-delayed': 'application/json',
- 'admin/queue/inbox-delayed': 'application/json',
- 'admin/queue/promote': 'application/json',
- 'admin/queue/stats': 'application/json',
- 'admin/relays/add': 'application/json',
- 'admin/relays/list': 'application/json',
- 'admin/relays/remove': 'application/json',
- 'admin/reset-password': 'application/json',
- 'admin/resolve-abuse-user-report': 'application/json',
- 'admin/send-email': 'application/json',
- 'admin/server-info': 'application/json',
- 'admin/show-moderation-logs': 'application/json',
- 'admin/show-user': 'application/json',
- 'admin/show-users': 'application/json',
- 'admin/suspend-user': 'application/json',
- 'admin/unsuspend-user': 'application/json',
- 'admin/update-meta': 'application/json',
- 'admin/delete-account': 'application/json',
- 'admin/update-user-note': 'application/json',
- 'admin/roles/create': 'application/json',
- 'admin/roles/delete': 'application/json',
- 'admin/roles/list': 'application/json',
- 'admin/roles/show': 'application/json',
- 'admin/roles/update': 'application/json',
- 'admin/roles/assign': 'application/json',
- 'admin/roles/unassign': 'application/json',
- 'admin/roles/update-default-policies': 'application/json',
- 'admin/roles/users': 'application/json',
- 'admin/system-webhook/create': 'application/json',
- 'admin/system-webhook/delete': 'application/json',
- 'admin/system-webhook/list': 'application/json',
- 'admin/system-webhook/show': 'application/json',
- 'admin/system-webhook/update': 'application/json',
- 'announcements': 'application/json',
- 'announcements/show': 'application/json',
- 'antennas/create': 'application/json',
- 'antennas/delete': 'application/json',
- 'antennas/list': 'application/json',
- 'antennas/notes': 'application/json',
- 'antennas/show': 'application/json',
- 'antennas/update': 'application/json',
- 'ap/get': 'application/json',
- 'ap/show': 'application/json',
- 'app/create': 'application/json',
- 'app/show': 'application/json',
- 'auth/accept': 'application/json',
- 'auth/session/generate': 'application/json',
- 'auth/session/show': 'application/json',
- 'auth/session/userkey': 'application/json',
- 'blocking/create': 'application/json',
- 'blocking/delete': 'application/json',
- 'blocking/list': 'application/json',
- 'channels/create': 'application/json',
- 'channels/featured': 'application/json',
- 'channels/follow': 'application/json',
- 'channels/followed': 'application/json',
- 'channels/owned': 'application/json',
- 'channels/show': 'application/json',
- 'channels/timeline': 'application/json',
- 'channels/unfollow': 'application/json',
- 'channels/update': 'application/json',
- 'channels/favorite': 'application/json',
- 'channels/unfavorite': 'application/json',
- 'channels/my-favorites': 'application/json',
- 'channels/search': 'application/json',
- 'charts/active-users': 'application/json',
- 'charts/ap-request': 'application/json',
- 'charts/drive': 'application/json',
- 'charts/federation': 'application/json',
- 'charts/instance': 'application/json',
- 'charts/notes': 'application/json',
- 'charts/user/drive': 'application/json',
- 'charts/user/following': 'application/json',
- 'charts/user/notes': 'application/json',
- 'charts/user/pv': 'application/json',
- 'charts/user/reactions': 'application/json',
- 'charts/users': 'application/json',
- 'clips/add-note': 'application/json',
- 'clips/remove-note': 'application/json',
- 'clips/create': 'application/json',
- 'clips/delete': 'application/json',
- 'clips/list': 'application/json',
- 'clips/notes': 'application/json',
- 'clips/show': 'application/json',
- 'clips/update': 'application/json',
- 'clips/favorite': 'application/json',
- 'clips/unfavorite': 'application/json',
- 'clips/my-favorites': 'application/json',
- 'drive': 'application/json',
- 'drive/files': 'application/json',
- 'drive/files/attached-notes': 'application/json',
- 'drive/files/check-existence': 'application/json',
+/**
+ * NOTE: The content-type for all endpoints not listed here is application/json.
+ */
+export const endpointReqTypes = {
'drive/files/create': 'multipart/form-data',
- 'drive/files/delete': 'application/json',
- 'drive/files/find-by-hash': 'application/json',
- 'drive/files/find': 'application/json',
- 'drive/files/show': 'application/json',
- 'drive/files/update': 'application/json',
- 'drive/files/upload-from-url': 'application/json',
- 'drive/folders': 'application/json',
- 'drive/folders/create': 'application/json',
- 'drive/folders/delete': 'application/json',
- 'drive/folders/find': 'application/json',
- 'drive/folders/show': 'application/json',
- 'drive/folders/update': 'application/json',
- 'drive/stream': 'application/json',
- 'email-address/available': 'application/json',
- 'endpoint': 'application/json',
- 'endpoints': 'application/json',
- 'export-custom-emojis': 'application/json',
- 'federation/followers': 'application/json',
- 'federation/following': 'application/json',
- 'federation/instances': 'application/json',
- 'federation/show-instance': 'application/json',
- 'federation/update-remote-user': 'application/json',
- 'federation/users': 'application/json',
- 'federation/stats': 'application/json',
- 'following/create': 'application/json',
- 'following/delete': 'application/json',
- 'following/update': 'application/json',
- 'following/update-all': 'application/json',
- 'following/invalidate': 'application/json',
- 'following/requests/accept': 'application/json',
- 'following/requests/cancel': 'application/json',
- 'following/requests/list': 'application/json',
- 'following/requests/reject': 'application/json',
- 'gallery/featured': 'application/json',
- 'gallery/popular': 'application/json',
- 'gallery/posts': 'application/json',
- 'gallery/posts/create': 'application/json',
- 'gallery/posts/delete': 'application/json',
- 'gallery/posts/like': 'application/json',
- 'gallery/posts/show': 'application/json',
- 'gallery/posts/unlike': 'application/json',
- 'gallery/posts/update': 'application/json',
- 'get-online-users-count': 'application/json',
- 'get-avatar-decorations': 'application/json',
- 'hashtags/list': 'application/json',
- 'hashtags/search': 'application/json',
- 'hashtags/show': 'application/json',
- 'hashtags/trend': 'application/json',
- 'hashtags/users': 'application/json',
- 'i': 'application/json',
- 'i/2fa/done': 'application/json',
- 'i/2fa/key-done': 'application/json',
- 'i/2fa/password-less': 'application/json',
- 'i/2fa/register-key': 'application/json',
- 'i/2fa/register': 'application/json',
- 'i/2fa/update-key': 'application/json',
- 'i/2fa/remove-key': 'application/json',
- 'i/2fa/unregister': 'application/json',
- 'i/apps': 'application/json',
- 'i/authorized-apps': 'application/json',
- 'i/claim-achievement': 'application/json',
- 'i/change-password': 'application/json',
- 'i/delete-account': 'application/json',
- 'i/export-blocking': 'application/json',
- 'i/export-following': 'application/json',
- 'i/export-mute': 'application/json',
- 'i/export-notes': 'application/json',
- 'i/export-clips': 'application/json',
- 'i/export-favorites': 'application/json',
- 'i/export-user-lists': 'application/json',
- 'i/export-antennas': 'application/json',
- 'i/favorites': 'application/json',
- 'i/gallery/likes': 'application/json',
- 'i/gallery/posts': 'application/json',
- 'i/import-blocking': 'application/json',
- 'i/import-following': 'application/json',
- 'i/import-muting': 'application/json',
- 'i/import-user-lists': 'application/json',
- 'i/import-antennas': 'application/json',
- 'i/notifications': 'application/json',
- 'i/notifications-grouped': 'application/json',
- 'i/page-likes': 'application/json',
- 'i/pages': 'application/json',
- 'i/pin': 'application/json',
- 'i/read-all-unread-notes': 'application/json',
- 'i/read-announcement': 'application/json',
- 'i/regenerate-token': 'application/json',
- 'i/registry/get-all': 'application/json',
- 'i/registry/get-detail': 'application/json',
- 'i/registry/get': 'application/json',
- 'i/registry/keys-with-type': 'application/json',
- 'i/registry/keys': 'application/json',
- 'i/registry/remove': 'application/json',
- 'i/registry/scopes-with-domain': 'application/json',
- 'i/registry/set': 'application/json',
- 'i/revoke-token': 'application/json',
- 'i/signin-history': 'application/json',
- 'i/unpin': 'application/json',
- 'i/update-email': 'application/json',
- 'i/update': 'application/json',
- 'i/move': 'application/json',
- 'i/webhooks/create': 'application/json',
- 'i/webhooks/list': 'application/json',
- 'i/webhooks/show': 'application/json',
- 'i/webhooks/update': 'application/json',
- 'i/webhooks/delete': 'application/json',
- 'invite/create': 'application/json',
- 'invite/delete': 'application/json',
- 'invite/list': 'application/json',
- 'invite/limit': 'application/json',
- 'meta': 'application/json',
- 'emojis': 'application/json',
- 'emoji': 'application/json',
- 'miauth/gen-token': 'application/json',
- 'mute/create': 'application/json',
- 'mute/delete': 'application/json',
- 'mute/list': 'application/json',
- 'renote-mute/create': 'application/json',
- 'renote-mute/delete': 'application/json',
- 'renote-mute/list': 'application/json',
- 'my/apps': 'application/json',
- 'notes': 'application/json',
- 'notes/children': 'application/json',
- 'notes/clips': 'application/json',
- 'notes/conversation': 'application/json',
- 'notes/create': 'application/json',
- 'notes/delete': 'application/json',
- 'notes/favorites/create': 'application/json',
- 'notes/favorites/delete': 'application/json',
- 'notes/featured': 'application/json',
- 'notes/global-timeline': 'application/json',
- 'notes/hybrid-timeline': 'application/json',
- 'notes/local-timeline': 'application/json',
- 'notes/mentions': 'application/json',
- 'notes/polls/recommendation': 'application/json',
- 'notes/polls/vote': 'application/json',
- 'notes/reactions': 'application/json',
- 'notes/reactions/create': 'application/json',
- 'notes/reactions/delete': 'application/json',
- 'notes/renotes': 'application/json',
- 'notes/replies': 'application/json',
- 'notes/search-by-tag': 'application/json',
- 'notes/search': 'application/json',
- 'notes/show': 'application/json',
- 'notes/state': 'application/json',
- 'notes/thread-muting/create': 'application/json',
- 'notes/thread-muting/delete': 'application/json',
- 'notes/timeline': 'application/json',
- 'notes/translate': 'application/json',
- 'notes/unrenote': 'application/json',
- 'notes/user-list-timeline': 'application/json',
- 'notifications/create': 'application/json',
- 'notifications/flush': 'application/json',
- 'notifications/mark-all-as-read': 'application/json',
- 'notifications/test-notification': 'application/json',
- 'page-push': 'application/json',
- 'pages/create': 'application/json',
- 'pages/delete': 'application/json',
- 'pages/featured': 'application/json',
- 'pages/like': 'application/json',
- 'pages/show': 'application/json',
- 'pages/unlike': 'application/json',
- 'pages/update': 'application/json',
- 'flash/create': 'application/json',
- 'flash/delete': 'application/json',
- 'flash/featured': 'application/json',
- 'flash/like': 'application/json',
- 'flash/show': 'application/json',
- 'flash/unlike': 'application/json',
- 'flash/update': 'application/json',
- 'flash/my': 'application/json',
- 'flash/my-likes': 'application/json',
- 'ping': 'application/json',
- 'pinned-users': 'application/json',
- 'promo/read': 'application/json',
- 'roles/list': 'application/json',
- 'roles/show': 'application/json',
- 'roles/users': 'application/json',
- 'roles/notes': 'application/json',
- 'request-reset-password': 'application/json',
- 'reset-db': 'application/json',
- 'reset-password': 'application/json',
- 'server-info': 'application/json',
- 'stats': 'application/json',
- 'sw/show-registration': 'application/json',
- 'sw/update-registration': 'application/json',
- 'sw/register': 'application/json',
- 'sw/unregister': 'application/json',
- 'test': 'application/json',
- 'username/available': 'application/json',
- 'users': 'application/json',
- 'users/clips': 'application/json',
- 'users/followers': 'application/json',
- 'users/following': 'application/json',
- 'users/gallery/posts': 'application/json',
- 'users/get-frequently-replied-users': 'application/json',
- 'users/featured-notes': 'application/json',
- 'users/lists/create': 'application/json',
- 'users/lists/delete': 'application/json',
- 'users/lists/list': 'application/json',
- 'users/lists/pull': 'application/json',
- 'users/lists/push': 'application/json',
- 'users/lists/show': 'application/json',
- 'users/lists/favorite': 'application/json',
- 'users/lists/unfavorite': 'application/json',
- 'users/lists/update': 'application/json',
- 'users/lists/create-from-public': 'application/json',
- 'users/lists/update-membership': 'application/json',
- 'users/lists/get-memberships': 'application/json',
- 'users/notes': 'application/json',
- 'users/pages': 'application/json',
- 'users/flashs': 'application/json',
- 'users/reactions': 'application/json',
- 'users/recommendation': 'application/json',
- 'users/relation': 'application/json',
- 'users/report-abuse': 'application/json',
- 'users/search-by-username-and-host': 'application/json',
- 'users/search': 'application/json',
- 'users/show': 'application/json',
- 'users/achievements': 'application/json',
- 'users/update-memo': 'application/json',
- 'fetch-rss': 'application/json',
- 'fetch-external-resources': 'application/json',
- 'retention': 'application/json',
- 'bubble-game/register': 'application/json',
- 'bubble-game/ranking': 'application/json',
- 'reversi/cancel-match': 'application/json',
- 'reversi/games': 'application/json',
- 'reversi/match': 'application/json',
- 'reversi/invitations': 'application/json',
- 'reversi/show-game': 'application/json',
- 'reversi/surrender': 'application/json',
- 'reversi/verify': 'application/json',
-};
+} as const satisfies { [K in keyof Endpoints]?: 'multipart/form-data'; };
From 567acea2a3a040dbde69748deb2112e3ff2b92b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?=
<67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Fri, 6 Sep 2024 17:23:40 +0900
Subject: [PATCH 25/31] =?UTF-8?q?fix(frontend):=20instance=20info=E3=83=9A?=
=?UTF-8?q?=E3=83=BC=E3=82=B8=E3=81=A7=E4=B8=8D=E5=BF=85=E8=A6=81=E3=81=AA?=
=?UTF-8?q?api=E3=83=AA=E3=82=AF=E3=82=A8=E3=82=B9=E3=83=88=E3=81=8C?=
=?UTF-8?q?=E9=A3=9B=E3=81=B6=E3=81=AE=E3=82=92=E6=8A=91=E6=AD=A2=20(#1451?=
=?UTF-8?q?5)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* fix(frontend): instance infoページで不必要なapiリクエストが飛ぶのを抑止
* fix
---
packages/frontend/src/components/MkChart.vue | 50 ++++++++++---------
packages/frontend/src/pages/instance-info.vue | 25 +++++++---
2 files changed, 43 insertions(+), 32 deletions(-)
diff --git a/packages/frontend/src/components/MkChart.vue b/packages/frontend/src/components/MkChart.vue
index 4b24562249..57d325b11a 100644
--- a/packages/frontend/src/components/MkChart.vue
+++ b/packages/frontend/src/components/MkChart.vue
@@ -13,29 +13,8 @@ SPDX-License-Identifier: AGPL-3.0-only