Merge pull request #46690 from nextcloud/fix/files-displayname

Update `@nextcloud/files` to 3.6.0 and fix display name handling of folders (breadcrumbs and filename)
pull/46729/head
Ferdinand Thiessen 4 months ago committed by GitHub
commit d843d671d5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      apps/files/src/actions/openFolderAction.ts
  2. 6
      apps/files/src/components/BreadCrumbs.vue
  3. 2
      apps/files/src/components/FileEntry.vue
  4. 14
      apps/files/src/components/FileEntry/FileEntryName.vue
  5. 2
      apps/files/src/components/FileEntryGrid.vue
  6. 32
      apps/files/src/components/FileEntryMixin.ts
  7. 9
      apps/files/src/services/Files.ts
  8. 100
      apps/files/src/services/SortingService.spec.ts
  9. 59
      apps/files/src/services/SortingService.ts
  10. 49
      apps/files/src/views/FilesList.vue
  11. 25
      cypress/e2e/files/files_sorting.cy.ts
  12. 6
      dist/6778-6778.js.license
  13. 6
      dist/8377-8377.js.license
  14. 2
      dist/8755-8755.js.license
  15. 2
      dist/8832-8832.js.license
  16. 2
      dist/9480-9480.js.license
  17. 6
      dist/comments-init.js.license
  18. 4
      dist/core-common.js
  19. 2
      dist/core-common.js.license
  20. 2
      dist/core-common.js.map
  21. 2
      dist/core-login.js.license
  22. 2
      dist/core-main.js.license
  23. 4
      dist/files-init.js
  24. 6
      dist/files-init.js.license
  25. 2
      dist/files-init.js.map
  26. 4
      dist/files-main.js
  27. 2
      dist/files-main.js.license
  28. 2
      dist/files-main.js.map
  29. 2
      dist/files-reference-files.js.license
  30. 2
      dist/files-sidebar.js.license
  31. 6
      dist/files_external-init.js.license
  32. 6
      dist/files_reminders-init.js.license
  33. 4
      dist/files_sharing-files_sharing_tab.js
  34. 2
      dist/files_sharing-files_sharing_tab.js.map
  35. 2
      dist/files_sharing-init.js.license
  36. 4
      dist/files_sharing-personal-settings.js
  37. 2
      dist/files_sharing-personal-settings.js.map
  38. 2
      dist/files_trashbin-init.js.license
  39. 2
      dist/files_versions-files_versions.js.license
  40. 2
      dist/settings-users-3239.js.license
  41. 4
      dist/settings-vue-settings-admin-basic-settings.js
  42. 2
      dist/settings-vue-settings-admin-basic-settings.js.map
  43. 4
      dist/settings-vue-settings-admin-delegation.js
  44. 2
      dist/settings-vue-settings-admin-delegation.js.map
  45. 2
      dist/settings-vue-settings-apps-users-management.js.license
  46. 4
      dist/sharebymail-vue-settings-admin-sharebymail.js
  47. 2
      dist/sharebymail-vue-settings-admin-sharebymail.js.map
  48. 6
      dist/systemtags-init.js.license
  49. 11
      package-lock.json
  50. 2
      package.json

@ -10,7 +10,7 @@ export const action = new FileAction({
id: 'open-folder',
displayName(files: Node[]) {
// Only works on single node
const displayName = files[0].attributes.displayname || files[0].basename
const displayName = files[0].displayname
return t('files', 'Open folder {displayName}', { displayName })
},
iconSvgInline: () => FolderSvg,

@ -158,9 +158,9 @@ export default defineComponent({
return this.$navigation?.active?.name || t('files', 'Home')
}
const source: FileSource | null = this.getFileSourceFromPath(path)
const node: Node | undefined = source ? this.getNodeFromSource(source) : undefined
return node?.attributes?.displayname || basename(path)
const source = this.getFileSourceFromPath(path)
const node = source ? this.getNodeFromSource(source) : undefined
return node?.displayname || basename(path)
},
onClick(to) {

@ -34,7 +34,7 @@
@click.native="execDefaultAction" />
<FileEntryName ref="name"
:display-name="displayName"
:basename="basename"
:extension="extension"
:files-list-width="filesListWidth"
:nodes="nodes"

@ -29,8 +29,8 @@
v-bind="linkTo.params">
<!-- File name -->
<span class="files-list__row-name-text">
<!-- Keep the displayName stuck to the extension to avoid whitespace rendering issues-->
<span class="files-list__row-name-" v-text="displayName" />
<!-- Keep the filename stuck to the extension to avoid whitespace rendering issues-->
<span class="files-list__row-name-" v-text="basename" />
<span class="files-list__row-name-ext" v-text="extension" />
</span>
</component>
@ -64,10 +64,16 @@ export default defineComponent({
},
props: {
displayName: {
/**
* The filename without extension
*/
basename: {
type: String,
required: true,
},
/**
* The extension of the filename
*/
extension: {
type: String,
required: true,
@ -155,7 +161,7 @@ export default defineComponent({
params: {
download: this.source.basename,
href: this.source.source,
title: t('files', 'Download file {name}', { name: this.displayName }),
title: t('files', 'Download file {name}', { name: `${this.basename}${this.extension}` }),
tabindex: '0',
},
}

@ -36,7 +36,7 @@
@click.native="execDefaultAction" />
<FileEntryName ref="name"
:display-name="displayName"
:basename="basename"
:extension="extension"
:files-list-width="filesListWidth"
:grid-mode="true"

@ -74,19 +74,31 @@ export default defineComponent({
return this.source.status === NodeStatus.LOADING
},
extension() {
if (this.source.attributes?.displayname) {
return extname(this.source.attributes.displayname)
/**
* The display name of the current node
* Either the nodes filename or a custom display name (e.g. for shares)
*/
displayName() {
return this.source.displayname
},
/**
* The display name without extension
*/
basename() {
if (this.extension === '') {
return this.displayName
}
return this.source.extension || ''
return this.displayName.slice(0, 0 - this.extension.length)
},
displayName() {
const ext = this.extension
const name = String(this.source.attributes.displayname
|| this.source.basename)
/**
* The extension of the file
*/
extension() {
if (this.source.type === FileType.Folder) {
return ''
}
// Strip extension from name if defined
return !ext ? name : name.slice(0, 0 - ext.length)
return extname(this.displayName)
},
draggingFiles() {

@ -14,7 +14,14 @@ import logger from '../logger.js'
* Slim wrapper over `@nextcloud/files` `davResultToNode` to allow using the function with `Array.map`
* @param node The node returned by the webdav library
*/
export const resultToNode = (node: FileStat): File | Folder => davResultToNode(node)
export const resultToNode = (node: FileStat): File | Folder => {
// TODO remove this hack with nextcloud-files v3.7
// just needed because of a bug in the webdav client
if (node.props?.displayname !== undefined) {
node.props.displayname = String(node.props.displayname)
}
return davResultToNode(node)
}
export const getContents = (path = '/'): CancelablePromise<ContentsWithRoot> => {
const controller = new AbortController()

@ -1,100 +0,0 @@
/**
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { describe, expect } from '@jest/globals'
import { orderBy } from './SortingService'
describe('SortingService', () => {
test('By default the identify and ascending order is used', () => {
const array = ['a', 'z', 'b']
expect(orderBy(array)).toEqual(['a', 'b', 'z'])
})
test('Use identifiy but descending', () => {
const array = ['a', 'z', 'b']
expect(orderBy(array, undefined, ['desc'])).toEqual(['z', 'b', 'a'])
})
test('Can set identifier function', () => {
const array = [
{ text: 'a', order: 2 },
{ text: 'z', order: 1 },
{ text: 'b', order: 3 },
] as const
expect(orderBy(array, [(v) => v.order]).map((v) => v.text)).toEqual(['z', 'a', 'b'])
})
test('Can set multiple identifier functions', () => {
const array = [
{ text: 'a', order: 2, secondOrder: 2 },
{ text: 'z', order: 1, secondOrder: 3 },
{ text: 'b', order: 2, secondOrder: 1 },
] as const
expect(orderBy(array, [(v) => v.order, (v) => v.secondOrder]).map((v) => v.text)).toEqual(['z', 'b', 'a'])
})
test('Can set order partially', () => {
const array = [
{ text: 'a', order: 2, secondOrder: 2 },
{ text: 'z', order: 1, secondOrder: 3 },
{ text: 'b', order: 2, secondOrder: 1 },
] as const
expect(
orderBy(
array,
[(v) => v.order, (v) => v.secondOrder],
['desc'],
).map((v) => v.text),
).toEqual(['b', 'a', 'z'])
})
test('Can set order array', () => {
const array = [
{ text: 'a', order: 2, secondOrder: 2 },
{ text: 'z', order: 1, secondOrder: 3 },
{ text: 'b', order: 2, secondOrder: 1 },
] as const
expect(
orderBy(
array,
[(v) => v.order, (v) => v.secondOrder],
['desc', 'desc'],
).map((v) => v.text),
).toEqual(['a', 'b', 'z'])
})
test('Numbers are handled correctly', () => {
const array = [
{ text: '2.3' },
{ text: '2.10' },
{ text: '2.0' },
{ text: '2.2' },
] as const
expect(
orderBy(
array,
[(v) => v.text],
).map((v) => v.text),
).toEqual(['2.0', '2.2', '2.3', '2.10'])
})
test('Numbers with suffixes are handled correctly', () => {
const array = [
{ text: '2024-01-05' },
{ text: '2024-05-01' },
{ text: '2024-01-10' },
{ text: '2024-01-05 Foo' },
] as const
expect(
orderBy(
array,
[(v) => v.text],
).map((v) => v.text),
).toEqual(['2024-01-05', '2024-01-05 Foo', '2024-01-10', '2024-05-01'])
})
})

@ -1,59 +0,0 @@
/**
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { getCanonicalLocale, getLanguage } from '@nextcloud/l10n'
type IdentifierFn<T> = (v: T) => unknown
type SortingOrder = 'asc'|'desc'
/**
* Helper to create string representation
* @param value Value to stringify
*/
function stringify(value: unknown) {
// The default representation of Date is not sortable because of the weekday names in front of it
if (value instanceof Date) {
return value.toISOString()
}
return String(value)
}
/**
* Natural order a collection
* You can define identifiers as callback functions, that get the element and return the value to sort.
*
* @param collection The collection to order
* @param identifiers An array of identifiers to use, by default the identity of the element is used
* @param orders Array of orders, by default all identifiers are sorted ascening
*/
export function orderBy<T>(collection: readonly T[], identifiers?: IdentifierFn<T>[], orders?: SortingOrder[]): T[] {
// If not identifiers are set we use the identity of the value
identifiers = identifiers ?? [(value) => value]
// By default sort the collection ascending
orders = orders ?? []
const sorting = identifiers.map((_, index) => (orders[index] ?? 'asc') === 'asc' ? 1 : -1)
const collator = Intl.Collator(
[getLanguage(), getCanonicalLocale()],
{
// handle 10 as ten and not as one-zero
numeric: true,
usage: 'sort',
},
)
return [...collection].sort((a, b) => {
for (const [index, identifier] of identifiers.entries()) {
// Get the local compare of stringified value a and b
const value = collator.compare(stringify(identifier(a)), stringify(identifier(b)))
// If they do not match return the order
if (value !== 0) {
return value * sorting[index]
}
// If they match we need to continue with the next identifier
}
// If all are equal we need to return equality
return 0
})
}

@ -120,7 +120,7 @@ import type { UserConfig } from '../types.ts'
import { getCapabilities } from '@nextcloud/capabilities'
import { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'
import { Folder, Node, Permission } from '@nextcloud/files'
import { Folder, Node, Permission, sortNodes } from '@nextcloud/files'
import { translate as t } from '@nextcloud/l10n'
import { join, dirname, normalize } from 'path'
import { showError, showWarning } from '@nextcloud/dialogs'
@ -148,7 +148,6 @@ import { useSelectionStore } from '../store/selection.ts'
import { useUploaderStore } from '../store/uploader.ts'
import { useUserConfigStore } from '../store/userconfig.ts'
import { useViewConfigStore } from '../store/viewConfig.ts'
import { orderBy } from '../services/SortingService.ts'
import BreadCrumbs from '../components/BreadCrumbs.vue'
import FilesListVirtual from '../components/FilesListVirtual.vue'
import filesListWidthMixin from '../mixins/filesListWidth.ts'
@ -291,44 +290,10 @@ export default defineComponent({
return this.filesStore.getNode(source) as Folder
},
/**
* Directory content sorting parameters
* Provided by an extra computed property for caching
*/
sortingParameters() {
const identifiers = [
// 1: Sort favorites first if enabled
...(this.userConfig.sort_favorites_first ? [v => v.attributes?.favorite !== 1] : []),
// 2: Sort folders first if sorting by name
...(this.userConfig.sort_folders_first ? [v => v.type !== 'folder'] : []),
// 3: Use sorting mode if NOT basename (to be able to use displayName too)
...(this.sortingMode !== 'basename' ? [v => v[this.sortingMode]] : []),
// 4: Use displayname if available, fallback to name
v => v.attributes?.displayname || v.basename,
// 5: Finally, use basename if all previous sorting methods failed
v => v.basename,
]
const orders = [
// (for 1): always sort favorites before normal files
...(this.userConfig.sort_favorites_first ? ['asc'] : []),
// (for 2): always sort folders before files
...(this.userConfig.sort_folders_first ? ['asc'] : []),
// (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower
...(this.sortingMode === 'mtime' ? [this.isAscSorting ? 'desc' : 'asc'] : []),
// (also for 3 so make sure not to conflict with 2 and 3)
...(this.sortingMode !== 'mtime' && this.sortingMode !== 'basename' ? [this.isAscSorting ? 'asc' : 'desc'] : []),
// for 4: use configured sorting direction
this.isAscSorting ? 'asc' : 'desc',
// for 5: use configured sorting direction
this.isAscSorting ? 'asc' : 'desc',
] as ('asc'|'desc')[]
return [identifiers, orders] as const
},
/**
* The current directory contents.
*/
dirContentsSorted(): Node[] {
dirContentsSorted() {
if (!this.currentView) {
return []
}
@ -351,10 +316,12 @@ export default defineComponent({
return this.isAscSorting ? results : results.reverse()
}
return orderBy(
filteredDirContent,
...this.sortingParameters,
)
return sortNodes(filteredDirContent, {
sortFavoritesFirst: this.userConfig.sort_favorites_first,
sortFoldersFirst: this.userConfig.sort_folders_first,
sortingMode: this.sortingMode,
sortingOrder: this.isAscSorting ? 'asc' : 'desc',
})
},
dirContents(): Node[] {

@ -41,6 +41,31 @@ describe('Files: Sorting the file list', { testIsolation: true }, () => {
})
})
/**
* Regression test of https://github.com/nextcloud/server/issues/45829
*/
it('Filesnames with numbers are sorted by name ascending by default', () => {
cy.uploadContent(currentUser, new Blob(), 'text/plain', '/name.txt')
.uploadContent(currentUser, new Blob(), 'text/plain', '/name_03.txt')
.uploadContent(currentUser, new Blob(), 'text/plain', '/name_02.txt')
.uploadContent(currentUser, new Blob(), 'text/plain', '/name_01.txt')
cy.login(currentUser)
cy.visit('/apps/files')
cy.get('[data-cy-files-list-row]').each(($row, index) => {
switch (index) {
case 0: expect($row.attr('data-cy-files-list-row-name')).to.eq('name.txt')
break
case 1: expect($row.attr('data-cy-files-list-row-name')).to.eq('name_01.txt')
break
case 2: expect($row.attr('data-cy-files-list-row-name')).to.eq('name_02.txt')
break
case 3: expect($row.attr('data-cy-files-list-row-name')).to.eq('name_03.txt')
break
}
})
})
it('Can sort by size', () => {
cy.uploadContent(currentUser, new Blob(), 'text/plain', '/1 tiny.txt')
.uploadContent(currentUser, new Blob(['a'.repeat(1024)]), 'text/plain', '/z big.txt')

@ -13,6 +13,7 @@ SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
SPDX-FileCopyrightText: Stefan-Gabriel Muscalu <stefan.gabriel.muscalu@gmail.com>
SPDX-FileCopyrightText: Sindre Sorhus
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
SPDX-FileCopyrightText: Roeland Jago Douma
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
SPDX-FileCopyrightText: Matt Zabriskie
SPDX-FileCopyrightText: Joyent
@ -45,6 +46,9 @@ This file is generated from multiple sources. Included packages:
- @nextcloud/axios
- version: 2.5.0
- license: GPL-3.0-or-later
- @nextcloud/capabilities
- version: 1.2.0
- license: GPL-3.0-or-later
- @nextcloud/dialogs
- version: 5.3.5
- license: AGPL-3.0-or-later
@ -55,7 +59,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -11,6 +11,7 @@ SPDX-FileCopyrightText: Varun A P
SPDX-FileCopyrightText: Tobias Koppers @sokra
SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
SPDX-FileCopyrightText: Roeland Jago Douma
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
SPDX-FileCopyrightText: Matt Zabriskie
@ -42,6 +43,9 @@ This file is generated from multiple sources. Included packages:
- @nextcloud/axios
- version: 2.5.0
- license: GPL-3.0-or-later
- @nextcloud/capabilities
- version: 1.2.0
- license: GPL-3.0-or-later
- @nextcloud/dialogs
- version: 5.3.5
- license: AGPL-3.0-or-later
@ -52,7 +56,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -87,7 +87,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -68,7 +68,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -113,7 +113,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -8,6 +8,7 @@ SPDX-FileCopyrightText: escape-html developers
SPDX-FileCopyrightText: assert developers
SPDX-FileCopyrightText: Tobias Koppers @sokra
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
SPDX-FileCopyrightText: Roeland Jago Douma
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
SPDX-FileCopyrightText: Joyent
@ -26,6 +27,9 @@ This file is generated from multiple sources. Included packages:
- @nextcloud/auth
- version: 2.3.0
- license: GPL-3.0-or-later
- @nextcloud/capabilities
- version: 1.2.0
- license: GPL-3.0-or-later
- semver
- version: 7.6.2
- license: ISC
@ -33,7 +37,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

File diff suppressed because one or more lines are too long

@ -145,7 +145,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

File diff suppressed because one or more lines are too long

@ -70,7 +70,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -86,7 +86,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

File diff suppressed because one or more lines are too long

@ -15,6 +15,7 @@ SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
SPDX-FileCopyrightText: Stefan-Gabriel Muscalu <stefan.gabriel.muscalu@gmail.com>
SPDX-FileCopyrightText: Sindre Sorhus
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
SPDX-FileCopyrightText: Roeland Jago Douma
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
SPDX-FileCopyrightText: Matt Zabriskie
@ -54,6 +55,9 @@ This file is generated from multiple sources. Included packages:
- @nextcloud/axios
- version: 2.5.0
- license: GPL-3.0-or-later
- @nextcloud/capabilities
- version: 1.2.0
- license: GPL-3.0-or-later
- @nextcloud/dialogs
- version: 5.3.5
- license: AGPL-3.0-or-later
@ -64,7 +68,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -81,7 +81,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

File diff suppressed because one or more lines are too long

@ -96,7 +96,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -104,7 +104,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -11,6 +11,7 @@ SPDX-FileCopyrightText: Varun A P
SPDX-FileCopyrightText: Tobias Koppers @sokra
SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
SPDX-FileCopyrightText: Roeland Jago Douma
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
SPDX-FileCopyrightText: Matt Zabriskie
@ -42,6 +43,9 @@ This file is generated from multiple sources. Included packages:
- @nextcloud/axios
- version: 2.5.0
- license: GPL-3.0-or-later
- @nextcloud/capabilities
- version: 1.2.0
- license: GPL-3.0-or-later
- @nextcloud/dialogs
- version: 5.3.5
- license: AGPL-3.0-or-later
@ -52,7 +56,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -11,6 +11,7 @@ SPDX-FileCopyrightText: Varun A P
SPDX-FileCopyrightText: Tobias Koppers @sokra
SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
SPDX-FileCopyrightText: Roeland Jago Douma
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
SPDX-FileCopyrightText: Matt Zabriskie
@ -42,6 +43,9 @@ This file is generated from multiple sources. Included packages:
- @nextcloud/axios
- version: 2.5.0
- license: GPL-3.0-or-later
- @nextcloud/capabilities
- version: 1.2.0
- license: GPL-3.0-or-later
- @nextcloud/dialogs
- version: 5.3.5
- license: AGPL-3.0-or-later
@ -52,7 +56,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -50,7 +50,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -81,7 +81,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -92,7 +92,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

@ -89,7 +89,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -73,7 +73,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -16,6 +16,7 @@ SPDX-FileCopyrightText: Tobias Koppers @sokra
SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
SPDX-FileCopyrightText: Sindre Sorhus
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
SPDX-FileCopyrightText: Roeland Jago Douma
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
SPDX-FileCopyrightText: Perry Mitchell <perry@perrymitchell.net>
SPDX-FileCopyrightText: Paul Vorbach <paul@vorba.ch> (http://paul.vorba.ch)
@ -55,6 +56,9 @@ This file is generated from multiple sources. Included packages:
- @nextcloud/axios
- version: 2.5.0
- license: GPL-3.0-or-later
- @nextcloud/capabilities
- version: 1.2.0
- license: GPL-3.0-or-later
- semver
- version: 7.6.2
- license: ISC
@ -62,7 +66,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.3.1
- license: GPL-3.0-or-later
- @nextcloud/files
- version: 3.5.1
- version: 3.6.0
- license: AGPL-3.0-or-later
- @nextcloud/initial-state
- version: 2.2.0

11
package-lock.json generated

@ -20,7 +20,7 @@
"@nextcloud/capabilities": "^1.2.0",
"@nextcloud/dialogs": "^5.3.5",
"@nextcloud/event-bus": "^3.3.1",
"@nextcloud/files": "^3.5.1",
"@nextcloud/files": "^3.6.0",
"@nextcloud/initial-state": "^2.2.0",
"@nextcloud/l10n": "^3.1.0",
"@nextcloud/logger": "^3.0.2",
@ -4440,16 +4440,17 @@
}
},
"node_modules/@nextcloud/files": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.5.1.tgz",
"integrity": "sha512-GkVWUgkBSVt27Carmp/DbnDiqHq03w3VQWt8xszacp/IQSB9G+8/KCvi8zxldac2q7lQ8NpHlB/Bqy8o+OOc0A==",
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.6.0.tgz",
"integrity": "sha512-/3kzEJ1TsCgjkSVhjdI+FnF0c2rvYtiTAQPoNqkNQYFa7Vbor+XPuypBQIJZFMDMzEgUexAL4QuQT3YmeSfBAA==",
"dependencies": {
"@nextcloud/auth": "^2.3.0",
"@nextcloud/capabilities": "^1.2.0",
"@nextcloud/l10n": "^3.1.0",
"@nextcloud/logger": "^3.0.2",
"@nextcloud/paths": "^2.1.0",
"@nextcloud/router": "^3.0.1",
"@nextcloud/sharing": "^0.2.1",
"@nextcloud/sharing": "^0.2.2",
"cancelable-promise": "^4.3.1",
"is-svg": "^5.0.1",
"typescript-event-target": "^1.1.1",

@ -48,7 +48,7 @@
"@nextcloud/capabilities": "^1.2.0",
"@nextcloud/dialogs": "^5.3.5",
"@nextcloud/event-bus": "^3.3.1",
"@nextcloud/files": "^3.5.1",
"@nextcloud/files": "^3.6.0",
"@nextcloud/initial-state": "^2.2.0",
"@nextcloud/l10n": "^3.1.0",
"@nextcloud/logger": "^3.0.2",

Loading…
Cancel
Save