aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src
Commit message (Collapse)AuthorAgeFilesLines
* refactor(files): use new `hide-download` WebDAV property for download actionFerdinand Thiessen5 days2-1/+8
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): show hidden files and folders count in summaryskjnldsv2025-04-023-25/+41
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* chore(files): remove popover workaround after vue lib updateskjnldsv2025-04-021-6/+2
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): right click actions menu flickerskjnldsv2025-04-022-19/+39
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): Properly encode URLs when preparing ZIP downloadFabian Zwemke2025-03-261-3/+3
| | | | Signed-off-by: Fabian Zwemke <fabian@zwemke.de>
* feat(files): hide "Personal files" and "Shared with others" views if user ↵skjnldsv2025-03-251-0/+7
| | | | | | has no quota Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): Ensure actions never overflow filenameFerdinand Thiessen2025-03-241-3/+20
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* Merge pull request #51400 from nextcloud/chore/tests-hot-keyFerdinand Thiessen2025-03-171-26/+23
|\ | | | | test: speed up hotkey tests by 2.4s
| * test: speed up hotkey tests by 2.4schore/tests-hot-keyFerdinand Thiessen2025-03-111-26/+23
| | | | | | | | | | | | | | | | | | | | | | That is about 2500% as we needed to always wait for the timeout of 500ms. As the event was already handled - compared to now where we only wait for one tick which is about 20ms. Also the tests did not work as expected - for shift and meta key they did not report the failing tests. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* | fix(files_sharing): ensure share status action works also in grid viewFerdinand Thiessen2025-03-131-15/+21
| | | | | | | | | | | | | | | | | | | | | | | | Remove some hacks from files app about the *files_sharing* status action, in general not sure why this hack was there instead of being in the correct app - but it broke the grid view. So now the sharing information is also available in grid view. Moreover the icon is fixed in size to not overflow the actions menu. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* | fix(files): correctly handle plural translation formsCaitlin Jordan2025-03-121-15/+8
|/ | | | | Co-authored-by: Caitlin Jordan <jordan.cait17@gmail.com> Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): also enable delete action if trashbin is disabledFerdinand Thiessen2025-03-111-9/+10
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): also show file list headers on empty viewsFerdinand Thiessen2025-03-055-22/+97
| | | | | | | It is needed, e.g. for the note-to-recipient, that the headers are also shown when there is no content (yet). Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files_sharing): ensure downloaded file has the correct filenameFerdinand Thiessen2025-03-052-5/+30
| | | | | | | | Single file shares use the share token as source name, so we need to use the displayname. To do so we need to set the download attribute to the displayname of the file to download. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* Merge pull request #51146 from nextcloud/fix/files-trash-downloadKate2025-03-031-2/+8
|\ | | | | fix(files_trashbin): disable bulk download for trashbin
| * fix(files_trashbin): disable bulk download for trashbinFerdinand Thiessen2025-02-281-2/+8
| | | | | | | | | | | | | | The backend does not allow bulk download within the trashbin, so we need to disable this also on the frontend. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* | fix(l10n): use `do not` instead of `don't`Valdnet2025-02-282-2/+2
|/ | | | Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
* refactor: use eventbus for updated filtersFerdinand Thiessen2025-02-283-15/+7
| | | | | | | prevent filters not applied if `filtersChanged` was set before file list mounted. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): Ensure the filter instance is mountedFerdinand Thiessen2025-02-282-2/+7
| | | | | | | | `reset` could be called before the filters are mounted, in this case it is valid to update the presets, but we must not try to access the vue instance (as it does not exist yet). Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): exception when share-attributes is undefinedVarun Patil2025-02-271-1/+1
| | | | | Signed-off-by: Varun Patil <varunpatil@ucla.edu> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
* fix(l10n): Improve english source stringsJoas Schilling2025-02-263-3/+3
| | | | | | | - No leading/trailing whitespace - Use asci single quote Signed-off-by: Joas Schilling <coding@schilljs.com>
* fix(l10n): Spelling standardizationValdnet2025-02-253-4/+4
| | | | Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
* feat(files): allow to ignore warning to change file typeFerdinand Thiessen2025-02-258-169/+417
| | | | | | | | | | | | | * Missing pieces of https://github.com/nextcloud/server/issues/46528 * Add checkbox to not show this dialog again * Add user config as suggested by designers in files settings to reenable or diable this behavior. * Fix behavior of dialog: It says "keep .ext" but it does not keep the extension but cancels the operation. From the button label the user expects that the operation is continued but with the old extension. * Added more test coverage by adding component tests. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix: rename 'edit locally' to 'open locally'Jérôme Herbinet2025-02-213-11/+11
| | | | | | Replace "Edit" by "Open" Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
* fix(files): handle failed node properlyskjnldsv2025-02-211-2/+22
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* refactor: Migrate nextcloud-vue usage to new import schemaFerdinand Thiessen2025-02-2031-87/+89
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): do not show extension warning for folders renamingfix/files-rename-folderskjnldsv2025-02-191-3/+3
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): attach sidebar to main content for vue debugskjnldsv2025-02-182-15/+26
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): properly show file not found errorskjnldsv2025-02-181-3/+13
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): properly forward open params from short urlsskjnldsv2025-02-181-5/+9
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(transferownership): allow searching by email, display ↵Julien Veyssier2025-02-171-14/+6
| | | | | | user.shareWithDisplayNameUnique in item subline, adjust style Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
* fix(template-filler): Hide template fields with unknown labelsElizabeth Danzberger2025-02-133-5/+13
| | | | Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
* fix(files): only send config update requests if user is logged inFerdinand Thiessen2025-02-085-127/+126
| | | | | | | | | | | | Since we use the files app also for public shares it is not guaranteed that there is a user logged in, in that case the update for user / view config will fail. So ensure there is a user or do not send a request. Also refactor both stores to setup styles to fix (remove) initialization hack, which causes Typescript issues. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* chore(files): add actions cypress testsskjnldsv2025-02-071-1/+1
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): support submenu in batch actions header tooskjnldsv2025-02-065-60/+201
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): Do not download files with `openfile` query flagFerdinand Thiessen2025-02-062-35/+68
| | | | | | | Instead of downloading files, if there is no other default action, we should just open the details tab. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): Correctly scroll selected file into viewFerdinand Thiessen2025-02-053-51/+122
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): properly update store on files conversions successskjnldsv2025-02-045-63/+63
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): Fix casingChristopher Ng2025-02-041-1/+1
| | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* chore(files): Change "filename" to "file name"Christopher Ng2025-02-041-1/+1
| | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* fix: Use `searchFrom` property for client side pluginsfix/noid/fix-unified-search-provider-idnfebe2025-01-301-0/+2
| | | | | | | | | | | The client-side plugin `in-folder` uses the `files` provider, this makes it overlap with the main files provider itself. This change follows eecda06f1ad2832cc2a7b31d646458f730c8412a after it was discovered that some apps/providers like `dav` use providers from another app like `contacts` Signed-off-by: nfebe <fenn25.fn@gmail.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
* fix(files): Allow opening the same file repeatedlyprovokateurin2025-01-301-1/+1
| | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* perf(files): Check node type property instead of instanceChristopher Ng2025-01-291-4/+4
| | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* fix(unified-search): Prevent multiple file picker triggers in in-folder searchfix/load-more-than-5-items-in-folder-filternfebe2025-01-291-20/+24
| | | | Signed-off-by: nfebe <fenn25.fn@gmail.com>
* fix(unified-search): Use appId for searchingnfebe2025-01-291-2/+3
| | | | | | | | | | | | | | Each provider may search from a particular app so we should use that for searching. Before this commit, we used `provider.id` instead of `provider.appId` the problem with the previous approach is that it forces the provider id to be a valid search provider (an app that supports search) limiting the developers ability to use unique IDs to identify the different providers (especially plugin providers) inside the places filter. For example the Files search plugin "In folder" (search in folder plugin) was required to have id as `files` while the files provider itself already has id as `files`. Signed-off-by: nfebe <fenn25.fn@gmail.com>
* fix: Hide "Create templates folder" option if templates are disabled in ↵Pawel Boguslawski2025-01-271-2/+4
| | | | | | | | | | | | | | | | configuration When both `skeletondirectory` and `templatedirectory` are set to empty strings in configuration, templates folder creation should be disabled and no Create templates folder option should be present in new folder menu. Related: https://github.com/nextcloud/server/issues/39266 Related: https://github.com/nextcloud/server/issues/46455 Author-Change-Id: IB#1156403 Signed-off-by: Pawel Boguslawski <pawel.boguslawski@ib.pl> Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
* fix(files): jsunit file_conversionsfeat/file-conversion-provider-frontskjnldsv2025-01-221-1/+1
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): better conversion error messagesskjnldsv2025-01-221-3/+6
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* feat(files): add conversion actionskjnldsv2025-01-224-1/+228
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): Ensure favorites set in sidebar workFerdinand Thiessen2025-01-213-10/+32
| | | | | | | | | | | | | | When marking a file as favorite from within the sidebar make sure it really works, this fixes two issues: 1. The source needs to be the plain source not URL encoded, as otherwise the source of the node would be encoded twice (and show with encoding in the navigation) 2. The store should also listen for the update events as the sidebar has no access to the real node to update it, instead the store should - as long as we only have the legacy sidebar - update the node when added or removed as favorite. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>