diff --git a/package-lock.json b/package-lock.json index d9c667f71c..897efb9118 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@mdi/js": "^7.4.47", "@sapphi-red/web-noise-suppressor": "^0.3.5", "@shiguredo/virtual-background": "^2023.2.0", - "@traptitech/traq": "^3.17.0-3", + "@traptitech/traq": "^3.20.1-1", "@traptitech/traq-markdown-it": "^6.3.0", "autosize": "^6.0.1", "cropperjs": "^1.6.2", @@ -4104,14 +4104,14 @@ "integrity": "sha512-tH/Fk1WMsnSuLpuRsXw8iHtdivoCEI5V08hQ7doVm6WmzAnBf/cUzyH9+GbOldPq9Hwv9v9tuy5t/MxmdNAGXg==" }, "node_modules/@traptitech/traq": { - "version": "3.17.0-3", - "resolved": "https://registry.npmjs.org/@traptitech/traq/-/traq-3.17.0-3.tgz", - "integrity": "sha512-PsZltFNiguEfRoAmtOJ7R3wuiLQLh0m6RXfpuFdIaUvP+Z43GI4M1fX7AOOBHXoUIRgHEhLxNNFAo3/IzL/ELQ==", + "version": "3.20.1-1", + "resolved": "https://registry.npmjs.org/@traptitech/traq/-/traq-3.20.1-1.tgz", + "integrity": "sha512-8NOIUWplHlOJQrQDaMxwKI0T6KjUYoFCBzu8SmmDSqr1DQMgReVmOYsekUHry7DnsvAmEha23zhIRAkOwj2Z+Q==", "dependencies": { - "axios": "^1.6.8" + "axios": "^1.7.7" }, "engines": { - "node": "20.x" + "node": ">=20.0.0" } }, "node_modules/@traptitech/traq-markdown-it": { diff --git a/package.json b/package.json index b78a4f0f8f..67334a6422 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@mdi/js": "^7.4.47", "@sapphi-red/web-noise-suppressor": "^0.3.5", "@shiguredo/virtual-background": "^2023.2.0", - "@traptitech/traq": "^3.17.0-3", + "@traptitech/traq": "^3.20.1-1", "@traptitech/traq-markdown-it": "^6.3.0", "autosize": "^6.0.1", "cropperjs": "^1.6.2", diff --git a/src/components/GroupManager/GroupMemberList.vue b/src/components/GroupManager/GroupMemberList.vue index ff8c4b9351..51545d54bb 100644 --- a/src/components/GroupManager/GroupMemberList.vue +++ b/src/components/GroupManager/GroupMemberList.vue @@ -57,15 +57,8 @@ const onClickAdd = () => { const onClickDeleteAll = async () => { if (!confirm('本当に全メンバーを削除しますか?')) return - const ONCE = 10 try { - for (let i = 0; i < Math.ceil(props.members.length / ONCE); i++) { - await Promise.all( - props.members - .slice(i * ONCE, (i + 1) * ONCE) - .map(m => apis.removeUserGroupMember(props.groupId, m.id)) - ) - } + apis.removeUserGroupMembers(props.groupId) } catch { addErrorToast('全メンバーの削除に失敗しました') } diff --git a/src/components/Modal/GroupMemberAddModal/GroupMemberAddModal.vue b/src/components/Modal/GroupMemberAddModal/GroupMemberAddModal.vue index ce5bbd55ed..8109831582 100644 --- a/src/components/Modal/GroupMemberAddModal/GroupMemberAddModal.vue +++ b/src/components/Modal/GroupMemberAddModal/GroupMemberAddModal.vue @@ -51,13 +51,12 @@ const role = ref('') const isAdding = ref(false) const add = async () => { isAdding.value = true + const reqIds = Array.from(userIds.value) try { - for (const userId of userIds.value) { - await apis.addUserGroupMember(props.id, { - id: userId, - role: role.value - }) - } + await apis.addUserGroupMember( + props.id, + reqIds.map(id => ({ id, role: role.value })) + ) } catch { addErrorToast('グループメンバーの追加に失敗しました') } diff --git a/src/lib/apis.ts b/src/lib/apis.ts index 601a7dc461..0c5467880b 100644 --- a/src/lib/apis.ts +++ b/src/lib/apis.ts @@ -1,5 +1,4 @@ import type { - WebRTCUserStateSessionsInner, ChannelEvent, ChannelEventTypeEnum, ChildCreatedEvent, @@ -8,6 +7,7 @@ import type { ParentChangedEvent, PinAddedEvent, PinRemovedEvent, + Session, SubscribersChangedEvent, TopicChangedEvent, VisibilityChangedEvent @@ -18,7 +18,7 @@ import { DEV_SERVER } from '/@/lib/define' import type { AxiosError } from 'axios' import { constructFilesPath } from '/@/router' -export type { WebRTCUserStateSessionsInner as WebRTCUserStateSessions } +export type { Session as WebRTCUserStateSessions } export const BASE_PATH = '/api/v3' export const WEBSOCKET_ENDPOINT = '/api/v3/ws'