From 52d2ba03ff458e024c24c8c9a5dc0287ac304783 Mon Sep 17 00:00:00 2001 From: skjnldsv Date: Wed, 9 Sep 2026 20:34:48 +0200 Subject: [PATCH] fix(files_sharing): bump @nextcloud/sharing to 1.0.0-beta.4 Brings three fixes to the dialog: the sharee is called "recipient" throughout, the scrollbar sits at the dialog edge instead of floating over the form, and the recipient menu closes when it opens the permissions modal. The sidebar's own "Remove participant" follows the same wording. Signed-off-by: Barthelemy Briand Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: skjnldsv --- .../src/components/UnifiedShareEntry.spec.ts | 4 ++-- .../src/components/UnifiedShareEntry.vue | 4 ++-- package-lock.json | 24 +++++++++---------- package.json | 2 +- .../files_sharing/unified-share-edit.spec.ts | 2 +- .../e2e/files_sharing/unified-sidebar.spec.ts | 2 +- 6 files changed, 18 insertions(+), 20 deletions(-) diff --git a/apps/files_sharing/src/components/UnifiedShareEntry.spec.ts b/apps/files_sharing/src/components/UnifiedShareEntry.spec.ts index b31f8e28a531f..d8369c9d2ff88 100644 --- a/apps/files_sharing/src/components/UnifiedShareEntry.spec.ts +++ b/apps/files_sharing/src/components/UnifiedShareEntry.spec.ts @@ -146,7 +146,7 @@ describe('deleting the share', () => { describe('removing a participant', () => { it('removes the recipient of the row it was triggered on', async () => { const wrapper = mountEntry(share([recipient('bob'), recipient('carol')])) - await triggerAction(wrapper, 'Remove participant') + await triggerAction(wrapper, 'Remove recipient') expect(removeRecipient).toHaveBeenCalledWith('42', 'UserRecipient', 'bob', null) expect(wrapper.emitted('refresh')).toHaveLength(1) }) @@ -154,7 +154,7 @@ describe('removing a participant', () => { it('does not refresh when the removal fails', async () => { vi.mocked(removeRecipient).mockRejectedValueOnce(new Error('nope')) const wrapper = mountEntry(share([recipient('bob'), recipient('carol')])) - await triggerAction(wrapper, 'Remove participant') + await triggerAction(wrapper, 'Remove recipient') expect(wrapper.emitted('refresh')).toBeUndefined() }) }) diff --git a/apps/files_sharing/src/components/UnifiedShareEntry.vue b/apps/files_sharing/src/components/UnifiedShareEntry.vue index 4b6aafc3069fa..ea874042df503 100644 --- a/apps/files_sharing/src/components/UnifiedShareEntry.vue +++ b/apps/files_sharing/src/components/UnifiedShareEntry.vue @@ -82,11 +82,11 @@ :user="isNoUserRecipient(recipient) ? undefined : recipient.value" :displayName="recipient.display_name" /> - + - {{ t('files_sharing', 'Remove participant') }} + {{ t('files_sharing', 'Remove recipient') }} diff --git a/package-lock.json b/package-lock.json index d0ba736376acc..17c4d60f7e5cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "@nextcloud/password-confirmation": "^6.1.0", "@nextcloud/paths": "^3.1.0", "@nextcloud/router": "^3.1.0", - "@nextcloud/sharing": "^1.0.0-beta.2", + "@nextcloud/sharing": "^1.0.0-beta.4", "@nextcloud/vue": "^9.10.0", "@vueuse/core": "^14.1.0", "@vueuse/integrations": "^14.1.0", @@ -2097,9 +2097,9 @@ } }, "node_modules/@nextcloud/sharing": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-1.0.0-beta.2.tgz", - "integrity": "sha512-XMx32IkE0GoPxEY8lp/lnGIj5AGm2sj9vXUGD7TEw1r+qJfJkhKAwAFjQzEzVzMaa7V1J8KgrvcUVWe4w2e6cA==", + "version": "1.0.0-beta.4", + "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-1.0.0-beta.4.tgz", + "integrity": "sha512-IhfqfgmFSg6LMYfOhhVqeyGAkgp2D80htf3+6hoESoqFFl2672IiurIH3S6oMYCLEcfIw7iXuKZ2MMOAK9i3eQ==", "license": "GPL-3.0-or-later", "dependencies": { "@mdi/svg": "^7.4.47", @@ -2110,17 +2110,15 @@ "@nextcloud/l10n": "^3.4.1", "@nextcloud/logger": "^3.0.3", "@nextcloud/router": "^3.1.0", + "@nextcloud/vue": "^9.11.0", "debounce": "^3.0.0", "is-svg": "^6.1.0", "qrcode.vue": "^3.10.0", - "uuid": "^14.0.2" + "uuid": "^14.0.2", + "vue": "^3.5.0" }, "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - }, - "peerDependencies": { - "@nextcloud/vue": "^9.0.0", - "vue": "^3.5.0" + "node": "^22.0.0 || ^24.0.0 || >=26" } }, "node_modules/@nextcloud/sharing/node_modules/uuid": { @@ -2196,9 +2194,9 @@ } }, "node_modules/@nextcloud/vue": { - "version": "9.10.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-9.10.0.tgz", - "integrity": "sha512-Za9O6ZpRNmjMuKPgiUDg98lY4+sFasemaPY6h7rti4H4An9VglKjL7l/YZh3criJLfhoDL6ACMwZiNcvFV626A==", + "version": "9.11.0", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-9.11.0.tgz", + "integrity": "sha512-LRsyU9Mxs0b2xWqbxygps8O7/i1z4QhNQD9/QDni+VqFY3V0N95mAgmKJm6vfoFuxTAMXERp9bjqFn3UV542gw==", "license": "AGPL-3.0-or-later", "dependencies": { "@ckpack/vue-color": "^1.6.0", diff --git a/package.json b/package.json index 6f4badf45267f..dac70883a84f0 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@nextcloud/password-confirmation": "^6.1.0", "@nextcloud/paths": "^3.1.0", "@nextcloud/router": "^3.1.0", - "@nextcloud/sharing": "^1.0.0-beta.2", + "@nextcloud/sharing": "^1.0.0-beta.4", "@nextcloud/vue": "^9.10.0", "@vueuse/core": "^14.1.0", "@vueuse/integrations": "^14.1.0", diff --git a/tests/playwright/e2e/files_sharing/unified-share-edit.spec.ts b/tests/playwright/e2e/files_sharing/unified-share-edit.spec.ts index f8c9c647e7f0b..024b97506eee3 100644 --- a/tests/playwright/e2e/files_sharing/unified-share-edit.spec.ts +++ b/tests/playwright/e2e/files_sharing/unified-share-edit.spec.ts @@ -120,7 +120,7 @@ test.describe('files_sharing: editing a share with the unified dialog', () => { await expect(menu.getByRole('menuitem', { name: 'Can view (default)' })).toBeVisible() await expect(menu.getByRole('menuitem', { name: 'Custom permissions' })).toBeVisible() - await expect(menu.getByRole('menuitem', { name: 'Remove participant' })).toBeVisible() + await expect(menu.getByRole('menuitem', { name: 'Remove recipient' })).toBeVisible() }) test('caps the recipient toggles at the permissions the share grants', async ({ page, recipient, filesListPage, unifiedShareList, sharingDialog }) => { diff --git a/tests/playwright/e2e/files_sharing/unified-sidebar.spec.ts b/tests/playwright/e2e/files_sharing/unified-sidebar.spec.ts index ec3f5ceb7b44f..654b9dcaf393d 100644 --- a/tests/playwright/e2e/files_sharing/unified-sidebar.spec.ts +++ b/tests/playwright/e2e/files_sharing/unified-sidebar.spec.ts @@ -160,7 +160,7 @@ test.describe('files_sharing: unified share list in the sidebar', () => { const removed = page.waitForResponse((response) => response.request().method() === 'DELETE' && response.url().includes('/recipient')) - await unifiedShareList.triggerAction(recipient.userId, 'Remove participant') + await unifiedShareList.triggerAction(recipient.userId, 'Remove recipient') await removed // One recipient left, so the group collapses into a plain row.