Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions build/frontend-legacy/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion build/frontend-legacy/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
"core-js": "^3.50.0",
"crypto-browserify": "^3.12.1",
"debounce": "^3.0.0",
"dompurify": "^3.4.13",
"dompurify": "^3.4.14",
"escape-html": "^1.0.3",
"focus-trap": "^8.2.2",
"is-svg": "^6.1.0",
Expand Down
12 changes: 12 additions & 0 deletions core/css/fixes.scss
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,15 @@
border: 0;
}

/* ---- LIBRARY FIXES ---- */

/**
* TODO: Hotfix for https://github.com/nextcloud-libraries/nextcloud-vue/issues/8783
*
* NcSelect appends its dropdown to the body, but `--vs-dropdown-z-index` is only
* set on the select itself, so the dropdown falls back to the vue-select default
* of 1000 and ends up behind modals (z-index 9998 and above).
*/
.nc-select__dropdown.vs__dropdown-menu {
--vs-dropdown-z-index: 9999;
}
2 changes: 1 addition & 1 deletion tests/playwright/e2e/files/files-delete.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
const row = filesListPage.getRowForFile('file.txt')
await expect(row).toBeVisible()
// Preview must finish loading before delete — a loading preview can lock the file
await expect(row.locator('.files-list__row-icon-preview--loaded')).toBeVisible()
await filesListPage.waitForPreviewLoaded('file.txt')

const deleteResponse = page.waitForResponse(
(r) => r.url().includes('/remote.php/dav/files/') && r.request().method() === 'DELETE',
Expand Down Expand Up @@ -49,6 +49,6 @@
.click()

await expect(filesListPage.getRows()).toHaveCount(0)
}).toPass({ timeout: 30_000 })

Check failure on line 52 in tests/playwright/e2e/files/files-delete.spec.ts

View workflow job for this annotation

GitHub Actions / Playwright tests 3 / 8

[default] › tests/playwright/e2e/files/files-delete.spec.ts:27:2 › Files: Delete › can delete multiple files

1) [default] › tests/playwright/e2e/files/files-delete.spec.ts:27:2 › Files: Delete › can delete multiple files Error: expect(locator).toHaveCount(expected) failed Locator: locator('[data-cy-files-list-row-fileid]') Expected: 0 Received: 1 Timeout: 5000ms Call log: - Expect "toHaveCount" with timeout 5000ms - waiting for locator('[data-cy-files-list-row-fileid]') 3 × locator resolved to 5 elements - unexpected value "5" 11 × locator resolved to 1 element - unexpected value "1" Call Log: - Timeout 30000ms exceeded while waiting on the predicate 50 | 51 | await expect(filesListPage.getRows()).toHaveCount(0) > 52 | }).toPass({ timeout: 30_000 }) | ^ 53 | }) 54 | }) 55 | at /home/runner/work/server/server/tests/playwright/e2e/files/files-delete.spec.ts:52:6
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,15 @@ const SHARE_NAME = 'shared'
* by a guest.
*/
test.describe('files_sharing: Public share - copy, move and rename files', () => {
test.beforeEach(async ({ user, ownerRequest, publicShare }) => {
test.beforeEach(async ({ user, ownerRequest, publicShare, filesListPage }) => {
await seedSharedFolder(ownerRequest, user, SHARE_NAME)
const share = await createLinkShare(ownerRequest, `/${SHARE_NAME}`, {
permissions: BUNDLED_PERMISSIONS.UPLOAD_AND_UPDATE,
})
await publicShare.open(share.url)
// Every test moves, copies or renames foo.txt, so its preview has to be
// loaded first — a preview being generated locks the file on the server.
await filesListPage.waitForPreviewLoaded('foo.txt')
})

test('can copy a file to another folder', async ({ page, filesListPage, copyMoveDialog }) => {
Expand Down
11 changes: 11 additions & 0 deletions tests/playwright/support/sections/FilesListPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,17 @@ export class FilesListPage {
await moved
}

/**
* Wait for a row's preview thumbnail to be loaded.
*
* Generating a preview locks the file on the server, so a MOVE, COPY or
* DELETE issued while the thumbnail is still being fetched fails with a
* `LockedException`. Await this before any action that writes to the file.
*/
async waitForPreviewLoaded(filename: string): Promise<void> {
await expect(this.getRowForFile(filename).locator('.files-list__row-icon-preview--loaded')).toBeVisible()
}

getFavoriteIconForFile(filename: string): Locator {
return this.getRowForFile(filename).getByRole('img', { name: 'Favorite' })
}
Expand Down
Loading