Commit graph

360 commits

Author SHA1 Message Date
Ferdinand Thiessen
1b4243f5a3
fix(NavigationManager): resolve entries only when needed
The `init` method previously contained two different logics:
1. It set up the internal state of default apps and app order
2. It resolved the app navigation entries

The 1. is needed before `add` can be called, so it was always called by
the `add` method, but this also resolved all appinfo.xml entries on the
first `add` call even if never used.
The 2. is only needed when the navigations are actually fetched.

This splits the logic into two functions:
- `init` for the bare initialization
- `resolveAppNavigationEntries` for resolving the entries when
  requesting to output them.

This should give a small performance improvement for API calls and fixes
a problem when navigations are added before all apps are registered.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-06-07 16:54:21 +02:00
Ferdinand Thiessen
b27e4956d1 refactor(NavigationManager): move navigation definitions into apps
The manager itself does not need to know what hardcoded-things an app provides,
instead the apps itself should handle this.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-06-02 22:51:05 +02:00
Andy Scherzinger
17fa2c7605
Merge pull request #60667 from nextcloud/dependabot/composer/vendor-bin/cs-fixer/nextcloud/coding-standard-1.5.0
chore(deps): Bump nextcloud/coding-standard from 1.4.0 to 1.5.0 in /vendor-bin/cs-fixer
2026-06-01 14:04:06 +02:00
Côme Chilliet
1ab09ec753
chore: Apply new coding standard to all files
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +02:00
Git'Fellow
d0d29965e7 fix(test): re-login after cy.uploadContent in conflict-picker
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-06-01 09:47:30 +00:00
Git'Fellow
5ce47795c1 fix(files): Chromium-based browsers drag-and-drop
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-06-01 09:47:30 +00:00
Daniel Calviño Sánchez
2ebfe0dbf4 test: Add E2E tests for trashbin columns
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2026-05-18 00:33:07 +02:00
Ferdinand Thiessen
56293454c8 fix(settings): apply consistent style by using proper components
Use the proper app navigation components for the account management
navigation.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-12 18:01:02 +02:00
Peter Ringelmann
819798f02e chore(ci): Make row action helpers atomic to avoid mid-render detachment
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-11 13:20:48 +02:00
Côme Chilliet
622e06117d chore(ci): Use the proper helper function to trigger action on selected rows
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 13:20:48 +02:00
Côme Chilliet
3771f4f9d6 chore(ci): Invert line checking order in version_restoration
I cannot figure out why the closing of the menu is failing on github CI,
 I do not reproduce locally.
So I simply inverted the checking order so that the menu is not in front
 of the next button we want to click.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 13:20:48 +02:00
Côme Chilliet
4d8bcf9ab8 chore(ci): Increase again timeout for Oracle setup
Looks like it was still not enough, let’s see if doubling helps

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 13:20:48 +02:00
Peter Ringelmann
c36d64d06a fix(cypress): adapt NavigationHeader and theming specs to waffle launcher
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Peter Ringelmann
4cd0ddbf66 feat(core): app menu waffle launcher
- Popover grid replaces the old hamburger overlay
- Roving tabindex keyboard nav (arrow keys, Home/End, Enter/Space)
- Focus returns to whichever trigger opened the popover
- RTL-aware horizontal alignment
- Admin-only "More apps" tile
- Unit + Cypress coverage

Resolves: #59888
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Louis
b468f90ef0
Merge pull request #60023 from nextcloud/fix/fix-oracle-setup-tests
chore: Increase page load timeout for oracle setup tests
2026-05-07 12:50:04 +02:00
Ferdinand Thiessen
d506de9a3c
Merge pull request #60189 from nextcloud/fix/cypress-resize-observer-loop
test(cypress): defer ResizeObserver callbacks to next frame
2026-05-06 18:44:01 +02:00
Peter Ringelmann
1215126fb6 test(cypress): defer ResizeObserver callbacks to next frame
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-06 17:06:13 +02:00
Peter Ringelmann
aefd591b82 chore: extend E2E tests
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-06 13:25:52 +02:00
Ferdinand Thiessen
ed30b1922f
test(appstore): adjust cypress tests for app split
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-05 22:16:01 +02:00
Ferdinand Thiessen
2e0b001a41 refactor(appstore): adjust frontend for new API location
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-05 10:41:04 +02:00
Côme Chilliet
e4b05d34d4
chore: Increase page load timeout for oracle setup tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-04 09:29:55 +02:00
Peter Ringelmann
e5d8c3bad4 Merge remote-tracking branch 'origin/master' into feat/40903/edit-user-dialog
# Conflicts:
#	dist/files-main.js
#	dist/files-main.js.map
2026-04-30 09:09:23 +02:00
Ferdinand Thiessen
473e4b101d test: prevent flaky tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-30 00:55:46 +02:00
Peter Ringelmann
bbd77ac10b test(settings): seed manager setting as JSON array in users_manager spec
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-04-29 16:26:39 +02:00
Peter Ringelmann
2bfdd86561 fix(settings): auth guards, NcSelectUsers migration, form cleanup
Mirror editUser permission checks in editUserMultiField. Swap NcSelect
:user-select for NcSelectUsers. Extract helpers into userFormUtils.ts.
Simplify UserList form init, drop unused Vue import. Update E2E tests.
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-04-29 16:26:29 +02:00
Josh
a33a672477 test(cypress): fix files_external/settings.cy.ts "WebDAV" dropdown selection
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Peter Ringelmann
43a1f7c832 feat(settings): unified search for accounts and groups
Replace the unified search event bus subscription and the separate group
sidebar search with a single input in the account management navigation.
The query is shared via Vuex so UserList and AppNavigationGroupList
react to the same state.

Part of #53862
Fixes #59166

Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-04-23 09:53:22 +02:00
Côme Chilliet
3814bb7de4
chore(cypress): Add handling for added password confirmation dialog
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-21 14:32:15 +02:00
Ferdinand Thiessen
6db75dca92
chore: fix ESLint issues for rules added in ESLint v10
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-20 22:13:24 +02:00
mykh-hailo
415ecb1cf5 feat: remove password column from user table
Signed-off-by: mykh-hailo <kristianderonta0205@gmail.com>
2026-04-08 12:03:56 -04:00
Ferdinand Thiessen
6dfeeffe20
test(cypress): retry if failed on first try
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 19:39:51 +01:00
Ferdinand Thiessen
cec23a0d83
test(cypress): clear state before user tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 01:22:45 +01:00
Ferdinand Thiessen
f075051f4a
test: remove testing internal of libraries and test only app code
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
nfebe
b0bf531c19 test(files): Update scrolling tests for new visible buffer behavior
Adjust test assertions to match the new behavior where scrolling is
skipped for files already in the visible buffer. Tests now verify file
existence rather than full visibility for files within the buffer.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-06 13:04:42 +01:00
Ferdinand Thiessen
aac91a8df9
refactor(files): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 11:46:46 +01:00
Ferdinand Thiessen
904b946611
fix(files): improve handling of copy-move action
1. only show 1 loading toast instead of N for N files in batch
   operation.
2. Reuse more code to reduce duplicated logic.
3. Show the conflict picker once for all files instead of opening a new
   conflict picker for every file to copy / move.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 23:26:50 +01:00
nfebe
b7dceb0b17 feat(sharing): Make share permission in bundled edit configurable
Add config option shareapi_bundle_reshare_with_edit to include reshare
permission in "Allow editing" bundle. Default is true to maintain
backward compatibility.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-05 07:36:04 +01:00
Elizabeth Danzberger
b5092e598f
Merge pull request #57533 from nextcloud/fix/limit-app-to-group-initial-state
fix(app-settings): limit app to group initial state
2026-02-02 13:22:23 -05:00
Ferdinand Thiessen
105eaeae74
test: adjust cypress tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 02:43:35 +01:00
Elizabeth Danzberger
b7c6240327
fix(test): remove group limitation when done
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2026-01-26 13:46:59 -05:00
Elizabeth Danzberger
90deae46c5
test: limit app to group
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2026-01-26 12:46:35 -05:00
Ferdinand Thiessen
ed7fb12b3f
test: adjust Cypress tests for refactored files app UI
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
nfebe
80ab68369f test(sharing): expand advanced settings before accessing its elements
Tests that access elements inside the Advanced Settings section
(hide download, share label, grid view, etc.) must first click
"Advanced settings" to expand it. Previously these tests relied on
buggy auto-expand behavior that occurred when permissions didn't
match bundled values.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-20 19:39:55 +01:00
Ferdinand Thiessen
d3813798bf
chore: update @nextcloud/files to v4.0.0-rc.0
- update library
- adjust sidebar tab handling

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 22:22:57 +01:00
Ferdinand Thiessen
b63aca792f
test: move integration testing of hotkeys to Cypress
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 18:06:15 +01:00
Ferdinand Thiessen
752a62133a
chore: fix or ignore linter issues
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 23:30:21 +01:00
Robin Appelman
ae74dbef2b
Merge pull request #56499 from nextcloud/authoritative-mount-provider-files_external
Add api for authoritative mount providers and implement it for files_external
2026-01-13 16:36:33 +01:00
Ferdinand Thiessen
a05c285979 feat(files_external): implement storage table
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Robin Appelman
c14948f629
test: update cypress test for new files_external mount behavior
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:54 +01:00
Ferdinand Thiessen
fd96a32dda
test: adjust cypress tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:30 +01:00