From af9cb8a625f3169757a0a0199cea6bc4fcd34131 Mon Sep 17 00:00:00 2001 From: "Calum H. (IMB11)" Date: Mon, 27 Jul 2026 12:03:29 +0100 Subject: [PATCH 01/15] fix: 20 user cap --- .../src/pages/instance/share/index.vue | 29 +++++++++++++--- .../share/shared-instance-members-table.vue | 3 +- .../share/shared-instance-share-types.ts | 2 ++ .../share/use-shared-instance-invite-link.ts | 11 ++++-- .../share/use-shared-instance-members.ts | 7 +++- .../sharing/invite-players-modal/index.vue | 3 ++ ...nvite-players-modal-invite-link-editor.vue | 34 +++++++++++++------ 7 files changed, 70 insertions(+), 19 deletions(-) diff --git a/apps/app-frontend/src/pages/instance/share/index.vue b/apps/app-frontend/src/pages/instance/share/index.vue index 65b0f96910..a78d0e8242 100644 --- a/apps/app-frontend/src/pages/instance/share/index.vue +++ b/apps/app-frontend/src/pages/instance/share/index.vue @@ -9,9 +9,19 @@ :link="inviteLink.link.value" :link-expires-at="inviteLink.details.value?.expiresAt" :link-max-uses="inviteLink.details.value?.maxUses" + :link-max-uses-limit="remainingUserSlots" :update-invite-link="inviteLink.update" :user-profile-link="userProfileLink" - :can-invite="!members.exclusiveMutationPending.value && !inviteLink.pending.value" + :can-invite=" + hasRemainingUserSlots && + !members.exclusiveMutationPending.value && + !inviteLink.pending.value + " + :invite-disabled-message=" + hasRemainingUserSlots + ? undefined + : formatMessage(messages.userLimitReached, { limit: SHARED_INSTANCE_USER_LIMIT }) + " @invite="invitePlayer" @cancel="cancelInvite" /> @@ -41,6 +51,7 @@ v-if="members.rows.value.length > 0" :rows="members.rows.value" :actions-locked="sharedInstanceActionsLocked" + :invite-disabled="!hasRemainingUserSlots" :invite-pending="inviteLink.pending.value" :push-update-disabled=" instance.install_stage !== 'installed' || publishState !== 'idle' || !!offline @@ -107,7 +118,7 @@