Compare commits

...

688 Commits

Author SHA1 Message Date
Josh 0ca558d47b chore: fixup for lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-01 13:17:56 -05:00
Josh 38a91680b3 chore: fixup for lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-01 13:17:21 -05:00
Josh 33618a14cf chore: fixup for lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-01 13:16:12 -05:00
Josh e041305011 chore: fixup for lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-01 13:15:04 -05:00
Josh f801fe74ec test: fix setMiddlewareExpectations method to match implementation
Wasn't a problem before that it was null here because getStatusHeader() lacked an explicit return type. 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-01 13:05:06 -05:00
Josh 590620d7e5 chore: Remove internal annotation from Http class
Removed internal annotation from the Http class.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-31 14:32:06 -05:00
Josh b7a15b7c62 chore: update Http service registration
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-31 13:53:48 -05:00
Josh 2b748f0ae5 chore: update/expand unit tests for getStatusHeader
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-31 13:46:44 -05:00
Josh e6e528defe refactor(appframework/http): extract status messages to constant and remove unused properties
Modernize this class

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-31 13:13:44 -05:00
Kate 6a2e0f819c Merge pull request #52442 from nextcloud/ext-store-check-update-filter 2025-12-31 12:50:59 +01:00
Robin Appelman 047ff27e46 test: add tests for watcher check filter
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +01:00
Robin Appelman 4720c39048 fix: use interfaces instead of classes in Cache\Watcher type hints
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +01:00
Robin Appelman 5c625b7a07 feat: add an option to filter what paths get checked for updates
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +01:00
Nextcloud bot b33fdaf085 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-31 00:14:02 +00:00
Andy Scherzinger d40263b2aa Merge pull request #57285 from nextcloud/feature/54562/support-partial-share-providers
feat: introduce API for partial share providers
2025-12-30 19:25:16 +01:00
Salvatore Martire a449af6460 feat: introduce API for partial share providers
Adds support for retrieval of shares by path

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-30 16:43:09 +01:00
Salvatore Martire ed6d0e59bb Merge pull request #57286 from nextcloud/fix/54562/add-forchildren-to-setupforpath
fix: add $forChildren parameter to IPartialMountProvider
2025-12-30 16:37:50 +01:00
Robin Appelman c614a13d4b Merge pull request #57158 from nextcloud/users-for-share
feat: add api to get users for share
2025-12-30 14:24:10 +01:00
Andy Scherzinger 32327c6285 Merge pull request #56773 from nextcloud/carl/remove-sciencemesh
refactor(share): Remove code related to science mesh integration
2025-12-30 14:18:53 +01:00
Maksim Sukharev 752d90c57c Merge pull request #57233 from nextcloud/bugfix/prevent_admin_group_subadmin 2025-12-30 13:26:15 +01:00
nextcloud-command a31d42d47a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-30 10:44:10 +00:00
Arsalan Ul Haq Sohni c81422ed37 fix(NewUserDialog): update group selection to prevent admin group from being assigned as subadmin
Signed-off-by: Arsalan Ul Haq Sohni <arsalan-ul-haq.sohni@strato.de>
2025-12-30 11:33:28 +01:00
Salvatore Martire 6e9ba894a2 fix: add $forChildren parameter to IPartialMountProvider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-29 18:06:12 +01:00
Nextcloud bot 4283f4790b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-29 00:13:35 +00:00
github-actions[bot] 3945981f0d Merge pull request #57251 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.6
build(deps-dev): bump msw from 2.12.4 to 2.12.6 in /build/frontend-legacy
2025-12-28 09:41:37 +00:00
Nextcloud bot 5d05c8d61e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-28 00:13:28 +00:00
github-actions[bot] 25ee57fc60 Merge pull request #57246 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.0
build(deps-dev): bump rector/rector from 2.2.14 to 2.3.0 in /vendor-bin/rector
2025-12-27 19:05:49 +01:00
github-actions[bot] e90c114730 Merge pull request #57248 from nextcloud/dependabot/npm_and_yarn/jsdom-27.4.0
build(deps-dev): bump jsdom from 27.3.0 to 27.4.0
2025-12-27 18:49:43 +01:00
Joas Schilling 41feb5d29d Merge pull request #57262 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2025-12-27 12:45:34 +01:00
nextcloud-command 06d99eba17 fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2025-12-27 02:53:11 +00:00
dependabot[bot] 6f6c655b46 build(deps-dev): bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.4 to 2.12.6.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.4...v2.12.6)

---
updated-dependencies:
- dependency-name: msw
  dependency-version: 2.12.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-27 02:14:45 +00:00
dependabot[bot] 0c4bc3e495 build(deps-dev): bump jsdom from 27.3.0 to 27.4.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.3.0 to 27.4.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.3.0...27.4.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 27.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-27 02:14:16 +00:00
dependabot[bot] b307db6b19 build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.2.14 to 2.3.0.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.2.14...2.3.0)

---
updated-dependencies:
- dependency-name: rector/rector
  dependency-version: 2.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-27 02:08:27 +00:00
Nextcloud bot d79cf95ece fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-27 00:13:32 +00:00
Nextcloud bot a366ec367a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-26 00:13:26 +00:00
Nextcloud bot 0c8f89c9d7 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-25 00:13:37 +00:00
Nextcloud bot bed17ca424 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-24 00:13:41 +00:00
github-actions[bot] 5cb262391f Merge pull request #57201 from nextcloud/dependabot/npm_and_yarn/nextcloud/files-4.0.0-beta.5
build(deps): Bump @nextcloud/files from 4.0.0-beta.4 to 4.0.0-beta.7
2025-12-23 20:27:57 +00:00
nextcloud-command 0934814a05 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-23 21:10:41 +01:00
Ferdinand Thiessen 9919c2bc91 chore(files): adjust getContents to use AbortController
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-23 21:08:33 +01:00
Ferdinand Thiessen 77f9897060 chore(files): adjust code for breaking change of Navigation.setActive
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-23 20:17:34 +01:00
Ferdinand Thiessen 461d0edecd build(deps): Bump @nextcloud/files from 4.0.0-beta.4 to 4.0.0-beta.6
Bumps [@nextcloud/files](https://github.com/nextcloud-libraries/nextcloud-files) from 4.0.0-beta.4 to 4.0.0-beta.5.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-files/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-files/blob/main/CHANGELOG.md)
- [Commits](nextcloud-libraries/nextcloud-files@v4.0.0-beta.4...v4.0.0-beta.5)

---
updated-dependencies:
- dependency-name: "@nextcloud/files"
  dependency-version: 4.0.0-beta.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-23 20:17:33 +01:00
Ferdinand Thiessen 75e57760c7 Merge pull request #57163 from nextcloud/refactor/themeing-vue3-ts
refactor(theming): migrate to Typescript and Vue 3
2025-12-23 19:38:30 +01:00
Ferdinand Thiessen 105398699d Merge pull request #56780 from nextcloud/jtr/chore-drop-getUserQuota-legacy
chore(legacy): Remove deprecated getUserQuota method
2025-12-23 18:09:32 +01:00
nextcloud-command b820518a2a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-23 17:00:41 +01:00
Ferdinand Thiessen 32508c1f78 test(theming): adjust cypress tests for Vue3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-23 17:00:41 +01:00
Ferdinand Thiessen 754422aa00 refactor(theming): migrate to Typescript and Vue 3
- migrate all components to Typescript
- use script setup where feasible
- migrate to Vue 3

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-23 17:00:40 +01:00
Ferdinand Thiessen be8b2bfa8b Merge pull request #57228 from nextcloud/fix/setup-for-path-caching
fix: adjust authoritative setup path caching logic
2025-12-23 16:49:05 +01:00
Ferdinand Thiessen 8c90d4f822 Merge pull request #56919 from nextcloud/jtr/fix-mime-detection-tests
fix(files/type): preserve numeric keys (follow-up)
2025-12-23 16:01:01 +01:00
Andy Scherzinger f791d91c00 Merge pull request #57224 from nextcloud/jtr/docs-iusersession
docs(IUserSession): Improve interface docs
2025-12-23 13:12:20 +01:00
Nextcloud bot 6acf2a6a1b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-23 00:13:51 +00:00
Josh fc37abd35a docs(IUserSession): Improve interface docs
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-22 11:26:48 -05:00
Salvatore Martire 6c19fbcf4d fix: adjust authoritative setup path caching logic
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-22 15:52:52 +01:00
Robin Appelman bbabf50984 feat: add api to get users for share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-22 15:34:23 +01:00
github-actions[bot] 22ca454130 Merge pull request #57058 from nextcloud/dependabot/npm_and_yarn/eslint-9.39.2
build(deps-dev): bump eslint from 9.39.1 to 9.39.2
2025-12-22 11:56:32 +00:00
dependabot[bot] 299039e2f2 build(deps-dev): bump eslint from 9.39.1 to 9.39.2
Bumps [eslint](https://github.com/eslint/eslint) from 9.39.1 to 9.39.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.39.1...v9.39.2)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 11:09:35 +00:00
github-actions[bot] 993c359830 Merge pull request #56952 from nextcloud/dependabot/npm_and_yarn/jsdom-27.3.0
build(deps-dev): bump jsdom from 27.2.0 to 27.3.0
2025-12-22 11:07:27 +00:00
dependabot[bot] 1c8a31c36a build(deps-dev): bump jsdom from 27.2.0 to 27.3.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.2.0 to 27.3.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.2.0...27.3.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 27.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 11:50:13 +01:00
github-actions[bot] c38e604e5e Merge pull request #56889 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.4
build(deps-dev): bump msw from 2.12.3 to 2.12.4 in /build/frontend-legacy
2025-12-22 08:29:37 +00:00
dependabot[bot] 6498c7d552 build(deps-dev): bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.3 to 2.12.4.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.3...v2.12.4)

---
updated-dependencies:
- dependency-name: msw
  dependency-version: 2.12.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 09:13:45 +01:00
github-actions[bot] 2835d0cde4 Merge pull request #56979 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/dompurify-3.3.1
build(deps): bump dompurify from 3.3.0 to 3.3.1 in /build/frontend-legacy
2025-12-22 08:09:53 +00:00
nextcloud-command 6fdfa436e1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-22 07:51:39 +00:00
dependabot[bot] 0fddb6be2d build(deps): bump dompurify in /build/frontend-legacy
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.3.0...3.3.1)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 08:43:42 +01:00
github-actions[bot] 8c0c0454bd Merge pull request #57203 from nextcloud/dependabot/npm_and_yarn/nextcloud/paths-3.0.0
build(deps): Bump @nextcloud/paths from 2.3.0 to 3.0.0
2025-12-22 03:05:46 +00:00
Ferdinand Thiessen 58fd2d3df8 test(cypress): adjust for breaking changes of @nextcloud/paths
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-22 03:04:35 +01:00
nextcloud-command 34330db471 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-22 01:20:41 +00:00
Ferdinand Thiessen 9a1fd7a629 chore: adjust code for breaking changes of @nextcloud/paths v3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-22 02:12:19 +01:00
dependabot[bot] 0d890d4217 build(deps): Bump @nextcloud/paths from 2.3.0 to 3.0.0
Bumps [@nextcloud/paths](https://github.com/nextcloud-libraries/nextcloud-paths) from 2.3.0 to 3.0.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-paths/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-paths/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-paths/compare/v2.3.0...v3.0.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/paths"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 02:12:18 +01:00
github-actions[bot] a8e186dba9 Merge pull request #57196 from nextcloud/dependabot/npm_and_yarn/vitest-238d3985db
build(deps-dev): Bump the vitest group across 2 directories with 3 updates
2025-12-22 02:06:45 +01:00
github-actions[bot] 34267ef563 Merge pull request #57200 from nextcloud/dependabot/npm_and_yarn/nextcloud/dialogs-7.2.0
build(deps): Bump @nextcloud/dialogs from 7.1.0 to 7.2.0
2025-12-22 00:45:51 +00:00
github-actions[bot] f9132111ab Merge pull request #56878 from nextcloud/dependabot/composer/vendor-bin/openapi-extractor/nextcloud/openapi-extractor-1.8.7
build(deps): bump nextcloud/openapi-extractor from 1.8.6 to 1.8.7 in /vendor-bin/openapi-extractor
2025-12-22 01:39:54 +01:00
dependabot[bot] 84e52327f3 build(deps-dev): Bump the vitest group across 2 directories with 3 updates
Bumps the vitest group with 1 update in the / directory: [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul).
Bumps the vitest group with 2 updates in the /build/frontend-legacy directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).


Updates `@vitest/coverage-istanbul` from 4.0.15 to 4.0.16
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.16/packages/coverage-istanbul)

Updates `vitest` from 4.0.15 to 4.0.16
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.16/packages/vitest)

Updates `vitest` from 4.0.15 to 4.0.16
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.16/packages/vitest)

Updates `@vitest/coverage-v8` from 4.0.15 to 4.0.16
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.16/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-istanbul"
  dependency-version: 4.0.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.0.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 00:23:05 +00:00
Nextcloud bot 5a1a0b4759 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-22 00:13:29 +00:00
Ferdinand Thiessen 530efa6783 chore: extract new openAPI definitions
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-22 01:02:22 +01:00
dependabot[bot] 0e5dd3d834 build(deps): bump nextcloud/openapi-extractor
Bumps [nextcloud/openapi-extractor](https://github.com/nextcloud-releases/openapi-extractor) from 1.8.6 to 1.8.7.
- [Changelog](https://github.com/nextcloud-releases/openapi-extractor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-releases/openapi-extractor/compare/v1.8.6...v1.8.7)

---
updated-dependencies:
- dependency-name: nextcloud/openapi-extractor
  dependency-version: 1.8.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 01:01:30 +01:00
nextcloud-command ee04846dec chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-21 23:58:50 +00:00
dependabot[bot] 2d6bd8b86a build(deps): Bump @nextcloud/dialogs from 7.1.0 to 7.2.0
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v7.1.0...v7.2.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/dialogs"
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-21 23:39:12 +00:00
Ferdinand Thiessen cc806fbd8e Merge pull request #57194 from nextcloud/dependabot/npm_and_yarn/vite-4fb37e91ba
build(deps-dev): Bump the vite group across 2 directories with 1 update
2025-12-22 00:37:20 +01:00
nextcloud-command a56e274140 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-21 21:55:31 +00:00
dependabot[bot] 3a20529708 build(deps-dev): Bump the vite group across 2 directories with 1 update
Bumps the vite group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).
Bumps the vite group with 1 update in the /build/frontend-legacy directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 7.2.7 to 7.3.0
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.0/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.0/packages/vite)

Updates `vite` from 7.2.7 to 7.3.0
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.0/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.0/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vite
- dependency-name: vite
  dependency-version: 7.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-21 22:46:23 +01:00
github-actions[bot] 0d0264f057 Merge pull request #57198 from nextcloud/dependabot/npm_and_yarn/vue-3.5.26
build(deps): Bump vue from 3.5.25 to 3.5.26
2025-12-21 20:02:38 +00:00
nextcloud-command 36758db1bc chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-21 19:46:43 +00:00
dependabot[bot] 869108de51 build(deps): Bump vue from 3.5.25 to 3.5.26
Bumps [vue](https://github.com/vuejs/core) from 3.5.25 to 3.5.26.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.25...v3.5.26)

---
updated-dependencies:
- dependency-name: vue
  dependency-version: 3.5.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-21 20:29:59 +01:00
github-actions[bot] 7f7c1ed3bd Merge pull request #57208 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webpack-5.104.1
build(deps-dev): Bump webpack from 5.103.0 to 5.104.1 in /build/frontend-legacy
2025-12-21 19:29:02 +00:00
nextcloud-command a6a94fa45c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-21 19:06:40 +00:00
dependabot[bot] f937e10a08 build(deps-dev): Bump webpack in /build/frontend-legacy
Bumps [webpack](https://github.com/webpack/webpack) from 5.103.0 to 5.104.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack/compare/v5.103.0...v5.104.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.104.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-21 19:58:39 +01:00
github-actions[bot] 9abcafb44c Merge pull request #57199 from nextcloud/dependabot/npm_and_yarn/sass-1.97.1
build(deps-dev): Bump sass from 1.95.1 to 1.97.1
2025-12-21 16:29:21 +00:00
Nextcloud bot e963d7e583 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-21 00:13:27 +00:00
Git'Fellow 60cb5a3c90 Merge pull request #57179 from nextcloud/allowListAllUsers
feat(userList): Allow to list all users
2025-12-20 17:49:13 +01:00
github-actions[bot] febc130423 Merge pull request #57205 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sass-1.97.1
build(deps-dev): Bump sass from 1.95.1 to 1.97.1 in /build/frontend-legacy
2025-12-20 14:18:05 +01:00
Louis 531d4b08e7 Merge pull request #57174 from nextcloud/artonge/fix/inhibit_download
fix(files): Inhibit download for non downloadable nodes in all contexts
2025-12-20 10:18:04 +01:00
Louis 9019c56e70 Merge pull request #57079 from Pringels/enhancement/15632/persist-user-management-columns
feat(settings): persist user management column visibility
2025-12-20 10:02:38 +01:00
dependabot[bot] 7deca60136 build(deps-dev): Bump sass in /build/frontend-legacy
Bumps [sass](https://github.com/sass/dart-sass) from 1.95.1 to 1.97.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.95.1...1.97.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.97.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-20 02:20:54 +00:00
dependabot[bot] 34448d3410 build(deps-dev): Bump sass from 1.95.1 to 1.97.1
Bumps [sass](https://github.com/sass/dart-sass) from 1.95.1 to 1.97.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.95.1...1.97.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.97.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-20 02:19:34 +00:00
Nextcloud bot 294057e32f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-20 00:13:30 +00:00
Ferdinand Thiessen 8d164db8e9 Merge pull request #56909 from nextcloud/fix/sharing-external-section
fix(files_sharing): ensure that external section is mounted
2025-12-19 17:49:35 +01:00
nextcloud-command 274ff3692d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-19 16:28:17 +00:00
github-actions[bot] 6d24abc06f Merge pull request #57190 from nextcloud/dependabot/npm_and_yarn/multi-801a3e5857
build(deps): Bump systeminformation and cypress
2025-12-19 16:26:08 +00:00
Ferdinand Thiessen ec617b6b3e fix(files_sharing): ensure that external section is mounted
Make sure the external section is mounted before trying to assign it the
node prop.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-19 16:25:34 +00:00
dependabot[bot] e0bd85b067 build(deps): Bump systeminformation and cypress
Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) to 5.27.14 and updates ancestor dependency [cypress](https://github.com/cypress-io/cypress). These dependencies need to be updated together.


Updates `systeminformation` from 5.27.7 to 5.27.14
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v5.27.7...v5.27.14)

Updates `cypress` from 15.7.0 to 15.8.1
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.7.0...v15.8.1)

---
updated-dependencies:
- dependency-name: systeminformation
  dependency-version: 5.27.14
  dependency-type: indirect
- dependency-name: cypress
  dependency-version: 15.8.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 15:39:38 +00:00
Joas Schilling aec12f5b51 Merge pull request #57116 from nextcloud/php/8.5
ci(PHP): Test against 8.5 on CI
2025-12-19 16:38:16 +01:00
Joas Schilling 226b7df65e fix(Hooks): Don't use offset null as it's deprecated (and not actually used)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-19 15:58:05 +01:00
Joas Schilling c27db5fdad fix(GdImage): imagedestroy is noop since PHP 8.0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-19 15:57:04 +01:00
Joas Schilling 56793fa5b8 fix(reflection): ReflectionMethod::setAccessible is noop since 8.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-19 15:57:04 +01:00
Joas Schilling 6bc73b0dab fix(PDO): Switch away from deprecated PDO parts
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-19 15:57:03 +01:00
Joas Schilling 121973d336 fix(logger): Fix calls to log normalizer
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-19 15:34:34 +01:00
Joas Schilling e863c3c500 ci(PHP): Test against 8.5 on CI
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-19 15:34:34 +01:00
nextcloud-command 16727bf781 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-19 13:59:48 +00:00
Louis Chmn 62fd47ee2c fix(files): Inhibit download for non downloadable nodes in all contexts
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-19 13:57:18 +00:00
Peter Ringelmann 31605c7495 fix(settings): resolve Cypress crash on undefined showConfig
Signed-off-by: Peter Ringelmann <4850521+Pringels@users.noreply.github.com>
2025-12-19 13:42:36 +01:00
Peter Ringelmann 6a9be2e7f4 chore: fix Psalm rebase issue
Signed-off-by: Peter Ringelmann <4850521+Pringels@users.noreply.github.com>
2025-12-19 09:30:49 +01:00
Nextcloud bot e91840a61a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-19 00:13:47 +00:00
Julius Knorr c1801b044a Merge pull request #57041 from nextcloud/feat/full-match-displayname
feat: Allow to block full matches on the display name
2025-12-18 20:41:44 +01:00
Joas Schilling 9d86b701ee Merge pull request #57180 from nextcloud/dependabot/composer/doctrine/dbal-3.10.4
build(deps): bump doctrine/dbal from 3.10.2 to 3.10.4
2025-12-18 16:39:03 +01:00
Joas Schilling 9dc11443a2 build(deps): bump doctrine/dbal from 3.10.2 to 3.10.4
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-18 15:43:54 +01:00
Joas Schilling 24de30d70f Merge pull request #57172 from nextcloud/dependabot/composer/symfony-32bc18790b
build(deps): bump the symfony group across 1 directory with 3 updates
2025-12-18 15:42:19 +01:00
nextcloud-command 9bbb6dedc3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-18 14:11:47 +00:00
Maxence Lange 632ffba69d Merge pull request #57156 from nextcloud/fix/noid/ocm-fully-disable-signed-request
fix(ocm): fully disable signed request on config
2025-12-18 13:05:45 -01:00
Julius Knorr 7d5ffa50ae feat: Allow to block full matches on the display name
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-12-18 14:04:46 +00:00
Peter Ringelmann c46510baba refactor(settings): Re-add user email key to lexicon
Signed-off-by: Peter Ringelmann <4850521+Pringels@users.noreply.github.com>
2025-12-18 14:40:08 +01:00
Peter Ringelmann 11eaa0479f refactor(settings): use ConfigLexicon for user list preferences
Signed-off-by: Peter Ringelmann <4850521+Pringels@users.noreply.github.com>
2025-12-18 14:40:08 +01:00
Peter Ringelmann e7aaaff69d feat(settings): persist user management column visibility
Previously, column visibility settings were stored in localStorage, causing them to be lost when logging out or switching browsers.
This change moves the persistence to the database as user preferences.
It also refactors the frontend to use clean `userList.*` keys for better consistency between the store and the API.

Signed-off-by: Peter Ringelmann <4850521+Pringels@users.noreply.github.com>
2025-12-18 14:40:08 +01:00
Joas Schilling 76e86fa920 build(deps): bump the symfony group across 1 directory with 3 updates
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-18 13:57:02 +01:00
Git'Fellow b585280534 feat(userList): Allow to list all users
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-12-18 13:53:41 +01:00
Louis 75bed8535c Merge pull request #57176 from nextcloud/himehatsumi/master
[local] fix(login): Improve wording for login throttle warning
2025-12-18 13:49:41 +01:00
Joas Schilling 154f3597b4 Merge pull request #57160 from nextcloud/dependabot/composer/guzzlehttp/guzzle-7.10.0
build(deps): Bump guzzlehttp/guzzle from 7.9.3 to 7.10.0
2025-12-18 12:48:18 +01:00
Louis Chmn 637392c084 chore: Compile assets
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-18 12:23:21 +01:00
himehatsumi 0677888291 fix(login): Improve wording for login throttle warning
Signed-off-by: himehatsumi <95652868+himehatsumi@users.noreply.github.com>
2025-12-18 12:22:09 +01:00
Côme Chilliet 9b1227749f Merge pull request #57133 from nextcloud/fix-template-headers-injection
fix(lib): include headers from OC\Template\Template as well in produced HTML
2025-12-18 11:59:09 +01:00
Joas Schilling 115c0e93a3 build(deps): Bump guzzlehttp/guzzle from 7.9.3 to 7.10.0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-18 11:09:28 +01:00
Carl Schwan e594e9d0e7 Merge pull request #57155 from nextcloud/carl/fix-insert-preview-version
fix(preview): Correctly insert preview version
2025-12-18 10:34:38 +01:00
Nextcloud bot 0eca299ca8 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-18 00:13:32 +00:00
Maxence Lange 4b684897ed fix(ocm): fully disable signed request on config
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-12-17 18:55:14 -01:00
Joas Schilling 7c7010cdff Merge pull request #57149 from nextcloud/nickvbot/update-nextcloud-lognormalizer-300
build(deps): Bump nextcloud/lognormalizer from 2.0.0 to 3.0.0
2025-12-17 18:49:00 +01:00
Carl Schwan 06b6a5bc05 fix(preview): Correctly insert preview version
Use createNamedParameter otherwise values are not correctly escapted.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 18:23:53 +01:00
Joas Schilling 15cd533fcb build(deps): Bump nextcloud/lognormalizer from 2.0.0 to 3.0.0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-17 17:22:17 +01:00
Ferdinand Thiessen cc23025c2a Merge pull request #57127 from nextcloud/addCheckBeforeBitwise
fix(IpNormalizer): Added `inet_pton()` check before bitwise operations
2025-12-17 16:28:37 +01:00
Louis 8406984336 Merge pull request #57078 from Pringels/fix/20685/limit-to-groups-persistence
fix(settings): reset limit to groups state when switching apps
2025-12-17 16:05:33 +01:00
Benjamin Gaussorgues 89fcefbfa0 Merge pull request #55369 from nextcloud/carl/cleanup-external-manager 2025-12-17 14:14:48 +01:00
Joas Schilling 01feb85809 Merge pull request #57137 from nextcloud/dependabot/composer/pimple/pimple-3.6.0
build(deps): Bump pimple/pimple from 3.5.0 to 3.6.0
2025-12-17 11:53:30 +01:00
Joas Schilling 99a2a31fa8 build(deps): Bump pimple/pimple from 3.5.0 to 3.6.0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-17 10:52:25 +01:00
Carl Schwan 18964750f9 fix(openapi): Fix returned types from external share
We always been returning an int for for accepted, but since it was
returned as a mixed from the DB, psalm never complained about the fact
this was typed as a bool in the API doc.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 10:14:41 +01:00
Carl Schwan a011cb7780 refactor: Rename some variables in external share's manager
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 10:14:40 +01:00
Carl Schwan bfb7e7dd8e refactor: Add more typing to integration context code
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 10:14:40 +01:00
Carl Schwan df2f3a8422 refactor(integration): Refactor and fix federation integration tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 10:14:35 +01:00
Nextcloud bot 5c7f52f40e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-17 00:13:28 +00:00
Thomas Citharel 8482302e42 fix(lib): include headers from OC\Template\Template as well in produced HTML
Otherwise we only take those added through deprecated method C_Util::addHeader, not those of
OC\Template\Template::addHeader, which does nothing

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-12-16 23:01:38 +01:00
Daniel 61dc0bbff0 Merge pull request #56733 from nextcloud/3rdparty/sabre-vobject-rdate-patch
fix: Add sabre vobject rdate patch
2025-12-16 22:14:46 +01:00
SebastianKrupinski ce3f458ccc fix: Add sabre vobject rdate patch
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-12-16 15:28:23 -05:00
Git'Fellow b9d55ba30c fix(IpNormalizer): Added inet_pton() check before bitwise operations
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-12-16 15:06:59 +01:00
Kate 1829269f9d Merge pull request #56933 from nextcloud/fix/duplicate-mounts 2025-12-16 10:44:32 +01:00
Carl Schwan 3183ea79d2 refactor(external-share): Port more code to string as type for the id
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:09 +01:00
Carl Schwan 91d3c63222 fix: Remove auto increment from share_external
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:09 +01:00
Carl Schwan 3bdb344224 perf(external-sharing): Port to Entity and SnowflakeId
This removes all the read after write and we don't need to queries all
the time the same share in the same request anymore.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:07 +01:00
Carl Schwan 93b258317d refactor: use DI-injected logger instead of Server::get
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:30 +01:00
Carl Schwan aadf842039 fix: Revert change to the cloud integration
This might fixes the test.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:30 +01:00
Carl Schwan b573d8a58b fix(sharing): Adapt Hooks to new API
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:30 +01:00
Carl Schwan 6945a030f5 refactor(OC_Helper): remove buildNotExistingFileNameForView
Move the functionality in the last place it is used OC\Files\Node\Folder

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:29 +01:00
Carl Schwan 7b0f1c6dd0 refactor(external-share): Cleanup OCA\FIles_Sharing\External\Manager
- Port away from Files::buildNotExistingFileName
- Use IUser and IGroup instead of plain string

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:29 +01:00
Kate 5f6e6b305f Merge pull request #57098 from nextcloud/fix/deprecate-ISystemTagManagerFactory 2025-12-16 10:26:32 +01:00
Marcel Klehr 3579c5a6a0 Merge pull request #57094 from nextcloud/fix/snowflake_file_seq
fix(snowflakes): FileSequence generator must always use the same dir
2025-12-16 09:21:12 +01:00
Nextcloud bot 05eb4cbf46 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-16 00:13:56 +00:00
Côme Chilliet 197db6aa86 Merge pull request #55813 from nextcloud/fix/fix-infinite-loop-in-share-manager
fix(shares): Fix infinite loop when all shares are invalid
2025-12-15 20:17:26 +01:00
Kate 10fa17938e Merge pull request #57096 from nextcloud/jtr/fix-uploadhome-childexists 2025-12-15 20:15:34 +01:00
Daniel Calviño Sánchez a1c2a25d9d Merge pull request #56922 from nextcloud/fix-phpunit-11-use-in-behat
test: Fix PHPUnit 11 use in Behat
2025-12-15 19:15:12 +01:00
Peter Ringelmann bfd7138133 fix(settings): reset limit to groups state when switching apps
Signed-off-by: Peter Ringelmann <4850521+Pringels@users.noreply.github.com>
2025-12-15 19:00:46 +01:00
Ferdinand Thiessen 58437decb2 Merge pull request #57051 from nextcloud/ci/32bit-save
ci(32bit): use custom image to run PHP unit tests on 32bit
2025-12-15 17:50:15 +01:00
Stephan Orbaugh 582bb11eae Merge pull request #55631 from nextcloud/carl/deprecate-config-user-correctly
refactor: Deprecated user config from IConfig correctly
2025-12-15 17:30:52 +01:00
Côme Chilliet c8ce13236e chore: Deprecate unused ISystemTagManagerFactory, DI is enough
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 17:28:51 +01:00
Côme Chilliet 3e8502d239 fix(shares): Fix infinite loop when hide_disabled_user_shares is yes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 17:02:52 +01:00
Josh c6dd592d60 fix(dav): catch NotFound exception in UploadHome::childExists()
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-15 10:57:47 -05:00
Benjamin Gaussorgues fa7e569a16 fix(snowflakes): FileSequence generator must always use the same dir
`TempManager::getTemporaryFolder` is returning a random directory.
FileSequence needs always the same directory, even if different
processes.

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-12-15 15:58:15 +01:00
Ferdinand Thiessen 922c3e01c7 chore: diable composer timeout
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-15 15:46:11 +01:00
Ferdinand Thiessen 958492d8af ci(32bit): use custom image to run PHP unit tests on 32bit
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-15 15:45:33 +01:00
Marcel Klehr b15e294a6e Merge pull request #57004 from nextcloud/fix/taskprocessing-increase-text-limit
fix(TaskProcessing): Increase EShapeType::Text limit to 256_000 KB
2025-12-15 12:48:53 +01:00
provokateurin 341fd348e6 fix(UserMountCache): Add back unique index for oc_mounts and use normal insert
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-15 12:26:23 +01:00
Kate db530d1eae Merge pull request #56921 from nextcloud/fix-caching-routes-by-users-with-an-active-session 2025-12-15 10:53:04 +01:00
Kate 9350a6798c Merge pull request #57084 from nextcloud/carl/fix-32-bits-job 2025-12-15 09:23:06 +01:00
Carl Schwan 8034de84aa fix(jobs): Fix 32 bits jobs
Specifying the type to int force a convertion from string to int which
fails on 32 bits for snowflake ids.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-15 08:41:26 +01:00
Marcel Klehr 0745731806 fix(TaskProcessing): Increase EShapeType::Text limit to 256_000 KB
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-12-15 07:53:26 +01:00
Nextcloud bot b7ef5d5855 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-15 00:13:26 +00:00
Nextcloud bot 0580014b73 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-14 00:13:27 +00:00
Daniel Calviño Sánchez 19c9d88970 test: Fix PHPUnit 11 use in Behat
Starting with PHPUnit 11.3, some complex outputs of certain asserts
(like "assertStringContainsString") require the output of PHPUnit to be
explicitly setup. Otherwise when the assert fails a type error is
thrown (although it does not seem to affect asserts with simpler
outputs, like "assertEquals").

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-13 01:22:30 +01:00
Nextcloud bot 48f7dac9b9 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-13 00:13:29 +00:00
Ferdinand Thiessen 0fe787558e Merge pull request #57010 from nextcloud/fix/breaking-points
fix(css): correct boundaries of breaking points
2025-12-12 21:38:21 +01:00
Daniel d957f6190c Merge pull request #57017 from nextcloud/fix/do-not-truncate-birthday-year-to-1970
fix: do not truncate birth year to 1970
2025-12-12 16:41:03 +01:00
Daniel Calviño Sánchez 51ed61bb4a fix: Fix caching routes by users with an active session
When a user has an active session only the apps that are enabled for the
user are initially loaded. In order to cache the routes the routes for
all apps are loaded, but routes defined in routes.php are taken into
account only if the app was already loaded. Therefore, when the routes
were cached in a request by a user with an active session only the
routes for apps enabled for that user were cached, and those routes were
used by any other user, independently of which apps they had access to.
To solve that now all the enabled apps are explicitly loaded before
caching the routes.

Note that this did not affect routes defined using annotations on the
controller files; in that case the loaded routes do not depend on the
previously loaded apps, as it explicitly checks all the enabled apps.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-12 16:10:20 +01:00
Daniel Calviño Sánchez de7ddb6e1c test: Fix recording app state when admin is not the current user
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-12 16:10:20 +01:00
Daniel Calviño Sánchez 0ba2f5e537 Revert "fix(CachingRouter): Disable cache for findMatchingRoute"
This reverts commit 90948f5096.

It temporary disabled cache for routes until an actual fix was added,
which is done in the following commits.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-12 16:06:47 +01:00
Kate 400ade585d Merge pull request #57042 from nextcloud/fix/restrict-enumeration-userid 2025-12-12 15:52:07 +01:00
Julius Knorr a45f4b0cdc fix: Fix setting name inconsistency between backend and frontend
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-12-12 13:08:34 +01:00
Joas Schilling 0edaff9426 Merge pull request #57031 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2025-12-12 07:46:15 +01:00
Ferdinand Thiessen d9d8449340 Merge pull request #57012 from nextcloud/refactor/oauth2-to-vue3
refactor(oauth2): migrate to Typescript and Vue 3
2025-12-12 04:44:56 +01:00
nextcloud-command 2c62e695ba fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2025-12-12 02:43:46 +00:00
Nextcloud bot 09dfa965b4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-12 00:13:50 +00:00
Ferdinand Thiessen ad23c85d0c chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-12 00:44:42 +01:00
Ferdinand Thiessen 6a570c0133 refactor(oauth2): migrate to Typescript and Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-12 00:42:15 +01:00
Ferdinand Thiessen 6d7a7f3146 Merge pull request #56942 from nextcloud/refactor/federatedfilessharing-vue3
refactor(federatedfilesharing): migrate to Typescript and Vue 3
2025-12-12 00:25:42 +01:00
SebastianKrupinski 7c266d9f23 fix: do not truncate birth year to 1970
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-12-11 13:59:28 -05:00
Ferdinand Thiessen e1b9723428 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-11 19:46:47 +01:00
Ferdinand Thiessen 9edcc864fe test: use istanbul coverage provider
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-11 19:46:47 +01:00
Ferdinand Thiessen 14f52a2303 refactor(federatedfilesharing): migrate to Typescript and Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-11 19:08:44 +01:00
Louis 3efb1d80e9 Merge pull request #56646 from nextcloud/fix/no_double_admin_delegations
fix(admin-delegation): Prevent delegation to group if delegation already
2025-12-11 17:45:12 +01:00
John Molakvoæ 52e3762045 Merge pull request #56743 from nextcloud/chore/files-4-0-0 2025-12-11 17:36:51 +01:00
Ferdinand Thiessen 2eaf18dd49 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-11 14:31:10 +01:00
Ferdinand Thiessen a95d781989 fix(css): correct boundaries of breaking points
We mixed the logic of breaking points (when to break),
this makes it consistent:
Mobile breaking point is 1024px, so it is applied to width < 1024 and starting with 1024 its "normal".

So we consistently have:
width < 512px: small mobile
512 <= width < 1024px: mobile
width >= 1024px: normal

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-11 14:28:15 +01:00
Stephan Orbaugh 282341a8d6 Merge pull request #55738 from nextcloud/carl/cleanup-preview-command
fix(preview-cleanup): Also delete previews stored in the oc_previews table
2025-12-11 14:07:50 +01:00
Stephan Orbaugh a7a64de6e6 Merge pull request #54441 from nextcloud/fix/directoryAsINodeByPath
Add INodeByPath to Directory
2025-12-11 14:07:23 +01:00
Carl Schwan 1661855f5b refactor: Make some code a bit more correct
- Use PHP_FLOAT_EPSILON for float comparaison
- Simplify some getValueBool code

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:50 +01:00
Carl Schwan 0744d1cf6b fix(IConfig): Change deprecation release to 33.0.0
The implementation was deprecated in 31.0.0 but since this wasn't done on
the interface, this is considered invalid. So change that to 33.0.0.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:50 +01:00
Carl Schwan 2ae9626fec refactor(user_ldap): Port most of the remaining deprecated IConfig usage
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:48 +01:00
Carl Schwan e04072cc54 refactor(weather_status): Port WeatherStatusService to IUserConfig
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:48 +01:00
Carl Schwan 14daf4ca16 refactor(user_ldap): Port User\User to IUserConfig
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:48 +01:00
Carl Schwan 6eabaaf104 refactor: Deprecated user config from IConfig correctly
Mark the methods in the interface deprecated instead of just the one in
the implementation.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:47 +01:00
skjnldsv 2c4b5c6b68 chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-12-11 12:56:02 +01:00
skjnldsv 7aa6a74b31 chore: update @nextcloud/vue
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-12-11 12:44:17 +01:00
skjnldsv 0eadf1753d fix(settings): adjust systemtags handling and tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-12-11 12:44:17 +01:00
skjnldsv 492bdb7010 chore: update @nextcloud/files to 4.0.0
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-12-11 12:44:16 +01:00
F. E Noel Nfebe d15feb4ba6 Merge pull request #56977 from nextcloud/fix/federated-share-display-in-shared-with-you
fix(files_sharing): Normalize dir type to folder for federated shares
2025-12-11 11:31:34 +01:00
nextcloud-command b92b3e7940 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-11 09:57:48 +00:00
nfebe 13df65850e fix(files_sharing): Normalize dir type to folder for federated shares
The backend returns type 'dir' for folders (from FileInfo::TYPE_FOLDER),
but the frontend expects 'folder'. This mismatch caused federated shared
folders to display incorrectly as files in the "Shared with you" view.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-11 10:49:41 +01:00
Arthur Schiwon f892437210 Merge pull request #56982 from nextcloud/bugfix/noid/check-comment-object
fix(comments): Check comment object
2025-12-11 09:37:43 +01:00
Joas Schilling 69e6b6a483 fix(comments): Check comment object
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-11 07:55:55 +01:00
github-actions[bot] 0fd888da09 Merge pull request #56980 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/logger-3.0.3
build(deps): bump @nextcloud/logger from 3.0.2 to 3.0.3 in /build/frontend-legacy
2025-12-11 01:21:22 +00:00
github-actions[bot] 986af30032 Merge pull request #56981 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sass-1.95.1
build(deps-dev): bump sass from 1.94.2 to 1.95.1 in /build/frontend-legacy
2025-12-11 00:17:54 +00:00
Nextcloud bot c4c247d535 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-11 00:13:43 +00:00
nextcloud-command aeca72538a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-10 23:50:34 +00:00
dependabot[bot] f839d7825a build(deps-dev): bump sass in /build/frontend-legacy
Bumps [sass](https://github.com/sass/dart-sass) from 1.94.2 to 1.95.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.94.2...1.95.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.95.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-10 23:27:49 +00:00
dependabot[bot] 5682ff4479 build(deps): bump @nextcloud/logger in /build/frontend-legacy
Bumps [@nextcloud/logger](https://github.com/nextcloud-libraries/nextcloud-logger) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-logger/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-logger/compare/v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: "@nextcloud/logger"
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-10 23:27:38 +00:00
Elizabeth Danzberger 070ec61759 Merge pull request #56722 from nextcloud/fix/deduplicate-templates
fix(templates): deduplicate provider templates
2025-12-10 18:21:40 -05:00
Elizabeth Danzberger 3a89c18888 fix(templates): deduplicate provider templates
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2025-12-10 16:06:21 -05:00
F. E Noel Nfebe 186b12b718 Merge pull request #56620 from nextcloud/fix/filter-interaction-issues
fix(unified-search): prevent provider disabling on content filter apply
2025-12-10 20:07:46 +01:00
github-actions[bot] a86a2a070e Merge pull request #56890 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.31
build(deps): bump libphonenumber-js from 1.12.29 to 1.12.31 in /build/frontend-legacy
2025-12-10 18:52:47 +00:00
github-actions[bot] 8f82ad358a Merge pull request #56946 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.2.14
build(deps-dev): bump rector/rector from 2.2.9 to 2.2.14 in /vendor-bin/rector
2025-12-10 19:42:19 +01:00
github-actions[bot] 9af153f5b7 Merge pull request #56950 from nextcloud/dependabot/npm_and_yarn/sass-1.95.1
build(deps-dev): bump sass from 1.94.2 to 1.95.1
2025-12-10 19:41:51 +01:00
nextcloud-command 4a5bacc8c7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-10 18:00:26 +00:00
Andy Scherzinger d50828aa92 Merge pull request #56887 from nextcloud/dependabot/npm_and_yarn/vitest-afa725de22
build(deps-dev): bump the vitest group across 2 directories with 2 updates
2025-12-10 18:57:16 +01:00
github-actions[bot] 258670de61 Merge pull request #56748 from nextcloud/dependabot/composer/bamarni/composer-bin-plugin-1.8.3
build(deps-dev): bump bamarni/composer-bin-plugin from 1.8.2 to 1.8.3
2025-12-10 17:56:30 +00:00
dependabot[bot] 7f76a6d4aa build(deps): bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.29 to 1.12.31.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.29...v1.12.31)

---
updated-dependencies:
- dependency-name: libphonenumber-js
  dependency-version: 1.12.31
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-10 18:51:25 +01:00
github-actions[bot] edbcb6af6f Merge pull request #56956 from nextcloud/dependabot/npm_and_yarn/vite-1f75bea169
build(deps-dev): bump the vite group across 2 directories with 1 update
2025-12-10 18:50:20 +01:00
F. E Noel Nfebe b07801a2b5 Merge pull request #56652 from nextcloud/fix/federated-share-external-filter
fix(sharing): allow federated shares to non-trusted servers
2025-12-10 18:41:05 +01:00
Salvatore Martire 871262d6f6 chore: update 3rdparty
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 18:30:44 +01:00
Salvatore Martire 2a4ee2df9f fix: add INodeByPath to Directory
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 18:30:44 +01:00
Salvatore Martire aaf07ab73e Merge pull request #55072 from nextcloud/feature/54562/pathSpecificFSSetup
Introduces support for mount providers that can provide a partial list of mount points based on a path and the information related to mounts present in that path.
2025-12-10 18:28:15 +01:00
nextcloud-command 5de1d46be4 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-10 17:20:09 +00:00
nextcloud-command cf56d6325a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-10 17:13:01 +00:00
nfebe 08382282ea fix(sharing): allow federated shares to non-trusted servers
When `showFederatedSharesToTrustedServersAsInternal` is enabled, the
trusted server filter was incorrectly applied to both internal and
external sharing sections. This prevented users from sharing with
federated users on non-trusted servers via the external share UI.

The filter now only applies to the internal section, allowing
non-trusted federated shares to appear in the external section.

Fixes: https://github.com/nextcloud/server/issues/56622

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-10 17:41:11 +01:00
nfebe f035ff3d3a fix(unified-search): Separate filtered and unfiltered results
Show results from providers that don't support active content filters
(date/person) in a separate "Additional results" section with a note
explaining that some filters may have been ignored.

Changes:
- Add computed properties to separate filtered/unfiltered results
- Track filter compatibility using baseProvider for searchFrom providers
- Deduplicate results by resourceUrl across sections
- Skip in-folder results when at root to avoid duplicating Files results
- Fix providerIsCompatibleWithFilters to check correct filter properties
- Add styling for the unfiltered results section

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-10 17:30:32 +01:00
nfebe 61ebc6e251 fix(unified-search): prevent provider disabling on content filter apply
When date range or person filters were applied, providers that didn't
support these filters were automatically disabled in the UI. This made
the in-folder filter appear auto-applied and prevented users from
searching non-compatible providers.

Remove automatic provider disabling logic from updateDateFilter(),
applyPersonFilter(), and removeFilter(). Content filters now apply only
to compatible providers via existing compatibility checks while keeping
all providers available for selection.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-10 17:30:32 +01:00
dependabot[bot] 6bde5db7da build(deps-dev): bump bamarni/composer-bin-plugin from 1.8.2 to 1.8.3
Bumps [bamarni/composer-bin-plugin](https://github.com/bamarni/composer-bin-plugin) from 1.8.2 to 1.8.3.
- [Release notes](https://github.com/bamarni/composer-bin-plugin/releases)
- [Commits](https://github.com/bamarni/composer-bin-plugin/compare/1.8.2...1.8.3)

---
updated-dependencies:
- dependency-name: bamarni/composer-bin-plugin
  dependency-version: 1.8.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-10 17:13:00 +01:00
Salvatore Martire d14a032220 feat: implement support for authoritative mount providers
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 16:05:27 +01:00
Salvatore Martire fcdb28e4a3 feat: add IPartialMountProvider to support authoritative mounts
IMountProviders implementing this interface will be able to take
advantage of authoritative mounts.

The function `getMountsFromMountPoints` will receive the path that
the provider is asked to set-up and an array of IMountProviderArgs
providing information regarding the stored mount points and the
file cache data for the related root. The mount provider should verify
the validity of the mounts and return IMountPoints related to them.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 16:05:27 +01:00
Salvatore Martire 9b519b4679 refactor: simplify code
replace array_reduce + array_merge with array_merge(...)
replace conditional assignment with ??=

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 16:05:27 +01:00
Salvatore Martire f47a586cdd docs: update comments
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 16:05:27 +01:00
Daniel ac4e82d2a5 Merge pull request #56925 from nextcloud/fix/dav/escape-summary-description-location
fix(dav): handle HTML in CalDAV invitations
2025-12-10 15:09:16 +01:00
Misha M.-Kupriyanov 770ad6249e fix(admin-delegation): Prevent delegation to group if delegation already exist
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-12-10 15:08:53 +01:00
nextcloud-command 161e59929a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-10 13:29:31 +00:00
Carl Schwan 247b66c5ee fix(preview-cleanup): Also delete previews stored in the oc_previews table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-10 13:49:24 +01:00
Christoph Wurst dac8818102 fix(dav): handle HTML in CalDAV invitations
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-12-10 12:51:18 +01:00
dependabot[bot] 08b39e2585 build(deps-dev): bump the vite group across 2 directories with 1 update
Bumps the vite group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).
Bumps the vite group with 1 update in the /build/frontend-legacy directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 7.2.4 to 7.2.7
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.2.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.2.7/packages/vite)

Updates `vite` from 7.2.4 to 7.2.7
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.2.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.2.7/packages/vite)

Updates `vite` from 7.2.4 to 7.2.7
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.2.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.2.7/packages/vite)

Updates `vite` from 7.2.4 to 7.2.7
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.2.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.2.7/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
- dependency-name: vite
  dependency-version: 7.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
- dependency-name: vite
  dependency-version: 7.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
- dependency-name: vite
  dependency-version: 7.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-10 10:53:40 +00:00
dependabot[bot] 24c0f4b06d build(deps-dev): bump the vitest group across 2 directories with 2 updates
Bumps the vitest group with 1 update in the / directory: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).
Bumps the vitest group with 1 update in the /build/frontend-legacy directory: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).


Updates `@vitest/coverage-v8` from 4.0.14 to 4.0.15
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/coverage-v8)

Updates `vitest` from 4.0.14 to 4.0.15
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/vitest)

Updates `@vitest/coverage-v8` from 4.0.14 to 4.0.15
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/coverage-v8)

Updates `vitest` from 4.0.14 to 4.0.15
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.0.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.0.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-10 10:52:33 +00:00
dependabot[bot] 077cb3ebba build(deps-dev): bump sass from 1.94.2 to 1.95.1
Bumps [sass](https://github.com/sass/dart-sass) from 1.94.2 to 1.95.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.94.2...1.95.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.95.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-10 10:51:34 +00:00
dependabot[bot] 3c809eaceb build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.2.9 to 2.2.14.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.2.9...2.2.14)

---
updated-dependencies:
- dependency-name: rector/rector
  dependency-version: 2.2.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-10 10:50:45 +00:00
Ferdinand Thiessen 496404de56 Merge pull request #56718 from nextcloud/chore/move-behat-to-vendor-bin
chore: move behat dependencies to vendor-bin
2025-12-10 11:49:42 +01:00
Joas Schilling da1dd481e9 Merge pull request #56900 from nextcloud/fix/noid/allow-macos-on-ci
fix: Allow installation on macOS CI
2025-12-10 11:39:21 +01:00
Josh b2bc785986 chore: make php-cs happy
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-09 22:26:16 -05:00
Nextcloud bot f3c56f051a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-10 00:13:59 +00:00
Ferdinand Thiessen e0e2d0fd2e chore: drop usage of -integration docker image
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-10 01:13:50 +01:00
Ferdinand Thiessen 65135bba31 chore: move behat dependencies to vendor-bin
So we do not have 3 locatations to look for PHP dependencies.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-10 01:13:50 +01:00
Sebastian Krupinski 75edec9d6c Merge pull request #56784 from nextcloud/fix/calendar-subscription-memory-exhaustion
fix: calendar subscription memory exhaustion
2025-12-09 13:08:24 -05:00
SebastianKrupinski 1a0535aa75 fix: calendar subscription memory exhaustion
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-12-09 12:36:16 -05:00
Sebastian Krupinski 4185dfb599 Merge pull request #55415 from nextcloud/fix/issue-legal-footer
fix: legal footer on public page
2025-12-09 12:05:35 -05:00
SebastianKrupinski 162ebfaf3c fix: legal footer on public page
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-12-09 11:21:03 -05:00
Kate 6277ecf480 Merge pull request #56862 from abhinavohri/56609 2025-12-09 16:02:18 +01:00
Josh e476a22a50 fix(file/types): Preserve keys (including numeric-looking ones)
Replace array_merge with array_replace for definitions

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-09 09:22:04 -05:00
Josh 50a94a35ee test(files/type): leading zero extension preservation
- adds a focused DetectionTest that ensures numeric-looking keys (e.g. "001") are preserved
- refactors filesystem tests to use an isolated temp dir with proper cleanup

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-09 09:22:04 -05:00
Abhinav Ohri f78e2a33ea test(settings): add missing logger parameter to MailSettingsController test
Signed-off-by: Abhinav Ohri <abhinavohri13@gmail.com>
2025-12-09 18:34:29 +05:30
Marcel Klehr f967134f58 Merge pull request #56928 from nextcloud/fix/taskprocessing-ocr
fix(TaskProcessing): Adjust OCR task type to allow for multiple files and pdfs
2025-12-09 13:52:57 +01:00
Andy Scherzinger 71c2e94123 Merge pull request #54436 from nextcloud/s3-signed-url
perf(s3): Provide direct pre-signed download link
2025-12-09 12:38:20 +01:00
Carl Schwan b6313f68d3 perf(s3): Expose pre-signed urls for S3
This is faster than going back to nextcloud to download the files.

This is an opt-in setting that can be enabled by setting
use_presigned_url in the object store config.

Additionally add support for the proxy config which is needed in a
docker setup. See https://github.com/juliusknorr/nextcloud-docker-dev/pull/431

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-09 11:21:35 +01:00
Benjamin Gaussorgues d343207b25 Merge pull request #56926 from nextcloud/fix/CachingRouter/disable-cache-find-matching 2025-12-09 10:18:58 +01:00
Marcel Klehr 25044f82ae fix(TaskProcessing): Adjust OCR task type to allow for multiple files and pdfs
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-12-09 09:21:33 +01:00
provokateurin 90948f5096 fix(CachingRouter): Disable cache for findMatchingRoute
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-09 09:16:01 +01:00
Nextcloud bot 65d008b40c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-09 00:13:32 +00:00
Daniel b7b4a3a6d7 Merge pull request #56908 from nextcloud/feat/tasktype-ocr
feat(TaskProcessing): Add OCR TaskType
2025-12-08 17:53:00 +01:00
Marcel Klehr 3355e6a2f7 feat(TaskProcessing): Add OCR TaskType
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-12-08 17:44:37 +01:00
F. E Noel Nfebe 1158319acb Merge pull request #56740 from nextcloud/fix/sharing-password-removal
fix(files_sharing): Allow removing password from link shares
2025-12-08 14:31:11 +01:00
Kate 66d07f4ddd Merge pull request #56896 from nextcloud/fix/flake/eol-php-versions 2025-12-08 14:17:48 +01:00
nextcloud-command f46f41eabc chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-08 12:42:57 +01:00
nfebe 8e7cbcea40 fix(files_sharing): Allow removing password from link shares
Fixes regression from a28834b163

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-08 12:42:57 +01:00
Andy Scherzinger 2c6d3d6f76 Merge pull request #56628 from nextcloud/carl/snowflake/jobs
feat: Port jobs table to snowflakes ids
2025-12-08 12:23:44 +01:00
Kate c0a4098f14 Merge pull request #56490 from nextcloud/automated/noid/-update-min-supported-desktop-version 2025-12-08 07:07:53 +01:00
nextcloud-command 40c504ec2d chore: Update minimum supported desktop version
Signed-off-by: GitHub <noreply@github.com>
2025-12-08 00:32:02 +00:00
Nextcloud bot ca52687b73 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-08 00:13:27 +00:00
Marcel Müller ae85eab73c fix: Allow installation on macOS CI
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-12-07 13:32:43 +01:00
Abhinav Ohri 980c243132 fix(settings): log exception when test email fails
Signed-off-by: Abhinav Ohri <abhinavohri13@gmail.com>
2025-12-07 17:36:22 +05:30
Abhinav Ohri babab821a7 fix(settings): improve mail test error handling and logging
Signed-off-by: Abhinav Ohri <abhinavohri13@gmail.com>
2025-12-07 15:06:14 +05:30
Nextcloud bot bbca4fe56e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-07 00:13:27 +00:00
provokateurin 8136b14d81 fix(flake): Allow using EOL PHP versions
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-06 14:49:05 +01:00
Nextcloud bot de381f3b5a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-06 00:13:28 +00:00
Louis 8ec73e1976 Merge pull request #56726 from nextcloud/artonge/fix/user_ldap/deleting_and_initial_config
fix(user_ldap): Improve case where selected config is undefined
2025-12-05 20:26:25 +01:00
Kate 842df498e0 Merge pull request #56816 from nextcloud/jtr/chore-legacy-drop-mac-checker 2025-12-05 17:42:38 +01:00
Joas Schilling 594d22021a Merge pull request #56076 from nextcloud/carl/cleanup-comment
refactor(comment): Port away from deprecated event comment constant
2025-12-05 11:38:08 +01:00
github-actions[bot] 9d04624fe2 Merge pull request #56785 from nextcloud/dependabot/npm_and_yarn/mdast-util-to-hast-13.2.1
build(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1
2025-12-05 10:15:01 +01:00
github-actions[bot] 309e714f14 Merge pull request #56751 from nextcloud/dependabot/npm_and_yarn/stylelint-16.26.1
build(deps-dev): bump stylelint from 16.26.0 to 16.26.1
2025-12-05 08:02:37 +00:00
dependabot[bot] 61b74102a5 build(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1
Bumps [mdast-util-to-hast](https://github.com/syntax-tree/mdast-util-to-hast) from 13.2.0 to 13.2.1.
- [Release notes](https://github.com/syntax-tree/mdast-util-to-hast/releases)
- [Commits](https://github.com/syntax-tree/mdast-util-to-hast/compare/13.2.0...13.2.1)

---
updated-dependencies:
- dependency-name: mdast-util-to-hast
  dependency-version: 13.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 08:07:17 +01:00
github-actions[bot] 818ce6ded2 Merge pull request #56860 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/mdast-util-to-hast-13.2.1
build(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /build/frontend-legacy
2025-12-05 08:06:25 +01:00
nextcloud-command 93d1684617 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-05 06:37:53 +00:00
dependabot[bot] 040bdbaf28 build(deps): bump mdast-util-to-hast in /build/frontend-legacy
Bumps [mdast-util-to-hast](https://github.com/syntax-tree/mdast-util-to-hast) from 13.2.0 to 13.2.1.
- [Release notes](https://github.com/syntax-tree/mdast-util-to-hast/releases)
- [Commits](https://github.com/syntax-tree/mdast-util-to-hast/compare/13.2.0...13.2.1)

---
updated-dependencies:
- dependency-name: mdast-util-to-hast
  dependency-version: 13.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 06:02:48 +00:00
Nextcloud bot 5fcf28942f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-05 00:13:36 +00:00
Daniel 9e455f0650 Merge pull request #56032 from nextcloud/carl/share-manager-correct-return-type
refactor(share-manager): Make return type more precise
2025-12-04 23:24:49 +01:00
Josh 511f54324a chore: drop unused Darwin range test variation
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-04 16:48:42 -05:00
Josh d95ce6ac92 chore: drop no longer needed runningOnMac method
Removed deprecated method 'runningOnMac' that checks if PHP is running on macOS.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-04 16:46:55 -05:00
Carl Schwan 8bbd30693c refactor(share-manager): Make return type more precise
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-04 21:39:25 +01:00
dependabot[bot] 4fce62376e build(deps-dev): bump stylelint from 16.26.0 to 16.26.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.26.0 to 16.26.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.26.0...16.26.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.26.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-04 19:05:45 +01:00
Andy Scherzinger 3cdfe6dbfa Merge pull request #56790 from nextcloud/refactor/password-confirm-attribute-getstrict
refactor: improve reflection attribute typing
2025-12-04 19:04:27 +01:00
nextcloud-command 5e5ed7d912 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-04 17:19:05 +00:00
Louis Chmn 291ec1e474 fix(user_ldap): Fix activation enforcement when testing the config
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-04 17:16:21 +00:00
Louis Chmn ae8b6290e1 fix(user_ldap): Improve case where selected config is undefined
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-04 17:16:21 +00:00
Louis Chmn 75312017d4 fix(user_ldap): Disable some buttons when clicking them would lead to an issue
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-04 17:16:21 +00:00
Louis Chmn 2174e0b4fe fix(user_ldap): Properly update local variable for username and password in server settings
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-04 17:16:21 +00:00
Louis Chmn b801f583d8 fix(user_ldap): Properly use fall back message in case of empty response
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-04 17:16:21 +00:00
Louis Chmn 06c10586b7 fix(user_ldap): Properly handle new config creation in settings
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-04 17:16:21 +00:00
Louis 189e1fcf22 Merge pull request #56834 from nextcloud/artonge/feat/repair_tree_path_and_storage
feat(files): Add support for `storage-id` and `path` in RepairTree command
2025-12-04 18:06:07 +01:00
Carl Schwan 3c9b937e28 refactor(comment): Port away from deprecated event comment constant
Create new events to replace deprecated CommentsEvent constant and use
them when creating CommentsEvents.

On the listener side, we can't yet use these events as deck still send
the old events.

Also fixes some issues reported by psalm level 3 on the comment app.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-04 17:38:53 +01:00
Christoph Wurst 8a581c230b refactor: improve reflection attribute typing
This allows tools to see the correct usage of
PasswordConfirmationRequired::getStrict

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-12-04 17:37:47 +01:00
Andy Scherzinger 1ef465f804 Merge pull request #56251 from nextcloud/carl/template-manager-cleanup
refactor(template-manager): Modernize template manager API
2025-12-04 17:26:53 +01:00
Carl Schwan 0e686fc6a9 feat: Port jobs table to snowflakes ids
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-04 17:16:12 +01:00
Côme Chilliet aeed32cfba Merge pull request #56843 from nextcloud/feat/add-cli-details-to-log
feat(log): Add script name and occ command to log details
2025-12-04 17:06:00 +01:00
Daniel 73017f564a Merge pull request #56768 from nextcloud/feat/log-cache-events-to-audit
feat(admin_audit): Log cache insert/delete to audit log
2025-12-04 16:53:29 +01:00
Maxence Lange b18372e637 Merge pull request #56668 from nextcloud/fix/noid/real-account-on-deleted-federation
fix(trashbin): deletedBy of a file from a federated folder
2025-12-04 13:46:43 -01:00
Côme Chilliet cb80ec7ebb feat(log): Add script name and occ command to log details
This will help when troubleshooting issues. For web request we have
 method and url, but for cron and occ currently we have no way to know if
 it’s one or the other and which command.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-04 15:04:59 +01:00
Stephan Orbaugh 86f0cbf1e8 Merge pull request #56664 from cristianscheid/feat/54790/transfer-ownership-use-user-id
feat(files): add --use-user-id option to transfer-ownership command
2025-12-04 13:43:07 +01:00
Louis 5bf67fd206 Merge pull request #56745 from nextcloud/artonge/feat/files_sharing/support_priority_in_template_providers
feat(files_sharing): Support priority in public template providers
2025-12-04 12:58:44 +01:00
Louis Chmn 55756e626f feat(files): Add support for storage-id and path in RepairTree command
This allows to run the command on specific part of the filecache. When the filecache is big, it prevents overloading the DB.

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-04 11:43:12 +01:00
Louis Chmn 10b82c8bf8 feat(files_sharing): Support priority in public template providers
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-04 10:59:58 +01:00
Nextcloud bot e5367e11ba fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-04 00:14:05 +00:00
Salvatore Martire 31af870ef0 Merge pull request #55147 from nextcloud/fixPublicShares
Reflect public shares in `isPublic` flag and fix permission check
2025-12-03 16:37:33 +01:00
Andy Scherzinger 5b1d928dcd Merge pull request #56630 from nextcloud/carl/workflowengine-hardening
refactor(workflowengine): Check if class is correct
2025-12-03 16:21:24 +01:00
Carl Schwan cc7655136c refactor(share): Remove code related to science mesh integration
The app was not updated for the past 2 years.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-03 14:11:58 +01:00
Sebastian Krupinski 8e7bdabe15 Merge pull request #56801 from nextcloud/fix/caldav-increase-uid-size
fix(CalDAV): Increase Calendar Object UID field size
2025-12-03 07:52:17 -05:00
Kate c23dbcce45 Merge pull request #56783 from nextcloud/chore/deps/flake 2025-12-03 13:49:40 +01:00
Carl Schwan f38c8c3d7c fix(formatting): Fix formatting issue
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-03 11:10:18 +01:00
Sebastian Möbus bae24eb2e3 Merge pull request #56791 from nextcloud/binford6000-patch-upgrading-from-owncloud->-v10.13
patch the version file to allow upgrading from owncloud  > v10.13
2025-12-03 06:42:30 +01:00
Joas Schilling 48f39f54c5 Merge pull request #56811 from nextcloud/automated/noid/master-update-ca-cert-bundle
[master] fix(security): Update CA certificate bundle
2025-12-03 05:54:38 +01:00
Josh aa498654c5 refactor(setup): use OS constant rather than function (macOS)
PHP_OS_FAMILY

- Facilitates elimination of a legacy OC_Util method
  - `runningOnMac()` -- yes, really! ;-)
- Supported since PHP late 7.x-era

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-02 21:54:44 -05:00
Josh d9a7e0855c refactor(tests): use OS constant over function
Use PHP's newer PHP_OS_FAMILY constant.

- Allows us to drop a legacy OC_Util method.
- This test isn't even enabled at the moment.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-02 21:53:03 -05:00
Josh cc873ccaec chore(legacy): deprecate OC_Util::runningOnMac()
- Easy enough query directly these days; Only used in one spot anyhow
- Updated the runningOnMac method to use PHP_OS_FAMILY just for clarity until we can remove the function entirely (same result; supported since PHP ~7.4).

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-02 21:52:58 -05:00
nextcloud-command c6a68d5f17 fix(security): Update CA certificate bundle
Signed-off-by: GitHub <noreply@github.com>
2025-12-03 02:40:57 +00:00
Nextcloud bot b520db7eb5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-03 00:13:30 +00:00
Kate 756efb76aa Merge pull request #56672 from nextcloud/chore-disable-s3-data-protection 2025-12-02 22:14:10 +01:00
Louis cbe18a8677 Merge pull request #56792 from nextcloud/artonge/debt/files/remove_regular_stats_request
debt(files): Remove regular stats request
2025-12-02 21:13:50 +01:00
Daniel Kesselberg f977a7fec6 fix(s3): make data integrity protections opt-in
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-12-02 21:03:26 +01:00
Andy Scherzinger 34c6cb7b2e Merge pull request #56655 from nextcloud/fix/fix-updater-secret-log-spam
fix(updatenotification): Fix log spam from ResetToken job
2025-12-02 19:24:40 +01:00
Andy Scherzinger 0e9aa3dd78 Merge pull request #56728 from nextcloud/fix/fix-wizard-controller-translation-string
fix(user_ldap): Do not use variables directly in translation strings
2025-12-02 19:23:10 +01:00
SebastianKrupinski 54e23aeac9 feat(CalDAV): Increase Calendar Object UID field size
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-12-02 12:54:00 -05:00
Edward Ly 1490ea95cb Merge pull request #56781 from nextcloud/fix/s3-name
fix(s3): rename 'Amazon S3' to 'S3 Storage'
2025-12-02 09:20:34 -08:00
Benjamin Gaussorgues 5a0651e7c7 Merge pull request #56561 from nextcloud/fix/fix-files-external-with-php-84 2025-12-02 17:58:26 +01:00
Edward Ly 09f774a61f fix(s3): rename 'Amazon S3' to 'S3 Storage'
The current name may be confusing to users who take advantage of other S3-compatible storage solutions not offered by Amazon, so a more generic name is preferred here.

Signed-off-by: Edward Ly <contact@edward.ly>
2025-12-02 08:33:06 -08:00
Joas Schilling 7a5c79b0f2 Merge pull request #56629 from nextcloud/carl/autoloader-bump
chore: Bump autoloader files for new composer version
2025-12-02 16:58:01 +01:00
F. E Noel Nfebe 68b9108ca6 Merge pull request #55811 from nextcloud/fix/public-share-group-exclusion-access
fix(sharing): Allow public share access for everyone
2025-12-02 15:41:59 +01:00
nextcloud-command 3b41ab108f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-02 15:37:02 +01:00
Louis Chmn 9aac7ecc60 chore(files): Remove regular stats request
All views are now migrated.

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-02 15:37:02 +01:00
Andy Scherzinger f5620538b9 Fix indentation in version.php for Nextcloud version
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-12-02 14:40:27 +01:00
Sebastian Möbus 4f933d3505 patch the version file to allow upgrading from owncloud > v10.13
Some customers already migrated from 10.15.3 and needed to edit the version.php file before the migration. 10.16 was recently published and it seems migration from there also works fine.

Signed-off-by: Sebastian Möbus <sebastian@nextcloud.com>
2025-12-02 14:40:27 +01:00
Benjamin Gaussorgues 86c2dd467d Merge pull request #56758 from nextcloud/fix/fix-orphan-share-blocking-moves 2025-12-02 10:45:40 +01:00
Carl Schwan d877262e07 chore: Bump autoloader files for new composer version
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-02 10:32:44 +01:00
nfebe 6bccaf778a fix(sharing): Allow public share access for everyone
When a logged-in user accesses a public share link in the same browser,
the system was incorrectly checking if that user's groups were excluded
from creating link shares. This caused share not found errors for users
in excluded groups, even though public shares should be accessible to anyone
with the link.

The group exclusion setting (`shareapi_allow_links_exclude_groups`) is
intended to restrict share creation, not share access. Public shares
are meant to be anonymous and accessible regardless of the viewer identity
or group membership.

We now check the exclusion for the share creator and not the viewer.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-02 09:45:18 +01:00
John Molakvoæ 3b2a306a67 Merge pull request #56694 from nextcloud/refactor/files_reminders-vue3 2025-12-02 09:42:49 +01:00
Côme Chilliet f453411d59 fix: Log missing nodes of shares at debug level
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-02 09:33:07 +01:00
Kate 8eff6537a2 Merge pull request #56527 from nextcloud/fix/quotaplugin/always-check-before-move 2025-12-02 08:31:53 +01:00
Nextcloud bot a9b811906d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-02 00:14:04 +00:00
provokateurin dabde76f9e chore(deps): Update flake to 25.11 and haze to 2.1.3
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 23:15:57 +01:00
Josh 33fba8c084 chore(legacy): Remove deprecated getUserQuota method
Formally deprecated with 9.0.0 and we dropped final uses of it in #53045.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-01 12:49:27 -05:00
Maxence Lange ea8b133910 fix(trashbin): deletedBy of a file from a federated folder
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>

d
2025-12-01 16:25:05 -01:00
Salvatore Martire 631318f86f style: apply cs-fixer to publicwebdav.php
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-01 18:09:25 +01:00
Salvatore Martire 4ac0fcf02e fix: check instance of storage using helper function
instanceof cannot be used to check the instance of a storage, doing so
breaks the check in certain cases. In this case, enabling the
`files_accesscontrol` app breaks the check.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-01 18:09:25 +01:00
Salvatore Martire 38f8423cd6 fix: isPublicShare =true when share is public
The isPublicShare was set to false in one instance where it should have
been true. Flipping the value to true, would break the functionality for
PROPFIND /public.php/webdav/ which returns properties of files in a
share identified by the username being the share token.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-01 18:09:25 +01:00
Salvatore Martire c5ad20d925 refactor: extract tree initialization logic
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-01 18:09:25 +01:00
Kate 1b14fff939 Merge pull request #56772 from nextcloud/feat/object-store/per-bucket-arguments-override 2025-12-01 17:43:55 +01:00
Ferdinand Thiessen 1fdcfed1f7 Merge pull request #56410 from nextcloud/fix/maintenance-cache-key
fix(Memcache): use different cache key when in maintenance mode
2025-12-01 16:47:10 +01:00
provokateurin b1deae7232 fix(QuotaPlugin): Always check the quota before moving
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 16:07:02 +01:00
provokateurin 2ab29a69e0 feat(ObjectStore): Allow overriding arguments per bucket
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 16:06:05 +01:00
Ferdinand Thiessen 15229e0b4e fix(Memcache): use different cache key when in maintenance mode
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-01 14:43:23 +01:00
nextcloud-command 7cafbb009f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-01 14:34:34 +01:00
Ferdinand Thiessen d2ff4214f8 refactor(files_reminders): migrate app to Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-01 14:34:34 +01:00
Ferdinand Thiessen e89a8d832c Merge pull request #56770 from nextcloud/test/cypress-a11y
test(cypress): only check error and warning colors on blurred background
2025-12-01 13:59:32 +01:00
Cristian Scheid 9272a13e9d refactor(files): use strict string comparison instead of empty()
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Cristian Scheid <74515775+cristianscheid@users.noreply.github.com>
2025-12-01 09:52:59 -03:00
Côme Chilliet 938e8d3a46 feat(admin_audit): Log cache insert/delete to audit log
That allows to see files added/removed by a filesystem scan for
instance.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-01 13:52:09 +01:00
Ferdinand Thiessen f59435f1cb test(cypress): only check error and warning colors on blurred background
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-01 13:01:21 +01:00
Andy Scherzinger c683862ffd Merge pull request #52749 from nextcloud/feat/certificatemanager/default-bundle-path-option
feat(CertificateManager): Add option to specify the default certificates bundle path
2025-12-01 11:48:36 +01:00
Cristian Scheid fa2a7b9b2d refactor(files): use explicit empty check instead of elvis operator
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2025-12-01 07:36:18 -03:00
provokateurin 0c3a872908 feat(CertificateManager): Add option to specify the default certificates bundle path
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 10:47:23 +01:00
Côme Chilliet 7eefd725db fix(user_ldap): Do not use variables directly in translation strings
I simply removed translations for exceptions which are never supposed to
 happen apart from API misuse or code bug.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-01 10:40:50 +01:00
Andy Scherzinger 86560b33bc Merge pull request #56749 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.2.9
build(deps-dev): bump rector/rector from 2.2.8 to 2.2.9 in /vendor-bin/rector
2025-12-01 09:48:37 +01:00
Côme Chilliet 8d64e076ee fix: Fix orphan shares blocking moving other shares
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-01 09:43:39 +01:00
Nextcloud bot 2080621ff3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-01 00:13:35 +00:00
Andy Scherzinger 51a49b58a6 Merge pull request #56428 from nextcloud/rakekniven-patch-2
chore(i18n): Improved grammar
2025-11-30 19:24:03 +01:00
dependabot[bot] ab333605a6 build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.2.8 to 2.2.9.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.2.8...2.2.9)

---
updated-dependencies:
- dependency-name: rector/rector
  dependency-version: 2.2.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-30 17:36:27 +01:00
Nextcloud bot fcedecde37 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-30 00:13:55 +00:00
Nextcloud bot da2c865481 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-29 00:13:46 +00:00
Joas Schilling 5c0ba9ae08 Merge pull request #56732 from nextcloud/techdebt/noid/migrate-settings-pii-listener-to-events
fix(settings): Migrate PII listener to IEventListener
2025-11-28 22:24:19 +01:00
Andy Scherzinger 631f471bb7 Merge pull request #56537 from nextcloud/refactor/files-sharing
Refactor mount providers files_sharing app
2025-11-28 15:43:48 +01:00
Andy Scherzinger 1c8129aafc Merge pull request #56724 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/node-forge-1.3.2
build(deps-dev): bump node-forge from 1.3.1 to 1.3.2 in /build/frontend-legacy
2025-11-28 15:43:27 +01:00
Andy Scherzinger 8cd86fb6a0 Merge pull request #54685 from nextcloud/feat/comments/markdown-support
feat(comments): add Markdown support
2025-11-28 15:42:39 +01:00
Andy Scherzinger 3da9905c8f Merge pull request #56717 from nextcloud/enh/noid/taskpro-optional-watermarking
Add a boolean 'addWatermarking' attribute to taskprocessing tasks
2025-11-28 15:40:35 +01:00
Salvatore Martire cfba3f8370 refactor(files_sharing): avoid magic numbers in external/MountProvider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-11-28 13:02:45 +01:00
Salvatore Martire 881453dbde refactor(files_sharing): extract getMountsForUser logic
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-11-28 13:02:45 +01:00
Salvatore Martire 2d74a755a8 refactor(files_sharing): apply DRY in MountProvider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-11-28 13:02:45 +01:00
Salvatore Martire 111d9397ae refactor(files_sharing): reduce complexity in MountProvider::buildSuperShares
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-11-28 13:02:45 +01:00
Salvatore Martire 2ae7c3ecae fix(files_sharing): remove unnecessary array_values in MountProvider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-11-28 13:02:45 +01:00
Salvatore Martire ff28ac7ea2 refactor(files_sharing): apply DRY for user and node ID in MountProvider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-11-28 13:02:45 +01:00
Julien Veyssier 6d4da35ca8 chore(assets): compile assets
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-11-28 11:03:22 +01:00
Joas Schilling 3dd06f8b89 fix(settings): Migrate PII listener to IEventListener
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-28 10:57:47 +01:00
Julien Veyssier 89d59b8175 feat(comments): add Markdown support
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-11-28 10:52:30 +01:00
John Molakvoæ bb1451fcb9 Merge pull request #56060 from nextcloud/fix/hide-open-locally-action 2025-11-28 09:51:47 +01:00
skjnldsv 478509a605 chore(assets): Recompile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-11-28 09:17:37 +01:00
John Molakvoæ 7bbc42809e fix(files): use isDownloadable for isSyncable
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-11-28 09:17:37 +01:00
Fauzan a7509ae2b8 fix(files_sharing): Hide 'Open locally' action
This patch ensures that the "Open locally" context menu item is not
displayed for files in a share where the "download and sync" permission
has not been granted.

This prevents user confusion, as the action would fail anyway. The fix
adds a permission check before rendering the menu item, and adds a
corresponding unit test to verify this behavior.

Resolves: #54970

Signed-off-by: Fauzan <fauzanfebriann@gmail.com>
2025-11-28 08:52:27 +01:00
Nextcloud bot 94a00b626e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-28 00:13:27 +00:00
Joas Schilling 1c7ed89855 Merge pull request #56716 from nextcloud/fix/logger
fix(logger): add back lost params for logger methods
2025-11-27 15:54:43 +01:00
Joas Schilling e613ba2acc Merge pull request #56729 from nextcloud/techdebt/noid/oracle-12
Drop Oracle 11 support
2025-11-27 15:50:52 +01:00
Joas Schilling 7a4167fe28 fix(oracle): Don't run tests against unsupported Oracle version anymore
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-27 14:39:51 +01:00
Joas Schilling 39e94ef927 fix(oracle): Add a warning for Oracle 11
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-27 14:35:54 +01:00
Anna Larch ace9ba487e fix(logger): add back lost params for logger methods
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-11-27 13:44:07 +01:00
dependabot[bot] 06acb66404 build(deps-dev): bump node-forge in /build/frontend-legacy
Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.3.1 to 1.3.2.
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/v1.3.1...v1.3.2)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-version: 1.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 13:34:08 +01:00
Stephan Orbaugh fbff470d4c Merge pull request #56419 from nextcloud/fix/provide-non-interactive-mode-to-run-encryption
fix: support -n option to encrypt-all command to allow to run in non-interactive mode
2025-11-27 11:46:05 +01:00
Julien Veyssier b4f7fe2cb6 feat(taskprocessing): add a boolean 'includeWatermark' to taskprocessing tasks and pass it to ISynchronousWatermarkingProvider::process
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-11-27 11:32:08 +01:00
Nextcloud bot 590d83993b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-27 00:13:37 +00:00
Andy Scherzinger 4dffa1a46a Merge pull request #55790 from nextcloud/feat/webhook-tokens
Feat(webhook_listeners): add auth tokens to webhook call
2025-11-26 23:18:19 +01:00
Joas Schilling 38792c8c96 Merge pull request #56544 from nextcloud/chore/user_status--vue3
refactor(user_status): migrate to Vue 3
2025-11-26 15:40:21 +01:00
nextcloud-command ea205ddd6c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-26 13:23:21 +00:00
Grigorii K. Shartsev 8ca4a7a036 refactor(user_status): migrate to Vue 3
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2025-11-26 14:09:33 +01:00
Maksim Sukharev b10d5d3ca0 chore(deps): add Vuex
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-11-26 14:09:21 +01:00
Grigorii K. Shartsev bbd35b2754 build(user_status): move from frontend_legacy to frontend
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2025-11-26 14:05:43 +01:00
Grigorii K. Shartsev fb44adc365 refactor(user_status): prepare for Vue 3 migration
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2025-11-26 14:05:37 +01:00
Daniel f4753cc0c4 Merge pull request #56711 from nextcloud/fix/noid/user-status-busy
fix(user_status): adjust online status string
2025-11-26 12:21:08 +01:00
Ferdinand Thiessen b27992402a Merge pull request #56704 from nextcloud/chore/deps-missing
build(deps): add missing dependencies
2025-11-26 11:32:37 +01:00
Ferdinand Thiessen a2a4137708 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-26 11:02:48 +01:00
Ferdinand Thiessen 9baac21534 build(deps): add missing dependencies
During the initial Vue 3 migration some dependencies were forgotten to
be explicitly mentioned as dependencies.
This aligns those dependencies with the package.json
It was only working because they were peer dependencies of other
dependencies we already added.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-26 10:51:26 +01:00
nextcloud-command 4dd34bd00d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-26 09:22:38 +00:00
Ferdinand Thiessen b3532f01dd Merge pull request #56705 from nextcloud/chore/cleanup-deps
chore(deps): remove unused dependencies
2025-11-26 10:20:12 +01:00
Carl Schwan 7541afae07 refactor(workflowengine): Check if class is correct
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-26 10:16:35 +01:00
Maksim Sukharev 48b5c84746 fix(user_status): adjust online status string
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-11-26 10:09:54 +01:00
Ferdinand Thiessen 6719f5a95e Merge pull request #56693 from nextcloud/chore/remove-useless-dependencies
chore: remove `@nextcloud/calendar-availability-vue` from legacy
2025-11-26 09:53:43 +01:00
Ferdinand Thiessen 7615e75e01 chore(deps): remove unused dependencies
Those dependencies were used only by our Cypress config,
but now as we use `@nextcloud/e2e-test-server` we do not have any direct
dependency on any of them.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-26 09:34:00 +01:00
John Molakvoæ 68a9903b0f Merge pull request #54550 from nextcloud/jtr-refactor-main-htaccess 2025-11-26 09:33:58 +01:00
Ferdinand Thiessen 8cb14b4c01 chore: remove @nextcloud/calendar-availability-vue from legacy
The dependency is only used by DAV app but that is already migrated to
Vue 3.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-26 09:30:33 +01:00
John Molakvoæ 30ad57b135 Merge branch 'master' into jtr-refactor-main-htaccess
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-11-26 09:15:31 +01:00
Andy Scherzinger 3e1ce965eb Merge pull request #56701 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/workbox-webpack-plugin-7.4.0
build(deps-dev): bump workbox-webpack-plugin from 7.3.0 to 7.4.0 in /build/frontend-legacy
2025-11-26 08:58:27 +01:00
nextcloud-command 9cc0af1e95 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-26 02:30:57 +00:00
dependabot[bot] 8bd328e48a build(deps-dev): bump workbox-webpack-plugin in /build/frontend-legacy
Bumps [workbox-webpack-plugin](https://github.com/googlechrome/workbox) from 7.3.0 to 7.4.0.
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.3.0...v7.4.0)

---
updated-dependencies:
- dependency-name: workbox-webpack-plugin
  dependency-version: 7.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 03:23:03 +01:00
github-actions[bot] c2e7b34d04 Merge pull request #56696 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/debounce-3.0.0
build(deps): bump debounce from 2.2.0 to 3.0.0 in /build/frontend-legacy
2025-11-26 02:19:11 +00:00
nextcloud-command f4736586dc chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-26 01:37:18 +00:00
Ferdinand Thiessen 776c960308 refactor: adjust code for debounce v3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-26 01:34:37 +00:00
dependabot[bot] c3ec3aa346 build(deps): bump debounce from 2.2.0 to 3.0.0 in /build/frontend-legacy
Bumps [debounce](https://github.com/sindresorhus/debounce) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/sindresorhus/debounce/releases)
- [Commits](https://github.com/sindresorhus/debounce/compare/v2.2.0...v3.0.0)

---
updated-dependencies:
- dependency-name: debounce
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 01:34:37 +00:00
github-actions[bot] 0c14a54d52 Merge pull request #56634 from nextcloud/dependabot/npm_and_yarn/vue-3.5.25
build(deps): bump vue from 3.5.24 to 3.5.25
2025-11-26 01:19:36 +00:00
github-actions[bot] 748e92e5a6 Merge pull request #56697 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/webpack-vue-config-7.0.2
build(deps-dev): bump @nextcloud/webpack-vue-config from 7.0.1 to 7.0.2 in /build/frontend-legacy
2025-11-26 01:03:17 +00:00
nextcloud-command da56265e62 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-26 01:28:01 +01:00
dependabot[bot] a9e3734aa7 build(deps): bump vue from 3.5.24 to 3.5.25
Bumps [vue](https://github.com/vuejs/core) from 3.5.24 to 3.5.25.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.24...v3.5.25)

---
updated-dependencies:
- dependency-name: vue
  dependency-version: 3.5.25
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 01:25:17 +01:00
github-actions[bot] 1c116c38c8 Merge pull request #56698 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/camelcase-9.0.0
build(deps): bump camelcase from 8.0.0 to 9.0.0 in /build/frontend-legacy
2025-11-26 01:24:14 +01:00
Nextcloud bot 87b3cbd5e3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-26 00:14:11 +00:00
github-actions[bot] 1fd57d057e Merge pull request #56674 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/marked-17.0.1
build(deps): bump marked from 17.0.0 to 17.0.1 in /build/frontend-legacy
2025-11-25 23:53:31 +00:00
nextcloud-command 7225c09c43 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-25 23:52:27 +00:00
Andy Scherzinger 8679fd1cc0 Merge pull request #56673 from nextcloud/dependabot/npm_and_yarn/vitest-b8deea5be8
build(deps-dev): bump the vitest group across 2 directories with 2 updates
2025-11-26 00:48:53 +01:00
Andy Scherzinger e4f3dcab03 Merge pull request #56659 from nextcloud/dependabot/github_actions/github-actions-3f1f41f4cb
build(deps): bump the github-actions group across 1 directory with 10 updates
2025-11-26 00:48:21 +01:00
github-actions[bot] 9cd49cbe34 Merge pull request #56695 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.3
build(deps-dev): bump msw from 2.12.2 to 2.12.3 in /build/frontend-legacy
2025-11-25 23:44:54 +00:00
dependabot[bot] e961352fbe build(deps): bump camelcase in /build/frontend-legacy
Bumps [camelcase](https://github.com/sindresorhus/camelcase) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/sindresorhus/camelcase/releases)
- [Commits](https://github.com/sindresorhus/camelcase/compare/v8.0.0...v9.0.0)

---
updated-dependencies:
- dependency-name: camelcase
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 00:44:08 +01:00
github-actions[bot] f9788c956d Merge pull request #56687 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/types/dockerode-3.3.47
build(deps-dev): remove `@types/dockerode` and `@types/wait-on` in `/build/frontend-legacy`
2025-11-25 23:07:09 +00:00
dependabot[bot] 550e54e682 build(deps-dev): bump @nextcloud/webpack-vue-config
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud-libraries/webpack-vue-config) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/nextcloud-libraries/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/webpack-vue-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/webpack-vue-config/compare/v7.0.1...v7.0.2)

---
updated-dependencies:
- dependency-name: "@nextcloud/webpack-vue-config"
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 22:59:15 +00:00
dependabot[bot] e0a9fdc26d build(deps-dev): bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.2 to 2.12.3.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.2...v2.12.3)

---
updated-dependencies:
- dependency-name: msw
  dependency-version: 2.12.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 22:58:51 +00:00
dependabot[bot] 19cff44eac build(deps-dev): bump the vitest group across 2 directories with 2 updates
Bumps the vitest group with 1 update in the / directory: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).
Bumps the vitest group with 1 update in the /build/frontend-legacy directory: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).


Updates `@vitest/coverage-v8` from 4.0.13 to 4.0.14
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.14/packages/coverage-v8)

Updates `vitest` from 4.0.13 to 4.0.14
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.14/packages/vitest)

Updates `@vitest/coverage-v8` from 4.0.13 to 4.0.14
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.14/packages/coverage-v8)

Updates `vitest` from 4.0.13 to 4.0.14
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.14/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.0.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.0.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 22:58:43 +00:00
dependabot[bot] 2af533e000 Merge pull request #56636 from nextcloud/dependabot/composer/build/integration/behat/behat-3.27.0 2025-11-25 22:58:28 +00:00
github-actions[bot] 0f759d4fda Merge pull request #56677 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/core-js-3.47.0
build(deps): bump core-js from 3.46.0 to 3.47.0 in /build/frontend-legacy
2025-11-25 22:55:38 +00:00
dependabot[bot] 949cf19f21 build(deps): bump marked from 17.0.0 to 17.0.1 in /build/frontend-legacy
Bumps [marked](https://github.com/markedjs/marked) from 17.0.0 to 17.0.1.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.0...v17.0.1)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 17.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 23:55:36 +01:00
dependabot[bot] 5c5ef65b6f build(deps-dev): remove unneeded @types/dockerode and @types/wait-on
Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 23:29:48 +01:00
nextcloud-command 797ee31afe chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-25 22:11:39 +00:00
Ferdinand Thiessen 90436835ce ci: fix changes detection for legacy frontend
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 23:00:46 +01:00
dependabot[bot] 3258a91e39 build(deps): bump core-js in /build/frontend-legacy
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.46.0 to 3.47.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.47.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-version: 3.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 23:00:46 +01:00
github-actions[bot] 4205247cfa Merge pull request #56635 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sass-1.94.2
build(deps-dev): bump sass from 1.93.3 to 1.94.2 in /build/frontend-legacy
2025-11-25 21:39:06 +00:00
dependabot[bot] 5651f6e568 build(deps-dev): bump sass in /build/frontend-legacy
Bumps [sass](https://github.com/sass/dart-sass) from 1.93.3 to 1.94.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.93.3...1.94.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.94.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 22:11:14 +01:00
github-actions[bot] 7f78a8e3ec Merge pull request #56680 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/router-3.1.0
build(deps): bump @nextcloud/router from 3.0.1 to 3.1.0 in /build/frontend-legacy
2025-11-25 22:06:37 +01:00
github-actions[bot] 4f6360e974 Merge pull request #56675 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/event-bus-3.3.3
build(deps): bump @nextcloud/event-bus from 3.3.2 to 3.3.3 in /build/frontend-legacy
2025-11-25 22:01:08 +01:00
Louis 6c3b698ea3 Merge pull request #56223 from nextcloud/artonge/fix/remove_unecessary_condition
fix(View): Normalize path in getAbsolutePath
2025-11-25 21:55:51 +01:00
github-actions[bot] d1dfb8388d Merge pull request #56678 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/typings-1.10.0
build(deps-dev): bump @nextcloud/typings from 1.9.1 to 1.10.0 in /build/frontend-legacy
2025-11-25 21:53:06 +01:00
github-actions[bot] b39fb71f69 Merge pull request #56679 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webpack-5.103.0
build(deps-dev): bump webpack from 5.102.1 to 5.103.0 in /build/frontend-legacy
2025-11-25 21:52:47 +01:00
Louis 673815b86a Merge pull request #56574 from nextcloud/artonge/fix/readd_attributes_checkboxes
fix(user_ldap): Re-introduce easy login attributes checkboxes
2025-11-25 21:46:09 +01:00
dependabot[bot] 02925a6098 build(deps): bump @nextcloud/router in /build/frontend-legacy
Bumps [@nextcloud/router](https://github.com/nextcloud-libraries/nextcloud-router) from 3.0.1 to 3.1.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-router/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-router/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-router/compare/v3.0.1...v3.1.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/router"
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 20:44:45 +00:00
github-actions[bot] ccc0e9fbd3 Merge pull request #56684 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/p-queue-9.0.1
build(deps): bump p-queue from 9.0.0 to 9.0.1 in /build/frontend-legacy
2025-11-25 21:42:55 +01:00
github-actions[bot] 2f65d18eee Merge pull request #56689 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/paths-2.3.0
build(deps): bump @nextcloud/paths from 2.2.2 to 2.3.0 in /build/frontend-legacy
2025-11-25 21:38:13 +01:00
nextcloud-command 6a1712d419 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-25 19:06:21 +00:00
Louis Chmn ea4e5ae3e7 fix(user_ldap): Use correct property to update login filter
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 18:59:43 +00:00
Louis Chmn 499bbd479a fix(user_ldap): Re-introduce easy login attributes checkboxes
Fix https://github.com/nextcloud/server/issues/55805

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 18:59:43 +00:00
Ferdinand Thiessen 8b293d1f05 Merge pull request #56660 from nextcloud/chore/eslint-config
chore: update `@nextcloud/eslint-config` to v9.0.0-rc.6 and fix issues
2025-11-25 19:40:00 +01:00
Louis Chmn 73c6b17fae fix(View): Normalize path in getAbsolutePath
This allow to match files more consistently in HookConnector::getNodeForPath

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 19:30:53 +01:00
Louis Chmn b344b5323d fix(collaboration): Replace NonExisting* check on NodeDeletedEvent by a try/catch
Deleted nodes are always non existing, but some of them have a fileInfo.
This ensure that we still run the cleanup but in a safe way.

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 19:30:53 +01:00
Daniel f960afc092 Merge pull request #56562 from nextcloud/bug/noid/checked-state-for-example-content
fix state for example content checkboxes
2025-11-25 19:00:17 +01:00
dependabot[bot] 0474011173 build(deps): bump @nextcloud/paths in /build/frontend-legacy
Bumps [@nextcloud/paths](https://github.com/nextcloud-libraries/nextcloud-paths) from 2.2.2 to 2.3.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-paths/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-paths/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-paths/compare/v2.2.2...v2.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/paths"
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 17:16:10 +00:00
dependabot[bot] 3f5d5fb120 build(deps): bump p-queue from 9.0.0 to 9.0.1 in /build/frontend-legacy
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v9.0.0...v9.0.1)

---
updated-dependencies:
- dependency-name: p-queue
  dependency-version: 9.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 17:14:58 +00:00
dependabot[bot] 943f19ccc0 build(deps-dev): bump webpack in /build/frontend-legacy
Bumps [webpack](https://github.com/webpack/webpack) from 5.102.1 to 5.103.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.102.1...v5.103.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.103.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 17:13:44 +00:00
dependabot[bot] 60adc36063 build(deps-dev): bump @nextcloud/typings in /build/frontend-legacy
Bumps [@nextcloud/typings](https://github.com/nextcloud-libraries/nextcloud-typings) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-typings/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-typings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-typings/compare/v1.9.1...v1.10.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/typings"
  dependency-version: 1.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 17:13:30 +00:00
dependabot[bot] a422c3354e build(deps): bump @nextcloud/event-bus in /build/frontend-legacy
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/nextcloud/nextcloud-event-bus/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-event-bus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-event-bus/compare/v3.3.2...v3.3.3)

---
updated-dependencies:
- dependency-name: "@nextcloud/event-bus"
  dependency-version: 3.3.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 17:12:44 +00:00
Sebastian Krupinski fac380fb88 Merge pull request #55476 from nextcloud/fix/l10n/generic-language-no-user
fix(l10n): do not consider user language when getting the generic one
2025-11-25 10:42:56 -05:00
nextcloud-command 93dadb3c94 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-25 15:33:28 +00:00
Ferdinand Thiessen f1d28332a6 chore: manually adjust event names (update:checked to update:modelValue)
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 16:25:54 +01:00
Ferdinand Thiessen 9d25d20a3c chore: baseline what is not auto-fixable in legacy UI
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 16:25:54 +01:00
Ferdinand Thiessen 42112c8d30 chore: auto fix ESLint issues
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 16:25:54 +01:00
Ferdinand Thiessen 63b401d872 chore(dev-deps): update @nextcloud/eslint-config to v9.0.0-rc.6
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 16:25:54 +01:00
Sebastian Krupinski 5806dfbdcd Merge pull request #55473 from nextcloud/fix/imip-set-language-by-user
fix(CalDAV): imip set language per user
2025-11-25 09:55:32 -05:00
Daniel Kesselberg 5bcbdda184 chore(assets): Recompile assets
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-11-25 15:47:16 +01:00
Cristian Scheid 40d3118751 feat(files): add --use-user-id option to transfer-ownership command
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2025-11-25 11:45:40 -03:00
Daniel Kesselberg b17c207839 fix: checkbox for example content
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-11-25 15:44:21 +01:00
Robin Appelman 045dc79b01 Merge pull request #56626 from nextcloud/fix/fix/theming-legacy-app-config
Fix/fix/theming legacy app config
2025-11-25 15:35:04 +01:00
Ferdinand Thiessen 74351255db Merge pull request #56570 from nextcloud/artonge/debt/migrate_user_ldap_vu3
refactor(user_ldap): Migrate to Vue3
2025-11-25 15:17:48 +01:00
Andy Scherzinger e0cadec1f0 Merge pull request #56618 from nextcloud/enh/noid/testing-chat-provider
Add core:text2text:chat fake provider in the testing app
2025-11-25 15:14:12 +01:00
Côme Chilliet 69b85fab32 fix(files_external): Properly register event listeners in register method
This is the clean solution, LoginCredentials was the only auth class
 actually registering stuff in constructor.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-25 15:08:35 +01:00
Côme Chilliet 3279afc529 fix(files_external): Fix registration of listeners with PHP >= 8.4
With the lazy ghosts the constructor is not always called in
 files_external boot. This is a quick and dirty fix but we should
 instead move the code out of the constructors and to the boot method.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-25 15:08:35 +01:00
Jana Peper 694eccef63 fix: use delete method instead of deleteByTokenId
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 6c855d008f feat: error handling
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper b3645421af fix: regenerate openapi.json
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper b02966a481 fix: remove redundant db column
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 4dab6217a2 fix: include review feedback
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 5e1f2d2353 fix: translate token name
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 75f7bed617 refactor: use constants for db column types
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 3296842a5f chore: bump version nr
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper eafb602b4e fix: fix psalm
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 134943e109 feat: add information about token validity times
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper e232b481bc fix: add default to tokenNeeded
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 5ad1ea3726 fix: rename field names of tokenNeeded
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 5689d9488e feat: token deletion logic
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper be9b246ffa fix: handling of unavailable uids
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 2daff2ddae fix: Apply suggestions from code review
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper db158ce413 feat: add tokens in the webhook call data
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
Jana Peper 563aaf5ae5 feat: add token array to webhook definition and db entries
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-11-25 15:00:51 +01:00
SebastianKrupinski 345140ac88 fix: imip set language per user
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-11-25 08:47:07 -05:00
dependabot[bot] 7a94858a06 build(deps): bump the github-actions group across 1 directory with 10 updates
Bumps the github-actions group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `5.0.0` | `6.0.0` |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.35.4` | `2.35.5` |
| [actions/github-script](https://github.com/actions/github-script) | `7.0.1` | `8.0.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.29.7` | `4.31.5` |
| [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) | `4.0.0` | `5.0.0` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `5.0.0` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.5.0` | `5.5.1` |
| [LizardByte/actions](https://github.com/lizardbyte/actions) | `2025.814.40518` | `2025.1028.23217` |
| [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) | `7.0.8` | `7.0.9` |
| [actions/stale](https://github.com/actions/stale) | `10.0.0` | `10.1.0` |



Updates `actions/checkout` from 5.0.0 to 6.0.0
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...1af3b93b6815bc44a9784bd300feb67ff0d1eeb3)

Updates `shivammathur/setup-php` from 2.35.4 to 2.35.5
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.35.4...bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f)

Updates `actions/github-script` from 7.0.1 to 8.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7.0.1...ed597411d8f924073f98dfc5c65a23a2325f34cd)

Updates `github/codeql-action` from 3.29.7 to 4.31.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.7...fdbfb4d2750291e159f0156def62b853c2798ca2)

Updates `peter-evans/create-or-update-comment` from 4.0.0 to 5.0.0
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v4...e8674b075228eee787fea43ef493e45ece1004c9)

Updates `actions/upload-artifact` from 4.6.2 to 5.0.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.6.2...330a01c490aca151604b8cf639adc76d48f6c5d4)

Updates `codecov/codecov-action` from 5.5.0 to 5.5.1
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v5.5.0...5a1091511ad55cbe89839c7260b706298ca349f7)

Updates `LizardByte/actions` from 2025.814.40518 to 2025.1028.23217
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/bff0a193747a3ac7930a665fc1d4b23eba583b99...329b1bcefe1cbe1ef289177471c9f2b2af98e6ca)

Updates `peter-evans/create-pull-request` from 7.0.8 to 7.0.9
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v7.0.8...84ae59a2cdc2258d6fa0732dd66352dddae2a412)

Updates `actions/stale` from 10.0.0 to 10.1.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/3a9db7e6a41a89f618792c92c0e97cc736e1b13f...5f858e3efba33a5ca4407a664cc011ad407f2008)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: shivammathur/setup-php
  dependency-version: 2.35.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/github-script
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.31.5
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: peter-evans/create-or-update-comment
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: codecov/codecov-action
  dependency-version: 5.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2025.1028.23217
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: peter-evans/create-pull-request
  dependency-version: 7.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 10.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 13:06:41 +00:00
Julien Veyssier 9f78ccbfd0 feat(testing): add core:text2text:chat fake provider in the testing app
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-11-25 13:42:08 +01:00
nextcloud-command d4d6df5c66 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-25 13:36:23 +01:00
Louis Chmn 3d847cd801 fix(user_ldap): Improve typing
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 13:36:23 +01:00
Louis Chmn 85721eef99 fix(user_ldap): Correct label and placeholder usage
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 13:36:23 +01:00
Louis Chmn d89b5e2d91 fix(user_ldap): Use v-model for settings inputs
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 13:36:23 +01:00
Louis Chmn 1e17a9fe7a refactor(user_ldap): Migrate to Vue3
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 13:36:23 +01:00
Louis Chmn 4f9efc4c81 chore(user_ldap): Delete legacy templates
Not needed anymore after the vue migration

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 13:36:23 +01:00
Ferdinand Thiessen c4da3cca34 Merge pull request #56625 from nextcloud/chore/workflows
ci: update workflows from organization
2025-11-25 13:35:40 +01:00
Andy Scherzinger 4f25051968 Merge pull request #56631 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/vite-939f50a5f3
build(deps-dev): bump vite from 7.2.2 to 7.2.4 in /build/frontend-legacy in the vite group across 1 directory
2025-11-25 12:36:00 +01:00
Ferdinand Thiessen 930ec23d0c test: fix setup with coverage
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 12:18:55 +01:00
Ferdinand Thiessen 0e60c0a3ab chore: ignore SPDX-header-like lines in the license plugin
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 12:18:55 +01:00
Ferdinand Thiessen 66361fe56e ci: update workflows from organization
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 12:18:55 +01:00
Stephan Orbaugh a7dd4e8c05 Merge pull request #56498 from nextcloud/fix/fix-deleting-broken-shares
fix(files_sharing): Allow deleting a share of a missing file
2025-11-25 11:46:29 +01:00
dependabot[bot] 14eb82f350 build(deps-dev): bump vite
Bumps the vite group with 1 update in the /build/frontend-legacy directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 7.2.2 to 7.2.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.2.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 09:54:52 +00:00
Ferdinand Thiessen 3f083bb37a Merge pull request #56632 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/vitest-05d30e5828
build(deps-dev): bump the vitest group across 1 directory with 2 updates
2025-11-25 10:44:04 +01:00
Côme Chilliet 98ee89286d fix(updatenotification): Fix log spam from ResetToken job
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-25 10:43:22 +01:00
Louis 0b3041586b Merge pull request #55981 from nextcloud/artonge/fix/encryption/increment_lastChunkNr
fix(encryption): Increment `lastChunkNr` when size is off
2025-11-25 10:18:43 +01:00
F. E Noel Nfebe 80b04bd8d2 Merge pull request #56501 from nextcloud/fix/lookup-trusted-server-filter
fix(sharing): Add isTrustedServer flag to lookup results
2025-11-25 09:44:27 +01:00
Ferdinand Thiessen 29325b4a7e Merge pull request #56293 from nextcloud/dependabot/composer/build/integration/symfony/event-dispatcher-7.3.3
build(deps-dev): bump symfony/event-dispatcher from 6.4.25 to 7.3.3 in /build/integration
2025-11-25 02:24:02 +01:00
Nextcloud bot 75d04defd6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-25 00:14:05 +00:00
nfebe 40246d9a19 fix(sharing): Add isTrustedServer flag to lookup results
When `show_federated_shares_to_trusted_servers_as_internal` is enabled,
lookup server results were being filtered out because they lacked the
`isTrustedServer` flag. This adds the flag to lookup results by:

- Injecting TrustedServers service into LookupPlugin
- Adding `server` and `isTrustedServer` fields to each lookup result
- Updating tests to reflect new structure

This ensures lookup results from trusted servers appear in internal
sharing while non-trusted servers are correctly filtered out.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-11-24 23:32:40 +01:00
dependabot[bot] 3c73af0876 build(deps-dev): bump behat/behat in /build/integration
Bumps [behat/behat](https://github.com/Behat/Behat) from 3.26.0 to 3.27.0.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.26.0...v3.27.0)

---
updated-dependencies:
- dependency-name: behat/behat
  dependency-version: 3.27.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 19:15:14 +00:00
dependabot[bot] 5498c1c7a8 build(deps-dev): bump the vitest group across 1 directory with 2 updates
Bumps the vitest group with 2 updates in the /build/frontend-legacy directory: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 3.2.4 to 4.0.13
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.13/packages/coverage-v8)

Updates `vitest` from 3.2.4 to 4.0.13
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.13/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.0.13
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.13
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 19:13:28 +00:00
Andy Scherzinger 9d92f205a9 Merge pull request #56588 from nextcloud/dependabot/npm_and_yarn/vitest-4.0.13
build(deps-dev): bump vitest from 3.2.4 to 4.0.13
2025-11-24 19:17:44 +01:00
Andy Scherzinger ce37473d86 Merge pull request #56619 from nextcloud/chore/eslint
chore(eslint): fix linting on CI and resolve issues
2025-11-24 19:16:48 +01:00
Robin Appelman 561d3ded23 fix: fix theming config value casting
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-24 18:36:26 +01:00
Robin Appelman ad5f23f845 test: add test for theming config casting
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-24 18:36:24 +01:00
Andy Scherzinger 9d41f4bcf5 Merge pull request #56587 from nextcloud/dependabot/npm_and_yarn/sass-1.94.2
build(deps-dev): bump sass from 1.94.0 to 1.94.2
2025-11-24 17:52:30 +01:00
dependabot[bot] 76042a1c5a Merge pull request #56582 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.11 2025-11-24 16:49:46 +00:00
dependabot[bot] 1917f812b0 build(deps-dev): bump sass from 1.94.0 to 1.94.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.94.0 to 1.94.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.94.0...1.94.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.94.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 16:42:34 +00:00
Andy Scherzinger eb8108e407 Merge pull request #56567 from nextcloud/carl/disable-users-group-admin-test
ci: Disable always failing tests in users-group-admin.cy.ts
2025-11-24 17:36:14 +01:00
Ferdinand Thiessen 2a8c20b946 chore: adjust vitest infrastructure to properly run both suits
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-24 17:09:01 +01:00
Ferdinand Thiessen 1b0dd02337 chore(deps): align vitest and @vitest/coverage-v8
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-24 17:09:01 +01:00
dependabot[bot] 764490b11b build(deps-dev): bump vitest from 3.2.4 to 4.0.13
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 3.2.4 to 4.0.13.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.13/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.0.13
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 17:09:01 +01:00
Andy Scherzinger 56171e31c7 Merge pull request #56584 from nextcloud/dependabot/npm_and_yarn/stylelint-16.26.0
build(deps-dev): bump stylelint from 16.25.0 to 16.26.0
2025-11-24 17:06:14 +01:00
nextcloud-command add01c7151 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-24 15:58:07 +00:00
dependabot[bot] be422e4371 build(deps-dev): bump stylelint from 16.25.0 to 16.26.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.25.0 to 16.26.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.25.0...16.26.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.26.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 16:49:06 +01:00
Ferdinand Thiessen 4431cc3ffc Merge pull request #56580 from nextcloud/dependabot/npm_and_yarn/types/dockerode-3.3.47
build(deps-dev): bump @types/dockerode from 3.3.46 to 3.3.47
2025-11-24 16:34:20 +01:00
nextcloud-command ba146df9a8 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-24 15:33:15 +00:00
dependabot[bot] 858cbd11ba build(deps-dev): bump @zip.js/zip.js from 2.8.10 to 2.8.11
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.10 to 2.8.11.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.10...v2.8.11)

---
updated-dependencies:
- dependency-name: "@zip.js/zip.js"
  dependency-version: 2.8.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 14:46:01 +00:00
dependabot[bot] 1f4fee53d6 Merge pull request #56583 from nextcloud/dependabot/npm_and_yarn/cypress-15.7.0 2025-11-24 14:22:43 +00:00
Stephan Orbaugh 9ea324ad4b Merge pull request #56598 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/capabilities-1.2.1
build(deps): bump @nextcloud/capabilities from 1.2.0 to 1.2.1 in /build/frontend-legacy
2025-11-24 15:09:11 +01:00
nextcloud-command 1dff595ee3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-24 14:06:12 +00:00
Ferdinand Thiessen 5540671cdb chore: fixed linter issues forgotten in new frontend code
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-24 14:29:27 +01:00
Ferdinand Thiessen 314acfc379 chore(eslint): split baseline for legacy and current frontend
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-24 14:29:27 +01:00
Ferdinand Thiessen befc68cdd4 chore: fail when one of the two fronend scripts fail
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-24 14:29:27 +01:00
Joas Schilling 00e1264ade Merge pull request #56416 from nextcloud/fix/clear-mount-cache-on-storage-change
fix: Clear mount cache when file storage changes during move
2025-11-24 14:03:41 +01:00
Stephan Orbaugh b3a294957b Merge pull request #56571 from nextcloud/carl/php-85-polyfill
feat(3rdparty): Add PHP 8.5 polyfill
2025-11-24 13:28:22 +01:00
Kent Delante fab3a00081 Merge pull request #56565 from nextcloud/leftybournes/feat/s3_bucket_created_event
feat: emit an event when an S3 bucket is created
2025-11-24 20:23:15 +08:00
Kent Delante 96672e1c4d feat: emit an event when an S3 bucket is created
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-11-24 19:37:18 +08:00
Andy Scherzinger 9e2f07b7d4 Merge pull request #56395 from nextcloud/carl/cache-bucket-exists
perf(s3): Cache whether bucket exists
2025-11-24 12:13:27 +01:00
Carl Schwan 841346fae0 feat(3rdparty): Add PHP 8.5 polyfill
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-24 11:16:25 +01:00
Carl Schwan f51a8f8f8c ci: Disable always failing tests in users-group-admin.cy.ts
They keep failing with the Electron Renderer process crashing for weeks
now, so disable them.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-24 11:14:06 +01:00
Carl Schwan 9522dde7a2 feat: Add Folder::getOrCreateFolder api
Allow to remove some boilerplate and also this new function is type
safe.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-24 11:10:52 +01:00
Côme Chilliet cc66d203d4 chore: Improve wording in debug log
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2025-11-24 10:29:46 +01:00
Côme Chilliet a60f9494ec fix(files_sharing): Allow deleting a share of a missing file
This can happen in various scenarios, we should allow the user to delete
 the share in this situation.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-24 10:29:46 +01:00
Carl Schwan 38fd84aa6a refactor(template-manager): Modernize template manager API
And correct openapi types for the size.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-24 10:00:47 +01:00
Nextcloud bot 0f5bf92456 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-24 00:14:05 +00:00
dependabot[bot] 027b2ef1e0 Merge pull request #56590 from nextcloud/dependabot/npm_and_yarn/nextcloud/vue-9.3.0 2025-11-23 18:57:57 +00:00
nextcloud-command 52daad53a2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-23 17:16:21 +00:00
dependabot[bot] 4bdf65f15f build(deps-dev): bump cypress from 15.6.0 to 15.7.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.6.0 to 15.7.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.6.0...v15.7.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-version: 15.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-23 18:14:39 +01:00
dependabot[bot] 63ee87a89a build(deps): bump @nextcloud/vue from 9.2.0 to 9.3.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 9.2.0 to 9.3.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v9.2.0...v9.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-23 18:08:04 +01:00
Nextcloud bot 5549200851 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-23 00:13:36 +00:00
dependabot[bot] 3aeff15e39 Merge pull request #56591 from nextcloud/dependabot/npm_and_yarn/vite-7.2.4 2025-11-22 20:26:56 +00:00
nextcloud-command 95913ec53a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-22 18:45:26 +00:00
dependabot[bot] 60499dbfa2 build(deps-dev): bump vite from 7.2.2 to 7.2.4
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.2.2 to 7.2.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.2.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-22 19:37:25 +01:00
dependabot[bot] 045a84cdb4 Merge pull request #56599 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/color-5.0.3 2025-11-22 16:41:52 +00:00
dependabot[bot] d28a2dfa7d Merge pull request #56597 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.29 2025-11-22 16:21:04 +00:00
nextcloud-command 083e9c4df7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-22 15:20:28 +00:00
dependabot[bot] 17b6d95a65 build(deps): bump color from 5.0.2 to 5.0.3 in /build/frontend-legacy
Bumps [color](https://github.com/Qix-/color) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/Qix-/color/releases)
- [Commits](https://github.com/Qix-/color/compare/5.0.2...5.0.3)

---
updated-dependencies:
- dependency-name: color
  dependency-version: 5.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-22 02:20:36 +00:00
dependabot[bot] bfe6dd0a84 build(deps): bump @nextcloud/capabilities in /build/frontend-legacy
Bumps [@nextcloud/capabilities](https://github.com/nextcloud-libraries/nextcloud-capabilities) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-capabilities/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-capabilities/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-capabilities/compare/v1.2.0...v1.2.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/capabilities"
  dependency-version: 1.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-22 02:20:23 +00:00
dependabot[bot] 3b98e27ffd build(deps): bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.25 to 1.12.29.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.25...v1.12.29)

---
updated-dependencies:
- dependency-name: libphonenumber-js
  dependency-version: 1.12.29
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-22 02:20:07 +00:00
dependabot[bot] a22de5a0d3 build(deps-dev): bump @types/dockerode from 3.3.46 to 3.3.47
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 3.3.46 to 3.3.47.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dockerode)

---
updated-dependencies:
- dependency-name: "@types/dockerode"
  dependency-version: 3.3.47
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-22 02:17:12 +00:00
Nextcloud bot 68e04212d2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-22 00:14:13 +00:00
Louis e98864bd7a Merge pull request #55518 from nextcloud/fix/ldap-get-rid-of-ajax
fix: Get rid of ajax endpoints in user_ldap
2025-11-21 18:44:39 +01:00
Louis Chmn 30d567fd0e fix(encryption): Increment lastChunkNr when size is off
When computing the unencrypted file size, we need the size of the last encrypted chunk as its size is usually not the regular 8192 bits.

To avoid reading the whole file, we seek directly to that last chunk based on the expected file size. When the expected file size is smaller than the actual one, we have a logic in place to continue reading until we reach the end of the file.

In that logic, we forgot to increment the `$lastChunkNr` which is important when we later check the signature of the chunk.

This commit adds that missing increment.

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 17:34:19 +01:00
Louis Chmn e9b1e7ac5d chore: Compile assets
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Louis Chmn ac690ea93d fix(user_ldap): Properly handle new wizard OCS endpoint error
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Louis Chmn f57fb6eee5 feat(user_ldap): Disable countInBaseDN button when base is empty
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Louis Chmn 3906998164 feat(user_ldap): Save base on detect
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Côme Chilliet 687fa0a197 fix(user_ldap): Call config API instead of wizard save action
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Côme Chilliet 1afa2a5ac1 chore: remove unused imports
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Côme Chilliet 00349e674d chore: npm run lint:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Côme Chilliet f9abfe0473 fix(tests): Use testing application for testing ajax endpoints, not user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Côme Chilliet 92efa01337 chore: Update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Côme Chilliet aed0e82cd0 fix(user_ldap): Remove last ajax call from frontend
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Côme Chilliet c62166241a chore(user_ldap): Remove ajax endpoints
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Côme Chilliet 28cef3ed6b fix(ldap): Add OCS route for clearing mapping without using ajax
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:58 +01:00
Côme Chilliet c414a7bdf8 fix: Fix documentation for controllers and update openapi.json
Also removed save action from WizardController as there is already a
 route in ConfigApiController to save a configuration.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:57 +01:00
Côme Chilliet ac078b6e68 chore: Fix typing in WizardResult
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:57 +01:00
Côme Chilliet 9d41d8172b fix(ldap): Fix wizard controller action route
It seems naming a route parameter $action causes issue, so renamed it to
 $wizardAction.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:57 +01:00
Louis Chemineau 777c729f68 feat(user_ldap): Adapt frontend to call new endpoints
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:57 +01:00
Côme Chilliet a0e5548e49 feat(user_ldap): Add a wizard OCS API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:57 +01:00
Côme Chilliet 36475f2461 fix(user_ldap): Add OCS endpoint for copying configurations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:57 +01:00
Côme Chilliet e842874a0a fix(user_ldap): Add OCS endpoint for testing configurations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:57 +01:00
Côme Chilliet 2dea21a532 chore: Get rid of unused user_ldap AJAX endpoints
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-21 14:23:57 +01:00
Julius Knorr ff5041fc8e Merge pull request #55901 from nextcloud/fix/app-group-limit-immediate-ui-updates
fix(settings): Reactive UI updates for app group limitations
2025-11-21 12:08:56 +01:00
yemkareems d134b236a4 fix: composer run cs:fix removed unused namespace
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-11-21 16:37:33 +05:30
Daniel e71c509bb4 Merge pull request #56536 from nextcloud/jtr/chore-feature-template-tidy
chore: Make the feature suggestion template a bit nicer
2025-11-21 11:26:58 +01:00
Daniel 6bb46fde3e Merge pull request #56491 from nextcloud/carl/type-version
refactor(ServerVersion): Add missing type hinting
2025-11-21 10:56:36 +01:00
Carl Schwan 33d2664d73 ci: Bump lint-php-cs job to PHP 8.2
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-21 09:43:31 +01:00
dependabot[bot] a2a9550b01 Merge pull request #56314 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/babel-config-1.3.0 2025-11-21 00:28:07 +00:00
Nextcloud bot 9c26584a36 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-21 00:13:58 +00:00
Ferdinand Thiessen d4478652b1 Merge pull request #56317 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/marked-17.0.0
build(deps): bump marked from 16.4.1 to 17.0.0 in /build/frontend-legacy
2025-11-21 00:37:39 +01:00
dependabot[bot] f001e6c824 build(deps-dev): bump @nextcloud/babel-config in /build/frontend-legacy
Bumps [@nextcloud/babel-config](https://github.com/nextcloud-libraries/babel-config) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/nextcloud-libraries/babel-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/babel-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/babel-config/compare/v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/babel-config"
  dependency-version: 1.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-20 23:24:39 +00:00
Ferdinand Thiessen 8df246810d Merge pull request #55936 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sinon-21.0.0
build(deps-dev): remove sinon dependency in /build/frontend-legacy
2025-11-21 00:18:54 +01:00
Andy Scherzinger 488f9aa8ae Merge pull request #56554 from nextcloud/fix/build-vite-chunks
build: correct render build url in Vite for chunks/assets in dist
2025-11-21 00:17:05 +01:00
Ferdinand Thiessen 9cb9344de7 chore: remove useless sinon dependency
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-20 18:43:30 +01:00
dependabot[bot] 0793e43f43 build(deps-dev): bump sinon from 5.0.7 to 21.0.0 in /build/frontend-legacy
Dependabot couldn't find the original pull request head commit, d4904822a7a323a9d87634813076508e246c0d3c.
2025-11-20 18:43:09 +01:00
Carl Schwan a228ffa641 refactor(s3): Readability
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2025-11-20 16:50:14 +01:00
Carl Schwan d4356e6491 refactor(ServerVersion): Add missing type hinting
And mark the class as consumable and readonly.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-20 16:48:26 +01:00
Daniel 76d878e7b9 Merge pull request #56556 from nextcloud/chore/noid/remove-codecov-bundle-analyze
chore: remove codecov bundle analysis
2025-11-20 16:18:39 +01:00
Tobias Kaminsky 6f0537b4e9 Merge pull request #56494 from nextcloud/carl/result-improv
Improve IResult
2025-11-20 15:38:17 +01:00
Grigorii K. Shartsev d54009fb77 build: correct renderBuildUrl in Vite for chunks/assets in dist
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2025-11-20 15:08:57 +01:00
Daniel Kesselberg daec686c39 chore: remove codecov bundle analysis
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-11-20 14:57:11 +01:00
Andy Scherzinger 4534507ee3 Merge pull request #56311 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.10
build(deps-dev): bump @zip.js/zip.js from 2.8.8 to 2.8.10
2025-11-20 14:37:32 +01:00
nextcloud-command 3a4a08bb66 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-20 14:20:29 +01:00
dependabot[bot] a9d783e35c build(deps): bump marked from 16.4.1 to 17.0.0 in /build/frontend-legacy
Dependabot couldn't find the original pull request head commit, 6f06280818b6016bd41670258c4b40cc9e08d77c.
2025-11-20 14:20:29 +01:00
Andy Scherzinger b7ff39403d Merge pull request #56320 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/webpack-vue-config-7.0.1
build(deps-dev): bump @nextcloud/webpack-vue-config from 6.3.0 to 7.0.1 in /build/frontend-legacy
2025-11-20 13:48:37 +01:00
Benjamin Frueh 989b75ee43 fix: Clear mount cache when file storage changes during move
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2025-11-20 09:15:28 +01:00
yemkareems bf23fbb7bb fix: removed the runEncryption Method as it is not required
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-11-20 11:32:35 +05:30
Nextcloud bot d400b38000 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-11-20 00:14:17 +00:00
nextcloud-command 2f32d9afa3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-11-19 21:15:23 +00:00
nfebe de3a9ae327 fix(settings): Reactive UI updates for app group limitations
The "Limit app usage to groups" functionality previously required a page
refresh to display changes when adding or removing group limitations.
This occurred due to store synchronization issues between the Pinia and
Vuex stores used by different components.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-11-19 22:05:47 +01:00
Daniel 9b2e31b621 Merge pull request #56502 from nextcloud/feat/s3-configurable-max-attempts
feat(objectstore): add configurable S3 retry attempts
2025-11-19 21:05:31 +01:00
Sebastian Krupinski c81d40e1e4 Merge pull request #56486 from nextcloud/rakekniven-patch-3
fix(i18n): Corrected plural for multi plural languages
2025-11-19 13:05:42 -05:00
rakekniven 6fd911581f fix(i18n): Corrected plural for multi plural languages
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-11-19 12:27:37 -05:00
Josh e491886da6 chore: Make the feature suggestion template a bit nicer
- Cleaned up scope and guidelines
- Streamlined "search existing issues" content
- Replaced “How to use GitHub” (for Issue readers) with a visible `[!TIP]` callout and adjusted heading to “Help move this idea forward”; fixed typo or two
- Moved filler guidance into HTML comments beneath each question to keep submitted issues cleaner
- More consistent wording/styling/tone throughout

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-11-19 11:16:30 -05:00
John Molakvoæ dc97bc0df4 Merge pull request #56520 from nextcloud/fix/past-reminder 2025-11-19 16:43:12 +01:00
nfebe 3030783785 feat(objectstore): add configurable S3 retry attempts
Add retriesMaxAttempts parameter to S3 objectstore configuration
to allow customization of AWS SDK retry behavior for handling
unreliable network conditions or proxy issues.

Defaults to 5 retries (AWS SDK default) if not specified.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-11-19 16:17:43 +01:00
Marcel Müller 8e04afc2b1 Merge pull request #56451 from nextcloud/feat/noid/update-user-keys
feat: Add option to update the public key of a user
2025-11-19 13:42:30 +01:00
Carl Schwan 59e652907b refactor(result): Adapt tests to new result methods
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-19 11:41:49 +01:00
yemkareems 26e2ff9dca fix: removed the -n option from options, added the check and made default answer to both questions true to support -n run directly
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-11-19 15:52:47 +05:30
skjnldsv 32e1d6cf9c chore(files_reminder): add integration tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-11-19 11:21:16 +01:00
Carl Schwan 90f4b98424 refactor(IResult): Un-deprecate fetch and fetchAll
But still add a note that the new methods are preferred.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-19 10:53:03 +01:00
Marcel Müller 234f183f8e feat: Add option to update the public key of a user
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-11-19 10:51:43 +01:00
skjnldsv fee82adad4 fix(files_reminder): prevent setting reminder in the past
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-11-19 09:35:52 +01:00
Carl Schwan 2b61abd9ad refactor(db-adapter): Add tests about fetch methods
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:57 +01:00
Carl Schwan 4d47fdaa85 chore: Run rector with new rules for fetch
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:57 +01:00
Carl Schwan 503a65ddd0 refactor: Run rector
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:54 +01:00
Carl Schwan 3682dbbf5e feat(result): Update result wrapper with new doctrine methods
- fetch is replaced with fetchAssociative/fetchNumeric/fetchOne with
  better type hinting
- Same with fetchAll
- And add iterateAssociative/iterateNumeric which are nicer to use than
  a `while ($row = $result->fetch()) {}`

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:13 +01:00
dependabot[bot] ff052c6a9a build(deps-dev): bump @zip.js/zip.js from 2.8.8 to 2.8.10
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.8 to 2.8.10.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.8...v2.8.10)

---
updated-dependencies:
- dependency-name: "@zip.js/zip.js"
  dependency-version: 2.8.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 09:51:18 +01:00
yemkareems d420b3f157 fix: added the interactive condition to the password question and in non-interactive mode sent the password directly
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-11-14 16:05:14 +05:30
rakekniven 748a91ccab chore(i18n): Improved grammar
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-11-14 07:59:54 +01:00
yemkareems 93c3079637 fix: added the option to support no-interaction and added a check to run encryption non-interactive only when -n option is present
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-11-14 12:15:49 +05:30
dependabot[bot] 8004ea4cc6 build(deps-dev): bump @nextcloud/webpack-vue-config
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud-libraries/webpack-vue-config) from 6.3.0 to 7.0.1.
- [Release notes](https://github.com/nextcloud-libraries/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/webpack-vue-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/webpack-vue-config/compare/v6.3.0...v7.0.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/webpack-vue-config"
  dependency-version: 7.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-13 22:39:27 +01:00
yemkareems 7e546c8377 fix: support -n option to encrypt-all command to allow to run in non-interactive mode
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-11-13 19:53:03 +05:30
Carl Schwan 67d0307e66 perf(s3): Cache whether bucket exists
Otherwise, we call doesBucketExist all the time which does a network
request to the S3 server adding some non-trivial latency when creating a
S3 connection object.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-12 14:17:48 +01:00
Richard Steinmetz ccc0c3c25f fix(l10n): do not consider user language when getting the generic one
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-11-10 19:50:19 -05:00
dependabot[bot] 0ab5f17300 build(deps-dev): bump symfony/event-dispatcher in /build/integration
Bumps [symfony/event-dispatcher](https://github.com/symfony/event-dispatcher) from 6.4.25 to 7.3.3.
- [Release notes](https://github.com/symfony/event-dispatcher/releases)
- [Changelog](https://github.com/symfony/event-dispatcher/blob/7.3/CHANGELOG.md)
- [Commits](https://github.com/symfony/event-dispatcher/compare/v6.4.25...v7.3.3)

---
updated-dependencies:
- dependency-name: symfony/event-dispatcher
  dependency-version: 7.3.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-08 02:12:30 +00:00
Josh 182836b68d fix: drop unnecessary toggles in .htaccess
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-20 15:18:15 -04:00
Josh a0c3dd1eb4 chore: refactor .htaccess
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-20 14:07:03 -04:00
3094 changed files with 57845 additions and 40905 deletions
+24 -29
View File
@@ -3,48 +3,43 @@ name: 🚀 Feature request
about: Suggest an idea for this project
labels: enhancement, 0. Needs triage
type: "Enhancement"
---
<!--
Thanks for reporting issues back to Nextcloud!
Note: This is the **issue tracker of Nextcloud**, please do NOT use this to get answers to your questions or get help for fixing your installation. This is a place to report bugs to developers, after your server has been debugged. You can find help debugging your system on our home user forums: https://help.nextcloud.com or, if you use Nextcloud in a large organization, ask our engineers on https://portal.nextcloud.com. See also https://nextcloud.com/support for support options.
Nextcloud is an open source project backed by Nextcloud GmbH. Most of our volunteers are home users and thus primarily care about issues that affect home users. Our paid engineers prioritize issues of our customers. If you are neither a home user nor a customer, consider paying somebody to fix your issue, do it yourself or become a customer.
Guidelines for submitting issues:
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
- Go to https://github.com/nextcloud and type any word in the top search/command bar. You probably see something like "We couldnt find any repositories matching ..." then click "Issues" in the left navigation.
- You can also filter by appending e. g. "state:open" to the search string.
- More info on search syntax within github: https://help.github.com/articles/searching-issues
* This repository https://github.com/nextcloud/server/issues is *only* for issues within the Nextcloud Server code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth
* SECURITY: Report any potential security bug to us via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/) instead of filing an issue in our bug tracker.
* The issues in other components should be reported in their respective repositories: You will find them in our GitHub Organization (https://github.com/nextcloud/)
Have a security concern? Please report potential security issues via our HackerOne program (https://hackerone.com/nextcloud) instead of filing a public GitHub issue. See our security policy: https://nextcloud.com/security/
-->
<!--
Thanks for taking the time to suggest improvements to Nextcloud! Use this form to request features or propose enhancements.
<!--- Please keep this note for other contributors -->
Guidelines:
### How to use GitHub
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are interested into the same feature.
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
* Subscribe to receive notifications on status change and new comments.
* Please search existing issues first; your idea may already have been discussed or implemented.
* This repository (https://github.com/nextcloud/server/issues) is only for issues within the Nextcloud Server code. This includes shipped apps such as Files, DAV, Encryption, External Storage, Sharing, Deleted Files, Versions, Federation, and LDAP.
* Issues for other components should be reported in their respective repositories in the Nextcloud GitHub organization: https://github.com/nextcloud/
* Nextcloud is an open source project backed by Nextcloud GmbH. Many contributors are volunteers and primarily focus on issues affecting home users. Paid engineers prioritize customer-reported issues and critical defects.
* This is the development issue tracker. Please do NOT use it for support questions or help diagnosing your installation.
- For community/user help: https://help.nextcloud.com
- For professional / large deployment support options: https://nextcloud.com/support
-->
<!-- Please keep the note below for other contributors -->
> [!TIP]
> ### Help move this idea forward
> * Use the 👍 reaction to show support for this feature.
> * Avoid commenting unless you have relevant information to add; unnecessary comments create noise for subscribers.
> * Subscribe to receive notifications about status changes and new comments.
---
<!-- DO NOT EDIT ABOVE THIS LINE -->
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
<!-- Provide a clear and concise description of the problem. For example: “I'm always frustrated when …” -->
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
<!-- Provide a clear and concise description of what you want to happen. -->
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
<!-- Provide a clear and concise description of any alternative solutions or features you've considered. -->
**Additional context**
Add any other context or screenshots about the feature request here.
<!-- Add any other context or screenshots related to the feature request here. -->
+10 -1
View File
@@ -53,6 +53,15 @@ updates:
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
groups:
vite:
patterns:
- "vite"
- "@nextcloud/vite-config"
vitest:
patterns:
- "vitest"
- "@vitest/*"
# Latest stable release
# Composer dependencies for linting and testing
@@ -60,7 +69,7 @@ updates:
target-branch: stable32
directories:
- "/"
- "/build/integration"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
+4 -4
View File
@@ -52,13 +52,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
@@ -81,13 +81,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+4 -4
View File
@@ -27,7 +27,7 @@ jobs:
steps:
- name: Set server major version environment
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
@@ -37,13 +37,13 @@ jobs:
if (match) {
console.log('Setting server_major to ' + match[1]);
core.exportVariable('server_major', match[1]);
console.log('Setting current_month to ' + (new Date()).toISOString().substr(0, 7));
core.exportVariable('current_month', (new Date()).toISOString().substr(0, 7));
console.log('Setting current_day to ' + (new Date()).toISOString().substr(0, 10));
core.exportVariable('current_day', (new Date()).toISOString().substr(0, 10));
}
- name: Checking if server ${{ env.server_major }} is EOL
if: ${{ env.server_major != '' }}
run: |
curl -s https://raw.githubusercontent.com/nextcloud-releases/updater_server/production/config/major_versions.json \
| jq '.["${{ env.server_major }}"]["eol"] // "9999-99" | . >= "${{ env.current_month }}"' \
| jq '.["${{ env.server_major }}"]["eol"] // "9999-99-99" | . >= "${{ env.current_day }}"' \
| grep -q true
+1 -1
View File
@@ -29,7 +29,7 @@ jobs:
steps:
- name: Register server reference to fallback to master branch
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
@@ -31,7 +31,7 @@ jobs:
- 'version.php'
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
@@ -41,7 +41,7 @@ jobs:
echo "commit=$(git submodule status | grep ' 3rdparty' | egrep -o '[a-f0-9]{40}')" >> "$GITHUB_OUTPUT"
- name: Register server reference to fallback to master branch
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
@@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
+3 -3
View File
@@ -32,18 +32,18 @@ jobs:
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@5d5cd550d3e189c569da8f16ea8de2d821c9bf7a # v3.31.2
uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@5d5cd550d3e189c569da8f16ea8de2d821c9bf7a # v3.31.2
uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
with:
category: "/language:${{matrix.language}}"
+14 -14
View File
@@ -30,7 +30,7 @@ jobs:
steps:
- name: Get repository from pull request comment
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
id: get-repository
with:
github-token: ${{secrets.GITHUB_TOKEN}}
@@ -57,7 +57,7 @@ jobs:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
@@ -83,7 +83,7 @@ jobs:
id: comment-branch
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
@@ -103,7 +103,7 @@ jobs:
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
# Needed to allow force push later
persist-credentials: true
@@ -120,11 +120,11 @@ jobs:
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: package-engines-versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
@@ -136,26 +136,26 @@ jobs:
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
run: |
git fetch origin '${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}'
# Start the rebase
git rebase 'origin/${{ needs.init.outputs.base_ref }}' || {
# Handle rebase conflicts in a loop
while [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; do
echo "Handling rebase conflict..."
# Remove and checkout /dist and /js folders from the base branch
if [ -d "dist" ]; then
rm -rf dist
git checkout origin/${{ needs.init.outputs.base_ref }} -- dist/ 2>/dev/null || echo "No dist folder in base branch"
fi
if [ -d "js" ]; then
rm -rf js
rm -rf js
git checkout origin/${{ needs.init.outputs.base_ref }} -- js/ 2>/dev/null || echo "No js folder in base branch"
fi
# Stage all changes
git add .
# Check if there are any changes after resolving conflicts
if git diff --cached --quiet; then
echo "No changes after conflict resolution, skipping commit"
@@ -164,7 +164,7 @@ jobs:
echo "Changes found, continuing rebase without editing commit message"
git -c core.editor=true rebase --continue
fi
# Break if rebase is complete
if [ ! -d .git/rebase-merge ] && [ ! -d .git/rebase-apply ]; then
break
@@ -213,7 +213,7 @@ jobs:
run: git push --force-with-lease origin "$HEAD_REF"
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
+5 -5
View File
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
@@ -38,7 +38,7 @@ jobs:
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
fetch-depth: 0
@@ -46,7 +46,7 @@ jobs:
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Register server reference to fallback to master branch
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
@@ -71,7 +71,7 @@ jobs:
git config --local user.name 'nextcloud-command'
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
if: ${{ env.server_ref == '' }}
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
@@ -91,7 +91,7 @@ jobs:
git push
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
+12 -15
View File
@@ -22,7 +22,7 @@ env:
# Usually it's the base branch of the PR, but for pushes it's the branch itself.
# e.g. 'main', 'stable27' or 'feature/my-feature'
# n.b. server will use head_ref, as we want to test the PR branch.
BRANCH: ${{ github.head_ref || github.ref_name }}
BRANCH: ${{ github.base_ref || github.ref_name }}
permissions:
@@ -48,7 +48,7 @@ jobs:
exit 1
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
@@ -58,7 +58,7 @@ jobs:
id: check_composer
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
with:
files: "composer.json"
files: 'composer.json'
- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
@@ -68,11 +68,11 @@ jobs:
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: "^20"
fallbackNpm: "^10"
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -84,9 +84,6 @@ jobs:
npm ci
TESTING=true npm run build --if-present
- name: Show cypress version
run: npm run cypress:version
- name: Save context
uses: buildjet/cache/save@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
with:
@@ -163,7 +160,7 @@ jobs:
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
@@ -174,7 +171,7 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c # v6.10.2
uses: cypress-io/github-action@7ef72e250a9e564efb4ed4c2433971ada4cc38b4 # v6.10.4
with:
# We already installed the dependencies in the init job
install: false
@@ -198,10 +195,10 @@ jobs:
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: always()
with:
name: snapshots_videos_${{ matrix.containers }}
name: snapshots_${{ matrix.containers }}
path: |
cypress/snapshots
cypress/videos
@@ -220,8 +217,8 @@ jobs:
if: failure() && matrix.containers != 'component'
run: docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data dir archive
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
- name: Upload data archive
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}
+16 -7
View File
@@ -3,10 +3,10 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Dependabot
name: Auto approve Dependabot PRs
on:
pull_request_target: # zizmor: ignore[dangerous-triggers]
@@ -29,6 +29,8 @@ jobs:
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
# for alexwilson/enable-github-automerge-action to approve PRs
contents: write
steps:
- name: Disabled on forks
@@ -37,13 +39,20 @@ jobs:
echo 'Can not approve PRs from forks'
exit 1
- uses: mdecoleman/pr-branch-name@55795d86b4566d300d237883103f052125cc7508 # v3.0.0
id: branchname
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# GitHub actions bot approve
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
- uses: hmarr/auto-approve-action@f0939ea97e9205ef24d872e76833fa908a770363 # v4.0.0
if: startsWith(steps.branchname.outputs.branch, 'dependabot/')
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Nextcloud bot approve and merge request
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2
# Enable GitHub auto merge
- name: Auto merge
uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # v2.0.0
if: startsWith(steps.branchname.outputs.branch, 'dependabot/')
with:
target: minor
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
github-token: ${{ secrets.GITHUB_TOKEN }}
+3 -3
View File
@@ -55,7 +55,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
@@ -71,7 +71,7 @@ jobs:
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -104,7 +104,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
+6 -6
View File
@@ -64,13 +64,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -104,7 +104,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-files-external-s3
@@ -152,13 +152,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -185,7 +185,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-files-external-s3
+3 -3
View File
@@ -55,7 +55,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
@@ -67,7 +67,7 @@ jobs:
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -93,7 +93,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
@@ -46,13 +46,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
repository: nextcloud/user_saml
+3 -3
View File
@@ -59,13 +59,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -99,7 +99,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-files-external-smb
+3 -3
View File
@@ -60,13 +60,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -97,7 +97,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
+3 -3
View File
@@ -53,13 +53,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -85,7 +85,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-files-external-generic
@@ -24,14 +24,14 @@ jobs:
require: write
- name: Checkout github_helper
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
path: server
@@ -73,7 +73,7 @@ jobs:
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: 8.2
coverage: none
+3 -3
View File
@@ -53,13 +53,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -70,7 +70,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@bff0a193747a3ac7930a665fc1d4b23eba583b99 # v2025.814.40518
uses: LizardByte/actions/actions/setup_python@329b1bcefe1cbe1ef289177471c9f2b2af98e6ca # v2025.1028.23217
with:
python-version: '2.7'
+2 -2
View File
@@ -52,13 +52,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+3 -2
View File
@@ -67,13 +67,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -90,6 +90,7 @@ jobs:
- name: Set up Nextcloud
run: |
composer install
mkdir data
echo '<?php $CONFIG=["${{ matrix.key }}" => ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "nextcloud", "secret" => "bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > config/config.php
echo '<?php $CONFIG=["redis" => ["host" => "localhost", "port" => 6379], "memcache.local" => "\OC\Memcache\Redis", "memcache.distributed" => "\OC\Memcache\Redis"];' > config/redis.config.php
+8 -10
View File
@@ -62,6 +62,7 @@ jobs:
- '--tags ~@large files_features'
- 'filesdrop_features'
- 'file_conversions'
- 'files_reminders'
- 'openldap_features'
- 'openldap_numerical_features'
- 'ldap_features'
@@ -96,14 +97,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
repository: nextcloud/spreed
@@ -112,7 +113,7 @@ jobs:
- name: Checkout Activity app
if: ${{ matrix.test-suite == 'sharing_features' }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
repository: nextcloud/activity
@@ -120,7 +121,7 @@ jobs:
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -130,12 +131,9 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up production dependencies
run: composer i --no-dev
- name: Set up behat dependencies
working-directory: build/integration
run: composer i
- name: Set up dependencies
run: |
composer install
- name: Set up Talk dependencies
if: ${{ matrix.test-suite == 'videoverification_features' }}
+4 -4
View File
@@ -56,7 +56,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
@@ -64,11 +64,11 @@ jobs:
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+5 -5
View File
@@ -44,18 +44,18 @@ jobs:
lint:
runs-on: ubuntu-latest
name: PHP CS fixer lint
name: php-cs
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Set up php8.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: 8.1
php-version: 8.2
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
+4 -3
View File
@@ -47,20 +47,21 @@ jobs:
strategy:
matrix:
php-versions: [ '8.2', '8.3', '8.4' ]
php-versions: [ '8.2', '8.3', '8.4', '8.5' ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
+4 -4
View File
@@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
@@ -33,11 +33,11 @@ jobs:
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -0,0 +1,99 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node handlebars tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: node-tests-handlebars-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- 'apps/*/src/**'
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
handlebars:
runs-on: ubuntu-latest
needs: [changes]
if: needs.changes.outputs.src != 'false'
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Run compile
run: ./build/compile-handlebars-templates.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, handlebars]
if: always()
name: test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.handlebars.result != 'success' }}; then exit 1; fi
+29 -79
View File
@@ -44,25 +44,21 @@ jobs:
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- 'package-lock.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
versions:
runs-on: ubuntu-latest-low
test:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
if: needs.changes.outputs.src != 'false'
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
@@ -70,85 +66,39 @@ jobs:
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^24'
fallbackNpm: '^11.3'
test:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
persist-credentials: false
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.versions.outputs.npmVersion }}'
- name: Install dependencies & build
run: |
npm ci
npm run build --if-present
- name: Test and process coverage
run: npm run test:coverage --if-present
- name: Collect coverage
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./coverage/lcov.info
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
handlebars:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.versions.outputs.npmVersion }}'
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
env:
CYPRESS_INSTALL_BINARY: 0
run: |
npm ci
- name: Run compile
run: ./build/compile-handlebars-templates.sh
# - name: Test
# run: npm run test --if-present
- name: Test and process coverage
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./coverage/lcov.info,./coverage/legacy/lcov.info
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, test, handlebars]
needs: [changes, test]
if: always()
@@ -156,4 +106,4 @@ jobs:
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && (needs.test.result != 'success' || needs.handlebars.result != 'success') }}; then exit 1; fi
run: if ${{ needs.changes.outputs.src != 'false' && needs.test.result != 'success' }}; then exit 1; fi
+15 -8
View File
@@ -37,14 +37,14 @@ jobs:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'core/css/*'
- 'core/img/**'
- 'package.json'
- 'package-lock.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
- 'core/css/*'
- 'core/img/**'
- 'version.php'
build:
@@ -56,7 +56,7 @@ jobs:
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
@@ -64,17 +64,24 @@ jobs:
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
# This does not work on server as we have some git dependencies that "npm-package-lock-add-resolved" cannot handle
# - name: Validate package-lock.json # See https://github.com/npm/cli/issues/4460
# run: |
# npm i -g npm-package-lock-add-resolved@1.1.4
# npm-package-lock-add-resolved
# git --no-pager diff --exit-code
- name: Install dependencies & build
env:
CYPRESS_INSTALL_BINARY: 0
@@ -83,7 +90,7 @@ jobs:
npm ci
npm run build --if-present
- name: Check webpack build changes
- name: Check build changes
run: |
bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)"
+9 -6
View File
@@ -24,14 +24,17 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable32', 'stable31', 'stable30']
branches:
- ${{ github.event.repository.default_branch }}
- 'stable32'
- 'stable31'
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -41,11 +44,11 @@ jobs:
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -66,7 +69,7 @@ jobs:
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # v7.0.9
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'
+3 -3
View File
@@ -73,13 +73,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -110,7 +110,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-azure
+3 -3
View File
@@ -74,13 +74,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -116,7 +116,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-s3
+3 -3
View File
@@ -71,13 +71,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -106,7 +106,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-swift
+2 -2
View File
@@ -26,12 +26,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: '8.2'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib
+4 -4
View File
@@ -35,14 +35,14 @@ jobs:
exit 1
- name: Checkout server before PR
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
@@ -98,14 +98,14 @@ jobs:
- name: Upload profiles
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v7
if: failure() && steps.compare.outcome == 'failure'
with:
github-token: ${{secrets.GITHUB_TOKEN}}
+16 -28
View File
@@ -26,46 +26,34 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
container: shivammathur/node:latest-i386
strategy:
fail-fast: false
matrix:
php-versions: ["8.2", "8.3", "8.4"]
php-versions: ["8.4"]
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, apcu, ldap
coverage: none
ini-file: development
ini-values: apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "
git config --global --add safe.directory /github/workspace &&
composer install --no-interaction"
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=autotest --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "
mkdir data &&
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=autotest --database-pass=rootpassword --admin-user admin --admin-pass admin &&
php -f tests/enable_all.php"
- name: PHPUnit
run: composer run test -- --exclude-group PRIMARY-azure --exclude-group PRIMARY-s3 --exclude-group PRIMARY-swift --exclude-group Memcached --exclude-group Redis --exclude-group RoutingWeirdness
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness"
+6 -4
View File
@@ -60,13 +60,15 @@ jobs:
fail-fast: false
matrix:
php-versions: ['8.2']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4', '11.8']
mariadb-versions: ['10.6', '10.11', '11.4', '11.8']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.8'
- php-versions: '8.5'
mariadb-versions: '11.8'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@@ -90,13 +92,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -129,7 +131,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.db.xml
flags: phpunit-mariadb
+4 -4
View File
@@ -56,7 +56,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.3', '8.4', '8.5']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -72,13 +72,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -103,7 +103,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.xml
flags: phpunit-memcached
+3 -3
View File
@@ -121,13 +121,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -161,7 +161,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.db.xml
flags: phpunit-mysql
+5 -3
View File
@@ -67,6 +67,8 @@ jobs:
coverage: ${{ github.event_name != 'pull_request' }}
- mysql-versions: '8.4'
php-versions: '8.4'
- mysql-versions: '8.4'
php-versions: '8.5'
name: MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@@ -90,13 +92,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -129,7 +131,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.db.xml
flags: phpunit-mysql
+4 -4
View File
@@ -59,7 +59,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.3', '8.4', '8.5']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -75,13 +75,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -109,7 +109,7 @@ jobs:
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
@@ -72,13 +72,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+5 -5
View File
@@ -60,8 +60,6 @@ jobs:
fail-fast: false
matrix:
include:
- oracle-versions: '11'
php-versions: '8.2'
- oracle-versions: '18'
php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -71,6 +69,8 @@ jobs:
php-versions: '8.3'
- oracle-versions: '23'
php-versions: '8.4'
- oracle-versions: '23'
php-versions: '8.5'
name: Oracle ${{ matrix.oracle-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@@ -101,13 +101,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -133,7 +133,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.db.xml
flags: phpunit-oci
+5 -3
View File
@@ -68,6 +68,8 @@ jobs:
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
postgres-versions: '18'
- php-versions: '8.5'
postgres-versions: '18'
name: PostgreSQL ${{ matrix.postgres-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@@ -90,13 +92,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -124,7 +126,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.db.xml
flags: phpunit-postgres
+4 -4
View File
@@ -59,7 +59,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.3', '8.4', '8.5']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -75,13 +75,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -110,7 +110,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.db.xml
flags: phpunit-sqlite
+2 -2
View File
@@ -36,7 +36,7 @@ jobs:
blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -)
echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT"
- uses: nextcloud/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4 # main
- uses: nextcloud/pr-feedback-action@f0cab224dea8e1f282f9451de322f323c78fc7a5 # main
with:
feedback-message: |
Hello there,
@@ -50,6 +50,6 @@ jobs:
(If you believe you should not receive this message, you can add yourself to the [blocklist](https://github.com/nextcloud/.github/blob/master/non-community-usernames.txt).)
days-before-feedback: 14
start-date: '2024-04-30'
start-date: '2025-06-12'
exempt-authors: '${{ steps.blocklist.outputs.blocklist }},${{ steps.scrape.outputs.users }}'
exempt-bots: true
+2 -2
View File
@@ -19,9 +19,9 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: REUSE Compliance Check
uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0
uses: fsfe/reuse-action@676e2d560c9a403aa252096d99fcab3e1132b0f5 # v6.0.0
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
issues: write
steps:
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v9
- uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v9
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
+9 -9
View File
@@ -28,13 +28,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: '8.2'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -59,13 +59,13 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -83,7 +83,7 @@ jobs:
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3
uses: github/codeql-action/upload-sarif@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3
with:
sarif_file: results.sarif
@@ -94,13 +94,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -125,13 +125,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
+2 -2
View File
@@ -22,7 +22,7 @@ jobs:
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -32,7 +32,7 @@ jobs:
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'
@@ -22,7 +22,7 @@ jobs:
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -35,7 +35,7 @@ jobs:
run: openssl crl -verify -in resources/codesigning/root.crl -CAfile resources/codesigning/root.crt -noout
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update code signing revocation list'
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
@@ -107,7 +107,7 @@ jobs:
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
if: steps.update-files.outputs.CHANGES_MADE == 'true'
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
+1 -1
View File
@@ -24,7 +24,7 @@ jobs:
run: sleep 15
- name: Get PR details and update title
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
+159 -79
View File
@@ -1,100 +1,178 @@
<IfModule mod_headers.c>
<IfModule mod_setenvif.c>
<IfModule mod_fcgid.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
<IfModule mod_setenvif.c>
<IfModule mod_fcgid.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
<IfModule mod_env.c>
# Add security and privacy related headers
# Avoid doubled headers by unsetting headers in "onsuccess" table,
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
<If "%{REQUEST_URI} =~ m#/login$#">
# Only on the login page we need any Origin or Referer header set.
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "same-origin"
</If>
<Else>
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "no-referrer"
</Else>
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
Header onsuccess unset X-Permitted-Cross-Domain-Policies
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
SetEnv modHeadersAvailable true
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
<IfModule mod_env.c>
# Add security and privacy related headers
# Avoid doubled headers by unsetting headers in "onsuccess" table,
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|webp|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
</FilesMatch>
<If "%{REQUEST_URI} =~ m#/login$#">
# Only on the login page we need any Origin or Referer header set.
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "same-origin"
</If>
<Else>
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "no-referrer"
</Else>
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
Header onsuccess unset X-Permitted-Cross-Domain-Policies
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
SetEnv modHeadersAvailable true
</IfModule>
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|webp|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
</FilesMatch>
# Let browsers cache OTF and WOFF files for a week
<FilesMatch "\.(otf|woff2?)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# Let browsers cache OTF and WOFF files for a week
<FilesMatch "\.(otf|woff2?)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
</IfModule>
<IfModule mod_php.c>
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
DirectoryIndex index.php index.html
</IfModule>
<IfModule pagespeed_module>
ModPagespeed Off
ModPagespeed Off
</IfModule>
#############
#### Rewrites
#############
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
RewriteEngine on
##
## Rule: Workaround for WebDAV with apache+php-cgi
##
## Context:
## - Sets the environment variable `HTTP_AUTHORIZATION` to the value of the `Authorization` request header
## - Always executed before and along with other rules (no `L` used)
## - XXX: *May* be replaced with an equivalent SetEnvIf in theory
## - XXX: SetEnvIf approach is already in use above for mod_proxy_cgi / mod_lsapi / mod_fcgid
##
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
##
## Rule: Workaround for WebDAV with MS DavClnt
##
## Context:
## - DavClnt attempts an OPTIONS request against `/` instead of the specified endpoint
## - Redirects the client to the endpoint rather than the login page (which confuses DavClnt)
##
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CardDAV to our Remote DAV endpoint
##
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CalDAV to our Remote DAV endpoint
##
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
##
## Rule: Map /remote* --> /remote.php* including the query string
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Is this even used anymore? Seems a relic from <NC12
##
RewriteRule ^remote/(.*) remote.php [QSA,L]
##
## Rule: Prevent access to non-public files
##
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
##
## Rule: Maps most RFC 8615 compliant well-known URIs to our main frontend controller (/index.php) by default
##
## Context:
## - Intentionally excludes URIs used for HTTPS certificate verifications
## - RFC 8555 / ACME HTTP Challenges (acme-challenge)
## - File-based Validations (pki-validation)
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
##
## Rule: Map the ocm-provider handling to our main frontend controller (/index.php)
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
##
## Rule: Prevent access to more non-public files
##
## Context:
## - XXX It may make sense to merge some of these with the others (i.e. the ones that don't need to be last)
##
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
@@ -105,16 +183,18 @@
# Here are more information about the issue:
# - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
# - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav
<IfModule mod_setenvif.c>
SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1
SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1
</IfModule>
# Apache disabled the sending of the server-side content-length header
# in their 2.4.59 patch updated which breaks some use-cases in Nextcloud.
# Setting ap_trust_cgilike_cl allows to bring back the usual behaviour.
# See https://bz.apache.org/bugzilla/show_bug.cgi?id=68973
<IfModule mod_env.c>
SetEnv ap_trust_cgilike_cl
SetEnv ap_trust_cgilike_cl
</IfModule>
AddDefaultCharset utf-8
+2 -2
View File
@@ -256,7 +256,7 @@ SPDX-FileCopyrightText = "2025 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = ["composer.json", "composer.lock", ".github/CODEOWNERS", "__tests__/tsconfig.json", "tsconfig.json", "build/integration/composer.**", "vendor-bin/**/composer.json", "vendor-bin/**/composer.lock", "apps/**/composer/composer.json", "apps/**/composer/composer.lock", "apps/**/composer/composer/installed.json"]
path = ["composer.json", "composer.lock", ".github/CODEOWNERS", "__tests__/tsconfig.json", "tsconfig.json", "apps/**/composer/composer.json", "apps/**/composer/composer.lock", "apps/**/composer/composer/installed.json"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2011-2016 ownCloud, Inc., 2016-2024 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-only OR AGPL-3.0-or-later"
@@ -400,7 +400,7 @@ SPDX-FileCopyrightText = "2019 Fabian Wiktor <https://www.pexels.com/photo/green
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = ["openapi.json", ".envrc", "flake.nix", "flake.lock", "build/eslint-baseline.json"]
path = ["openapi.json", ".envrc", "flake.nix", "flake.lock", "build/eslint-baseline.json", "build/eslint-baseline-legacy.json"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2025 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
Symlink
+1
View File
@@ -0,0 +1 @@
build/frontend/__mocks__
Symlink
+1
View File
@@ -0,0 +1 @@
build/frontend/__tests__
@@ -19,6 +19,7 @@ return array(
'OCA\\AdminAudit\\IAuditLogger' => $baseDir . '/../lib/IAuditLogger.php',
'OCA\\AdminAudit\\Listener\\AppManagementEventListener' => $baseDir . '/../lib/Listener/AppManagementEventListener.php',
'OCA\\AdminAudit\\Listener\\AuthEventListener' => $baseDir . '/../lib/Listener/AuthEventListener.php',
'OCA\\AdminAudit\\Listener\\CacheEventListener' => $baseDir . '/../lib/Listener/CacheEventListener.php',
'OCA\\AdminAudit\\Listener\\ConsoleEventListener' => $baseDir . '/../lib/Listener/ConsoleEventListener.php',
'OCA\\AdminAudit\\Listener\\CriticalActionPerformedEventListener' => $baseDir . '/../lib/Listener/CriticalActionPerformedEventListener.php',
'OCA\\AdminAudit\\Listener\\FileEventListener' => $baseDir . '/../lib/Listener/FileEventListener.php',
@@ -7,14 +7,14 @@ namespace Composer\Autoload;
class ComposerStaticInitAdminAudit
{
public static $prefixLengthsPsr4 = array (
'O' =>
'O' =>
array (
'OCA\\AdminAudit\\' => 15,
),
);
public static $prefixDirsPsr4 = array (
'OCA\\AdminAudit\\' =>
'OCA\\AdminAudit\\' =>
array (
0 => __DIR__ . '/..' . '/../lib',
),
@@ -34,6 +34,7 @@ class ComposerStaticInitAdminAudit
'OCA\\AdminAudit\\IAuditLogger' => __DIR__ . '/..' . '/../lib/IAuditLogger.php',
'OCA\\AdminAudit\\Listener\\AppManagementEventListener' => __DIR__ . '/..' . '/../lib/Listener/AppManagementEventListener.php',
'OCA\\AdminAudit\\Listener\\AuthEventListener' => __DIR__ . '/..' . '/../lib/Listener/AuthEventListener.php',
'OCA\\AdminAudit\\Listener\\CacheEventListener' => __DIR__ . '/..' . '/../lib/Listener/CacheEventListener.php',
'OCA\\AdminAudit\\Listener\\ConsoleEventListener' => __DIR__ . '/..' . '/../lib/Listener/ConsoleEventListener.php',
'OCA\\AdminAudit\\Listener\\CriticalActionPerformedEventListener' => __DIR__ . '/..' . '/../lib/Listener/CriticalActionPerformedEventListener.php',
'OCA\\AdminAudit\\Listener\\FileEventListener' => __DIR__ . '/..' . '/../lib/Listener/FileEventListener.php',
@@ -20,6 +20,7 @@ use OCA\AdminAudit\AuditLogger;
use OCA\AdminAudit\IAuditLogger;
use OCA\AdminAudit\Listener\AppManagementEventListener;
use OCA\AdminAudit\Listener\AuthEventListener;
use OCA\AdminAudit\Listener\CacheEventListener;
use OCA\AdminAudit\Listener\ConsoleEventListener;
use OCA\AdminAudit\Listener\CriticalActionPerformedEventListener;
use OCA\AdminAudit\Listener\FileEventListener;
@@ -40,6 +41,8 @@ use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengeFailed;
use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengePassed;
use OCP\Console\ConsoleEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\Cache\CacheEntryInsertedEvent;
use OCP\Files\Cache\CacheEntryRemovedEvent;
use OCP\Files\Events\Node\BeforeNodeDeletedEvent;
use OCP\Files\Events\Node\BeforeNodeReadEvent;
use OCP\Files\Events\Node\NodeCopiedEvent;
@@ -123,6 +126,10 @@ class Application extends App implements IBootstrap {
// Console events
$context->registerEventListener(ConsoleEvent::class, ConsoleEventListener::class);
// Cache events
$context->registerEventListener(CacheEntryInsertedEvent::class, CacheEventListener::class);
$context->registerEventListener(CacheEntryRemovedEvent::class, CacheEventListener::class);
}
public function boot(IBootContext $context): void {
@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\AdminAudit\Listener;
use OCA\AdminAudit\Actions\Action;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\Files\Cache\CacheEntryInsertedEvent;
use OCP\Files\Cache\CacheEntryRemovedEvent;
/**
* @template-implements IEventListener<CacheEntryInsertedEvent|CacheEntryRemovedEvent>
*/
class CacheEventListener extends Action implements IEventListener {
public function handle(Event $event): void {
if ($event instanceof CacheEntryInsertedEvent) {
$this->entryInserted($event);
} elseif ($event instanceof CacheEntryRemovedEvent) {
$this->entryRemoved($event);
}
}
private function entryInserted(CacheEntryInsertedEvent $event): void {
$this->log('Cache entry inserted for fileid "%1$d", path "%2$s" on storageid "%3$d"',
[
'fileid' => $event->getFileId(),
'path' => $event->getPath(),
'storageid' => $event->getStorageId(),
],
['fileid', 'path', 'storageid']
);
}
private function entryRemoved(CacheEntryRemovedEvent $event): void {
$this->log('Cache entry removed for fileid "%1$d", path "%2$s" on storageid "%3$d"',
[
'fileid' => $event->getFileId(),
'path' => $event->getPath(),
'storageid' => $event->getStorageId(),
],
['fileid', 'path', 'storageid']
);
}
}
@@ -148,18 +148,6 @@ class SharingEventListener extends Action implements IEventListener {
'id',
]
),
IShare::TYPE_SCIENCEMESH => $this->log(
'The %s "%s" with ID "%s" has been shared to the sciencemesh user "%s" with permissions "%s" (Share ID: %s)',
$params,
[
'itemType',
'path',
'itemSource',
'shareWith',
'permissions',
'id',
]
),
default => null
};
}
@@ -274,17 +262,6 @@ class SharingEventListener extends Action implements IEventListener {
'id',
]
),
IShare::TYPE_SCIENCEMESH => $this->log(
'The %s "%s" with ID "%s" has been unshared from the sciencemesh user "%s" (Share ID: %s)',
$params,
[
'itemType',
'fileTarget',
'itemSource',
'shareWith',
'id',
]
),
default => null
};
}
@@ -7,14 +7,14 @@ namespace Composer\Autoload;
class ComposerStaticInitCloudFederationAPI
{
public static $prefixLengthsPsr4 = array (
'O' =>
'O' =>
array (
'OCA\\CloudFederationAPI\\' => 23,
),
);
public static $prefixDirsPsr4 = array (
'OCA\\CloudFederationAPI\\' =>
'OCA\\CloudFederationAPI\\' =>
array (
0 => __DIR__ . '/..' . '/../lib',
),
@@ -106,14 +106,16 @@ class RequestHandlerController extends Controller {
#[NoCSRFRequired]
#[BruteForceProtection(action: 'receiveFederatedShare')]
public function addShare($shareWith, $name, $description, $providerId, $owner, $ownerDisplayName, $sharedBy, $sharedByDisplayName, $protocol, $shareType, $resourceType) {
try {
// if request is signed and well signed, no exception are thrown
// if request is not signed and host is known for not supporting signed request, no exception are thrown
$signedRequest = $this->getSignedRequest();
$this->confirmSignedOrigin($signedRequest, 'owner', $owner);
} catch (IncomingRequestException $e) {
$this->logger->warning('incoming request exception', ['exception' => $e]);
return new JSONResponse(['message' => $e->getMessage(), 'validationErrors' => []], Http::STATUS_BAD_REQUEST);
if (!$this->appConfig->getValueBool('core', OCMSignatoryManager::APPCONFIG_SIGN_DISABLED, lazy: true)) {
try {
// if request is signed and well signed, no exception are thrown
// if request is not signed and host is known for not supporting signed request, no exception are thrown
$signedRequest = $this->getSignedRequest();
$this->confirmSignedOrigin($signedRequest, 'owner', $owner);
} catch (IncomingRequestException $e) {
$this->logger->warning('incoming request exception', ['exception' => $e]);
return new JSONResponse(['message' => $e->getMessage(), 'validationErrors' => []], Http::STATUS_BAD_REQUEST);
}
}
// check if all required parameters are set
@@ -354,14 +356,16 @@ class RequestHandlerController extends Controller {
);
}
try {
// if request is signed and well signed, no exception are thrown
// if request is not signed and host is known for not supporting signed request, no exception are thrown
$signedRequest = $this->getSignedRequest();
$this->confirmNotificationIdentity($signedRequest, $resourceType, $notification);
} catch (IncomingRequestException $e) {
$this->logger->warning('incoming request exception', ['exception' => $e]);
return new JSONResponse(['message' => $e->getMessage(), 'validationErrors' => []], Http::STATUS_BAD_REQUEST);
if (!$this->appConfig->getValueBool('core', OCMSignatoryManager::APPCONFIG_SIGN_DISABLED, lazy: true)) {
try {
// if request is signed and well signed, no exception are thrown
// if request is not signed and host is known for not supporting signed request, no exception are thrown
$signedRequest = $this->getSignedRequest();
$this->confirmNotificationIdentity($signedRequest, $resourceType, $notification);
} catch (IncomingRequestException $e) {
$this->logger->warning('incoming request exception', ['exception' => $e]);
return new JSONResponse(['message' => $e->getMessage(), 'validationErrors' => []], Http::STATUS_BAD_REQUEST);
}
}
try {
@@ -500,7 +504,6 @@ class RequestHandlerController extends Controller {
*
* @param IIncomingSignedRequest|null $signedRequest
* @param string $resourceType
* @param string $sharedSecret
*
* @throws IncomingRequestException
* @throws BadRequestException
@@ -524,7 +527,7 @@ class RequestHandlerController extends Controller {
return;
}
} catch (\Exception $e) {
throw new IncomingRequestException($e->getMessage());
throw new IncomingRequestException($e->getMessage(), previous: $e);
}
$this->confirmNotificationEntry($signedRequest, $identity);
@@ -7,14 +7,14 @@ namespace Composer\Autoload;
class ComposerStaticInitComments
{
public static $prefixLengthsPsr4 = array (
'O' =>
'O' =>
array (
'OCA\\Comments\\' => 13,
),
);
public static $prefixDirsPsr4 = array (
'OCA\\Comments\\' =>
'OCA\\Comments\\' =>
array (
0 => __DIR__ . '/..' . '/../lib',
),
+2 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Smazat komentář",
"Cancel edit" : "Zrušit úpravu",
"New comment" : "Nový komentář",
"Write a comment …" : "Napsat komentář …",
"Write a comment …" : "Napsat komentář …",
"Post comment" : "Odeslat komentář",
"@ for mentions, : for emoji, / for smart picker" : "@ pro zmínění, : pro emotikony, / pro inteligentní výběr",
"Could not reload comments" : "Znovunačtení komentářů se nezdařilo",
@@ -32,6 +32,6 @@ OC.L10N.register(
"Comment deleted" : "Komentář smazán",
"An error occurred while trying to delete the comment" : "Došlo k chybě při pokusu o smazání komentáře",
"An error occurred while trying to create the comment" : "Došlo k chybě při pokusu o vytvoření komentáře",
"Write a comment …" : "Napsat komentář…"
"Write a comment …" : "Napsat komentář …"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
+2 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Smazat komentář",
"Cancel edit" : "Zrušit úpravu",
"New comment" : "Nový komentář",
"Write a comment …" : "Napsat komentář …",
"Write a comment …" : "Napsat komentář …",
"Post comment" : "Odeslat komentář",
"@ for mentions, : for emoji, / for smart picker" : "@ pro zmínění, : pro emotikony, / pro inteligentní výběr",
"Could not reload comments" : "Znovunačtení komentářů se nezdařilo",
@@ -30,6 +30,6 @@
"Comment deleted" : "Komentář smazán",
"An error occurred while trying to delete the comment" : "Došlo k chybě při pokusu o smazání komentáře",
"An error occurred while trying to create the comment" : "Došlo k chybě při pokusu o vytvoření komentáře",
"Write a comment …" : "Napsat komentář…"
"Write a comment …" : "Napsat komentář …"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
}
+1
View File
@@ -17,6 +17,7 @@ OC.L10N.register(
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cacelar edición",
"New comment" : "Comentario nuevo",
"Write a comment …" : "Escribe un comentario ….",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoji, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
+1
View File
@@ -15,6 +15,7 @@
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cacelar edición",
"New comment" : "Comentario nuevo",
"Write a comment …" : "Escribe un comentario ….",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoji, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
+1
View File
@@ -15,6 +15,7 @@ OC.L10N.register(
"Delete comment" : "Poista kommentti",
"Cancel edit" : "Peruuta muokkaus",
"New comment" : "Uusi kommentti",
"Write a comment …" : "Kirjoita kommentti …",
"Post comment" : "Lähetä viesti",
"@ for mentions, : for emoji, / for smart picker" : "@ maininnoille, : emojille, / älykkäälle valitsimelle",
"Could not reload comments" : "Kommenttien lataus epäonnistui",
+1
View File
@@ -13,6 +13,7 @@
"Delete comment" : "Poista kommentti",
"Cancel edit" : "Peruuta muokkaus",
"New comment" : "Uusi kommentti",
"Write a comment …" : "Kirjoita kommentti …",
"Post comment" : "Lähetä viesti",
"@ for mentions, : for emoji, / for smart picker" : "@ maininnoille, : emojille, / älykkäälle valitsimelle",
"Could not reload comments" : "Kommenttien lataus epäonnistui",
+1 -1
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Supprimer le commentaire",
"Cancel edit" : "Annuler les modifications",
"New comment" : "Nouveau commentaire",
"Write a comment …" : "Écrire un commentaire …",
"Write a comment …" : "Écrire un commentaire…",
"Post comment" : "Publier le commentaire",
"@ for mentions, : for emoji, / for smart picker" : "@ pour les mentions, : pour les émojis, / pour le sélecteur intelligent",
"Could not reload comments" : "Impossible de recharger les commentaires",
+1 -1
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Supprimer le commentaire",
"Cancel edit" : "Annuler les modifications",
"New comment" : "Nouveau commentaire",
"Write a comment …" : "Écrire un commentaire …",
"Write a comment …" : "Écrire un commentaire…",
"Post comment" : "Publier le commentaire",
"@ for mentions, : for emoji, / for smart picker" : "@ pour les mentions, : pour les émojis, / pour le sélecteur intelligent",
"Could not reload comments" : "Impossible de recharger les commentaires",
+37
View File
@@ -0,0 +1,37 @@
OC.L10N.register(
"comments",
{
"Comments" : "ຄໍາເຫັນ",
"You commented" : "ທ່ານໄດ້ສະແດງຄຳເຫັນ",
"{author} commented" : "{author} commented",
"You commented on %1$s" : "You commented on %1$s",
"You commented on {file}" : "You commented on {file}",
"%1$s commented on %2$s" : "%1$s commented on %2$s",
"{author} commented on {file}" : "{author} commented on {file}",
"<strong>Comments</strong> for files" : "<strong>Comments</strong> for files",
"Files" : "ຟາຍ",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "You were mentioned on \"{file}\", in a comment by an account that has since been deleted",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mentioned you in a comment on \"{file}\"",
"Files app plugin to add comments to files" : "Files app plugin to add comments to files",
"Edit comment" : "ແກ້ໄຂຄຳເຫັນ",
"Delete comment" : "ລົບຄຳເຫັນ",
"Cancel edit" : "Cancel edit",
"New comment" : "New comment",
"Write a comment …" : "Write a comment …",
"Post comment" : "Post comment",
"@ for mentions, : for emoji, / for smart picker" : "@ for mentions, : for emoji, / for smart picker",
"Could not reload comments" : "Could not reload comments",
"Failed to mark comments as read" : "Failed to mark comments as read",
"Unable to load the comments list" : "Unable to load the comments list",
"No comments yet, start the conversation!" : "No comments yet, start the conversation!",
"No more messages" : "No more messages",
"Retry" : "Retry",
"_1 new comment_::_{unread} new comments_" : ["{unread} new comments"],
"Comment" : "Comment",
"An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment",
"Comment deleted" : "Comment deleted",
"An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment",
"Write a comment …" : "Write a comment …"
},
"nplurals=1; plural=0;");
+35
View File
@@ -0,0 +1,35 @@
{ "translations": {
"Comments" : "ຄໍາເຫັນ",
"You commented" : "ທ່ານໄດ້ສະແດງຄຳເຫັນ",
"{author} commented" : "{author} commented",
"You commented on %1$s" : "You commented on %1$s",
"You commented on {file}" : "You commented on {file}",
"%1$s commented on %2$s" : "%1$s commented on %2$s",
"{author} commented on {file}" : "{author} commented on {file}",
"<strong>Comments</strong> for files" : "<strong>Comments</strong> for files",
"Files" : "ຟາຍ",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "You were mentioned on \"{file}\", in a comment by an account that has since been deleted",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mentioned you in a comment on \"{file}\"",
"Files app plugin to add comments to files" : "Files app plugin to add comments to files",
"Edit comment" : "ແກ້ໄຂຄຳເຫັນ",
"Delete comment" : "ລົບຄຳເຫັນ",
"Cancel edit" : "Cancel edit",
"New comment" : "New comment",
"Write a comment …" : "Write a comment …",
"Post comment" : "Post comment",
"@ for mentions, : for emoji, / for smart picker" : "@ for mentions, : for emoji, / for smart picker",
"Could not reload comments" : "Could not reload comments",
"Failed to mark comments as read" : "Failed to mark comments as read",
"Unable to load the comments list" : "Unable to load the comments list",
"No comments yet, start the conversation!" : "No comments yet, start the conversation!",
"No more messages" : "No more messages",
"Retry" : "Retry",
"_1 new comment_::_{unread} new comments_" : ["{unread} new comments"],
"Comment" : "Comment",
"An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment",
"Comment deleted" : "Comment deleted",
"An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment",
"Write a comment …" : "Write a comment …"
},"pluralForm" :"nplurals=1; plural=0;"
}
+1 -1
View File
@@ -8,7 +8,7 @@ OC.L10N.register(
"You commented on {file}" : "سىز {file} گە باھا بەردىڭىز",
"%1$s commented on %2$s" : "%1$s بولسا %2$s غا باھا بەردى",
"{author} commented on {file}" : "{author} بولسا {file} گە باھا بەردى",
"<strong>Comments</strong> for files" : "ھۆججەتلەر ئۈچۈن <strong> باھا </ strong>",
"<strong>Comments</strong> for files" : "ھۆججەتلەر ئۈچۈن <strong> باھا </strong>",
"Files" : "ھۆججەتلەر",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "سىز ئۆچۈرۈلگەن ھېساباتنىڭ ئىزاھاتىدا سىز «{file}» دە تىلغا ئېلىندى",
"{user} mentioned you in a comment on \"{file}\"" : "{user} سىزنى \"{file}\" دىكى باھادا تىلغا ئالدى",
+1 -1
View File
@@ -6,7 +6,7 @@
"You commented on {file}" : "سىز {file} گە باھا بەردىڭىز",
"%1$s commented on %2$s" : "%1$s بولسا %2$s غا باھا بەردى",
"{author} commented on {file}" : "{author} بولسا {file} گە باھا بەردى",
"<strong>Comments</strong> for files" : "ھۆججەتلەر ئۈچۈن <strong> باھا </ strong>",
"<strong>Comments</strong> for files" : "ھۆججەتلەر ئۈچۈن <strong> باھا </strong>",
"Files" : "ھۆججەتلەر",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "سىز ئۆچۈرۈلگەن ھېساباتنىڭ ئىزاھاتىدا سىز «{file}» دە تىلغا ئېلىندى",
"{user} mentioned you in a comment on \"{file}\"" : "{user} سىزنى \"{file}\" دىكى باھادا تىلغا ئالدى",
+12 -14
View File
@@ -18,8 +18,6 @@ use OCP\IUserManager;
use OCP\L10N\IFactory;
class Provider implements IProvider {
protected ?IL10N $l = null;
public function __construct(
protected IFactory $languageFactory,
protected IURLGenerator $url,
@@ -42,9 +40,9 @@ class Provider implements IProvider {
throw new UnknownActivityException();
}
$this->l = $this->languageFactory->get('comments', $language);
if ($event->getSubject() === 'add_comment_subject') {
$l = $this->languageFactory->get('comments', $language);
$this->parseMessage($event);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/comment.png')));
@@ -54,13 +52,13 @@ class Provider implements IProvider {
if ($this->activityManager->isFormattingFilteredObject()) {
try {
return $this->parseShortVersion($event);
return $this->parseShortVersion($event, $l);
} catch (UnknownActivityException) {
// Ignore and simply use the long version...
}
}
return $this->parseLongVersion($event);
return $this->parseLongVersion($event, $l);
}
throw new UnknownActivityException();
@@ -69,15 +67,15 @@ class Provider implements IProvider {
/**
* @throws UnknownActivityException
*/
protected function parseShortVersion(IEvent $event): IEvent {
protected function parseShortVersion(IEvent $event, IL10N $l): IEvent {
$subjectParameters = $this->getSubjectParameters($event);
if ($event->getSubject() === 'add_comment_subject') {
if ($subjectParameters['actor'] === $this->activityManager->getCurrentUserId()) {
$event->setRichSubject($this->l->t('You commented'), []);
$event->setRichSubject($l->t('You commented'), []);
} else {
$author = $this->generateUserParameter($subjectParameters['actor']);
$event->setRichSubject($this->l->t('{author} commented'), [
$event->setRichSubject($l->t('{author} commented'), [
'author' => $author,
]);
}
@@ -91,24 +89,24 @@ class Provider implements IProvider {
/**
* @throws UnknownActivityException
*/
protected function parseLongVersion(IEvent $event): IEvent {
protected function parseLongVersion(IEvent $event, IL10N $l): IEvent {
$subjectParameters = $this->getSubjectParameters($event);
if ($event->getSubject() === 'add_comment_subject') {
if ($subjectParameters['actor'] === $this->activityManager->getCurrentUserId()) {
$event->setParsedSubject($this->l->t('You commented on %1$s', [
$event->setParsedSubject($l->t('You commented on %1$s', [
$subjectParameters['filePath'],
]))
->setRichSubject($this->l->t('You commented on {file}'), [
->setRichSubject($l->t('You commented on {file}'), [
'file' => $this->generateFileParameter($subjectParameters['fileId'], $subjectParameters['filePath']),
]);
} else {
$author = $this->generateUserParameter($subjectParameters['actor']);
$event->setParsedSubject($this->l->t('%1$s commented on %2$s', [
$event->setParsedSubject($l->t('%1$s commented on %2$s', [
$author['name'],
$subjectParameters['filePath'],
]))
->setRichSubject($this->l->t('{author} commented on {file}'), [
->setRichSubject($l->t('{author} commented on {file}'), [
'author' => $author,
'file' => $this->generateFileParameter($subjectParameters['fileId'], $subjectParameters['filePath']),
]);
+3 -3
View File
@@ -11,7 +11,7 @@ use OCP\IL10N;
class Setting extends ActivitySettings {
public function __construct(
protected IL10N $l,
protected readonly IL10N $l,
) {
}
@@ -23,11 +23,11 @@ class Setting extends ActivitySettings {
return $this->l->t('<strong>Comments</strong> for files');
}
public function getGroupIdentifier() {
public function getGroupIdentifier(): string {
return 'files';
}
public function getGroupName() {
public function getGroupName(): string {
return $this->l->t('Files');
}
@@ -27,6 +27,10 @@ class CommentsEntityEventListener implements IEventListener {
return;
}
if ($this->userId === null) {
return;
}
$event->addEntityCollection('files', function ($name): bool {
$nodes = $this->rootFolder->getUserFolder($this->userId)->getById((int)$name);
return !empty($nodes);
@@ -35,8 +35,7 @@ class CommentsEventListener implements IEventListener {
}
$eventType = $event->getEvent();
if ($eventType === CommentsEvent::EVENT_ADD
) {
if ($eventType === CommentsEvent::EVENT_ADD) {
$this->notificationHandler($event);
$this->activityHandler($event);
return;
@@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { View } from '@nextcloud/files'
import type { Folder, View } from '@nextcloud/files'
import { File, FileAction, Permission } from '@nextcloud/files'
import { describe, expect, test, vi } from 'vitest'
@@ -26,15 +26,41 @@ describe('Inline unread comments action display name tests', () => {
attributes: {
'comments-unread': 1,
},
root: '/files/admin',
})
expect(action).toBeInstanceOf(FileAction)
expect(action.id).toBe('comments-unread')
expect(action.displayName([file], view)).toBe('')
expect(action.title!([file], view)).toBe('1 new comment')
expect(action.iconSvgInline([], view)).toMatch(/<svg.+<\/svg>/)
expect(action.enabled!([file], view)).toBe(true)
expect(action.inline!(file, view)).toBe(true)
expect(action.displayName({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe('')
expect(action.title!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe('1 new comment')
expect(action.iconSvgInline({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toMatch(/<svg.+<\/svg>/)
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe(true)
expect(action.inline!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe(true)
expect(action.default).toBeUndefined()
expect(action.order).toBe(-140)
})
@@ -49,10 +75,21 @@ describe('Inline unread comments action display name tests', () => {
attributes: {
'comments-unread': 2,
},
root: '/files/admin',
})
expect(action.displayName([file], view)).toBe('')
expect(action.title!([file], view)).toBe('2 new comments')
expect(action.displayName({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe('')
expect(action.title!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe('2 new comments')
})
})
@@ -64,10 +101,16 @@ describe('Inline unread comments action enabled tests', () => {
owner: 'admin',
mime: 'text/plain',
permissions: Permission.ALL,
attributes: { },
attributes: {},
root: '/files/admin',
})
expect(action.enabled!([file], view)).toBe(false)
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe(false)
})
test('Action is disabled when file does not have unread comments', () => {
@@ -80,9 +123,15 @@ describe('Inline unread comments action enabled tests', () => {
attributes: {
'comments-unread': 0,
},
root: '/files/admin',
})
expect(action.enabled!([file], view)).toBe(false)
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe(false)
})
test('Action is enabled when file has a single unread comment', () => {
@@ -95,9 +144,15 @@ describe('Inline unread comments action enabled tests', () => {
attributes: {
'comments-unread': 1,
},
root: '/files/admin',
})
expect(action.enabled!([file], view)).toBe(true)
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe(true)
})
test('Action is enabled when file has a two unread comments', () => {
@@ -110,9 +165,15 @@ describe('Inline unread comments action enabled tests', () => {
attributes: {
'comments-unread': 2,
},
root: '/files/admin',
})
expect(action.enabled!([file], view)).toBe(true)
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})).toBe(true)
})
})
@@ -139,9 +200,15 @@ describe('Inline unread comments action execute tests', () => {
attributes: {
'comments-unread': 1,
},
root: '/files/admin',
})
const result = await action.exec!(file, view, '/')
const result = await action.exec!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})
expect(result).toBe(null)
expect(setActiveTabMock).toBeCalledWith('comments')
@@ -173,9 +240,15 @@ describe('Inline unread comments action execute tests', () => {
attributes: {
'comments-unread': 1,
},
root: '/files/admin',
})
const result = await action.exec!(file, view, '/')
const result = await action.exec!({
nodes: [file],
view,
folder: {} as Folder,
contents: [],
})
expect(result).toBe(false)
expect(setActiveTabMock).toBeCalledWith('comments')
@@ -2,9 +2,6 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { Node } from '@nextcloud/files'
import CommentProcessingSvg from '@mdi/svg/svg/comment-processing.svg?raw'
import { FileAction } from '@nextcloud/files'
import { n, t } from '@nextcloud/l10n'
@@ -13,9 +10,9 @@ import logger from '../logger.js'
export const action = new FileAction({
id: 'comments-unread',
title(nodes: Node[]) {
const unread = nodes[0].attributes['comments-unread'] as number
if (unread >= 0) {
title({ nodes }) {
const unread = nodes[0]?.attributes['comments-unread'] as number | undefined
if (typeof unread === 'number' && unread >= 0) {
return n('comments', '1 new comment', '{unread} new comments', unread, { unread })
}
return t('comments', 'Comment')
@@ -26,15 +23,19 @@ export const action = new FileAction({
iconSvgInline: () => CommentProcessingSvg,
enabled(nodes: Node[]) {
const unread = nodes[0].attributes['comments-unread'] as number | undefined
enabled({ nodes }) {
const unread = nodes[0]?.attributes?.['comments-unread'] as number | undefined
return typeof unread === 'number' && unread > 0
},
async exec(node: Node) {
async exec({ nodes }) {
if (nodes.length !== 1 || !nodes[0]) {
return false
}
try {
window.OCA.Files.Sidebar.setActiveTab('comments')
await window.OCA.Files.Sidebar.open(node.path)
await window.OCA.Files.Sidebar.open(nodes[0].path)
return null
} catch (error) {
logger.error('Error while opening sidebar', { error })
+10 -3
View File
@@ -72,7 +72,7 @@
:contenteditable="!loading"
:label="editor ? t('comments', 'New comment') : t('comments', 'Edit comment')"
:placeholder="t('comments', 'Write a comment ')"
:value="localMessage"
:model-value="localMessage"
:user-data="userData"
aria-describedby="tab-comments__editor-description"
@update:value="updateLocalMessage"
@@ -103,6 +103,7 @@
:class="{ 'comment__message--expanded': expanded }"
:text="richContent.message"
:arguments="richContent.mentions"
use-markdown
@click.native="onExpand" />
</div>
</component>
@@ -376,13 +377,19 @@ $comment-padding: 10px;
&__message {
white-space: pre-wrap;
word-break: normal;
max-height: 70px;
overflow: hidden;
max-height: 200px;
overflow: auto;
scrollbar-gutter: stable;
scrollbar-width: thin;
margin-top: -6px;
&--expanded {
max-height: none;
overflow: visible;
}
:deep(img) {
max-width: 100%;
height: auto;
}
}
}
@@ -12,7 +12,7 @@ use OCA\Comments\Activity\Listener;
use OCP\Activity\IEvent;
use OCP\Activity\IManager;
use OCP\App\IAppManager;
use OCP\Comments\CommentsEvent;
use OCP\Comments\Events\CommentAddedEvent;
use OCP\Comments\IComment;
use OCP\Files\Config\ICachedMountFileInfo;
use OCP\Files\Config\IMountProviderCollection;
@@ -66,14 +66,7 @@ class ListenerTest extends TestCase {
->method('getObjectType')
->willReturn('files');
/** @var CommentsEvent|MockObject $event */
$event = $this->createMock(CommentsEvent::class);
$event->expects($this->any())
->method('getComment')
->willReturn($comment);
$event->expects($this->any())
->method('getEvent')
->willReturn(CommentsEvent::EVENT_ADD);
$event = new CommentAddedEvent($comment);
/** @var IUser|MockObject $ownerUser */
$ownerUser = $this->createMock(IUser::class);
+14 -12
View File
@@ -12,6 +12,10 @@ use OCA\Comments\Activity\Listener as ActivityListener;
use OCA\Comments\Listener\CommentsEventListener;
use OCA\Comments\Notification\Listener as NotificationListener;
use OCP\Comments\CommentsEvent;
use OCP\Comments\Events\BeforeCommentUpdatedEvent;
use OCP\Comments\Events\CommentAddedEvent;
use OCP\Comments\Events\CommentDeletedEvent;
use OCP\Comments\Events\CommentUpdatedEvent;
use OCP\Comments\IComment;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
@@ -50,10 +54,10 @@ class EventHandlerTest extends TestCase {
public static function handledProvider(): array {
return [
[CommentsEvent::EVENT_DELETE],
[CommentsEvent::EVENT_UPDATE],
[CommentsEvent::EVENT_PRE_UPDATE],
[CommentsEvent::EVENT_ADD]
['delete'],
['update'],
['pre_update'],
['add']
];
}
@@ -65,14 +69,12 @@ class EventHandlerTest extends TestCase {
->method('getObjectType')
->willReturn('files');
/** @var CommentsEvent|MockObject $event */
$event = $this->createMock(CommentsEvent::class);
$event->expects($this->atLeastOnce())
->method('getComment')
->willReturn($comment);
$event->expects($this->atLeastOnce())
->method('getEvent')
->willReturn($eventType);
$event = match ($eventType) {
'add' => new CommentAddedEvent($comment),
'pre_update' => new BeforeCommentUpdatedEvent($comment),
'update' => new CommentUpdatedEvent($comment),
'delete' => new CommentDeletedEvent($comment),
};
$this->notificationListener->expects($this->once())
->method('evaluate')
@@ -8,7 +8,10 @@
namespace OCA\Comments\Tests\Unit\Notification;
use OCA\Comments\Notification\Listener;
use OCP\Comments\CommentsEvent;
use OCP\Comments\Events\BeforeCommentUpdatedEvent;
use OCP\Comments\Events\CommentAddedEvent;
use OCP\Comments\Events\CommentDeletedEvent;
use OCP\Comments\Events\CommentUpdatedEvent;
use OCP\Comments\IComment;
use OCP\IURLGenerator;
use OCP\IUserManager;
@@ -37,10 +40,10 @@ class ListenerTest extends TestCase {
public static function eventProvider(): array {
return [
[CommentsEvent::EVENT_ADD, 'notify'],
[CommentsEvent::EVENT_UPDATE, 'notify'],
[CommentsEvent::EVENT_PRE_UPDATE, 'markProcessed'],
[CommentsEvent::EVENT_DELETE, 'markProcessed']
['add', 'notify'],
['update', 'notify'],
['pre_update', 'markProcessed'],
['delete', 'markProcessed']
];
}
@@ -49,7 +52,7 @@ class ListenerTest extends TestCase {
* @param string $notificationMethod
*/
#[\PHPUnit\Framework\Attributes\DataProvider('eventProvider')]
public function testEvaluate($eventType, $notificationMethod): void {
public function testEvaluate(string $eventType, $notificationMethod): void {
/** @var IComment|MockObject $comment */
$comment = $this->createMock(IComment::class);
$comment->expects($this->any())
@@ -72,14 +75,12 @@ class ListenerTest extends TestCase {
->method('getId')
->willReturn('1234');
/** @var CommentsEvent|MockObject $event */
$event = $this->createMock(CommentsEvent::class);
$event->expects($this->once())
->method('getComment')
->willReturn($comment);
$event->expects(($this->any()))
->method(('getEvent'))
->willReturn($eventType);
$event = match ($eventType) {
'add' => new CommentAddedEvent($comment),
'pre_update' => new BeforeCommentUpdatedEvent($comment),
'update' => new CommentUpdatedEvent($comment),
'delete' => new CommentDeletedEvent($comment),
};
/** @var INotification|MockObject $notification */
$notification = $this->createMock(INotification::class);
@@ -124,14 +125,12 @@ class ListenerTest extends TestCase {
->method('getMentions')
->willReturn([]);
/** @var CommentsEvent|MockObject $event */
$event = $this->createMock(CommentsEvent::class);
$event->expects($this->once())
->method('getComment')
->willReturn($comment);
$event->expects(($this->any()))
->method(('getEvent'))
->willReturn($eventType);
$event = match ($eventType) {
'add' => new CommentAddedEvent($comment),
'pre_update' => new BeforeCommentUpdatedEvent($comment),
'update' => new CommentUpdatedEvent($comment),
'delete' => new CommentDeletedEvent($comment),
};
$this->notificationManager->expects($this->never())
->method('createNotification');
@@ -162,14 +161,7 @@ class ListenerTest extends TestCase {
->method('getId')
->willReturn('1234');
/** @var CommentsEvent|MockObject $event */
$event = $this->createMock(CommentsEvent::class);
$event->expects($this->once())
->method('getComment')
->willReturn($comment);
$event->expects(($this->any()))
->method(('getEvent'))
->willReturn(CommentsEvent::EVENT_ADD);
$event = new CommentAddedEvent($comment);
/** @var INotification|MockObject $notification */
$notification = $this->createMock(INotification::class);
@@ -7,14 +7,14 @@ namespace Composer\Autoload;
class ComposerStaticInitContactsInteraction
{
public static $prefixLengthsPsr4 = array (
'O' =>
'O' =>
array (
'OCA\\ContactsInteraction\\' => 24,
),
);
public static $prefixDirsPsr4 = array (
'OCA\\ContactsInteraction\\' =>
'OCA\\ContactsInteraction\\' =>
array (
0 => __DIR__ . '/..' . '/../lib',
),
@@ -94,7 +94,7 @@ class RecentContactMapper extends QBMapper {
->setMaxResults(1);
$cursor = $select->executeQuery();
$row = $cursor->fetch();
$row = $cursor->fetchAssociative();
if ($row === false) {
return null;
@@ -53,7 +53,7 @@ class FixVcardCategory implements IRepairStep {
->set('card', $query->createParameter('card'))
->where($query->expr()->eq('id', $query->createParameter('id')));
while ($card = $cardsWithTranslatedCategory->fetch()) {
while ($card = $cardsWithTranslatedCategory->fetchAssociative()) {
$output->advance(1);
try {
@@ -7,14 +7,14 @@ namespace Composer\Autoload;
class ComposerStaticInitDashboard
{
public static $prefixLengthsPsr4 = array (
'O' =>
'O' =>
array (
'OCA\\Dashboard\\' => 14,
),
);
public static $prefixDirsPsr4 = array (
'OCA\\Dashboard\\' =>
'OCA\\Dashboard\\' =>
array (
0 => __DIR__ . '/..' . '/../lib',
),
-3
View File
@@ -5,14 +5,11 @@
import { getCSPNonce } from '@nextcloud/auth'
import { t } from '@nextcloud/l10n'
import VTooltip from '@nextcloud/vue/directives/Tooltip'
import Vue from 'vue'
import DashboardApp from './DashboardApp.vue'
__webpack_nonce__ = getCSPNonce()
Vue.directive('Tooltip', VTooltip)
Vue.prototype.t = t
const Dashboard = Vue.extend(DashboardApp)
+1 -1
View File
@@ -10,7 +10,7 @@
<name>WebDAV</name>
<summary>WebDAV endpoint</summary>
<description>WebDAV endpoint</description>
<version>1.35.0</version>
<version>1.36.0</version>
<licence>agpl</licence>
<author>owncloud.org</author>
<namespace>DAV</namespace>
+46 -38
View File
@@ -68,47 +68,55 @@ $requestUri = Server::get(IRequest::class)->getRequestUri();
$linkCheckPlugin = new PublicLinkCheckPlugin();
$filesDropPlugin = new FilesDropPlugin();
$server = $serverFactory->createServer(false, $baseuri, $requestUri, $authPlugin, function (\Sabre\DAV\Server $server) use ($authBackend, $linkCheckPlugin, $filesDropPlugin) {
$isAjax = in_array('XMLHttpRequest', explode(',', $_SERVER['HTTP_X_REQUESTED_WITH'] ?? ''));
/** @var FederatedShareProvider $shareProvider */
$federatedShareProvider = Server::get(FederatedShareProvider::class);
if ($federatedShareProvider->isOutgoingServer2serverShareEnabled() === false && !$isAjax) {
// this is what is thrown when trying to access a non-existing share
throw new \Sabre\DAV\Exception\NotAuthenticated();
}
$server = $serverFactory->createServer(
true,
$baseuri,
$requestUri,
$authPlugin,
function (\Sabre\DAV\Server $server) use (
$authBackend,
$linkCheckPlugin,
$filesDropPlugin
) {
$isAjax = in_array('XMLHttpRequest', explode(',', $_SERVER['HTTP_X_REQUESTED_WITH'] ?? ''));
/** @var FederatedShareProvider $shareProvider */
$federatedShareProvider = Server::get(FederatedShareProvider::class);
if ($federatedShareProvider->isOutgoingServer2serverShareEnabled() === false && !$isAjax) {
// this is what is thrown when trying to access a non-existing share
throw new \Sabre\DAV\Exception\NotAuthenticated();
}
$share = $authBackend->getShare();
$owner = $share->getShareOwner();
$isReadable = $share->getPermissions() & Constants::PERMISSION_READ;
$fileId = $share->getNodeId();
$share = $authBackend->getShare();
$owner = $share->getShareOwner();
$isReadable = $share->getPermissions() & Constants::PERMISSION_READ;
$fileId = $share->getNodeId();
// FIXME: should not add storage wrappers outside of preSetup, need to find a better way
$previousLog = Filesystem::logWarningWhenAddingStorageWrapper(false);
Filesystem::addStorageWrapper('sharePermissions', function ($mountPoint, $storage) use ($share) {
return new PermissionsMask(['storage' => $storage, 'mask' => $share->getPermissions() | Constants::PERMISSION_SHARE]);
// FIXME: should not add storage wrappers outside of preSetup, need to find a better way
$previousLog = Filesystem::logWarningWhenAddingStorageWrapper(false);
Filesystem::addStorageWrapper('sharePermissions', function ($mountPoint, $storage) use ($share) {
return new PermissionsMask(['storage' => $storage, 'mask' => $share->getPermissions() | Constants::PERMISSION_SHARE]);
});
Filesystem::addStorageWrapper('shareOwner', function ($mountPoint, $storage) use ($share) {
return new PublicOwnerWrapper(['storage' => $storage, 'owner' => $share->getShareOwner()]);
});
Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
$rootFolder = Server::get(IRootFolder::class);
$userFolder = $rootFolder->getUserFolder($owner);
$node = $userFolder->getFirstNodeById($fileId);
if (!$node) {
throw new \Sabre\DAV\Exception\NotFound();
}
$linkCheckPlugin->setFileInfo($node);
// If not readable (files_drop) enable the filesdrop plugin
if (!$isReadable) {
$filesDropPlugin->enable();
}
$filesDropPlugin->setShare($share);
return new View($node->getPath());
});
Filesystem::addStorageWrapper('shareOwner', function ($mountPoint, $storage) use ($share) {
return new PublicOwnerWrapper(['storage' => $storage, 'owner' => $share->getShareOwner()]);
});
Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
$rootFolder = Server::get(IRootFolder::class);
$userFolder = $rootFolder->getUserFolder($owner);
$node = $userFolder->getFirstNodeById($fileId);
if (!$node) {
throw new \Sabre\DAV\Exception\NotFound();
}
$linkCheckPlugin->setFileInfo($node);
// If not readable (files_drop) enable the filesdrop plugin
if (!$isReadable) {
$filesDropPlugin->enable();
}
$filesDropPlugin->setShare($share);
$view = new View($node->getPath());
return $view;
});
$server->addPlugin($linkCheckPlugin);
$server->addPlugin($filesDropPlugin);
@@ -386,6 +386,7 @@ return array(
'OCA\\DAV\\Migration\\Version1031Date20240610134258' => $baseDir . '/../lib/Migration/Version1031Date20240610134258.php',
'OCA\\DAV\\Migration\\Version1034Date20250605132605' => $baseDir . '/../lib/Migration/Version1034Date20250605132605.php',
'OCA\\DAV\\Migration\\Version1034Date20250813093701' => $baseDir . '/../lib/Migration/Version1034Date20250813093701.php',
'OCA\\DAV\\Migration\\Version1036Date20251202000000' => $baseDir . '/../lib/Migration/Version1036Date20251202000000.php',
'OCA\\DAV\\Model\\ExampleEvent' => $baseDir . '/../lib/Model/ExampleEvent.php',
'OCA\\DAV\\Paginate\\LimitedCopyIterator' => $baseDir . '/../lib/Paginate/LimitedCopyIterator.php',
'OCA\\DAV\\Paginate\\PaginateCache' => $baseDir . '/../lib/Paginate/PaginateCache.php',
@@ -7,14 +7,14 @@ namespace Composer\Autoload;
class ComposerStaticInitDAV
{
public static $prefixLengthsPsr4 = array (
'O' =>
'O' =>
array (
'OCA\\DAV\\' => 8,
),
);
public static $prefixDirsPsr4 = array (
'OCA\\DAV\\' =>
'OCA\\DAV\\' =>
array (
0 => __DIR__ . '/..' . '/../lib',
),
@@ -401,6 +401,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Migration\\Version1031Date20240610134258' => __DIR__ . '/..' . '/../lib/Migration/Version1031Date20240610134258.php',
'OCA\\DAV\\Migration\\Version1034Date20250605132605' => __DIR__ . '/..' . '/../lib/Migration/Version1034Date20250605132605.php',
'OCA\\DAV\\Migration\\Version1034Date20250813093701' => __DIR__ . '/..' . '/../lib/Migration/Version1034Date20250813093701.php',
'OCA\\DAV\\Migration\\Version1036Date20251202000000' => __DIR__ . '/..' . '/../lib/Migration/Version1036Date20251202000000.php',
'OCA\\DAV\\Model\\ExampleEvent' => __DIR__ . '/..' . '/../lib/Model/ExampleEvent.php',
'OCA\\DAV\\Paginate\\LimitedCopyIterator' => __DIR__ . '/..' . '/../lib/Paginate/LimitedCopyIterator.php',
'OCA\\DAV\\Paginate\\PaginateCache' => __DIR__ . '/..' . '/../lib/Paginate/PaginateCache.php',
+30 -30
View File
@@ -73,19 +73,7 @@ OC.L10N.register(
"Where: %s" : "المكان: %s",
"%1$s via %2$s" : "%1$s عبر %2$s",
"In the past on %1$s for the entire day" : "في الماضي في %1$s لكامل اليوم",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["في %n دقيقة في %1$s لكامل اليوم","في %1$s for the entire day","في %n دقيقة في %1$s لكامل اليوم","في %n دقائق في %1$s لكامل اليوم","في %n دقيقة في %1$s لكامل اليوم","في %n دقيقة في %1$s لكامل اليوم"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["في %n ساعة في %1$s لكامل اليوم","في ساعة واحدة في %1$s لكامل اليوم","في %n ساعة في %1$s لكامل اليوم","في %n ساعات في %1$s لكامل اليوم","في %n ساعة في %1$s لكامل اليوم","في %n ساعة في %1$s لكل اليوم"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["في%n يوم في %1$s لكامل اليوم","في يوم واحد في %1$s لكامل اليوم","في %n يوم في %1$s لكامل اليوم","في %n أيام في %1$s لكامل ايوم","في %n يوم في %1$s لكامل اليوم","في %n يوم في %1$s لكامل اليوم"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["في %n أسبوع في %1$s طيلة اليوم","في أسبوع في %1$s طيلة اليوم","في %n أسبوع في %1$s طيلة اليوم","في %n أسابيع في %1$s طيلة اليوم","في %n أسبوع في %1$s طيلة اليوم","في %n أسبوع في %1$s طيلة اليوم"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["في %n شهر في %1$s طيلة اليوم","في شهر في %1$s طيلة اليوم","في %n شهر في %1$s طيلة اليوم","في %n أشهر في %1$s طيلة اليوم","في %n شهر في %1$s طيلة اليوم","في %n شهر في %1$s طيلة اليوم"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["في %n سنة في %1$s طيلة اليوم","في سنة في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم","في %n سنوات في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم"],
"In the past on %1$s between %2$s - %3$s" : "في الماضي في %1$s بين %2$s - %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["في %n دقيقة في %1$s بين %2$s - %3$s","في دقيقة فقي %1$s بين %2$s - %3$s","في %n دقيقة فقي %1$s بين %2$s - %3$s","في %n دقائق في %1$s بين %2$s - %3$s","في %n دقيقة في %1$s بين %2$s - %3$s","في %n دقيقة في %1$s بين %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["في %n ساعة في %1$s بين %2$s - %3$s","في ساعة واحدة %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s","في %n ساعات في %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["في%n يوم في %1$s بين %2$s - %3$s","في يوم واحد في %1$s بين %2$s - %3$s","في %n يوم %1$s بين %2$s - %3$s","في %n أيام في %1$s بين %2$s - %3$s","في %n يوم في %1$s بين %2$s - %3$s","في %n يوم في %1$s بين %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["في %n أسبوع في %1$s بين %2$s - %3$s","في أسبوع واحد في %1$s بين %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s","في %n أسابيع في %1$s في %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["في %n شهر في %1$s بين %2$s - %3$s","في شهر واحد في %1$s بين %2$s - %3$s","في %n شهر في %1$s بين %2$s - %3$s","في %n شهور في %1$s بين %2$s - %3$s","في %n شهر في %1$s بين %2$s - %3$s","In %n months on %1$s between %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["في %n سنة في %1$s بين %2$s - %3$s","في سنة واحدة في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s","في %n سنوات في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s"],
"Could not generate when statement" : "يتعذّر تكوين عبارة \"متى\"",
"Every Day for the entire day" : "كل يوم لكامل اليوم",
"Every Day for the entire day until %1$s" : "كل يوم كامل اليوم حتى %1$s",
@@ -123,26 +111,8 @@ OC.L10N.register(
"On specific dates for the entire day until %1$s" : "في تورايخ محددة كامل اليوم حتى%1$s",
"On specific dates between %1$s - %2$s until %3$s" : "في تواريخ محددة بين %1$s - %2$s حتى %3$s",
"In the past on %1$s" : "في الماضي في %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["في %n دقيقة في %1$s","في دقيقة واحدة في %1$s","في %n دقيقة في %1$s","في %n دقائق في %1$s","في %n دقيقة في %1$s","في %n دقيقة في %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["في %n ساعة في %1$s","في ساعة واحدة في%1$s","في %n ساعة في %1$s","في %n ساعات في %1$s","في %n ساعة في %1$s","في %n ساعة في %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["في %n يوم في %1$s","في يوم واحد في%1$s","في %n يوم في %1$s","في %n أيام في %1$s","في %n يوم في%1$s","في %n يوم في %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["في %n أسبوع في %1$s","في أسبوع واحد في %1$s","في %n أسبوع في %1$s","في %n أسابيع في %1$s","في %n أسبوع في %1$s","في %n أسبوع في %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["في %n شهر في %1$s","في شهر واحد في %1$s","في %n شهر في %1$s","في %n أشهر في %1$s","في %n شهر في %1$s","في %n شهر في %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["في %n سنة في %1$s","في سنة واحدة في %1$s","في %n سنة في %1$s","في %n سنوات في %1$s","في %n سنة في %1$s","في %n سنة في %1$s"],
"In the past on %1$s then on %2$s" : "في الماضي في %1$s ثم في %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["في %n دقيقة في %1$s ثم في %2$s","في دقيقة واحدة في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s","فيب %n دقائق في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["في %n ساعة في %1$s ثم في %2$s","في ساعة واحدة في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s","في %n ساعات في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["في %n يوم في %1$s ثم في %2$s","في يوم واحد في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s","في %n أيام في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["في %n أسبوع في %1$s ثم في %2$s","في أسبوع واحد في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s","في %n أسابيع في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["في %n شهر في %1$s ثم في %2$s","في شهر واحد في %1$s ثم في %2$s","في %n شهر في %1$s ثم في %2$s","في %n شهور في %1$s ثم في %2$s","في %n شهر في %1$sثم في %2$s","في %n شهر في %1$s ثم في %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["في %n سنة في %1$s ثم في %2$s","في سنة واحدة في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s","في %n سنوات في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "في الماضي في %1$s ثم في %2$s و %3$s",
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["في %n دقيقة في %1$s ثم في %2$s و %3$s","في دقيقة واحدة في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s","في %n دقائق في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["في %n ساعة في %1$s ثم في %2$s و %3$s","في ساعة واحدة في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s","في %n ساعات في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["في %n يوم في %1$s ثم في %2$s و %3$s","في يوم واحد في %1$s ثم ف %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s","في %n أيام في %1$s ثم في %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["في %n أسبوع في %1$s ثم في %2$s و %3$s","في أسبوع واحد في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسابيع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["في %n شهر في %1$s ثم في %2$s و %3$s","في شهر واحد في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهور في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["في%n سنة في %1$s ثم في %2$s و %3$s","في سنة واحدة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنوات في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s"],
"Could not generate next recurrence statement" : "يتعذّر توليد عبارة التكرار التالي",
"Cancelled: %1$s" : "مُلغىً: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" تمّ إلغاؤه",
@@ -319,6 +289,36 @@ OC.L10N.register(
"Are you accepting the invitation?" : "هل تقبل الدعوة؟",
"Tentative" : "مبدئي",
"Your attendance was updated successfully." : "حضورك تم تحديثه بنجاحٍ",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["في %n دقيقة في %1$s لكامل اليوم","في %1$s for the entire day","في %n دقيقة في %1$s لكامل اليوم","في %n دقائق في %1$s لكامل اليوم","في %n دقيقة في %1$s لكامل اليوم","في %n دقيقة في %1$s لكامل اليوم"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["في %n ساعة في %1$s لكامل اليوم","في ساعة واحدة في %1$s لكامل اليوم","في %n ساعة في %1$s لكامل اليوم","في %n ساعات في %1$s لكامل اليوم","في %n ساعة في %1$s لكامل اليوم","في %n ساعة في %1$s لكل اليوم"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["في%n يوم في %1$s لكامل اليوم","في يوم واحد في %1$s لكامل اليوم","في %n يوم في %1$s لكامل اليوم","في %n أيام في %1$s لكامل ايوم","في %n يوم في %1$s لكامل اليوم","في %n يوم في %1$s لكامل اليوم"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["في %n أسبوع في %1$s طيلة اليوم","في أسبوع في %1$s طيلة اليوم","في %n أسبوع في %1$s طيلة اليوم","في %n أسابيع في %1$s طيلة اليوم","في %n أسبوع في %1$s طيلة اليوم","في %n أسبوع في %1$s طيلة اليوم"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["في %n شهر في %1$s طيلة اليوم","في شهر في %1$s طيلة اليوم","في %n شهر في %1$s طيلة اليوم","في %n أشهر في %1$s طيلة اليوم","في %n شهر في %1$s طيلة اليوم","في %n شهر في %1$s طيلة اليوم"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["في %n سنة في %1$s طيلة اليوم","في سنة في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم","في %n سنوات في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم"],
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["في %n دقيقة في %1$s بين %2$s - %3$s","في دقيقة فقي %1$s بين %2$s - %3$s","في %n دقيقة فقي %1$s بين %2$s - %3$s","في %n دقائق في %1$s بين %2$s - %3$s","في %n دقيقة في %1$s بين %2$s - %3$s","في %n دقيقة في %1$s بين %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["في %n ساعة في %1$s بين %2$s - %3$s","في ساعة واحدة %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s","في %n ساعات في %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["في%n يوم في %1$s بين %2$s - %3$s","في يوم واحد في %1$s بين %2$s - %3$s","في %n يوم %1$s بين %2$s - %3$s","في %n أيام في %1$s بين %2$s - %3$s","في %n يوم في %1$s بين %2$s - %3$s","في %n يوم في %1$s بين %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["في %n أسبوع في %1$s بين %2$s - %3$s","في أسبوع واحد في %1$s بين %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s","في %n أسابيع في %1$s في %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["في %n شهر في %1$s بين %2$s - %3$s","في شهر واحد في %1$s بين %2$s - %3$s","في %n شهر في %1$s بين %2$s - %3$s","في %n شهور في %1$s بين %2$s - %3$s","في %n شهر في %1$s بين %2$s - %3$s","In %n months on %1$s between %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["في %n سنة في %1$s بين %2$s - %3$s","في سنة واحدة في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s","في %n سنوات في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s"],
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["في %n دقيقة في %1$s","في دقيقة واحدة في %1$s","في %n دقيقة في %1$s","في %n دقائق في %1$s","في %n دقيقة في %1$s","في %n دقيقة في %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["في %n ساعة في %1$s","في ساعة واحدة في%1$s","في %n ساعة في %1$s","في %n ساعات في %1$s","في %n ساعة في %1$s","في %n ساعة في %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["في %n يوم في %1$s","في يوم واحد في%1$s","في %n يوم في %1$s","في %n أيام في %1$s","في %n يوم في%1$s","في %n يوم في %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["في %n أسبوع في %1$s","في أسبوع واحد في %1$s","في %n أسبوع في %1$s","في %n أسابيع في %1$s","في %n أسبوع في %1$s","في %n أسبوع في %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["في %n شهر في %1$s","في شهر واحد في %1$s","في %n شهر في %1$s","في %n أشهر في %1$s","في %n شهر في %1$s","في %n شهر في %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["في %n سنة في %1$s","في سنة واحدة في %1$s","في %n سنة في %1$s","في %n سنوات في %1$s","في %n سنة في %1$s","في %n سنة في %1$s"],
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["في %n دقيقة في %1$s ثم في %2$s","في دقيقة واحدة في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s","فيب %n دقائق في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["في %n ساعة في %1$s ثم في %2$s","في ساعة واحدة في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s","في %n ساعات في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["في %n يوم في %1$s ثم في %2$s","في يوم واحد في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s","في %n أيام في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["في %n أسبوع في %1$s ثم في %2$s","في أسبوع واحد في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s","في %n أسابيع في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["في %n شهر في %1$s ثم في %2$s","في شهر واحد في %1$s ثم في %2$s","في %n شهر في %1$s ثم في %2$s","في %n شهور في %1$s ثم في %2$s","في %n شهر في %1$sثم في %2$s","في %n شهر في %1$s ثم في %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["في %n سنة في %1$s ثم في %2$s","في سنة واحدة في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s","في %n سنوات في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s"],
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["في %n دقيقة في %1$s ثم في %2$s و %3$s","في دقيقة واحدة في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s","في %n دقائق في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["في %n ساعة في %1$s ثم في %2$s و %3$s","في ساعة واحدة في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s","في %n ساعات في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["في %n يوم في %1$s ثم في %2$s و %3$s","في يوم واحد في %1$s ثم ف %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s","في %n أيام في %1$s ثم في %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["في %n أسبوع في %1$s ثم في %2$s و %3$s","في أسبوع واحد في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسابيع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["في %n شهر في %1$s ثم في %2$s و %3$s","في شهر واحد في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهور في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["في%n سنة في %1$s ثم في %2$s و %3$s","في سنة واحدة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنوات في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s"],
"No results." : "لا نتائج",
"Start typing." : "أبدا الكتابة",
"Time zone:" : "منطقة زمنية:"

Some files were not shown because too many files have changed in this diff Show More