Compare commits

..

1007 Commits

Author SHA1 Message Date
Josh 7ab2238b6a chore: lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 150c225933 chore: fixup for lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh c260003b50 chore: add stub for getLegacyCipher to EncryptionTest
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh d71c91a00c test(encryption): add stub for needDetailedAccessList to UpdateTest
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh f1fd8bbba6 test: add missing stubs to EncryptionTest
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 34c91a2767 chore: add formerly misssing getOwner from EncryptionTest
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 0727930103 chore: add proper cast
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 1dab94d577 chore: fixup typo
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh edf96ce418 test(encryption): fix for typing + make testUser1/testUser2 realistic
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh c3768ac232 refactor(encryption): differentiate blockId from $this->position
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 04dec46ba9 chore: swap position for blockId in Encryption module implementation
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 0f6e5c565b refactor(encryption): Distinguish blockId from position
One is always an int but the other is a string and often more than than the raw position, but an id marker (e.g. `5end`). 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh fa4575836b chore: permit nullable $uid in IEncryptionModule.php...
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 8a3c617cb5 chore: fixup to make $uid nullable for now
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 8adf7b73f5 chore: Update psalm-baseline.xml
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh dff3fee9f2 chore: drop implementation specific throws from interface
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 1c6d28f034 chore: document implementation specific throws
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh c9c9ea77a9 chore: add docblocks to non-interface helper/utility functions
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 1fd167e6f4 chore: drop duplicated API docblocks from Encryption implementation
They're now all well defined in the interface (and mostly already were). The rare implementation specific bits retained.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh f1fcd03cc5 chore: add simple docblock to interface IEncryptionModule
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh ca0be4eb80 chore: add exceptions to IEncryptionModule contract docs
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh 6901bfbeb7 chore: correct $position typing in IEncryptionModule
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh eef028e632 chore: add type hints throughout IEncryptionModule implementation
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Josh e7b2d26d2f chore: add typing to IEncryptionModule
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-04 15:00:20 -05:00
Robin Appelman 2a690fd154 Merge pull request #57910 from nextcloud/setup-root-path-children
fix: still setup for user when setting up root path with children
2026-02-04 19:40:40 +01:00
Andy Scherzinger 5f54a06994 Merge pull request #57930 from nextcloud/artonge/fix/share_resolution
fix(files_sharing): stop ignoring shares without a usergroup entry when filtering by path
2026-02-04 19:15:26 +01:00
Robin Appelman 134fa6779b chore: update psalm baseline
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:35 +01:00
Robin Appelman bea82ac656 test: adjust tests to updated getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:35 +01:00
Robin Appelman 72150d6deb fix: getById: don't setup for all users with access by default
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:34 +01:00
Robin Appelman be2c26a75b test: adjust tests to new getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:33 +01:00
Robin Appelman b51d332719 fix: make sure all mounts are setup in getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:33 +01:00
Robin Appelman 82d33b7727 fix: still setup for user when setting up root path with children
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:32 +01:00
Robin Appelman aa47e85c25 Merge pull request #58023 from nextcloud/ext-partial-mount-provider-slash
fix: fix partial external storage provider not finding root mount
2026-02-04 18:23:00 +01:00
Louis Chmn 79c07d38aa fix(files_sharing): Move path filtering to group share resolution
Previously, this was preventing users without a specific USERGROUP entry to see GROUP shares.

Signed-off-by: Louis Chmn <louis@chmn.me>
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-04 16:53:10 +01:00
Benjamin Gaussorgues 687261fc8c Merge pull request #57921 from nextcloud/fix/snowflake_lock_dir
fix(snowflakes): create file lock files into lock directory
2026-02-04 11:12:23 +01:00
Joas Schilling 2d0a24f042 Merge pull request #58050 from nextcloud/test/noid/greener-ci
test(settings): Fix CI after parallel merges
2026-02-04 11:04:09 +01:00
Joas Schilling 6112526fbc Merge pull request #58043 from nextcloud/bugfix/noid/limit-comments-report
fix(comments): Put a limit to the limit
2026-02-04 10:01:27 +01:00
Joas Schilling ba88bf4727 test(settings): Fix CI after parallel merges
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 09:50:24 +01:00
Joas Schilling 0478825fac test(Updater): Harden flaky test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 09:44:56 +01:00
Joas Schilling af33953078 fix(comments): Put a limit to the limit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 08:44:18 +01:00
Nextcloud bot 7a0093c163 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-04 00:20:54 +00:00
Andy Scherzinger d09b8c99de Merge pull request #57934 from nextcloud/dependabot/npm_and_yarn/stylelint-17.1.0
build(deps-dev): bump stylelint from 17.0.0 to 17.1.0
2026-02-03 21:29:26 +01:00
Andy Scherzinger 65b985efde Merge pull request #57932 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.16
build(deps-dev): bump @zip.js/zip.js from 2.8.15 to 2.8.16
2026-02-03 21:28:32 +01:00
Andy Scherzinger 5ada35c153 Merge pull request #57933 from nextcloud/dependabot/npm_and_yarn/nextcloud/eslint-config-9.0.0-rc.8
build(deps-dev): bump @nextcloud/eslint-config from 9.0.0-rc.7 to 9.0.0-rc.8
2026-02-03 21:27:03 +01:00
Andy Scherzinger 227371c0de Merge pull request #57909 from nextcloud/dependabot/composer/vendor-bin/behat/phpunit/phpunit-11.5.50
build(deps-dev): bump phpunit/phpunit from 11.5.44 to 11.5.50 in /vendor-bin/behat
2026-02-03 21:21:20 +01:00
Julius Knorr 8372533cff Merge pull request #57555 from nextcloud/feat/office-switcher
feat: Add office switcher with feature comparison
2026-02-03 20:40:01 +01:00
Joas Schilling 45750b3f29 Merge pull request #57974 from nextcloud/dependabot/github_actions/github-actions-276f5d5cec
build(deps): bump the github-actions group with 5 updates
2026-02-03 20:22:18 +01:00
nextcloud-command 9561ce24f5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-03 19:12:22 +01:00
Julius Knorr edeba296b3 feat: Add office switcher with feature comparison
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2026-02-03 19:12:22 +01:00
Andy Scherzinger 3310ec30c4 Merge pull request #58020 from nextcloud/artonge/fix/getById
fix: Migrate `getById` to `getFirstNodeById`
2026-02-03 18:04:45 +01:00
Benjamin Gaussorgues e15b429aea chore(snowflakes): don't remove file lock directory during tests
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-03 17:01:28 +01:00
Benjamin Gaussorgues 65c9e346da fix(snowflakes): create file lock files into lock directory
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-03 17:01:28 +01:00
Robin Appelman 720e588727 test: add tests for getMountsForUserAndPath
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-03 16:50:58 +01:00
Robin Appelman 522663b9f0 fix: partial external storage config matching non-child mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-03 16:50:57 +01:00
Robin Appelman b79af98a31 fix: fix partial external storage provider not finding root mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-03 16:16:22 +01:00
Andy Scherzinger 1bdc27202a Merge pull request #57924 from nextcloud/carl/fix-external-partialmountprovider
fix(external-storage): Rtrim trailing slash at the end
2026-02-03 15:57:27 +01:00
Andy Scherzinger f46eea1eac Merge pull request #57978 from karaolidis/declarative-salt-secret
feat: declarative password salt, secret config
2026-02-03 15:44:24 +01:00
Louis Chmn 315241fb44 fix: Migrate getById to getFirstNodeById
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-02-03 15:28:37 +01:00
Nikolaos Karaolidis d73d5a25cb feat: declarative password salt, secret config
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2026-02-03 13:21:38 +01:00
Joas Schilling 34c2125217 Merge pull request #58009 from nextcloud/bugfix/noid/dont-validate-empty-strings
fix(federation): Don't ask the database for an empty url
2026-02-03 09:08:12 +01:00
Joas Schilling 70fd0e3348 Merge pull request #58010 from nextcloud/test/noid/add-tests-with-input-0
test(dispatcher): Add some tests with input 0
2026-02-03 09:07:05 +01:00
Joas Schilling 9caa4e20e5 test(dispatcher): Add some tests with input 0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-03 08:32:43 +01:00
Joas Schilling ce19caa37e fix(federation): Don't ask the database for an empty url
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-03 07:46:28 +01:00
Nextcloud bot 128d708ac3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-03 00:20:53 +00:00
Elizabeth Danzberger b5092e598f Merge pull request #57533 from nextcloud/fix/limit-app-to-group-initial-state
fix(app-settings): limit app to group initial state
2026-02-02 13:22:23 -05:00
Côme Chilliet 550b15a19a Merge pull request #57737 from nextcloud/feat/add-twofactor-to-presets
feat: Add twofactor applications to most of the presets
2026-02-02 15:12:08 +01:00
Andy Scherzinger 55fe320359 Merge pull request #57990 from nextcloud/fix/properly-forward
fix(files): keep current folder on drag-n-drop
2026-02-02 15:04:57 +01:00
Benjamin Gaussorgues 370d9f4d47 Merge pull request #57915 from nextcloud/feat/user-mount-cache-perf-sharding 2026-02-02 14:49:39 +01:00
Stephan Orbaugh e10805fb35 Merge pull request #57793 from pac0san/patch-1
fix(files_external): Respect explicit port configuration
2026-02-02 13:57:44 +01:00
nextcloud-command c3ddf91572 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-02 12:34:04 +00:00
pac0san e48f871bd0 fix(files_external): Respect explicit port configuration
It allows the use of the alternative SFTP port defined in the GUI (external storage), instead of the default port (22).

Signed-off-by: pac0san <7056343+pac0san@users.noreply.github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-02 11:27:42 +01:00
Ferdinand Thiessen 1f6fe21527 fix(files): keep current folder on drag-n-drop
When drag and drop a file we only want to scroll to the uploaded file
not changing the current view.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-02 10:36:43 +01:00
Nextcloud bot 4775ce4266 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-02 00:20:40 +00:00
dependabot[bot] b1fbfc693d build(deps-dev): bump @nextcloud/eslint-config
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud-libraries/eslint-config) from 9.0.0-rc.7 to 9.0.0-rc.8.
- [Release notes](https://github.com/nextcloud-libraries/eslint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/eslint-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/eslint-config/compare/v9.0.0-rc.7...v9.0.0-rc.8)

---
updated-dependencies:
- dependency-name: "@nextcloud/eslint-config"
  dependency-version: 9.0.0-rc.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 13:35:57 +01:00
dependabot[bot] 418f9598c3 build(deps-dev): bump @zip.js/zip.js from 2.8.15 to 2.8.16
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.15 to 2.8.16.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.15...v2.8.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 10:00:49 +01:00
Nextcloud bot ba99550d06 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-01 00:20:40 +00:00
dependabot[bot] e76cc5a7d0 build(deps): bump the github-actions group with 5 updates
Bumps the github-actions group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `5.0.0` | `6.0.2` |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.35.4` | `2.36.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.31.10` | `4.32.0` |
| [cypress-io/github-action](https://github.com/cypress-io/github-action) | `7.0.0` | `7.1.1` |
| [LizardByte/actions](https://github.com/lizardbyte/actions) | `2026.116.208` | `2026.129.194351` |


Updates `actions/checkout` from 5.0.0 to 6.0.2
- [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...de0fac2e4500dabe0009e67214ff5f5447ce83dd)

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

Updates `github/codeql-action` from 4.31.10 to 4.32.0
- [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/cdefb33c0f6224e58673d9004f47f7cb3e328b89...b20883b0cd1f46c72ae0ba6d1090936928f9fa30)

Updates `cypress-io/github-action` from 7.0.0 to 7.1.1
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/dca986193e4336cb32820819b07e9ecacacaaaf6...0f330ebf0d60f87608ed72f1d6232e5644aa3171)

Updates `LizardByte/actions` from 2026.116.208 to 2026.129.194351
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/e6bc045033a5614035b66daafc38ff86faecb23a...09a6e10dc8175f2933c20bdf35fde0a193a9c00e)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: shivammathur/setup-php
  dependency-version: 2.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2026.129.194351
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 23:15:54 +00:00
dependabot[bot] 2386328401 build(deps-dev): bump phpunit/phpunit in /vendor-bin/behat
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 11.5.44 to 11.5.50.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/11.5.50/ChangeLog-11.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/11.5.44...11.5.50)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-version: 11.5.50
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 13:22:07 +01:00
Joas Schilling 4a4c30af55 Merge pull request #57952 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2026-01-31 11:17:45 +01:00
nextcloud-command 264cfed5f4 fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2026-01-31 03:37:17 +00:00
dependabot[bot] 11d0f8b6d7 build(deps-dev): bump stylelint from 17.0.0 to 17.1.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 17.0.0 to 17.1.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/17.0.0...17.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 02:08:48 +00:00
Nextcloud bot 5e238a68f6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-31 00:20:43 +00:00
Carl Schwan 761a6979a7 fix(external-storage): Rtrim trailing slash at the end
Otherwise we don't have any matches when $forChildren is false

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-30 15:50:19 +01:00
Robin Appelman 51a4bc519b fix: make getMountsForFileId work with sharding again
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-30 09:52:18 +01:00
Nextcloud bot f61ef6d7e6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-30 00:20:39 +00:00
Andy Scherzinger a08aec2dbd Merge pull request #57881 from nextcloud/share-target-repair
Add repair step for share targets with excess (2)
2026-01-29 19:33:13 +01:00
Robin Appelman 5d0acf80dd test: add test for share target repair
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-29 18:19:18 +01:00
Robin Appelman aedae2c601 fix: add repair step for cleanup shares with excess (2)
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-29 18:19:16 +01:00
Benjamin Gaussorgues 4a077c3454 Merge pull request #57815 from nextcloud/feat/user-mount-cache-perf 2026-01-29 16:35:54 +01:00
Joas Schilling 2066eb4275 Merge pull request #57908 from nextcloud/fix/2fa/allow-null-redirect-url-challenge
fix(2fa): allow null redirect URL on 2FA challenge page
2026-01-29 15:30:41 +01:00
Kate 400fe317e9 Merge pull request #57893 from nextcloud/carl/cachemountinfo-refactor 2026-01-29 15:10:22 +01:00
Christoph Wurst a228601ed0 fix(2fa): allow null redirect URL on 2FA challenge page
Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
2026-01-29 14:41:27 +01:00
Andy Scherzinger 8160f0af8a Merge pull request #57892 from nextcloud/carl/binary-search-findIn
perf(MountManager): use binary search to find mount in path
2026-01-29 13:53:47 +01:00
Andy Scherzinger b1a114ded5 Merge pull request #54876 from nextcloud/carl/cleanup-commands-trash
refactor: Commands and background jobs for the trashbin
2026-01-29 13:44:17 +01:00
Andy Scherzinger f2373f1102 Merge pull request #57497 from nextcloud/carl/external-storage-ipartialmountpoint
feat(external-storage): Implement IPartialMountPoint
2026-01-29 13:14:12 +01:00
Carl Schwan 04ddeeec4a perf(MountManager): use binary search to find mount in path
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-29 11:41:58 +01:00
Benjamin Gaussorgues 37dbe1324e Merge pull request #57890 from nextcloud/carl/perf-invert-condition 2026-01-29 10:55:08 +01:00
Benjamin Gaussorgues 7f71b46942 Merge pull request #57882 from nextcloud/useStrictComparisonOperator 2026-01-29 09:20:18 +01:00
Simon L. e140081811 Merge pull request #57590 from nextcloud/enh/52997/refactor-logging
fix: log memory usage for requests based on configured memory limit
2026-01-29 09:15:55 +01:00
Simon L. b08fca0abe fix: fall-back to hardcoded values if debug mode is enabled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-29 08:52:04 +01:00
Simon L. cdc951ea45 fix: log memory usage for requests based on configured memory limit
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-29 08:52:04 +01:00
Carl Schwan 33d6f1e984 refactor(CacheMountInfo): Use constructor paramater promotion
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-29 01:45:48 +01:00
Nextcloud bot 6e40f6e8a6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-29 00:20:43 +00:00
Carl Schwan 668ad4faac perf(UserMountCache): Invert condition so that we avoid some SQL queries
getStorageId creates some SQL queries, while the other queries don't, so
compare that last.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 23:09:08 +01:00
Kate cf1fc78175 Merge pull request #57878 from nextcloud/fix/view/put-fileinfo-cacheentry 2026-01-28 23:07:47 +01:00
Kate 21ab477b35 Merge pull request #55474 from nextcloud/carl/missing-attributes 2026-01-28 22:55:35 +01:00
Carl Schwan c6c11d474b Merge pull request #55649 from nextcloud/carl/on-demand-preview-migration
feat(preview): On demand preview migration
2026-01-28 22:33:48 +01:00
Carl Schwan 8bb13df6cf refactor(AppFramework): Change version to 34
This didn't manage to get into NC 33

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 21:48:17 +01:00
Carl Schwan f81475445d refactor: Move hasAnnotationOrAttribute to MiddlewareUtils
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 21:48:16 +01:00
Carl Schwan 6408ed0b51 feat(AppFramework): Add missing NoSameSiteCookieRequired attribute
Allow to replace the old annotation.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-28 21:48:16 +01:00
Carl Schwan b040fb1c73 feat(AppFramework): Add missing NoTwoFactorRequired attribute
It's in our documentation but was never implemented.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-28 21:48:16 +01:00
Carl Schwan 0390c067ab Merge pull request #57879 from nextcloud/carl/fix-type-entity
doc(Entity): Add type for getUpdatedField in doc
2026-01-28 21:46:00 +01:00
Carl Schwan a8d69ffed1 refactor: Commands and background jobs for the trashbin
- Use modern node and SetupManager API
- Avoid passing the user by id and instead use IUser

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 21:44:30 +01:00
Carl Schwan ef226e9ec6 Merge pull request #57826 from nextcloud/carl/setupmanager
feat(OCP): Expose setup manager to OCP
2026-01-28 21:39:15 +01:00
Git'Fellow 080335009b refactor: use strict comparison operator
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-28 21:11:47 +01:00
Andy Scherzinger 8d671640d9 Merge pull request #57864 from nextcloud/edit-browserlist
fix: Add support for AscDesktopEditor browser user agent
2026-01-28 20:37:59 +01:00
Andy Scherzinger ac2257a202 Merge pull request #57876 from nextcloud/fix/faulty-version
fix(core): adjust faulty migration version number
2026-01-28 18:56:06 +01:00
nextcloud-command 53be1f245d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-28 17:41:44 +00:00
Carl Schwan ff2b182df4 Merge pull request #54277 from nextcloud/combine-query-cache-entry-deleted
feat(filecache): Scale DB query created when deleting file from filecache
2026-01-28 18:40:54 +01:00
Enjeck C. cad90ac28a fix: Add support for AscDesktopEditor browser user agent
Signed-off-by: Enjeck C. <patrathewhiz@gmail.com>
2026-01-28 18:28:01 +01:00
Carl Schwan 7100c71166 perf(metadata): Add optimized sharding for metadata deletion
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 17:18:33 +01:00
Carl Schwan 916ce3f8ec feat(external-storage): Implement IPartialMountPoint
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 17:09:22 +01:00
Carl Schwan fd3878448b feat(filecache): Scale DB query created when deleting file from filecache
Instead of creating a CacheEntryRemovedEvent for each deleted files,
create a single CacheEntriesRemovedEvent which wrap multiple
CacheEntryRemovedEvent.

This allow listener to optimize the query they do when multiple files
are deleted at the same time (e.g. when deleting a folder).

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2026-01-28 16:07:57 +01:00
Kate ebfdbf86b9 Merge pull request #57860 from nextcloud/fix/files-batch-action-displayname 2026-01-28 15:55:33 +01:00
Carl Schwan c04c320e61 fix(Entity): Add type for getUpdatedField in doc
The method is very confusing as the updated fields are the keys of the
returned array.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 15:46:02 +01:00
provokateurin d7fa94b90b fix(View): Handle ICacheEntry returned by FileInfo->getData()
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-28 15:33:46 +01:00
nextcloud-command bcbb64443b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-28 13:51:40 +00:00
Ferdinand Thiessen 45a924cafd fix(core): adjust faulty migration version number
Its Nextcloud 33 not 34.
Better fix before the release.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-28 14:42:22 +01:00
nfebe 730b30381f fix(files): use correct API for action displayName in batch actions
The displayName call was still using the old positional arguments
(nodes, view) instead of the new object parameter format (actionContext)
after the @nextcloud/files 4.0.0 update.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-28 14:16:36 +01:00
Daniel dde7b7cf87 Merge pull request #57859 from nextcloud/docs/valid-render-as-for-template-response
docs: annotate valid renderAs values
2026-01-28 12:58:22 +01:00
Benjamin Gaussorgues 8d08553f0c Merge pull request #57844 from nextcloud/fix/fix-crash-on-long-LDAP-dns 2026-01-28 11:50:38 +01:00
Ferdinand Thiessen 79155a956f Merge pull request #57861 from nextcloud/test/postscript
test(preview): properly test postscript preview provider
2026-01-28 11:24:24 +01:00
Kate 442efad6b4 Merge pull request #57522 from nextcloud/feature/add_postinstall_event 2026-01-28 10:48:56 +01:00
Misha M.-Kupriyanov abe86a9bc2 feat(install): dispatch InstallationCompletedEvent in Setup
Integrate event dispatching into Setup class:
- Inject IEventDispatcher dependency
- Dispatch InstallationCompletedEvent after successful installation
- Add Setup tests for event integration
- Update composer autoload for new class

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2026-01-28 09:24:24 +01:00
Misha M.-Kupriyanov 9775923137 feat(install): add InstallationCompletedEvent for post-installation hooks
Add InstallationCompletedEvent class in public API (OCP namespace) that
provides installation details: data directory, admin username, and admin
email. Event will be dispatched after successful installation.

Include comprehensive unit tests covering all event scenarios.

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2026-01-28 09:24:24 +01:00
Nextcloud bot 61a9fe6655 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-28 00:20:51 +00:00
Ferdinand Thiessen 4b015568fc test(preview): properly test postscript preview provider
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-28 01:09:27 +01:00
github-actions[bot] 11b36dfd22 Merge pull request #57862 from nextcloud/dependabot/composer/vendor-bin/phpunit/phpunit/phpunit-11.5.50
build(deps): bump phpunit/phpunit from 11.5.42 to 11.5.50 in /vendor-bin/phpunit
2026-01-27 23:49:07 +00:00
dependabot[bot] 69bac42bba build(deps): bump phpunit/phpunit in /vendor-bin/phpunit
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 11.5.42 to 11.5.50.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/11.5.50/ChangeLog-11.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/11.5.42...11.5.50)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-version: 11.5.50
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-27 23:23:47 +00:00
Andy Scherzinger fa1f6e2efb Merge pull request #57855 from nextcloud/refactor/systemtags-vue
refactor(systemtags): migrate to Vue 3 and `script setup`
2026-01-28 00:22:07 +01:00
Ferdinand Thiessen b4b5986be9 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 23:52:40 +01:00
Ferdinand Thiessen 16fbf5ac9b fix(systemtags): remove duplicated event listener
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 23:52:40 +01:00
Ferdinand Thiessen 50c849ebf9 refactor(systemtags): migrate to Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 23:52:40 +01:00
Daniel Kesselberg bf5c11a8fa fix(workflowengine): use constant to render template
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2026-01-27 22:57:24 +01:00
Daniel Kesselberg 46f87f6e46 docs: annotate valid renderAs values
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2026-01-27 22:51:17 +01:00
Kate 7da87dcbfd Merge pull request #57767 from nextcloud/setup-provider-all-authoritative 2026-01-27 21:59:57 +01:00
Benjamin Gaussorgues f71f19c0c7 feat: optimize user mount cache
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-27 16:31:32 +01:00
Côme Chilliet 027bb149a4 chore: Remove broken PresetManager tests
Those are not Unit tests but integration tests with bad side effects on
 other tests. I failed to clean them up so removing them.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-27 16:31:22 +01:00
Robin Appelman 8443e166af fix: don't do full setup in setupForProvider if all requested providers are authoritative
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-27 15:52:31 +01:00
Joas Schilling 1e8374d509 Merge pull request #57848 from nextcloud/ci/noid/zizmor-actions
ci(actions): Satisfy zizmor
2026-01-27 15:50:17 +01:00
Ferdinand Thiessen de4f41bc78 Merge pull request #57842 from nextcloud/fix/files-sidebar
fix(files): do not reset active tab when re-opening
2026-01-27 15:35:57 +01:00
Côme Chilliet b2e332fa69 fix: Add missing @throws annotations in UserConfig
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-27 15:21:23 +01:00
Carl Schwan ae73f7aaf5 refactor(setup-manager): Use ISetupManager instead of SetupManager
Keep using the OC API in the mount manager and OC_Utils, but the rest is
now using the public API.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-27 15:19:19 +01:00
Joas Schilling dbee8cf5d8 ci(rector): Update actions and add versions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-27 15:02:51 +01:00
nextcloud-command 5c85757f4f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-27 13:57:36 +00:00
Joas Schilling 2fbcbc0eaf ci(action): Assign permission as low as possible
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-27 14:56:50 +01:00
Joas Schilling c378e95ad6 ci(actions): Satisfy zizmor and show that we trust ourselves
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-27 14:53:58 +01:00
Ferdinand Thiessen b41bf5c7ef fix(files): do not reset active tab when re-opening
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 14:43:51 +01:00
Benjamin Gaussorgues 149c8b31e1 Merge pull request #57811 from nextcloud/fix/openmetrics_exporters 2026-01-27 14:36:45 +01:00
Côme Chilliet f2a5a8d70e fix(user_ldap): Fix crash in some code path when a DN is longer that 64
UserConfig throws in this case.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-27 14:05:53 +01:00
Kate a17f4d4eb1 Merge pull request #57575 from nextcloud/carl/typing-share 2026-01-27 13:36:01 +01:00
Carl Schwan c8989d853c refactor(IShare): Add typing for node
This might also improve a bit the performance.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-27 11:19:33 +01:00
Kate 85ba4e0fa1 Merge pull request #56522 from nextcloud/feat/strict-php-checks 2026-01-27 11:11:09 +01:00
Benjamin Gaussorgues 128f56c8c8 Merge pull request #57820 from nextcloud/carl/fix-return-type-systemtagobjectmapper 2026-01-27 10:45:00 +01:00
Andy Scherzinger 93c254f451 Merge pull request #57731 from hmt/patch-1
Calendar: Fix typos in import/export
2026-01-27 10:35:26 +01:00
Côme Chilliet 5bc3ae7a75 Merge pull request #57785 from nextcloud/reactorShareByMail
refactor(shareByMail): Strict types and code simplification
2026-01-27 10:20:43 +01:00
Benjamin Gaussorgues e81f01e5a0 chore(openmetrics): add more complete test for controller
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-27 10:13:07 +01:00
Benjamin Gaussorgues 34fe033ace fix(openmetrics): ensure unit is a suffix of metric name
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-27 10:12:25 +01:00
Benjamin Gaussorgues 873ae96c6b fix(openmetrics): remove superfluous empty lines
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-27 10:11:49 +01:00
provokateurin 8713730419 feat(rector): Add strict config for new code
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-27 09:04:02 +01:00
provokateurin 3d09e8d912 feat(psalm): Add strict config for new code
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-27 09:02:21 +01:00
Kate 3950ef8b16 Merge pull request #57829 from nextcloud/setup-path-root 2026-01-27 08:55:46 +01:00
Kate d56b24112e Merge pull request #57810 from nextcloud/fix/composer/serve-overwrite-cli-url 2026-01-27 07:23:16 +01:00
Ferdinand Thiessen 50cc3439af Merge pull request #57791 from nextcloud/refactor/settings-navigation-vue
refactor(settings): use `NcAppNavigation` for the settings navigation
2026-01-27 03:48:39 +01:00
Ferdinand Thiessen e4522ca961 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 03:22:47 +01:00
Ferdinand Thiessen 105eaeae74 test: adjust cypress tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 02:43:35 +01:00
Ferdinand Thiessen 2e4ede0320 refactor(settings): use NcAppNavigation for the settings navigation
Migrate away from jQuery and Snap.js for the navigation.
This is required to finally drop both dependencies.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 02:29:41 +01:00
Nextcloud bot 87022e1ae1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-27 00:20:44 +00:00
Carl Schwan 2d648e36b9 fix(systemtags): Correct the return type of system tag object mapper
Currently, it is documented in some places as returning a string but
returns a int or a string depending on the database used.

This then breaks then using strict comparaison in https://github.com/nextcloud/approval/pull/362

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-26 21:52:01 +01:00
Robin Appelman a6bcb1075f fix: don't try to setup for a user when setting up /
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-26 21:10:15 +01:00
Sebastian Krupinski 929e165466 Merge pull request #55132 from nextcloud/fix/favourite-icon-without-imagick-svg-support
fix: generate favourite icon without imagick svg support
2026-01-26 14:33:10 -05:00
SebastianKrupinski e2c4db1541 fix: generate favourite icon without imagick svg support
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-26 13:57:22 -05:00
Elizabeth Danzberger b7c6240327 fix(test): remove group limitation when done
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2026-01-26 13:46:59 -05:00
Andy Scherzinger 92d9ca66cd Merge pull request #57130 from nextcloud/chore/update-badges
chore(img): Update mobile app store badges
2026-01-26 19:01:12 +01:00
Elizabeth Danzberger 90deae46c5 test: limit app to group
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2026-01-26 12:46:35 -05:00
Elizabeth Danzberger fc94930b16 fix(app-settings): provide groups by initial state
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2026-01-26 12:46:24 -05:00
Carl Schwan 0fe01de26c feat(OCP): Expose setup manager to OCP
It's used by a lot of apps so expose just the two methods that are most
of the time used, to prevent the apps to relly on private APIs.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-26 17:12:02 +01:00
Git'Fellow 61a5371ec6 Merge pull request #57761 from nextcloud/searchTagsAllElementsIncluded
fix(search): All elements are included regardless of their keys
2026-01-26 16:39:33 +01:00
Benjamin Gaussorgues 2437046e25 Merge pull request #57756 from nextcloud/carl/function-builder 2026-01-26 14:14:51 +01:00
Ferdinand Thiessen a93ada7112 Merge pull request #57798 from nextcloud/fix/remove-x
chore: remove X from social links
2026-01-26 14:02:53 +01:00
Ferdinand Thiessen 60b6e834cc chore: remove X from social links
Nextcloud does not use X anymore.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-26 13:22:51 +01:00
Andy Scherzinger 0ba517b1b0 Merge pull request #57802 from nextcloud/bugfix/noid/upstream-appstore-changes
fix(apps): Update info.xsd with changes in appstore repository
2026-01-26 12:28:51 +01:00
Stephan Orbaugh 9b547f5c8d Merge pull request #57733 from nextcloud/carl/propagator-rollback
fix(Propagator): rollback transaction if it fails
2026-01-26 11:27:21 +01:00
provokateurin 30fa7e5390 fix(composer): Set overwrite.cli.url in serve script
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-26 10:43:11 +01:00
Côme Chilliet fae36e04ea feat: Add twofactor applications to most of the presets
All presets which are unlikely to have SSO in place should enable
 twofactor applications.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-26 10:18:09 +01:00
Kate ed6bb52821 Merge pull request #57800 from nextcloud/feat/flake/reuse-cli 2026-01-26 09:59:36 +01:00
Andy Scherzinger 588f7cdf96 Merge pull request #57480 from iasdeoupxe/mimetypes
feat(mimetypes): Add mimetype aliases/mapping/names for .toml and .ovpn
2026-01-26 08:22:50 +01:00
Joas Schilling bfed45ffe3 fix(apps): Update info.xsd with changes in appstore repository
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-26 07:47:38 +01:00
iasdeoupxe afde920978 feat: Add mimetype aliases/mapping/names for .toml and .ovpn
Signed-off-by: iasdeoupxe <39667843+iasdeoupxe@users.noreply.github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-26 07:20:37 +01:00
provokateurin c258ea9338 chore(deps): Update flake.lock
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-26 07:12:10 +01:00
Kate afe1c1ebde Merge pull request #57781 from nextcloud/bugfix/57766/allow-openmetrics-infoxml 2026-01-26 07:11:00 +01:00
provokateurin 0d6a469321 feat(flake): Add reuse cli
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-26 07:08:14 +01:00
Nextcloud bot 955478a853 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-26 00:20:49 +00:00
github-actions[bot] 7321ec7f23 Merge pull request #57695 from nextcloud/dependabot/npm_and_yarn/nextcloud/eslint-config-9.0.0-rc.7
build(deps-dev): bump @nextcloud/eslint-config from 9.0.0-rc.6 to 9.0.0-rc.7
2026-01-25 23:37:40 +00:00
Andy Scherzinger 0747954803 Merge pull request #57672 from nextcloud/fix/ocm/manage-4xx-status
fix(ocm): manage 4xx on ocm requests
2026-01-26 00:29:14 +01:00
nextcloud-command 80c0945b47 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-25 23:17:47 +00:00
Andy Scherzinger ebf9cbf4a1 Merge pull request #57570 from nextcloud/carl/perf/normalized-path
perf(normalization): Optimize path normalization
2026-01-26 00:16:03 +01:00
Ferdinand Thiessen e25f864e28 chore(legacy): fix @stylistic/exp-list-style ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-26 00:05:29 +01:00
Ferdinand Thiessen efdf1ccf36 chore(legacy): fix vue/component-options-name-casing ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-26 00:05:29 +01:00
Ferdinand Thiessen 790a1bfca8 chore: fix jsdoc ESLint rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-25 23:47:39 +01:00
Ferdinand Thiessen 59b68e1248 chore: fix vue/attribute-hyphenation ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-25 23:47:39 +01:00
Ferdinand Thiessen 12f1b91ee1 chore: fix vue/v-on-event-hyphenation ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-25 23:47:39 +01:00
Ferdinand Thiessen a0871deec4 chore: fix vue/custom-event-name-casing ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-25 23:47:39 +01:00
dependabot[bot] 772e0349fc build(deps-dev): bump @nextcloud/eslint-config
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud-libraries/eslint-config) from 9.0.0-rc.6 to 9.0.0-rc.7.
- [Release notes](https://github.com/nextcloud-libraries/eslint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/eslint-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/eslint-config/compare/v9.0.0-rc.6...v9.0.0-rc.7)

---
updated-dependencies:
- dependency-name: "@nextcloud/eslint-config"
  dependency-version: 9.0.0-rc.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 23:47:39 +01:00
Benjamin Gaussorgues 8af5e06b62 Merge pull request #57764 from nextcloud/fix/openmetrics_labels 2026-01-25 22:51:25 +01:00
Kate 1f64141928 Merge pull request #57759 from nextcloud/feat/openmetrics_loglevel 2026-01-25 17:11:37 +01:00
github-actions[bot] 60eb0c4e27 Merge pull request #57706 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sass-1.97.3
build(deps-dev): bump sass from 1.97.2 to 1.97.3 in /build/frontend-legacy
2026-01-25 12:35:27 +00:00
dependabot[bot] 652b06c1ce build(deps-dev): bump sass in /build/frontend-legacy
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.2 to 1.97.3.
- [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.97.2...1.97.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 13:18:11 +01:00
github-actions[bot] 0756782610 Merge pull request #57698 from nextcloud/dependabot/npm_and_yarn/sass-1.97.3
build(deps-dev): bump sass from 1.97.2 to 1.97.3
2026-01-25 12:11:40 +00:00
dependabot[bot] ec30829842 build(deps-dev): bump sass from 1.97.2 to 1.97.3
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.2 to 1.97.3.
- [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.97.2...1.97.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 12:26:27 +01:00
github-actions[bot] 8b0ff5c401 Merge pull request #57700 from nextcloud/dependabot/npm_and_yarn/vue-3.5.27
build(deps): bump vue from 3.5.26 to 3.5.27
2026-01-25 11:10:31 +00:00
nextcloud-command 00ce0d86b1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-25 09:46:15 +00:00
dependabot[bot] 623196ad97 build(deps): bump vue from 3.5.26 to 3.5.27
Bumps [vue](https://github.com/vuejs/core) from 3.5.26 to 3.5.27.
- [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.26...v3.5.27)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 10:38:37 +01:00
github-actions[bot] e632cc0b73 Merge pull request #57773 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/focus-trap-7.8.0
build(deps): bump focus-trap from 7.6.6 to 7.8.0 in /build/frontend-legacy
2026-01-25 10:15:03 +01:00
Nextcloud bot b5dc337623 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-25 00:20:48 +00:00
nextcloud-command 9cc50debfe chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 23:17:41 +00:00
dependabot[bot] 9784edc7c9 build(deps): bump focus-trap in /build/frontend-legacy
Bumps [focus-trap](https://github.com/focus-trap/focus-trap) from 7.6.6 to 7.8.0.
- [Release notes](https://github.com/focus-trap/focus-trap/releases)
- [Changelog](https://github.com/focus-trap/focus-trap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/focus-trap/focus-trap/compare/v7.6.6...v7.8.0)

---
updated-dependencies:
- dependency-name: focus-trap
  dependency-version: 7.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 23:05:37 +00:00
github-actions[bot] 8047f7211c Merge pull request #57689 from nextcloud/dependabot/composer/vendor-bin/behat/behat/behat-3.29.0
build(deps-dev): bump behat/behat from 3.27.0 to 3.29.0 in /vendor-bin/behat
2026-01-24 22:53:48 +00:00
github-actions[bot] 03198238ad Merge pull request #57690 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.4
build(deps-dev): bump rector/rector from 2.3.1 to 2.3.4 in /vendor-bin/rector
2026-01-24 22:52:56 +00:00
github-actions[bot] 1342adffc0 Merge pull request #57703 from nextcloud/dependabot/npm_and_yarn/types/dockerode-4.0.1
build(deps-dev): bump @types/dockerode from 4.0.0 to 4.0.1
2026-01-24 22:44:40 +00:00
github-actions[bot] 2894734384 Merge pull request #57683 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/lodash-4.17.23
build(deps): bump lodash from 4.17.21 to 4.17.23 in /build/frontend-legacy
2026-01-24 23:36:26 +01:00
nextcloud-command d66f2e082f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 18:45:17 +00:00
Git'Fellow ce9119a708 refactor(shareByMail): Strict types and code simplification
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-24 19:02:32 +01:00
Git'Fellow 7352aaff03 fix(search): All elements are included regardless of their keys
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-24 18:03:29 +01:00
dependabot[bot] a7a82991ce build(deps): bump lodash in /build/frontend-legacy
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:33:36 +00:00
dependabot[bot] d4966cf913 build(deps-dev): bump @types/dockerode from 4.0.0 to 4.0.1
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 4.0.0 to 4.0.1.
- [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: 4.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:32:41 +00:00
github-actions[bot] e2cea7b286 Merge pull request #57774 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/core-js-3.48.0
build(deps): bump core-js from 3.47.0 to 3.48.0 in /build/frontend-legacy
2026-01-24 16:21:41 +00:00
nextcloud-command 0555d5754a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 16:05:20 +00:00
dependabot[bot] 966dd1ba68 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.47.0 to 3.48.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.48.0/packages/core-js)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:57:52 +01:00
github-actions[bot] 810986b2a0 Merge pull request #57775 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.35
build(deps): bump libphonenumber-js from 1.12.34 to 1.12.35 in /build/frontend-legacy
2026-01-24 15:57:22 +00:00
github-actions[bot] fa778b7d03 Merge pull request #57723 from nextcloud/dependabot/github_actions/github-actions-56188969f1
build(deps): bump the github-actions group with 4 updates
2026-01-24 16:57:08 +01:00
nextcloud-command a5afae38ad chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 15:40:45 +00:00
dependabot[bot] a02710ea57 build(deps): bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.34 to 1.12.35.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.34...v1.12.35)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:33:21 +01:00
github-actions[bot] 963dcba6cc Merge pull request #57772 from nextcloud/dependabot/npm_and_yarn/vitest-007c43aa68
build(deps-dev): bump the vitest group across 2 directories with 3 updates
2026-01-24 15:25:25 +00:00
dependabot[bot] 33eee07176 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.17 to 4.0.18
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.18/packages/coverage-istanbul)

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 15:11:19 +00:00
Andy Scherzinger e186d494f0 Merge pull request #57682 from nextcloud/dependabot/npm_and_yarn/lodash-4.17.23
build(deps): bump lodash from 4.17.21 to 4.17.23
2026-01-24 15:58:43 +01:00
github-actions[bot] 65d7c0342f Merge pull request #57777 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/vue-8.35.3
build(deps): bump @nextcloud/vue from 8.35.2 to 8.35.3 in /build/frontend-legacy
2026-01-24 15:56:50 +01:00
Benjamin Gaussorgues 481fe1574a fix(openmetrics): fix label names and add test for them
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-24 15:54:35 +01:00
nextcloud-command e2dc31de77 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 14:26:14 +00:00
dependabot[bot] 831cfba8dd build(deps): bump @nextcloud/vue in /build/frontend-legacy
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.35.2 to 8.35.3.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.35.3/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.35.2...v8.35.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 15:18:37 +01:00
Joas Schilling cc6f49b762 fix(openmetrics): Make openmetrics always an array like all other infoxml fields
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-24 14:17:35 +01:00
Ferdinand Thiessen 58b404a31c Merge pull request #57676 from nextcloud/feat/allow-filter-contacts-by-team
feat: allow to filter contacts by team
2026-01-24 13:40:03 +01:00
Joas Schilling 45bae0ea48 fix(openmetrics): Allow openmetrics in info.xml
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-24 13:11:18 +01:00
Nextcloud bot 7c83a5bb99 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-24 00:20:53 +00:00
Git'Fellow 0c83a9da35 Merge pull request #57758 from nextcloud/fixNoBaseComponentFound
fix(caldav): Enhance UID check for base component
2026-01-23 19:24:52 +01:00
Kate 739b018312 Merge pull request #57765 from nextcloud/fix/noid/openmetrics-multiple-app-exporters 2026-01-23 19:21:31 +01:00
Marcel Müller 9cc4daed56 fix(openmetrics): Multiple exporters per app
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2026-01-23 17:35:38 +01:00
Git'Fellow 59bb049de0 fix(caldav): Enhance UID check for base component
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-23 17:24:42 +01:00
Carl Schwan b4dfdf6492 refactor: Prefer using IFunctionBuilder than createFunction
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-23 16:58:38 +01:00
Benjamin Gaussorgues 4da7137278 feat(openmetrics): add log level
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-23 16:02:04 +01:00
Ferdinand Thiessen 644d07d835 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-23 14:56:31 +01:00
Ferdinand Thiessen 503acb0ed6 feat: allow to filter contacts by team
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-23 14:54:41 +01:00
Joas Schilling d9d1d04e2e Merge pull request #57750 from nextcloud/carl/fix-cacheentry-groupfolder
fix(cache): Fix parsing cache entry from groupfolder
2026-01-23 12:51:40 +01:00
Joas Schilling f81948690d Merge pull request #57726 from nextcloud/fix/noid/add-since-for-param
fix: add since param for activity manager
2026-01-23 12:47:28 +01:00
Joas Schilling 26f40c457b Merge pull request #57735 from nextcloud/fix/add-missing-translator-hint
fix: Add translator hints to avoid confusion between big and large
2026-01-23 12:46:59 +01:00
Carl Schwan dd26a8b7eb fix(cache): Fix parsing cache entry from groupfolder and collectives
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-23 10:52:44 +01:00
Nextcloud bot dd8b274550 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-23 00:21:28 +00:00
Ferdinand Thiessen e5c08cca40 Merge pull request #57664 from nextcloud/feat/filters
feat(files): render file list filters in top bar and allow to collapse into overflow menu
2026-01-22 21:15:55 +01:00
Côme Chilliet 407d7cb101 fix: Add translator hints to avoid confusion between big and large
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-22 17:16:09 +01:00
Carl Schwan 3900c45ea4 fix(Propagator): rollback transaction if it fails 2026-01-22 17:08:57 +01:00
Ferdinand Thiessen 4e2e49b3dd chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:34:05 +01:00
Ferdinand Thiessen ed7fb12b3f test: adjust Cypress tests for refactored files app UI
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
Ferdinand Thiessen d8b05ec6c3 refactor(files): re-position "new"-menu and make it primary
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
Ferdinand Thiessen 4ca9fb836d feat(files): move "reload" and "share" breadcrumb actions to menu
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
Ferdinand Thiessen 985b66c64f feat(files): render filters in top bar
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
Ferdinand Thiessen 871f037dda refactor(files): handle file list width break points in one central point
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:47 +01:00
hmt 2ad593cc3a Calendar: Fix typos in import/export 2026-01-22 16:22:29 +01:00
Robin Appelman 3f9849d921 Merge pull request #57295 from nextcloud/share-mount-validation-on-share
feat: perform share mount validation on share instead of on mount
2026-01-22 13:32:11 +01:00
Anna Larch 95ee9a0b7d fix: add since param for activity manager
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-22 11:32:38 +01:00
dependabot[bot] 5457d38581 build(deps): bump the github-actions group with 4 updates
Bumps the github-actions group with 4 updates: [shivammathur/setup-php](https://github.com/shivammathur/setup-php), [webiny/action-conventional-commits](https://github.com/webiny/action-conventional-commits), [cypress-io/github-action](https://github.com/cypress-io/github-action) and [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request).


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

Updates `webiny/action-conventional-commits` from 1.3.0 to 1.3.1
- [Release notes](https://github.com/webiny/action-conventional-commits/releases)
- [Commits](https://github.com/webiny/action-conventional-commits/compare/8bc41ff4e7d423d56fa4905f6ff79209a78776c7...faccb24fc2550dd15c0390d944379d2d8ed9690e)

Updates `cypress-io/github-action` from 6.10.8 to 7.0.0
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/2ad32e649e4db26c07674ebae31a297601dbcbaf...dca986193e4336cb32820819b07e9ecacacaaaf6)

Updates `peter-evans/create-pull-request` from 8.0.0 to 8.1.0
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/98357b18bf14b5342f975ff684046ec3b2a07725...c0f553fe549906ede9cf27b5156039d195d2ece0)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-version: 2.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: webiny/action-conventional-commits
  dependency-version: 1.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: peter-evans/create-pull-request
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 09:33:11 +00:00
dependabot[bot] 7c5ed698bd build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.3.1 to 2.3.4.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.3.1...2.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 09:18:11 +00:00
dependabot[bot] daf3617931 build(deps-dev): bump behat/behat in /vendor-bin/behat
Bumps [behat/behat](https://github.com/Behat/Behat) from 3.27.0 to 3.29.0.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/3.x/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.27.0...v3.29.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 09:17:52 +00:00
Joas Schilling dde6681542 Merge pull request #57684 from nextcloud/master-is-now-34
Master is now 34
2026-01-22 10:15:51 +01:00
Joas Schilling ce8a97b1c7 chore(assets): Recompile assets
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 09:35:19 +01:00
Joas Schilling 5e35fdd380 chore: Bump 3rdparty to last master commit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 09:34:56 +01:00
Joas Schilling 1d78386806 chore: Bump app versions and requirements
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:59:28 +01:00
Joas Schilling 9530b810f1 chore(release): Bump version to 34
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:44:56 +01:00
Joas Schilling 2ae3988c23 fix(security): Update Expires time
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:43:39 +01:00
Joas Schilling afb0446435 ci(actions): Update stable33
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:42:11 +01:00
Joas Schilling bd39402570 ci(dependabot): Update stable33
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:38:13 +01:00
Nextcloud bot a251294fbb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-22 00:17:39 +00:00
dependabot[bot] a374c3a37b build(deps): bump lodash from 4.17.21 to 4.17.23
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 23:24:26 +00:00
Ferdinand Thiessen 01e79e718d Merge pull request #57583 from nextcloud/chore/drop-whats-new
chore: drop legacy `WhatsNew`
2026-01-22 00:15:58 +01:00
Ferdinand Thiessen 0e750439b2 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-21 23:23:11 +01:00
Ferdinand Thiessen 428e76214e chore: drop legacy WhatsNew
This feature was not used in 8 years and from frontend did not even
properly work anymore and was implemented using deprecated API.
So get rid of it.

The last version that was using a changelog from the changelog server
was Nextcloud 20.

We use the firstrunwizard nowadays for informing about Nextcloud
changes in new releases.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-21 23:23:10 +01:00
Andy Scherzinger a9f3534bc4 Merge pull request #57655 from nextcloud/fix/noid/typing-activity-manager
fix(activity): allow string types for snowflake IDs
2026-01-21 19:07:36 +01:00
Anna Larch f9a159e2ef fix(activity): allow string types for snowflake IDs
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-21 17:37:45 +01:00
Robin Appelman 34fc215133 fix: adjust SharesUpdatedListener to event change
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:56 +01:00
Robin Appelman b4315066b1 perf: only update shares for users once
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:56 +01:00
Robin Appelman 94f33463ff test: adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:55 +01:00
Robin Appelman 43a9335355 fix: attempt to make share conflict resolution more resilient to false positives
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:54 +01:00
Robin Appelman d71c6796ca feat: perform share mount validation on share instead of on mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:53 +01:00
Kate 677d42555e Merge pull request #57511 from nextcloud/fix/userplugin/rewrite 2026-01-21 15:10:11 +01:00
Carl Schwan 09a1ca3981 perf(normalization): Optimize path normalization
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-21 14:58:05 +01:00
provokateurin bf49f62da3 feat(UserPlugin): Also full match on additional email addresses
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:36:37 +01:00
provokateurin 7539fdbb72 test(UserPlugin): Cover full match email with sharee enumeration limited to group
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:36:32 +01:00
provokateurin cfa25ece7e fix(UserPlugin): Rewrite from scratch
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:29:58 +01:00
provokateurin ad65bcb653 test(UserPlugin): Rewrite unit tests as integration tests
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:29:58 +01:00
provokateurin ae53c2016b test(ShareesContext): Reset all shareapi related system configs
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:19:36 +01:00
Maxence Lange 4dba1455a6 fix(ocm): manage 4xx on ocm requests
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-21 10:09:21 -01:00
Nextcloud bot e2eb3bd5f7 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-21 00:18:14 +00:00
F. E Noel Nfebe 0e515dbe96 Merge pull request #57631 from nextcloud/fix/remove-share-permission-from-allow-editing
feat(sharing): remove share permission from "Allow editing" default
2026-01-20 22:20:33 +01:00
Ferdinand Thiessen bc98f61410 Merge pull request #57643 from nextcloud/chore/files
chore(files): add missing component import
2026-01-20 21:02:59 +01:00
nextcloud-command f3ddd0d967 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-20 19:16:46 +00:00
nfebe 80ab68369f test(sharing): expand advanced settings before accessing its elements
Tests that access elements inside the Advanced Settings section
(hide download, share label, grid view, etc.) must first click
"Advanced settings" to expand it. Previously these tests relied on
buggy auto-expand behavior that occurred when permissions didn't
match bundled values.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-20 19:39:55 +01:00
nfebe 2cdbd7fa15 fix(sharing): strip share permission before comparing to bundled perms
Handle backward compatibility when config.defaultPermissions includes
the SHARE permission (value 31) which was previously part of
BUNDLED_PERMISSIONS.ALL. Now that ALL no longer includes SHARE, the
comparison must strip SHARE before checking against bundled permissions.

This fixes an issue where the Advanced Settings section would be
auto-expanded for new shares, causing a toggle to close it instead
of opening it.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-20 19:30:47 +01:00
nfebe 8526999ad5 feat(sharing): remove share permission from "Allow editing" default
Remove PERMISSION_SHARE from bundled permissions for ALL and ALL_FILE.
Update quick share selector to consistently strip share permission
when comparing, ensuring backwards compatibility with existing shares.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-20 19:30:47 +01:00
Ferdinand Thiessen 71e5a8e717 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 18:33:36 +01:00
Ferdinand Thiessen 8270ccb017 chore(files): add missing component import
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 18:32:27 +01:00
Ferdinand Thiessen 81400d9021 Merge pull request #57598 from nextcloud/ci/timeout-setup
ci: add timeout for PHP setup
2026-01-20 18:22:05 +01:00
Louis 4fd59a272c Merge pull request #57327 from castillo92/patch-3
fix(settings): Improve sharing form labels
2026-01-20 17:41:11 +01:00
nextcloud-command 553c99ff74 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-20 16:51:27 +01:00
Castillo 263a96faec fix(settings): Improve sharing form labels
Signed-off-by: Castillo <37965565+castillo92@users.noreply.github.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-20 16:37:10 +01:00
Benjamin Gaussorgues 9663465765 Merge pull request #57651 from nextcloud/release/33.0.0_beta_5 2026-01-20 16:27:20 +01:00
Benjamin Gaussorgues 41ec34c05e Merge pull request #57168 from abhinavohri/56572 2026-01-20 16:15:19 +01:00
Côme Chilliet a467589328 Merge pull request #57573 from nextcloud/fix/fix-beforezipcreatedlistener
fix(files_sharing): Fix BeforeZipCreatedListener path handling
2026-01-20 16:08:05 +01:00
Carl Schwan 4c79c2faff Merge pull request #57591 from nextcloud/carl/query-exception
refactor(QueryException): Remove most usage of QueryException
2026-01-20 15:59:56 +01:00
Joas Schilling b12987f210 Merge pull request #57658 from nextcloud/feat/noid/enable-totp-by-default
fix(apps): Enable TwoFactor TOTP by default
2026-01-20 15:25:08 +01:00
Louis Chmn e721556b9f chore: Compile assets
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-20 15:14:50 +01:00
Abhinav Ohri 0b405f108a refactor(files): remove success toast on file rename
Signed-off-by: Abhinav Ohri <abhinavohri13@gmail.com>
2026-01-20 15:04:21 +01:00
Côme Chilliet 0720e2644f chore: fix or suppress psalm errors for BeforeZipCreatedEvent
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-20 14:32:58 +01:00
Joas Schilling b05b58d3cf fix(apps): Enable TwoFactor TOTP by default
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-20 14:15:01 +01:00
Côme Chilliet 433e3da4d3 Merge pull request #56794 from nextcloud/feat/hide-developer-docs-conditionally
docs(settings): Removing the developerDocsUrl
2026-01-20 14:07:31 +01:00
Côme Chilliet 4e64c0774b Merge pull request #57653 from nextcloud/fix/fix-icon-ratio
fix(theming): Fix favicon and touchicon ratios
2026-01-20 14:03:57 +01:00
Joas Schilling 00c49cc8c4 Merge pull request #57561 from nextcloud/ci/noid/thin-matrix
ci(phpunit): thin out testing matrix
2026-01-20 13:26:43 +01:00
Côme Chilliet 67d93c6b04 fix(theming): Fix favicon and touchicon ratios
On some systems (depending on imagick version I think) the ratio would
 be messed up on the touchicon, favicon and link preview images.
This fixes it without breaking other systems.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-20 11:44:45 +01:00
Joas Schilling 313ac05a3b ci(external): Also test with some files related apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-20 11:44:14 +01:00
nextcloud-command c492b0db4a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-20 09:57:20 +00:00
Worker Builder 6f66cf212b build(hub): 33.0.0 beta 5
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-20 09:38:20 +00:00
Ferdinand Thiessen d996029bec Merge pull request #57644 from nextcloud/chore/refactor-oc-eventsource
refactor(core): migrate `OC.EventSource` from jQuery to native API
2026-01-20 10:03:08 +01:00
Arsalan Ul Haq Sohni 02dc7f1f79 docs: remove developer documentation link
Signed-off-by: Arsalan Ul Haq Sohni <arsalan-ul-haq.sohni@strato.de>
2026-01-20 09:40:03 +01:00
Ferdinand Thiessen f8c88146b6 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 02:39:29 +01:00
Ferdinand Thiessen 6e29885128 refactor(core): migrate OC.EventSource from jQuery to native API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 02:35:34 +01:00
Ferdinand Thiessen 5d20278d06 ci: add timeout for PHP setup
Currently it sometimes deadlocks and then loads forever.
Should be safe to apply 5 minutes limit.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 02:34:52 +01:00
github-actions[bot] 8920dad2de Merge pull request #57637 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/dialogs-7.2.0
build(deps): bump @nextcloud/dialogs from 7.1.0 to 7.2.0 in /build/frontend-legacy
2026-01-20 02:24:59 +01:00
Ferdinand Thiessen bb33094bf2 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 01:42:04 +01:00
dependabot[bot] 304fe15a76 build(deps): bump @nextcloud/dialogs in /build/frontend-legacy
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>
2026-01-20 01:39:30 +01:00
Nextcloud bot c1dfdace98 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-20 00:14:00 +00:00
Joas Schilling cf453e5f57 Merge pull request #57566 from nextcloud/ci/noid/speedup-lint
ci(lint): Lint multiple files at once when possible
2026-01-19 20:22:07 +01:00
Christoph Wurst e5339543cf Merge pull request #57641 from nextcloud/fix/taskprocessing-cli-cast
fix(TaskProcessing): Fix occ commands to cast strings to integer
2026-01-19 19:04:40 +01:00
Ferdinand Thiessen 772471da4f Merge pull request #57642 from nextcloud/chore/xhr
chore: drop duplicated legacy Ajax error handling
2026-01-19 17:09:46 +01:00
Joas Schilling f5abf9296d ci(lint): Use multi file argument in lint
Since PHP 8.3 the linting command "php -l" can consume multiple files at once.
This drastically speeds up the time necessary for the linting from ~3 minutes
to few seconds.
By also running the linting on multiple cores, the time can be dropped to < 1s

Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-19 16:57:34 +01:00
Joas Schilling 6ea3c2ac84 chore: Bump 3rdparty
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-19 16:57:34 +01:00
github-actions[bot] 2b985ac053 Merge pull request #57634 from nextcloud/dependabot/npm_and_yarn/nextcloud/stylelint-config-3.2.0
build(deps-dev): bump @nextcloud/stylelint-config from 3.1.1 to 3.2.0
2026-01-19 15:56:02 +00:00
nextcloud-command 65351bde59 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-19 15:35:52 +00:00
Ferdinand Thiessen a3bd996e7c chore: drop duplicated legacy Ajax error handling
The XHR error handling was duplicated, as we already handle this in
`core/src/init.js` where we intercept Fetch API and XHR API.
So we can drop this jQuery specific duplicate.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-19 16:28:25 +01:00
github-actions[bot] 6b6fdc2bbf Merge pull request #57635 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/p-queue-9.1.0
build(deps): bump p-queue from 9.0.1 to 9.1.0 in /build/frontend-legacy
2026-01-19 15:26:54 +00:00
Ferdinand Thiessen 971cae8eef chore: add license files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-19 15:01:31 +00:00
Ferdinand Thiessen 0001c3000e chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-19 15:40:09 +01:00
Ferdinand Thiessen 7ff0804e90 chore: adjust styles for new stylelint config
- replace renamed `word-wrap` with new name `overflow-wrap` (CSS3)
- use extensions for `@use`

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-19 15:33:39 +01:00
dependabot[bot] dd18425f78 build(deps-dev): bump @nextcloud/stylelint-config from 3.1.1 to 3.2.0
Bumps [@nextcloud/stylelint-config](https://github.com/nextcloud-libraries/stylelint-config) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/nextcloud-libraries/stylelint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/stylelint-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/stylelint-config/compare/v3.1.1...v3.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 15:33:39 +01:00
dependabot[bot] e09c70a74a build(deps): bump p-queue from 9.0.1 to 9.1.0 in /build/frontend-legacy
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 9.0.1 to 9.1.0.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v9.0.1...v9.1.0)

---
updated-dependencies:
- dependency-name: p-queue
  dependency-version: 9.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 15:22:25 +01:00
Marcel Klehr 1f12126715 fix(TaskProcessing): Fix occ commands to cast strings to integer
fixes #57111

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-01-19 15:12:37 +01:00
grnd-alt 2c718d81e5 Merge pull request #54234 from nextcloud/fix/49673-less-confusing-unified-search-folder-picker
fix: update unified search folder picker text
2026-01-19 15:09:38 +01:00
grnd-alt 83eee50e95 chore: update nextcloud/dialogs to 7.2.0 in frontend-legacy
Signed-off-by: grnd-alt <git@belakkaf.net>
2026-01-19 13:56:42 +01:00
grnd-alt 0b99043b06 fix: update unified search folder picker text
Signed-off-by: grnd-alt <git@belakkaf.net>
2026-01-19 13:55:18 +01:00
Kate b273338183 Merge pull request #57439 from nextcloud/enh/50636/show-teams-memberships-profile 2026-01-19 13:52:00 +01:00
nextcloud-command 6067f1ca99 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-19 12:12:58 +00:00
Cristian Scheid ed486167d6 refactor: change method name from getMemberships to getTeamsForUser
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:15 +00:00
Cristian Scheid efd348fab1 refactor: use probeCircles instead of getCircles
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:15 +00:00
Cristian Scheid 3e7d68360a refactor: replace array_map with foreach to guarantee list<> type
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:15 +00:00
Cristian Scheid d3dd2f41d5 refactor: use list<> syntax and remove unecessary check
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Cristian Scheid <74515775+cristianscheid@users.noreply.github.com>
2026-01-19 12:10:15 +00:00
Cristian Scheid a109ed365f refactor: improve code quality and doc block in PersonalInfo
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Cristian Scheid <74515775+cristianscheid@users.noreply.github.com>
2026-01-19 12:10:14 +00:00
Cristian Scheid 7e1b5af9e8 chore: fix code style in PersonalInfo
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:14 +00:00
Cristian Scheid 5c1b795cb5 feat(profile): show Teams memberships on account details
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:14 +00:00
Côme Chilliet 460d63772b fix(files_sharing): Switch back event path to be relative to user folder
This is clearly the original intent, the parameter name in ViewOnly is
 $userFolder, and the similar event for single file download uses
 paths relative to user folder as well.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-19 11:22:17 +01:00
github-actions[bot] 7fa568b453 Merge pull request #57636 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/babel/node-7.28.6
build(deps-dev): bump @babel/node from 7.28.0 to 7.28.6 in /build/frontend-legacy
2026-01-19 09:02:39 +01:00
github-actions[bot] 9d068e5e3f Merge pull request #57639 from nextcloud/dependabot/github_actions/github-actions-86cd8d4df5
build(deps): bump the github-actions group with 3 updates
2026-01-19 09:02:13 +01:00
github-actions[bot] 256ed95b08 Merge pull request #57638 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.34
build(deps): bump libphonenumber-js from 1.12.31 to 1.12.34 in /build/frontend-legacy
2026-01-19 07:46:01 +00:00
nextcloud-command ee35782e8b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-19 06:59:53 +00:00
dependabot[bot] e074f980e2 build(deps): bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.31 to 1.12.34.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.31...v1.12.34)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 07:41:27 +01:00
dependabot[bot] 1063be7d38 build(deps): bump the github-actions group with 3 updates
Bumps the github-actions group with 3 updates: [github/codeql-action](https://github.com/github/codeql-action), [actions/setup-node](https://github.com/actions/setup-node) and [LizardByte/actions](https://github.com/lizardbyte/actions).


Updates `github/codeql-action` from 4.31.9 to 4.31.10
- [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/5d4e8d1aca955e8d8589aabd499c5cae939e33c7...cdefb33c0f6224e58673d9004f47f7cb3e328b89)

Updates `actions/setup-node` from 6.1.0 to 6.2.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/395ad3262231945c25e8478fd5baf05154b1d79f...6044e13b5dc448c55e2357c09f80417699197238)

Updates `LizardByte/actions` from 2025.1227.191137 to 2026.116.208
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/c2e99809a28d738261f986b884cad52fe3a91d5b...e6bc045033a5614035b66daafc38ff86faecb23a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2026.116.208
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 00:22:22 +00:00
Nextcloud bot 036bab5017 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-19 00:13:42 +00:00
dependabot[bot] 6425c6d107 build(deps-dev): bump @babel/node in /build/frontend-legacy
Bumps [@babel/node](https://github.com/babel/babel/tree/HEAD/packages/babel-node) from 7.28.0 to 7.28.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.28.6/packages/babel-node)

---
updated-dependencies:
- dependency-name: "@babel/node"
  dependency-version: 7.28.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 00:12:23 +00:00
Andy Scherzinger 853e895f4d Merge pull request #57164 from nextcloud/useMoreUpToDatePreviewImage
chore: Change preview image in README.md
2026-01-19 00:11:50 +01:00
kramo b378a21733 chore(img): Update mobile app store badges
Signed-off-by: kramo <git@kramo.page>
2026-01-18 23:59:42 +01:00
Andy Scherzinger 2f4a6f1e8b Merge pull request #57082 from nextcloud/automated/noid/-update-min-supported-desktop-version
chore: Update minimum supported desktop version to 3.1.50
2026-01-18 23:40:30 +01:00
Andy Scherzinger 0ec75efdb2 Merge pull request #57296 from nextcloud/fix/add-icons-to-settings
fix(FilesAppSettings): Add icons to default view
2026-01-18 23:35:29 +01:00
nextcloud-command 6d978db663 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-18 22:10:06 +00:00
kramo c643bb7ee4 fix(FilesAppSettings): Add icons to default view
Signed-off-by: kramo <git@kramo.page>
2026-01-18 23:02:00 +01:00
nextcloud-command dd6a947a2a chore: Update minimum supported desktop version
Signed-off-by: GitHub <noreply@github.com>
2026-01-18 21:54:53 +01:00
Kate 31d82bf351 Merge pull request #57629 from nextcloud/chore/noid/hub26Winter 2026-01-18 18:39:00 +01:00
Andy Scherzinger 6f6291e21a chore(version): Hub 25 Autumn -> Hub 26 Winter
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2026-01-18 17:00:21 +01:00
github-actions[bot] 7c253500a3 Merge pull request #57473 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sass-1.97.2
build(deps-dev): bump sass from 1.97.1 to 1.97.2 in /build/frontend-legacy
2026-01-18 15:18:55 +00:00
Ferdinand Thiessen 8be2fd1a04 Merge pull request #51593 from nextcloud/chore/support-longer-names
fix: support longer index and table names
2026-01-18 15:58:43 +01:00
github-actions[bot] 9524c6a543 Merge pull request #57472 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.7
build(deps-dev): bump msw from 2.12.6 to 2.12.7 in /build/frontend-legacy
2026-01-18 14:54:26 +00:00
github-actions[bot] a57841e3b6 Merge pull request #57467 from nextcloud/dependabot/npm_and_yarn/eslint-plugin-cypress-5.2.1
build(deps-dev): bump eslint-plugin-cypress from 5.2.0 to 5.2.1
2026-01-18 15:46:21 +01:00
dependabot[bot] 33070ad57a build(deps-dev): bump sass in /build/frontend-legacy
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.1 to 1.97.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.97.1...1.97.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 14:41:43 +00:00
dependabot[bot] c14fe998c4 build(deps-dev): bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.6 to 2.12.7.
- [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.6...v2.12.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 14:38:07 +00:00
github-actions[bot] e96eb33ecd Merge pull request #57303 from nextcloud/dependabot/github_actions/github-actions-17597a4202
build(deps): bump the github-actions group across 1 directory with 11 updates
2026-01-18 15:35:56 +01:00
github-actions[bot] fbf557abde Merge pull request #57469 from nextcloud/dependabot/npm_and_yarn/sass-1.97.2
build(deps-dev): bump sass from 1.97.1 to 1.97.2
2026-01-18 15:19:02 +01:00
Ferdinand Thiessen 67eef32b07 fix(DB): support up to 63 character long table and index names
We do not support Oracle 11 anymore but at least Oracle 12c (12.2).
So the limitation is gone (Oracle now supports up to 128 character long
names).

Instead we are now limited by MySQL (64 characters) and PostgreSQL (63
characters).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-18 14:50:34 +01:00
dependabot[bot] 425fb98e91 build(deps): bump the github-actions group across 1 directory with 11 updates
Bumps the github-actions group with 11 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `6.0.0` | `6.0.1` |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.35.5` | `2.36.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.31.5` | `4.31.9` |
| [actions/setup-node](https://github.com/actions/setup-node) | `6.0.0` | `6.1.0` |
| [cypress-io/github-action](https://github.com/cypress-io/github-action) | `6.10.4` | `6.10.8` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `5.0.0` | `6.0.0` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.5.1` | `5.5.2` |
| [codecov/test-results-action](https://github.com/codecov/test-results-action) | `1.1.1` | `1.2.1` |
| [LizardByte/actions](https://github.com/lizardbyte/actions) | `2025.1028.23217` | `2025.1227.191137` |
| [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) | `7.0.9` | `8.0.0` |
| [actions/stale](https://github.com/actions/stale) | `10.1.0` | `10.1.1` |



Updates `actions/checkout` from 6.0.0 to 6.0.1
- [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/1af3b93b6815bc44a9784bd300feb67ff0d1eeb3...8e8c483db84b4bee98b60c0593521ed34d9990e8)

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

Updates `github/codeql-action` from 4.31.5 to 4.31.9
- [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/fdbfb4d2750291e159f0156def62b853c2798ca2...5d4e8d1aca955e8d8589aabd499c5cae939e33c7)

Updates `actions/setup-node` from 6.0.0 to 6.1.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/2028fbc5c25fe9cf00d9f06a71cc4710d4507903...395ad3262231945c25e8478fd5baf05154b1d79f)

Updates `cypress-io/github-action` from 6.10.4 to 6.10.8
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/7ef72e250a9e564efb4ed4c2433971ada4cc38b4...2ad32e649e4db26c07674ebae31a297601dbcbaf)

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

Updates `codecov/codecov-action` from 5.5.1 to 5.5.2
- [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/5a1091511ad55cbe89839c7260b706298ca349f7...671740ac38dd9b0130fbe1cec585b89eea48d3de)

Updates `codecov/test-results-action` from 1.1.1 to 1.2.1
- [Release notes](https://github.com/codecov/test-results-action/releases)
- [Commits](https://github.com/codecov/test-results-action/compare/47f89e9acb64b76debcd5ea40642d25a4adced9f...0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3)

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

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

Updates `actions/stale` from 10.1.0 to 10.1.1
- [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/5f858e3efba33a5ca4407a664cc011ad407f2008...997185467fa4f803885201cee163a9f38240193d)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: shivammathur/setup-php
  dependency-version: 2.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.31.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 6.10.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-version: 6.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.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: codecov/test-results-action
  dependency-version: 1.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2025.1227.191137
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: peter-evans/create-pull-request
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 10.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 14:41:44 +01:00
dependabot[bot] 2134d998d4 build(deps-dev): bump eslint-plugin-cypress from 5.2.0 to 5.2.1
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 5.2.0 to 5.2.1.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v5.2.0...v5.2.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-cypress
  dependency-version: 5.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 13:41:39 +00:00
github-actions[bot] eb9a3d371a Merge pull request #57600 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.1
build(deps-dev): bump rector/rector from 2.3.0 to 2.3.1 in /vendor-bin/rector
2026-01-18 12:58:05 +00:00
github-actions[bot] fb0f9d8763 Merge pull request #57466 from nextcloud/dependabot/npm_and_yarn/vite-64d30ac355
build(deps-dev): bump the vite group across 2 directories with 1 update
2026-01-18 12:44:01 +00:00
nextcloud-command bf74d5b111 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-18 11:53:25 +00:00
dependabot[bot] 8be0d421a1 build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.3.0...2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 11:44:58 +00:00
dependabot[bot] 71f043604b 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.3.0 to 7.3.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.1/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.1/packages/vite)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 12:44:34 +01:00
github-actions[bot] b5c4032134 Merge pull request #57607 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/babel/plugin-transform-private-methods-7.28.6
build(deps-dev): bump @babel/plugin-transform-private-methods from 7.27.1 to 7.28.6 in /build/frontend-legacy
2026-01-18 12:28:44 +01:00
github-actions[bot] 2a188ea169 Merge pull request #57605 from nextcloud/dependabot/npm_and_yarn/types/dockerode-4.0.0
build(deps-dev): bump @types/dockerode from 3.3.47 to 4.0.0
2026-01-18 12:19:06 +01:00
dependabot[bot] 0e78d316a2 build(deps-dev): bump sass from 1.97.1 to 1.97.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.1 to 1.97.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.97.1...1.97.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 12:01:52 +01:00
dependabot[bot] 443a0600bd build(deps-dev): bump @types/dockerode from 3.3.47 to 4.0.0
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 3.3.47 to 4.0.0.
- [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: 4.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 10:28:53 +00:00
github-actions[bot] bf73333a44 Merge pull request #57606 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.15
build(deps-dev): bump @zip.js/zip.js from 2.8.14 to 2.8.15
2026-01-18 11:24:42 +01:00
Nextcloud bot 66000c17fa fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-18 00:13:26 +00:00
github-actions[bot] e7b642c1be Merge pull request #57602 from nextcloud/dependabot/npm_and_yarn/cypress-15.9.0
build(deps-dev): bump cypress from 15.8.1 to 15.9.0
2026-01-17 14:35:27 +01:00
github-actions[bot] 989e2206df Merge pull request #57608 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/vue-8.35.2
build(deps): bump @nextcloud/vue from 8.35.0 to 8.35.2 in /build/frontend-legacy
2026-01-17 13:00:09 +01:00
Ferdinand Thiessen 5137526923 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-17 12:28:05 +01:00
dependabot[bot] 5f8f6b3037 build(deps): bump @nextcloud/vue in /build/frontend-legacy
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.35.0 to 8.35.2.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.35.2/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.35.0...v8.35.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 12:25:55 +01:00
github-actions[bot] 8d168bd729 Merge pull request #57601 from nextcloud/dependabot/npm_and_yarn/vitest-19d2c6073a
build(deps-dev): bump the vitest group across 2 directories with 3 updates
2026-01-17 11:37:51 +01:00
Ferdinand Thiessen 5777b6605f Merge pull request #57586 from nextcloud/chore/update-files-rc0
chore: update `@nextcloud/files` to v4.0.0-rc.0
2026-01-17 11:30:59 +01:00
dependabot[bot] a043d950cd build(deps-dev): bump @babel/plugin-transform-private-methods
Bumps [@babel/plugin-transform-private-methods](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-private-methods) from 7.27.1 to 7.28.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.28.6/packages/babel-plugin-transform-private-methods)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-private-methods"
  dependency-version: 7.28.6
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 02:12:07 +00:00
dependabot[bot] 27dd1a8548 build(deps-dev): bump @zip.js/zip.js from 2.8.14 to 2.8.15
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.14 to 2.8.15.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.14...v2.8.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 02:11:39 +00:00
dependabot[bot] 3197453d5f build(deps-dev): bump cypress from 15.8.1 to 15.9.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.8.1 to 15.9.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.8.1...v15.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 02:10:00 +00:00
dependabot[bot] edf0c40533 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.16 to 4.0.17
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.17/packages/coverage-istanbul)

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 02:09:13 +00:00
Nextcloud bot 447d3272a5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-17 00:13:34 +00:00
Ferdinand Thiessen fa7869504a chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 22:22:57 +01:00
Ferdinand Thiessen d3813798bf chore: update @nextcloud/files to v4.0.0-rc.0
- update library
- adjust sidebar tab handling

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 22:22:57 +01:00
Ferdinand Thiessen 60a43694cc Merge pull request #57352 from nextcloud/fix/active-files
fix(files): properly handle currently active node and files action hotkeys
2026-01-16 20:47:44 +01:00
Ferdinand Thiessen c9a7654a9d Merge pull request #57592 from nextcloud/refactor/oc-msg
refactor(core): migrate `OC.msg` away from jQuery
2026-01-16 18:29:24 +01:00
Ferdinand Thiessen 5597718a8d chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 18:06:15 +01:00
Ferdinand Thiessen b63aca792f test: move integration testing of hotkeys to Cypress
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 18:06:15 +01:00
Ferdinand Thiessen e19d0e4c12 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:51:13 +01:00
Ferdinand Thiessen f175e421b3 refactor(core): migrate OC.msg away from jQuery
Make the class jQuery free to be able to drop it as a dependency.
Also added some unit tests for it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:48:49 +01:00
Ferdinand Thiessen 24b3059de7 refactor(systemtags): properly register hotkey in the files app
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:26:28 +01:00
Ferdinand Thiessen b135e36350 fix(files): properly register file action hotkeys
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:26:28 +01:00
Ferdinand Thiessen 03ffa39909 fix(files): properly handle currently active node
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:26:28 +01:00
Ferdinand Thiessen 6a67456574 Merge pull request #57594 from nextcloud/refactor/ocp-comments
refactor(core): migrate `OCP.Comments` away from jQuery
2026-01-16 17:25:52 +01:00
nextcloud-command c16a68a8bf chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-16 13:43:13 +00:00
Kate fb1dc43889 Merge pull request #57564 from nextcloud/feat/files_sharing/share-access-updated-event-multiple-users 2026-01-16 14:31:06 +01:00
Ferdinand Thiessen 1163638d3d refactor(core): migrate OCP.Comments away from jQuery
The API was not yet deprecated but is not used anymore,
so 1. added a deprecation so we can get rid of it in the future.
But until then we need to drop jQuery so refactored the code to use
vanilla JS.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 14:21:52 +01:00
Benjamin Gaussorgues 0ff9de1a06 Merge pull request #57404 from nextcloud/carl/fix-psalm-tests1 2026-01-16 14:09:36 +01:00
Benjamin Gaussorgues aba8a7ff86 Merge pull request #57549 from nextcloud/carl/optimize-getdirectory-content 2026-01-16 14:09:14 +01:00
Andy Scherzinger a7ea180317 Merge pull request #57576 from nextcloud/missing-cache-entry-data
fix: dont error on missing path_hash/checksum CacheEntry fields
2026-01-16 14:04:46 +01:00
Ferdinand Thiessen 5740f8e507 Merge pull request #57587 from nextcloud/chore/jquery-query
refactor: migrate `OC.*QueryString` from jQuery
2026-01-16 13:53:20 +01:00
Ferdinand Thiessen 1f3aaeecfe chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 12:40:05 +01:00
Ferdinand Thiessen 29a59c3822 refactor: migrate OC.*QueryString from jQuery
Use native `URLSearchParams` to remove jQuery and deprecate it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 12:38:14 +01:00
Ferdinand Thiessen df2afa9565 Merge pull request #57584 from nextcloud/chore/appconfig-cleanup
refactor(core): migrate OCP.AppConfig from jQuery to axios
2026-01-16 12:35:23 +01:00
Carl Schwan 11cf69d8ba fix(psalm): Fix static analysis issues in apps/*/tests
There are still 1200 more to fix before we can enable static analysis
for the tests.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-16 12:00:51 +01:00
Carl Schwan 9a8d45d81f refactor(QueryException): Remove most usage of QueryException
This is preparation to move QueryException from OCP to OC as part of
Nextcloud 34.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-16 11:55:06 +01:00
Ferdinand Thiessen 31ae610bb1 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 11:19:20 +01:00
Ferdinand Thiessen bbe3d92a38 refactor(core): migrate OCP.AppConfig from jQuery to axios
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 11:17:02 +01:00
Carl Schwan eadcd1cc84 refactor: Use str_starts_with
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2026-01-16 10:58:16 +01:00
Stephan Orbaugh 3a9173015c Merge pull request #57525 from nextcloud/carl/usermountcache-loop-optimization
perf(UserMountCache): Optimize loop
2026-01-16 10:50:27 +01:00
Louis 2716b0f6a6 Merge pull request #57292 from nextcloud/feature/54562/files-sharing-authoritative
feat(files_sharing): implement partial mount providers
2026-01-16 10:37:36 +01:00
Louis Chmn b6e90acdb6 fix(DefaultSHareProvider): Specify join alias when accessing columns
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-16 08:32:14 +01:00
Louis Chmn 7323680779 feat(files_sharing): Add indexes for target on share and share_external
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-16 08:32:14 +01:00
Louis Chmn 7c9c74f4f0 feat(files_sharing): Implement partial mount providers
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-16 08:32:14 +01:00
Ferdinand Thiessen 5db140d101 Merge pull request #57393 from nextcloud/fix/viewer-sidebar
fix(files): properly handle viewer integration of sidebar
2026-01-16 02:13:50 +01:00
Ferdinand Thiessen b78699acd7 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 01:49:39 +01:00
Ferdinand Thiessen 6491f6ec9a fix(files): properly handle viewer integration of sidebar
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 01:45:44 +01:00
Ferdinand Thiessen 10661bf49f Merge pull request #57556 from nextcloud/refactor/updater
refactor(core): migrate web updater to Vue
2026-01-16 01:16:04 +01:00
Nextcloud bot 75a43ff352 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-16 00:13:48 +00:00
Simon L. fb8cf0d593 Merge pull request #57585 from nextcloud/rakekniven-patch-2
chore(i18n): Improved grammar
2026-01-16 00:43:05 +01:00
Ferdinand Thiessen bf190c4141 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 00:31:53 +01:00
Ferdinand Thiessen f7dad729e4 refactor(core): migrate web updater to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 00:29:19 +01:00
Ferdinand Thiessen 2a385fd5b8 Merge pull request #57571 from nextcloud/refactor/public-share-auth
refactor(core): migrate public share authentication to Vue
2026-01-16 00:21:19 +01:00
nextcloud-command 382a237fba chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-15 22:54:47 +00:00
Ferdinand Thiessen 48171a4f63 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 23:35:38 +01:00
rakekniven 678450a6c7 chore(i18n): Improved grammar
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2026-01-15 23:30:22 +01:00
Ferdinand Thiessen 752a62133a chore: fix or ignore linter issues
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 23:30:21 +01:00
rakekniven 86e142c051 chore(i18n): Improved grammar
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2026-01-15 23:26:48 +01:00
Ferdinand Thiessen ba0615b33e refactor(core): migrate public share authentication to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 23:26:19 +01:00
Arthur Schiwon 748206fc66 Merge pull request #57545 from nextcloud/release/33.0.0_beta_4
33.0.0 beta 4
2026-01-15 23:24:06 +01:00
Joas Schilling 80c16e76be Merge pull request #57579 from nextcloud/fix/57572/remove-only-existing-index
fix(mounts): only remove existing index
2026-01-15 23:14:51 +01:00
Ferdinand Thiessen 13718c4de1 Merge pull request #57565 from nextcloud/chore/remove-dead-code
chore(settings): remove dead legacy code
2026-01-15 23:04:22 +01:00
Sebastian Krupinski 4c6981b99b Merge pull request #56924 from nextcloud/feat/tentative-invitations
feat: automated appointment creation
2026-01-15 15:01:33 -05:00
SebastianKrupinski 16198d2b37 feat: automated appointment creation
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-15 13:31:44 -05:00
Maxence Lange 1628390ccf fix(mounts): only remove existing index
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-15 16:15:40 -01:00
Robin Appelman a79bf069a3 fix: dont error on missing path_hash/checksum cacheentry fields
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-15 18:02:41 +01:00
Côme Chilliet 5e693b5398 fix(files_sharing): Fix BeforeZipCreatedListener path handling
Path of directory is relative to root folder, not user folder.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-15 16:57:42 +01:00
Ferdinand Thiessen ddff2cbff2 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 16:20:36 +01:00
Ferdinand Thiessen 04fc1a4418 chore(settings): remove dead legacy code
The `security_password` was last used in the personal setting security
section, but already migrated to vue.
So it can be safely removed.

The styles can also be removed by moving the required ones directly to
the Vue component.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 16:13:35 +01:00
Benjamin Gaussorgues 0ff8b35578 Merge pull request #57550 from nextcloud/setup-path-not-found-fallback 2026-01-15 16:12:23 +01:00
Kate 3c498275e5 Merge pull request #57504 from nextcloud/implementCacheChunkGcTtl 2026-01-15 15:39:13 +01:00
Benjamin Gaussorgues 8f8b4411cd Merge pull request #57553 from nextcloud/getMountsForPath-args 2026-01-15 14:35:51 +01:00
Louis b9e670d1b4 Merge pull request #57552 from nextcloud/artonge/debt/files_sharing_unify_methods
debt(files_sharing): Unify `getSharedWithByPath` and `getSharedWith`
2026-01-15 14:21:26 +01:00
Andy Scherzinger 06b064e5f2 Merge pull request #57514 from nextcloud/carl/optimize-cacheentry
perf(files): Optimize CacheEntry creation
2026-01-15 12:57:42 +01:00
Carl Schwan 06827970a8 fix(cache): Handle groupfolder specific entries in cacheEntryFromData
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-15 11:47:59 +01:00
Carl Schwan 0b8eae7789 perf(files): Optimize CacheEntry creation
Avoid many copy on writes and create array only once.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-15 11:47:41 +01:00
Robin Appelman 53b160ce9b fix: add some extra checks for getMountsForPath arguments
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-15 11:31:54 +01:00
Robin Appelman 83ac1c6030 fix: clearify meaning of getMountsForPath arguments
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-15 11:31:54 +01:00
provokateurin 653d2a05b4 feat(files_sharing): Support multiples users in UserShareAccessUpdatedEvent
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-15 11:07:15 +01:00
Louis Chmn bba8e90c62 fix(files_sharing): Unify getSharedWithByPath and getSharedWith
Follow-up of https://github.com/nextcloud/server/pull/57285

This ensure that the behavior is the same and reduce code duplication.

Salvatore's version seems to be more optimized, but I prefer those change to be done separately and for both methods.

Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-15 10:22:44 +01:00
Joas Schilling 9545bfb419 ci(mariadb): Thin out mariadb matrix
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-15 09:26:42 +01:00
Joas Schilling a68fa8ba02 ci(coverage): Also don't upload coverage from object-storage tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-15 08:52:32 +01:00
Joas Schilling 666e5ee295 ci(external-storage): Only run storage tests when filesystem was modified
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-15 08:52:03 +01:00
Joas Schilling 44b76e64d2 ci(phpunit): Thin out DB matrix
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-15 08:51:15 +01:00
Ferdinand Thiessen 902d8b042a Merge pull request #57544 from nextcloud/refactor/mail-settings-vue
refactor(settings): migrate mail settings to Vue
2026-01-15 02:44:38 +01:00
Ferdinand Thiessen 6ec212fed1 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 02:12:03 +01:00
Ferdinand Thiessen 7d21350040 feat(settings): add option to allow self-signed mail certificates
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 02:12:03 +01:00
Ferdinand Thiessen 265d2c3f87 refactor(settings): migrate mail settings to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 02:12:03 +01:00
Nextcloud bot c9ac8cfd54 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-15 00:14:00 +00:00
Ferdinand Thiessen 55469c96c0 Merge pull request #57529 from nextcloud/chore/update-files-4-b9
chore(deps): update `@nextcloud/files` to v4.0.0-beta.9
2026-01-14 22:21:59 +01:00
Andy Scherzinger 524ee376e6 Merge pull request #57540 from nextcloud/fix-smb-sso-summary-name
chore: fix name of kerberos sso summary workflow
2026-01-14 18:36:15 +01:00
Robin Appelman 68cdd1b1ef fix: fallback to full user setup if we cant find the expected mount root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 18:04:13 +01:00
Carl Schwan 27339601f6 perf(View): Optimize getDirectoryContent hot-loop
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-14 18:03:51 +01:00
Andy Scherzinger abe5499e14 Merge pull request #57498 from nextcloud/carl/rename-imountproviderargs
refactor(files): Rename IMountProviderArgs
2026-01-14 17:50:43 +01:00
Andy Scherzinger 6a0e7e318b Merge pull request #57513 from nextcloud/carl/shareplugin
refactor(dav): Remove dead property
2026-01-14 17:50:22 +01:00
Worker Builder 1c9598d922 build(hub): 33.0.0 beta 4
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-14 14:07:00 +00:00
Robin Appelman 62d7165124 Merge pull request #57370 from nextcloud/authoritative-mount-setup
Authoritative mount setup
2026-01-14 14:19:03 +01:00
Carl Schwan 7a025ffb0b feat(preview): Make it possible to disable on preview migration
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-14 14:09:07 +01:00
Robin Appelman 3cfdc26ae1 chore: fix name of kerberos sso summary workflow
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 13:12:32 +01:00
Robin Appelman 47530ef95f feat: add a debug config option to disable authoritative mount optimizations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 13:03:01 +01:00
Ferdinand Thiessen cd3dbbb04c chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 12:37:01 +01:00
Ferdinand Thiessen 2940cd0bb8 chore(deps): update @nextcloud/files to v4.0.0-beta.9
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 12:35:21 +01:00
Ferdinand Thiessen 22ebf79e90 Merge pull request #57503 from nextcloud/chore/drop-moment
refactor: drop moment from new bundles
2026-01-14 12:33:56 +01:00
Robin Appelman 9fde2523e6 Merge pull request #57493 from nextcloud/smb-invalid-arg-unavailable
fix: handle InvalidArumentException as availability failure in smb->getFileInfo
2026-01-14 12:00:03 +01:00
Kate ad8576f02d Merge pull request #57185 from nextcloud/fix/fix-files-external-tests 2026-01-14 11:46:28 +01:00
Robin Appelman e5497c7731 fix: protect against infinite loops in setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 11:21:27 +01:00
Robin Appelman 6eb8e8d6fd Merge pull request #57519 from nextcloud/get-existing-api
feat: add api to get a user object without verifying they exist
2026-01-14 11:15:42 +01:00
github-actions[bot] a4cf7145cd Merge pull request #57471 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.14
build(deps-dev): bump @zip.js/zip.js from 2.8.11 to 2.8.14
2026-01-14 11:13:41 +01:00
Kate 7d1b1de155 Merge pull request #54697 from nextcloud/fix/unit-test-for-storage-auto-expire-list 2026-01-14 11:00:33 +01:00
yemkareems fb2716ab4b fix: php lint fix
Signed-off-by: yemkareems <yemkareems@gmail.com>
2026-01-14 14:58:32 +05:30
Ferdinand Thiessen a623bffb00 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 10:27:02 +01:00
yemkareems f0b90e6378 fix: removed the message
Signed-off-by: yemkareems <yemkareems@gmail.com>
2026-01-14 14:57:02 +05:30
Ferdinand Thiessen 8ac1602402 refactor: drop moment from new bundles
On the Vue 3 side lets remove the dependency on Moment as this is a
pretty huge dependency. Instead use plain Intl API for formatting.

This reduces the bundle size by ~1.5MiB.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 10:25:37 +01:00
yemkareems 5f6a777c5b fix: refactored testBucketKeepsLatest to add invalid data assert
Signed-off-by: yemkareems <yemkareems@gmail.com>
2026-01-14 14:46:48 +05:30
grnd-alt dac8fe4034 Merge pull request #57405 from nextcloud/3rdparty/justinrainbow/json-schema
chore: update justinrainbow/json-schema to 6.6.4
2026-01-14 09:27:53 +01:00
Ferdinand Thiessen 891d0fc481 Merge pull request #57526 from nextcloud/refactor/loginflow-to-vue
refactor(core): migrate login flow ui from jQuery to Vue
2026-01-14 03:10:07 +01:00
dependabot[bot] 172698e61a build(deps-dev): bump @zip.js/zip.js from 2.8.11 to 2.8.14
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.11 to 2.8.14.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.11...v2.8.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-14 01:16:57 +01:00
Ferdinand Thiessen 942a92f072 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 01:15:01 +01:00
Ferdinand Thiessen d26ec02aa1 refactor(core): migrate login flow ui from jQuery to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 01:15:01 +01:00
Nextcloud bot a8369cdbee fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-14 00:13:54 +00:00
Ferdinand Thiessen 038d940df1 Merge pull request #57515 from nextcloud/refactor/encryption-vue3
refactor(encryption): migrate to Vue 3 and Typescript and script setup
2026-01-14 00:29:17 +01:00
Ferdinand Thiessen a2d0d8b26b chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 22:51:07 +01:00
Ferdinand Thiessen 108858daef refactor(encryption): migrate to Vue 3 and Typescript and script setup
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 22:49:18 +01:00
Ferdinand Thiessen ab8e4e60ea Merge pull request #57502 from nextcloud/chore/theming-js
refactor(theming): move from `js/` to `src/`
2026-01-13 22:41:44 +01:00
Ferdinand Thiessen c59ad1f847 Merge pull request #57355 from nextcloud/refactor/oc-settings
refactor: consolidate `OC.Settings`
2026-01-13 22:35:40 +01:00
nextcloud-command fa535d0e20 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-13 19:04:13 +00:00
Ferdinand Thiessen 41e1a995a9 refactor(theming): move from js/ to src/
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 18:47:28 +01:00
Carl Schwan 94dd919b88 perf(UserMountCache): Optimize loop
These loops since to be called around 60 000 times in one trace I saw.
So it makes sense to use the faster foreach construct.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-13 18:37:51 +01:00
Benjamin Gaussorgues 6248afe544 Merge pull request #57441 from nextcloud/release/33.0.0_beta_3 2026-01-13 16:58:49 +01:00
Benjamin Gaussorgues e3f951b804 Merge pull request #57455 from nextcloud/feat/nextcloudignore 2026-01-13 16:58:32 +01:00
Robin Appelman 467487ecd8 feat: dont reload authoritative mount providers when doing by-path setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-13 16:42:48 +01:00
Robin Appelman ae74dbef2b Merge pull request #56499 from nextcloud/authoritative-mount-provider-files_external
Add api for authoritative mount providers and implement it for files_external
2026-01-13 16:36:33 +01:00
Robin Appelman 663f6822c7 test: use a different smb image for smb testing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-13 16:11:21 +01:00
Robin Appelman 5924a2e3ec feat: add api to get a user object without verifying they exist
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-13 15:59:07 +01:00
Ferdinand Thiessen bd664cb8fd chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 15:42:00 +01:00
Ferdinand Thiessen 805805767f refactor: consolidate OC.Settings
1. Remove unused legacy parts (no code match in the whole github
organization).
2. Consolidate `OC.Settings` in `core/src/OC` for consistency.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 15:41:59 +01:00
Ferdinand Thiessen 0fa396d0b8 Merge pull request #57509 from nextcloud/fix/use-strict-array-search
Use strict array search
2026-01-13 15:22:20 +01:00
Carl Schwan 5acb93a5be Merge pull request #57510 from nextcloud/carl/callback-optimization
perf(dav): Avoid getting DB Connection inside callback
2026-01-13 15:01:54 +01:00
Carl Schwan ea40ade012 refactor(dav): Remove dead property
The user folder is no longer used.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-13 14:09:05 +01:00
Maxence Lange 048037b629 Merge pull request #57495 from nextcloud/fix/noid/no-data-response
fix(ocm): empty response
2026-01-13 11:21:03 -01:00
Côme Chilliet f31f4eba7f chore: While at it use strict array search in build/integration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:48:59 +01:00
Côme Chilliet dc843f6d0a fix: Use strict array search in other shipped apps as well
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:48:36 +01:00
Côme Chilliet 3c80b7f2b3 fix: Use strict array comparisons in lib/
To avoid surprises with corner cases.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:48:04 +01:00
Carl Schwan a1979c9cd1 perf(dav): Avoid getting DB Connection inside callback
Fetch it once outside instead and pass it to the callback.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-13 11:47:11 +01:00
Côme Chilliet c1dd559965 fix: Use strict array comparisons in user_ldap
Otherwise there are issues with string values looking like numbers.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:46:57 +01:00
Côme Chilliet 166febb940 fix(tests): Use absolute paths for files_external tests configuration files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:07:27 +01:00
Joas Schilling 408f9e8256 Merge pull request #57491 from nextcloud/fix/taskprocessing-userfacingerrormessage-responsedef
fix(TaskProcessing): Expose userFacingErrorMessage on ResponseDefinitions#CoreTaskProcessingTask
2026-01-13 10:27:01 +01:00
grnd-alt 0461301597 chore: update justinrainbow/json-schema to 6.6.4
Signed-off-by: grnd-alt <git@belakkaf.net>
2026-01-13 10:14:53 +01:00
Git'Fellow df018cf994 fix(gc): Implement cache_chunk_gc_ttl
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-13 09:00:32 +01:00
Ferdinand Thiessen 08d4ccb36f Merge pull request #57237 from nextcloud/refactor/files-external-vue3-ts
refactor(files_external): migrate to script-setup and Vue 3
2026-01-13 03:04:49 +01:00
nextcloud-command 31957add33 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-13 01:33:19 +00:00
Ferdinand Thiessen e76f9284ce refactor(files_external): adjust files integration
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen a05c285979 feat(files_external): implement storage table
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen 1ec308a9dd feat(files_external): provide new API to register AuthMechanisms
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen 0e22ae1efe refactor(files_external): migrate public key auth to Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen 5ed7c4fd97 fix(files_external): adjust settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen 545c72becb chore: remove non working and legacy OAuth2 auth schema
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen e1133ec926 feat(files_external): Migrate settings to Vue
Template parameters are migrated to initial state, common state between admin and user settings is shared in the CommonSettingsTrait.
The template is cleaned and replaced with only a stub for the Vue mount.
Code only used for the frontend of the settings is moved from the MountConfig to the CommonSettingsTrait (the missing dependency messages).

On the frontend a wrapper view is created that currently holds the global credentials settings and the external storages settings.
- The global credentials sections is now a stand-alone sections - fully implemented.
- The external storages section holds the table + user config + warnings on missing dependencies

The legacy UI is temporarly renamed but will be removed in a following commit.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen d4674060dc fix(files_external): return correct type for new user defined storages
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen 38ed0a8283 fix: hard type controllers where the type is required to match
Prevent HTTP 500 errors where a 400 would be the correct response

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen 4c8b9deca0 feat(files_external): Move script loading to CommonSettingsTrait to reduce duplicated code between admin and user settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen 5c652484e3 refactor(files_external): migrate files integration to script-setup and Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Nextcloud bot a5225bdf99 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-13 00:13:56 +00:00
Ferdinand Thiessen ac3d09d817 Merge pull request #57499 from nextcloud/feat/migrate-user-ldap-renew
refactor(user_ldap): migrate jQuery UI of password renewal to Vue
2026-01-12 22:56:09 +01:00
Ferdinand Thiessen 2c3872f325 Merge pull request #57095 from nextcloud/fix/public-upload
fix(files): ensure creating folders in public shares work
2026-01-12 22:31:47 +01:00
Ferdinand Thiessen bad5531860 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 21:48:13 +01:00
Ferdinand Thiessen 29e31ffdb1 refactor(user_ldap): migrate jQuery UI of password renewal to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 21:48:13 +01:00
nextcloud-command bdd379e82e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-12 20:07:13 +00:00
Ferdinand Thiessen 8c93d4a9e1 fix(files): ensure creating folders in public shares work
The root of the webdav client needs to be the public share root,
as accessing the `/files` folder is not possible for public shares.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 20:39:54 +01:00
Ferdinand Thiessen 5f33fee58f Merge pull request #56941 from nextcloud/fix/importmaps
fix(template): add import map for JS module entry points
2026-01-12 20:38:58 +01:00
Kate 258b30606f Merge pull request #57357 from Freiheitswolke/fix/NavigationManager/Remove-break-to-return-all-defaultEntryIds 2026-01-12 19:29:18 +01:00
Marcel Klehr 1182b6d4f0 chore: Update openapi specs
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-01-12 18:32:33 +01:00
Marcel Klehr a45978789b fix(TaskProcessing): Expose userFacingErrorMessage on ResponseDefinitions#CoreTaskProcessingTask
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-01-12 18:32:33 +01:00
Carl Schwan 7b05c8f797 refactor(files): Rename IMountProviderArgs
It's not an interface so the I-prefix is inadequate.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-12 17:33:52 +01:00
Maxence Lange 42d745e17b fix(ocm): empty response
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-12 15:22:08 -01:00
Robin Appelman 4dcd4223de fix: make smb auth failure on forbidden exception more reliable
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-12 15:23:57 +01:00
Robin Appelman 43727cb72c fix: handle InvalidArumentException as availability failure in smb->getFileInfo
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-12 15:23:57 +01:00
Benjamin Gaussorgues 89166cbf9a Merge pull request #57054 from nextcloud/fix/federated-vue 2026-01-12 15:11:40 +01:00
Carl Schwan 6149168129 feat(preview): On demand preview migration
When requesting previews, which we don't find in oc_previews, search in
IAppData first before creating them.

Move the logic from MovepreviewJob to PreviewMigrationService and reuse
that in the Preview Generator.

At the same time rename MovePreviewJob to PreviewMigrationJob as it is a
better name.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-12 14:20:09 +01:00
Joas Schilling 6bdda55733 Merge pull request #57453 from nextcloud/feat/noid/qr-code-in-account-menu
Improve usability of QR code login
2026-01-12 14:01:10 +01:00
Ferdinand Thiessen f0e020f97d fix(template): add import map for JS module entry points
Currently apps are broken if they have exports in the JS entry point,
because they then will import from the entry point but because they do
not know about the Nextcloud cache buster they will import without cache
buster.

This results in two problem:
1. The module might be outdated (old cached)
2. The module is duplicated, so the module will be loaded twice and will
   have two different - out of sync - states. This also means it will
   re-run sideeffects of the entry point.

To fix this we generate an import map which basically maps the plain
entry point script to the script with cache buster added.

(Some background: Bundler will try to minimize chunks (reduce page
loading time) so they can inline modules into entry points and thus
extend the entry point exports and then this issue would be caused).

For example:
```js
// entry.mjs
console.error('called')

async function onClick() {
  await import('./chunk.mjs')
}

export const name = 'foo'

// chunk.mjs
import { name } from './entry.mjs'

console.error(name)
```

When calling `onClick` without this fix the output will be:
> called
> called
> foo

With this fix:
> called
> foo

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 13:34:11 +01:00
Joas Schilling 0e99c60da1 Merge pull request #57450 from nextcloud/3rdparty/sabre-vobject-iTipBroker-replies
fix: add send participation reply on fresh event patch
2026-01-12 12:27:43 +01:00
Benjamin Gaussorgues 98619ca6fb Merge pull request #56524 from nextcloud/fix/group-displayname-in-user-edit 2026-01-12 12:25:19 +01:00
Joas Schilling 8b4491ae1c fix: Add translation for temporary app password names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-12 11:58:45 +01:00
Robin Appelman 2a2cd291d5 Merge pull request #57392 from nextcloud/user-share-access-event
feat: add event for apps that a users share access might have changed
2026-01-12 11:58:00 +01:00
Ferdinand Thiessen 835d507d64 Merge pull request #57354 from nextcloud/fix/comments-node-api
fix(comments): adjust Activity integration for changed Node API
2026-01-12 11:28:58 +01:00
nextcloud-command 954945a26b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-12 10:10:52 +00:00
Joas Schilling f4acd8a7ab fix: Adjust and add new tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-12 11:07:44 +01:00
Benjamin Gaussorgues bd90e7c122 Merge pull request #57442 from nextcloud/carl/entity-id-type 2026-01-12 11:03:33 +01:00
Benjamin Gaussorgues 8d50027e78 Merge pull request #57142 from nextcloud/carl/dashboard-psalm 2026-01-12 11:03:17 +01:00
Ferdinand Thiessen 29488d6a78 fix(federatedfilesharing): pre must not be a child of p
Fix the problem reported:
> [plugin vite:vue] apps/federatedfilesharing/src/components/PersonalSettings.vue: <pre> cannot be child of <p>, according to HTML specifications.
> This can cause hydration errors or potentially disrupt future functionality.

`p` only allows inline elements, but pre is none.
We either need to use `div` instead of `p` or `code` instead of `pre`.
But in this case we want a block of code, so we use `div` and inner
`<pre><code>`.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 10:45:58 +01:00
Carl Schwan 716513164f Merge pull request #57452 from nextcloud/fix/noid/ldap-get-displayname-backend
fix: Make User_Proxy IGetDisplayNameBackend complient
2026-01-12 10:19:10 +01:00
Benjamin Gaussorgues e0e5cdf3e1 Merge pull request #57449 from nextcloud/feat/unstable/moving-out-of-unstable-signature 2026-01-12 09:39:21 +01:00
nextcloud-command 9e2058d199 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-12 08:38:06 +00:00
Ferdinand Thiessen a1503481f3 fix(comments): adjust Activity integration for changed Node API
The activity app integration was changed to use the files Node API
instead of the legacy FileInfo API. So the comments app needs to be
adjusted for it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 09:23:57 +01:00
Benjamin Gaussorgues b9c3e47b82 feat(build): add .nextcloudignore file to match Krankerl behaviour
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-12 09:17:58 +01:00
Christoph Wurst 18a7369bb9 Merge pull request #57020 from abhinavohri/fix_warnings
fix: Reduce deprecation warnings in phpunit_nodb CI jobs
2026-01-12 08:58:26 +01:00
Abhinav Ohri f89613b507 refactor(testing): Rename mock trait classes for clarity
Signed-off-by: Abhinav Ohri <abhinavohri13@gmail.com>
2026-01-12 07:59:41 +01:00
Abhinav Ohri 252956d6b2 test: fix PHPUnit deprecations and mocking issues
Signed-off-by: Abhinav Ohri <abhinavohri13@gmail.com>
2026-01-12 07:59:41 +01:00
Nextcloud bot 3e9d2fe208 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-12 00:13:44 +00:00
Nextcloud bot 7335927bed fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-11 00:13:41 +00:00
SebastianKrupinski 6ce24383c2 fix: add send participation reply on fresh event patch
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-10 11:35:08 -05:00
nextcloud-command a17a4f4958 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-10 11:26:58 +01:00
Benjamin Frueh 2b97afa829 fix(settings): Display group displayName consistently when editing a user
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2026-01-10 11:26:58 +01:00
Nextcloud bot d341c2011f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-10 00:27:12 +00:00
Raphael Gradenwitz 7eea3b7742 Merge pull request #55433 from nextcloud/ernolf/enh/http2-brotli-client
perf(client): enable HTTP/2 and brotli support in internal HTTP client
2026-01-10 01:09:17 +01:00
Raphael Gradenwitz 7c526b4de3 Merge branch 'master' into ernolf/enh/http2-brotli-client 2026-01-10 00:00:47 +01:00
Maxence Lange 327d691c23 feat(signed-request): moving out of unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-09 20:16:24 -01:00
Sebastian Krupinski 635e26dfdc Merge pull request #57231 from nextcloud/feat/restrict-calendar-invitation-users
feat: restrict calendar invitation participants
2026-01-09 13:42:12 -05:00
Maksim Sukharev 80f6856ce7 chore: Recompile assets
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-01-09 19:07:08 +01:00
Joas Schilling 2510020b33 fix: Recompile openapi
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling 927bea2b4d fix(psalm): Satisfy psalm
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling 3713f40d5b fix(app-password): Require strict password confirmation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling a82827dff5 feat(app-passwords): Add config to disallow creating app-passwords
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling 6c20e3e103 fix(onetime): Allow longer duration via app config
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling bacb4323de fix: add app config to control onetime case
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling e7d0ed2020 fix(sessions): Hide one-time app passwords
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling 6b121c37da feat: Allow to create one-time app passwords that only allow loading an app-password
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Marcel Müller 3b9ec2d119 feat(qrcode-login): Add QR code login option directly in the user menu
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-01-09 19:07:07 +01:00
Robin Appelman c2cd236411 Merge pull request #57191 from nextcloud/dav-x-user-id
feat: also send x-user-id for dav responses
2026-01-09 18:43:36 +01:00
Marcel Müller f870041943 fix: Make User_Proxy IGetDisplayNameBackend complient
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2026-01-09 18:31:55 +01:00
SebastianKrupinski acfec22652 feat: restrict calendar invitation participants
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-09 12:07:18 -05:00
Robin Appelman 272d6141ca fix: improve handling updated storages
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:55 +01:00
Robin Appelman be3bbf22e0 fix: better applicable check for updating external mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:54 +01:00
Robin Appelman c14948f629 test: update cypress test for new files_external mount behavior
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:54 +01:00
Robin Appelman fa61c4c57d fix: don't error when checking login credential storage from cli
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:53 +01:00
Robin Appelman 6dd6d06606 fix: update external storage mounts on login
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:53 +01:00
Robin Appelman 9dffca2f07 fix: improve handling of unavailable storages
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:52 +01:00
Robin Appelman 73e84f9bf5 perf: cache root cache entries for external storage in MountCacheService
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:51 +01:00
Robin Appelman d64f7eb939 feat: listen to user/group events and update external storage mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:51 +01:00
Robin Appelman 5565cdb390 feat: make external storage mount provider authoritative
Signed-off-by: Robin Appelman <robin@icewind.nl>

# Conflicts:
#	apps/files_external/lib/AppInfo/Application.php
2026-01-09 17:53:50 +01:00
Robin Appelman 765d1af2a6 feat: yield user by id in IUserManager::getSeenUsers
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:49 +01:00
Robin Appelman c80c980e29 feat: add typed events for external storage config changes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:49 +01:00
Robin Appelman e3551e576c feat: add api for authoritative mount providers to update the user mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:48 +01:00
Robin Appelman 198d500ac6 feat: add interface to mark mount providers as authoritative
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:42 +01:00
Robin Appelman 328a4608aa Merge pull request #57454 from nextcloud/fix/session/handle-null-logger
fix(session): handle null logger
2026-01-09 17:51:04 +01:00
Christoph Wurst 7e188433a1 fix(session): handle null logger
Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
2026-01-09 16:42:39 +01:00
Benjamin Gaussorgues acb3e68a93 Merge pull request #56725 from nextcloud/rakekniven-patch-3 2026-01-09 14:38:37 +01:00
nextcloud-command fbb551311e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-09 09:24:00 +00:00
Carl Schwan 81a21fb718 refactor(entity): Don't type id
Some apps overwrite this and this breaks them.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-09 10:19:34 +01:00
rakekniven c2ae99a668 chore(i18n): Remove strings from i18n and adapted casing
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-09 10:13:22 +01:00
Worker Builder 8265e4b489 build(hub): 33.0.0 beta 3
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-09 08:53:57 +00:00
ernolf 932523e844 style(tests): apply cs-fixer formatting to ClientTest
Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2026-01-09 01:29:59 +01:00
Nextcloud bot 6fd76bfa0e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-09 00:14:00 +00:00
Raphael Gradenwitz 510c203dfe Merge branch 'master' into ernolf/enh/http2-brotli-client
Signed-off-by: Raphael Gradenwitz <39901936+ernolf@users.noreply.github.com>
2026-01-08 21:02:07 +01:00
Benjamin Gaussorgues 0514ecfb96 Merge pull request #57398 from nextcloud/release/33.0.0_beta_2 2026-01-08 17:06:21 +01:00
Benjamin Gaussorgues 91a544ef45 Merge pull request #53414 from nextcloud/fix/49584-background-worker-remove-interval 2026-01-08 15:57:05 +01:00
Louis a0c922cc7f Merge pull request #56404 from nextcloud/share-sidebar-hide-external
feat: hide "External Shares" section if no external shares can be created
2026-01-08 14:32:11 +01:00
Côme Chilliet 2da078f258 Merge pull request #55861 from nextcloud/feat/allow-decrypt-all-with-encryption-disabled
feat(encryption): Support running decrypt-all when encryption is already disabled
2026-01-08 14:19:06 +01:00
Benjamin Gaussorgues 36b0d7c189 Merge pull request #55265 from nextcloud/perf/log-slow-dns 2026-01-08 14:06:31 +01:00
Benjamin Gaussorgues fe34ea5ec7 Merge pull request #57407 from nextcloud/carl/fix-php-85-deprecation-image 2026-01-08 13:57:11 +01:00
Benjamin Gaussorgues ae250777fd Merge pull request #56899 from nextcloud/feat/noid/ocm-capabilities 2026-01-08 13:46:09 +01:00
Benjamin Gaussorgues 17aa77e29f Merge pull request #57427 from nextcloud/fix/openmetrics_classes 2026-01-08 13:45:55 +01:00
Salvatore Martire 43f2470f90 fix: use interval value in JobWorker
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-01-08 13:45:11 +01:00
Joas Schilling d5eab95414 Merge pull request #57428 from nextcloud/dependabot/composer/aws/aws-sdk-php-3.369.3
build(deps): bump aws/aws-sdk-php from 3.349.3 to 3.369.9
2026-01-08 13:40:04 +01:00
nextcloud-command 7e4c4f2f3c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-08 11:54:41 +00:00
Robin Appelman de286709f8 feat: hide "External Shares" section if no external shares can be created
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-08 11:49:02 +00:00
Andy Scherzinger d86975e9fa Merge pull request #56923 from nextcloud/fix/update-all
fix(settings): update all button only updates a single app
2026-01-08 12:48:34 +01:00
Joas Schilling 03adb7e184 build(deps): bump aws/aws-sdk-php from 3.349.3 to 3.369.9
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-08 11:52:50 +01:00
Kate 8eb24155c4 Merge pull request #56518 from nextcloud/jtr/feat-appmanager-cleanappid-log 2026-01-08 11:42:04 +01:00
Git'Fellow 377de23bf5 Merge pull request #57291 from nextcloud/fixTypoAdminAuditLog
fix(admin_audit) Fix typo in visibility log message
2026-01-08 11:41:45 +01:00
Louis 73dd45be4f Merge pull request #57289 from nextcloud/feature/54562/drop-mounts-on-full-or-provider-setup
Feature/54562/drop mounts on full or provider setup
2026-01-08 11:26:50 +01:00
Christoph Wurst adf7ea5f0b perf: log slow DNS operations
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2026-01-08 11:22:15 +01:00
Christoph Wurst cc89a2a2b8 refactor: extract slow operation logging into trait
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2026-01-08 11:22:15 +01:00
Benjamin Gaussorgues 5403284b23 Merge pull request #55293 from nextcloud/jtr/refactor-dav-quotaplugin 2026-01-08 11:18:02 +01:00
Benjamin Gaussorgues f56f747f46 Merge pull request #57245 from nextcloud/jtr/refactor-versions-DAV-plugin 2026-01-08 11:12:50 +01:00
Benjamin Gaussorgues 7a2606b894 Merge pull request #57267 from nextcloud/jtr/refactor-trashbin-sabre-plugin 2026-01-08 11:11:37 +01:00
Joas Schilling eb91d8671d Merge pull request #57348 from nextcloud/fix/adjust-public-page-footer-logic
fix: adjust public page footer logic
2026-01-08 11:10:07 +01:00
Benjamin Gaussorgues 1a5ad32063 fix(openmetrics): import right classes
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-08 10:39:46 +01:00
Benjamin Gaussorgues a1fbd55992 Merge pull request #57395 from nextcloud/feat/exapp-task-proc-endpoints 2026-01-08 09:52:50 +01:00
Benjamin Gaussorgues a6a320498b Merge pull request #55252 from nextcloud/chore/chunked_orphan_delete 2026-01-08 09:50:09 +01:00
Anupam Kumar 3e4e544096 feat(TaskProcessing): add endpoints for ExApp access without userId
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
2026-01-08 11:36:08 +05:30
Nextcloud bot 1a7f2f878e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-08 00:13:49 +00:00
nextcloud-command f6a783e07b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-07 19:21:14 +00:00
Thomas Lamant 7436340f4c fix: update() function does not return a Promise
Signed-off-by: Thomas Lamant <tom@tmlmt.com>
2026-01-07 19:18:29 +00:00
Thomas Lamant 58c6a8387b fix: update all button only updates a single app
Signed-off-by: Thomas Lamant <tom@tmlmt.com>
2026-01-07 19:18:29 +00:00
Maxence Lange 6af64a5495 feat(ocm): event on ocm discovery and ocm request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-07 17:54:26 -01:00
Joas Schilling 66c8f9c4dc Merge pull request #57414 from nextcloud/bugfix/noid/clean-language
fix(l10n): Fix language selection
2026-01-07 19:05:41 +01:00
Joas Schilling 52cfd57af9 Merge pull request #57413 from nextcloud/bugfix/noid/support-native-int-range
fix(controller): Support native int ranges
2026-01-07 19:05:19 +01:00
Ferdinand Thiessen 6a75cd9454 Merge pull request #57347 from nextcloud/refactor/drop-deprecated-composable
refactor(files): migrate from deprecated `useNavigation` to `activeStore`
2026-01-07 18:06:41 +01:00
Daniel Calviño Sánchez 8e5ae53e02 Merge pull request #56938 from nextcloud/unify-handling-of-exclude-groups-in-contacts-menu-and-sharing
fix: Unify handling of exclude groups in contacts menu and sharing
2026-01-07 18:04:53 +01:00
Joas Schilling ab122ac15d fix(l10n): Fix language selection
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 17:41:18 +01:00
Joas Schilling f2e2e4ea21 fix(controller): Support native int ranges
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 17:36:57 +01:00
Robin Appelman 534632334c feat: add event for apps that a users share access might have changed
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-07 17:18:16 +01:00
Joas Schilling 15b45975e2 Merge pull request #57410 from nextcloud/bugfix/noid/fix-generate-id
fix(snowflake): Fix generateId() call for SnowflakeEntity
2026-01-07 17:17:33 +01:00
Salvatore Martire 2d22c4f654 fix: update information cached by mount point on rename
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-01-07 17:00:09 +01:00
Salvatore Martire 07eef5eaf4 fix: drop set up partial mounts on setupForUser
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-01-07 17:00:09 +01:00
nextcloud-command 09e0f06678 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-07 16:50:42 +01:00
Ferdinand Thiessen 47acb66b9c refactor(files): migrate from deprecated useNavigation to activeStore
Small preparation for upcoming Vue 3 migration of the files app.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-07 16:50:42 +01:00
SebastianKrupinski 6b3d3fd2d3 fix: adjust public page footer logic
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-07 10:16:35 -05:00
Joas Schilling f42493bf1e Merge pull request #57409 from nextcloud/fix/ci-psalm
ci(static-code-analysis): add missing permissions to upload sarif file
2026-01-07 16:03:58 +01:00
Joas Schilling fe393c5dbf fix(snowflake): Fix generateId() call for SnowflakeEntity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 15:39:09 +01:00
Carl Schwan bd815595d4 fix: Remove NOP ReflectionProperty::setAccessible calls
Doesn't do anything since PHP 8.1 and is deprecated since PHP 8.5
2026-01-07 15:23:20 +01:00
Ferdinand Thiessen 86c90221f1 ci(static-code-analysis): add missing permissions to upload sarif file
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-07 15:21:48 +01:00
Maxence Lange 0cdd19271d Merge pull request #56047 from nextcloud/feat/ocm/handle-new-ocm-endpoint
feat(ocm): handle /.well-known/ocm
2026-01-07 13:17:06 -01:00
Carl Schwan 513b37916f fix(image): Remove NOP imagedestroy call
This is NOP since 8.0 and deprecated since 8.5

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-07 15:13:07 +01:00
Joas Schilling 9e516beb85 Merge pull request #57403 from nextcloud/followup/noid/snowflake-entity
fix(snowflake): Allow SnowflakeAware to overwrite the field types
2026-01-07 15:10:09 +01:00
Joas Schilling 6b6deefee9 Merge pull request #57373 from nextcloud/carl/fix-deprecated-alias
fix: Usage of a deprecated alias
2026-01-07 14:35:32 +01:00
Joas Schilling 8d55b13641 Merge pull request #57367 from nextcloud/work/carl/psalm-unittests
refactor(psalm): Enable psalm for comments unit tests
2026-01-07 14:16:14 +01:00
Joas Schilling 2bd2cc71e5 fix(snowflake): Allow SnowflakeAware to overwrite the field types
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 14:06:18 +01:00
Joas Schilling 40b79f5af8 Merge pull request #56795 from nextcloud/feat/noid/extend-entity-to-be-snoflake-aware
feat(snowflake): extend Entity class to support snowflakes
2026-01-07 13:42:49 +01:00
Carl Schwan 6eb1609b35 fix(psalm): Fix InvalidArgument in FilesByType OpenMetrics exporter
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-07 13:22:39 +01:00
Carl Schwan 58de51160c fix(psalm): Fix return type of TokenService::getTokens
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-07 13:21:34 +01:00
Carl Schwan a430702caa refactor(psalm): Enable psalm for comments unit tests
This is the first step to enable psalm for our test suite to find issues
also there.

At the moment, this already found some completely broken and unused
method in TestCase and prepare the way for making ICommentsManager work
with snowflake ids by using string instead of int for the ids
consistently.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-07 13:21:33 +01:00
Benjamin Gaussorgues 351351a832 Merge pull request #57371 from nextcloud/enh/noid/change-config-to-amr 2026-01-07 12:04:36 +01:00
Worker Builder 944341543e build(hub): 33.0.0 beta 2
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-07 10:53:53 +00:00
Joas Schilling e5c989066f Merge pull request #57394 from nextcloud/bugfix/noid/theming-links
fix(settings): Allow clearing legal and privacy links
2026-01-07 11:06:33 +01:00
Benjamin Gaussorgues 62513dfd92 Merge pull request #57165 from nextcloud/feat/openmetrics 2026-01-07 10:43:56 +01:00
Joas Schilling 649e042568 fix(settings): Fix reset button for legal and privacy
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 09:45:48 +01:00
Benjamin Gaussorgues 71fa5937b2 feat(openapi): add OpenMetrics controller into OpenAPI
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Benjamin Gaussorgues 6ee8325b3e feat(files_sharing): add basic OpenMetrics exporter for files shares
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Benjamin Gaussorgues 47de164946 feat(comments): add basic OpenMetrics exporter
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Benjamin Gaussorgues c57c4843e8 feat(openmetrics): introduce OpenMetrics exporter
Expose a `/metrics` endpoint with some basic metrics

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Joas Schilling 7c64394617 fix(settings): Allow clearing legal and privacy links
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 09:29:34 +01:00
Nextcloud bot c09168e911 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-07 00:13:32 +00:00
Benjamin Gaussorgues 9f7d4d055e Merge pull request #57361 from nextcloud/release/33.0.0_beta_1 2026-01-06 16:56:21 +01:00
Joas Schilling c3be0b8814 Merge pull request #57380 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2026-01-06 16:54:55 +01:00
nextcloud-command 1432c97584 fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2026-01-06 15:38:16 +00:00
Simon L. 178fb77be8 feat(Config.php): change array_merge to array_replace_recursive when merging configs
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-06 16:03:38 +01:00
Benjamin Gaussorgues 86fe44d9f4 Merge pull request #56627 from nextcloud/fix/54953/value-is-already-team-id 2026-01-06 16:00:53 +01:00
Tobias Kaminsky fdfaf6b363 Merge pull request #57372 from nextcloud/feat/adapt-webhook
Feat(webhook_listeners): adapt webhook payload format
2026-01-06 15:55:27 +01:00
Tobias Kaminsky ad13a8acc7 Merge pull request #57235 from nextcloud/enh/noid/testing-ocr-provider
Add fake OCR taskprocessing provider in the testing app
2026-01-06 15:52:10 +01:00
Carl Schwan 693a2263cc fix(entity): Do not call getId when inserting and $id is null
Otherwise this breaks some existing code, in particular PublicKeyToken

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 15:42:03 +01:00
Jana Peper 65d44b0007 docs: adapt docblock
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2026-01-06 15:24:40 +01:00
Jana Peper ec9cac90e0 feat: adapt webhook payload format
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2026-01-06 15:19:22 +01:00
Carl Schwan e63c4afdab fix: Usage of a deprecated alias
The deprecated warning:

The requested alias "UserId" is deprecated. Please request "userId" directly.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 15:04:07 +01:00
Julien Veyssier e1d19b2c24 feat: add fake OCR taskprocessing provider in the testing app
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-01-06 14:36:51 +01:00
Kate 72ad2edcd7 Merge pull request #57118 from nextcloud/test/delete-orphaned-files/improve-count-mounts 2026-01-06 14:36:05 +01:00
Robin Appelman 72632faaf1 Merge pull request #57284 from nextcloud/allow-cross-share-move-delete
fix: allow moving from of non-resharable to other share if the user has delete permissions
2026-01-06 14:23:51 +01:00
Côme Chilliet ebab99ec9a Merge pull request #56779 from nextcloud/jtr/needUpgrade-refactor
feat: improve needUpgrade() output and refactor for clarity
2026-01-06 14:04:13 +01:00
Côme Chilliet e6ac79d570 Merge branch 'master' into carl/dashboard-psalm
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2026-01-06 13:07:32 +01:00
Carl Schwan 7c1a8a4060 feat: Adapt a bit the snowflake ids API
- Rename setId() -> generateId() in SnowflakeAwareEntity

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 12:57:17 +01:00
Anna Larch 5f797ebc32 refactor: move existing usages of snoflake IDs SnowflakeAwareEntity
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:17 +01:00
Anna Larch a100ede789 feat: extend Entity and adjust QBMapper to support Snowflake IDs
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:17 +01:00
Anna Larch f546daada7 refactor: Rename Snowflake Generator and Decoder
And introduce the Snowflake DTO

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:04 +01:00
Côme Chilliet c32009fd32 Merge pull request #57145 from nextcloud/carl/psalm-dav
refactor(dav): fix psalm for dav endpoints
2026-01-06 12:47:29 +01:00
Benjamin Gaussorgues 72be2f41b3 Merge pull request #57099 from nextcloud/carl/fix-32-bits-job-tests 2026-01-06 11:59:28 +01:00
Worker Builder 758a9c26db build(hub): 33.0.0 beta 1
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-06 10:34:50 +00:00
Ferdinand Thiessen 0c6565ea44 fix(birthday-service): Fix on 32 bits system
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 10:44:47 +01:00
Carl Schwan 33e5f2d345 fix(background-jobs): Fix unit tests with 32-bits tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-06 10:44:21 +01:00
Joda Stößer 16d8cc065a fix(NavigationManager): Remove break to return all defaultEntryIds
Otherwise only the first entry id is returned, breaking loading the value for the "Global Default App" option

Signed-off-by: Joda Stößer <git@simjo.st>
2026-01-06 02:41:37 +01:00
Nextcloud bot 0a3cc4dd6f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-06 00:13:48 +00:00
Ferdinand Thiessen c6b095234e Merge pull request #57236 from nextcloud/refactor/profile-vue3-ts
refactor(profile): migrate to script setup and Vue 3
2026-01-05 22:52:49 +01:00
Ferdinand Thiessen f9d4bb2ba8 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 22:21:43 +01:00
Ferdinand Thiessen ad61aa7a30 refactor(profile): migrate to script setup and Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 22:16:48 +01:00
Ferdinand Thiessen 8cc588fc42 Merge pull request #57341 from nextcloud/refactor/federation-vue3
refactor(federation): migrate app frontend (admin settings) to Vue 3
2026-01-05 20:07:18 +01:00
nextcloud-command 35bfa1d2f0 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-05 17:16:35 +00:00
Ferdinand Thiessen 5d3e1f70b2 refactor(federation): migrate app frontend (admin settings) to Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 18:08:29 +01:00
Robin Appelman 8a05a3e01b Merge pull request #57186 from nextcloud/perbucket-without-multibucket
feat: don't gate perBucket object store configuration behind multibucket
2026-01-05 16:49:16 +01:00
Robin Appelman afa23291d6 feat: don't gate perBucket object store configuration behind multibucket
a setup can have multiple bucket without having `multibucket` enabled trough things like per-groupfolder buckets

Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-05 16:09:25 +01:00
Ferdinand Thiessen c50c5a9e6b Merge pull request #57277 from nextcloud/refactor/files-sidebar-nodeapi
refactor!: migrate files sidebar to Node API
2026-01-05 13:38:26 +01:00
Maxence Lange eb0369705a Merge pull request #56240 from nextcloud/fix/noid/set-adr-book-local-but-not-system
fix(contacts): allow address book to be local but not system
2026-01-05 09:55:42 -01:00
Joas Schilling fe0c56a1d7 Merge pull request #57332 from nextcloud/jtr/chore-drop-10n-xgettextfiles
chore(l10n): drop unused xgettextfiles
2026-01-05 10:00:42 +01:00
Ferdinand Thiessen 98a4b959ec chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:41 +01:00
Ferdinand Thiessen fd96a32dda test: adjust cypress tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:30 +01:00
Ferdinand Thiessen 3726596ad0 refactor(systemtags): migrate to new files sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen f9a137ea87 refactor(files): migrate favorite sidebar action to new Sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen 7077685bf8 refactor(files_sharing): migrate to new Files Sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen 34511e9036 refactor(comments): migrate to new Files Sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen 493c371a22 refactor(files_versions): adjust frontend for new files sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen 4a9cdeb01f refactor!(files): migrate sidebar API to use Node API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Nextcloud bot 7abd46fb53 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-05 00:13:26 +00:00
Ferdinand Thiessen fb18804192 chore(deps): update @nextcloud/files to v4.0.0-beta.8
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-04 22:30:12 +01:00
github-actions[bot] 513c0cceb6 Merge pull request #57320 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/files-4.0.0-beta.8
build(deps): bump @nextcloud/files from 4.0.0-beta.7 to 4.0.0-beta.8 in /build/frontend-legacy
2026-01-04 08:29:45 +00:00
Josh 867a8d1088 chore(l10n): drop unused xgettextfiles
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-03 20:32:45 -05:00
Nextcloud bot 56658fc3ef fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-04 00:13:41 +00:00
nextcloud-command dc5d199e3a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-03 20:41:28 +00:00
dependabot[bot] 41c739d370 build(deps): bump @nextcloud/files in /build/frontend-legacy
Bumps [@nextcloud/files](https://github.com/nextcloud-libraries/nextcloud-files) from 4.0.0-beta.7 to 4.0.0-beta.8.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-files/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-files/compare/v4.0.0-beta.7...v4.0.0-beta.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-03 21:33:05 +01:00
github-actions[bot] 68149e01cb Merge pull request #57319 from nextcloud/dependabot/npm_and_yarn/nextcloud/files-4.0.0-beta.8
build(deps): bump @nextcloud/files from 4.0.0-beta.7 to 4.0.0-beta.8
2026-01-03 21:32:35 +01:00
nextcloud-command 44216b36e4 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-03 19:55:53 +00:00
dependabot[bot] 68b8e2662d build(deps): bump @nextcloud/files from 4.0.0-beta.7 to 4.0.0-beta.8
Bumps [@nextcloud/files](https://github.com/nextcloud-libraries/nextcloud-files) from 4.0.0-beta.7 to 4.0.0-beta.8.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-files/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-files/compare/v4.0.0-beta.7...v4.0.0-beta.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-03 20:47:39 +01:00
github-actions[bot] bc2bdeeac5 Merge pull request #57305 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/multi-c8afcbbcd8
build(deps): bump qs and express in /build/frontend-legacy
2026-01-03 19:34:16 +00:00
Nextcloud bot a6bcb18db9 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-03 00:13:31 +00:00
Andy Scherzinger cbaf6e73a5 Merge pull request #53634 from invario/preview-direct-download
feat(previews): allow ffmpeg to connect direct for AWS S3 buckets
2026-01-02 18:39:42 +01:00
Carl Schwan 98192fc17c feat(external-s3): Expose config option to enable direct s3 preview
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-02 17:13:43 +01:00
Carl Schwan 2ea1bd4cdc feat(movie-preview): Use getDirectDownloadById for generating preview
Allow to speed-up considerably the creation of previews for movies
stored on S3.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-02 17:13:41 +01:00
Robin Appelman 3580680f8f Merge pull request #56166 from nextcloud/dav-file-get-log-id
feat: add fileid to exception message when reading a dav file fails
2026-01-02 15:30:22 +01:00
Carl Schwan 1b12fd0df3 Merge pull request #57308 from nextcloud/jtr/fix-installer-isDownloaded-robustness
fix(installer): make isDownloaded robust + unify parameter naming
2026-01-02 15:07:45 +01:00
Stephan Orbaugh 97ba753e09 Merge pull request #57230 from nextcloud/fix/inodebypath-forbidden-responses
fix: drop readable check
2026-01-02 11:07:45 +01:00
invario ffe91b48dc feat(previews): allow ffmpeg to connect direct for AWS S3 buckets
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: invario <67800603+invario@users.noreply.github.com>
2026-01-02 10:48:39 +01:00
nextcloud-command 9fed6d849a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-02 09:47:55 +00:00
Josh 30f2932817 chore: make lint happy about isDownloaded concat
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-01 11:49:02 -05:00
Josh a46f3bd21c fix(installer): make isDownloaded robust + unify parameter naming
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-01 11:42:54 -05:00
dependabot[bot] a1ab869381 build(deps): bump qs and express in /build/frontend-legacy
Bumps [qs](https://github.com/ljharb/qs) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `qs` from 6.14.0 to 6.14.1
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.14.0...v6.14.1)

Updates `express` from 4.21.2 to 4.22.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/v4.22.1/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.2...v4.22.1)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.1
  dependency-type: indirect
- dependency-name: express
  dependency-version: 4.22.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-01 13:35:19 +00:00
Nextcloud bot 7baca4264a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-01 00:13:23 +00:00
Josh 24ec0e85e5 feat(AppManager): log when cleanAppId drops invalid chars
Log a debug message if invalid characters are replaced in app IDs.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-31 14:30:05 -05:00
Robin Appelman d21fa1c0b5 feat: add fileid to exception message when reading a dav file fails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 14:06:46 +01: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
Git'Fellow eafbb5a23c fix(admin_audit): Fix typo in visibility log message
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-12-30 10:09:08 +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
Robin Appelman 8cfb49012d test: update cross-share move tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-29 17:39:44 +01:00
Robin Appelman 39c8141f0c fix: allow moving from of non-resharable to other share if the user has delete permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-29 17:39:43 +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
Josh 5c51b42d3f test(trashbin): Update DAV quotaProvider test cases
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:40:55 -05:00
Josh 80caedb050 chore: php-cs fixup
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:30:19 -05:00
Josh 853db93601 chore: typo fixup
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:26:11 -05:00
Josh 355d6637ff refactor(trashbin): restyle DAV handlers, enhance internal docs, refactor for clarity & robustness
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:07:19 -05: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
Josh 183136d166 chore: Fix comments and formatting in Plugin.php
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-26 19:07:13 -05:00
Josh b872208285 refactor(files_versions): tidy up UA download header logic and modernize class structure
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-26 18:56:56 -05: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
yemkareems 9ed9a317f5 fix: added Test\TestCase namespace for failing tests
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-12-24 12:01:13 +05:30
yemkareems 674381e8c1 fix: php cs fix run
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-12-24 11:23:19 +05:30
yemkareems bbbbc4de22 fix: offsets corrected, test added to have exact count when time is frozen and variable count when time is dynamic
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-12-24 11:16:43 +05:30
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
Salvatore Martire 678bf538bf fix: drop readable check
This check was introduced in a previous PR, causing disruptive
changes in PROPFIND responses in some cases.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-22 18:48:10 +01: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
Maxence Lange b28176458d fix(contacts): not contact, not local
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-12-22 12:36:33 -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
Robin Appelman 69249a3ce3 feat: also send x-user-id for dav responses
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-19 18:20:01 +01: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
Git'Fellow 3593256e3d chore: Change preview image in README.md
Use a more up-to-date image (the same from the Nextcloud repo for consistency)

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-12-18 08:36:02 +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
Carl Schwan 3555e00754 refactor(dav): fix psalm for dav endpoints
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 15:09:48 +01:00
Carl Schwan 6111ecefbc refactor(dashboard): Fix all psalm issues
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 14:58:47 +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
Côme Chilliet c11cc64470 chore: update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-16 11:09:46 +01:00
Côme Chilliet a6184661bd feat(encryption): Support running decrypt-all when encryption is already disabled
This was an arbitrary limitation since the first thing the command does
 is disabling encryption anyway, it makes little sence to force the admin
 to enable encryption first.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-16 11:09:46 +01:00
Maxence Lange 981e987bd0 fix(team-manager): team is already teamid
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-12-16 08:56:46 -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
provokateurin f9157c85c2 test(DeleteOrphanedFilesTest): Improve counting mounts
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-16 09:11:27 +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
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
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
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
Josh b2bc785986 chore: make php-cs happy
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-09 22:26:16 -05:00
Daniel Calviño Sánchez fbe2023d39 fix: Unify handling of exclude groups in contacts menu and sharing
If the current user belongs to both one or more groups excluded from
sharing and one or more groups not excluded from sharing the user is
allowed to share. However, in the contacts menu, as soon as the current
user belonged to a group excluded from sharing the user could not search
for local contacts. This has been unified now with the sharing
behaviour, so local contacts can still be searched if the user also
belongs to a group not excluded from sharing (or to no group at all,
which was also allowed before).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Daniel Calviño Sánchez d59d8db1d6 test: Add unit test for excluded groups in contacts menu
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Daniel Calviño Sánchez 694651de3a test: Adjust unit test name to better reflect its behaviour
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Daniel Calviño Sánchez 70ed393b34 test: Add integration tests for excluded groups in contacts and sharees
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +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
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
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
Josh 3de06a2b33 chore: lint happiness
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-01 12:26:03 -05:00
Josh d3432482cc feat: improve needUpgrade() output and refactor for clarity
- Reorganized logic to improve clarity + eliminate duplication
- Switched app handling to non-deprecated IAppManager API
- Make the HintException clearer and more actionable
- Log disallowed downgrade attempts before throwing

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-01 12:10:52 -05:00
Maxence Lange e456f116b8 feat(ocm): handle /well-known/ocm
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-11-07 08:55:16 -01:00
ernolf b6ea2bc0f5 refactor(http-client): use direct HTTP/2 cURL hint and align tests
Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2025-10-22 12:17:17 +02:00
ernolf 65aa731ef3 test: add unit test for Accept-Encoding with Brotli support
Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2025-09-30 18:01:38 +02:00
ernolf 812f12ecc4 perf(client): enable HTTP/2 and brotli support in internal HTTP client
- Prefer HTTP/2 by setting RequestOptions::VERSION => "2.0" so clients
  that respect PSR-7 request version will prefer HTTP/2.
- Add a curl hint (CURLOPT_HTTP_VERSION) to prefer HTTP/2 via ALPN
  (CURL_HTTP_VERSION_2TLS or CURL_HTTP_VERSION_2_0 fallback) while allowing
  automatic fallback to HTTP/1.1.
- Advertise Brotli ("br") in Accept-Encoding when the php-brotli extension
  is available (detected via function_exists('brotli_uncompress')), otherwise
  fall back to gzip.

Notes:
- The PSR-7 request version is used as a hint for HTTP client libraries;
  setting the version to "2.0" signals a preference for HTTP/2 at the request
  abstraction level.
- The curl option is defensive: it prefers HTTP/2 where libcurl supports it
  (via ALPN), but will not break on older libcurl/builds (uses defined()).

Compatibility:
- Fully backwards compatible: if the php-brotli extension is not present,
  no Brotli usage will occur and behaviour remains equivalent to previous
  (gzip).

Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2025-09-30 17:01:07 +02:00
yemkareems 2ba3766bef Merge branch 'master' into fix/unit-test-for-storage-auto-expire-list 2025-09-30 17:58:16 +05:30
yemkareems fbd99cef8f fix: since removed and copy right text changed
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-29 17:03:05 +05:30
Josh a9b17a1a16 chore: Add OCP\Util import
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-26 13:42:47 -04:00
Josh 5f5bb77bf3 fix: Update QuotaPlugin to handle 32-bit numeric lengths correctly
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-26 13:40:59 -04:00
Josh fbe5238d7f fix: review input
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-26 13:17:47 -04:00
Josh cc96a16df5 fix: Apply suggestions from code review
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-26 13:11:51 -04:00
Josh 04f30cad62 chore: drop buildFileViewMock cast and give it a docblock
Updated the buildFileViewMock method to accept int, float, or false as quota type.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 20:53:57 -04:00
Josh 23546013e1 fix(dav): test hint time in buildFileViewMock method wrong
Doesn't match current interface.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 20:46:39 -04:00
Josh 45eb87ba6e chore: Change methods back to public for tests
Tagged with \@internal instead for now.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 18:32:54 -04:00
Josh 01e0ca7298 chore: lint compliance :)
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 18:21:49 -04:00
Josh 3bb5ed502a refactor(dav): Clean up QuotaPlugin and add new hints
Add new hints and improve documentation for the QuotaPlugin. This commit also removes unused code and tidies up some code, which improves readability and simplifies maintenance, without introducing breaking changes.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 18:13:48 -04:00
Benjamin Gaussorgues 13bfd8b292 chore: add chunked queries on occ sharing:delete-orphan-shares
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-09-22 11:12:06 +02:00
yemkareems 4914b4aff3 fix: added test to assert auto expire list preserve's version as per max_versions_per_interval
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-08-28 17:09:55 +05:30
3850 changed files with 99169 additions and 89080 deletions
+2 -2
View File
@@ -71,9 +71,8 @@ body:
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "30"
- "31"
- "32"
- "33"
- "master"
validations:
required: true
@@ -96,6 +95,7 @@ body:
Select PHP engine version serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "PHP 8.5"
- "PHP 8.4"
- "PHP 8.3"
- "PHP 8.2"
+61 -5
View File
@@ -21,7 +21,7 @@ updates:
- package-ecosystem: composer
directories:
- "/"
- "/build/integration"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
@@ -64,9 +64,10 @@ updates:
- "@vitest/*"
# Latest stable release
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
target-branch: stable33
directories:
- "/"
- "/vendor-bin/behat"
@@ -74,6 +75,7 @@ updates:
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
schedule:
interval: weekly
day: saturday
@@ -87,11 +89,13 @@ updates:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Latest stable branch
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
directory: "/"
target-branch: stable33
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
schedule:
interval: weekly
day: saturday
@@ -103,6 +107,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/*"
ignore:
# no major updates on stable branches
- dependency-name: "*"
@@ -110,6 +123,49 @@ updates:
# Older stable releases
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
directories:
- "/"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable31
+6 -4
View File
@@ -52,13 +52,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 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 +82,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 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
@@ -31,7 +31,7 @@ jobs:
- 'version.php'
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -27,10 +27,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
- uses: webiny/action-conventional-commits@faccb24fc2550dd15c0390d944379d2d8ed9690e # v1.3.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+3 -3
View File
@@ -32,18 +32,18 @@ jobs:
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
uses: github/codeql-action/init@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
uses: github/codeql-action/analyze@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
with:
category: "/language:${{matrix.language}}"
+2 -2
View File
@@ -103,7 +103,7 @@ jobs:
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Needed to allow force push later
persist-credentials: true
@@ -124,7 +124,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
+1 -1
View File
@@ -38,7 +38,7 @@ jobs:
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
fetch-depth: 0
+10 -10
View File
@@ -48,7 +48,7 @@ jobs:
exit 1
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
@@ -72,7 +72,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -107,7 +107,7 @@ jobs:
services:
mysql:
# Only start mysql if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}}
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
@@ -119,7 +119,7 @@ jobs:
mariadb:
# Only start mariadb if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}}
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
@@ -131,7 +131,7 @@ jobs:
postgres:
# Only start postgres if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}}
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '5432/tcp'
env:
@@ -142,7 +142,7 @@ jobs:
oracle:
# Only start oracle if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}}
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '1521'
env:
@@ -160,7 +160,7 @@ jobs:
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
@@ -171,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@7ef72e250a9e564efb4ed4c2433971ada4cc38b4 # v6.10.4
uses: cypress-io/github-action@0f330ebf0d60f87608ed72f1d6232e5644aa3171 # v7.1.1
with:
# We already installed the dependencies in the init job
install: false
@@ -195,7 +195,7 @@ jobs:
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: always()
with:
name: snapshots_${{ matrix.containers }}
@@ -218,7 +218,7 @@ jobs:
run: docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data archive
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}
+17 -6
View File
@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-ftp:
runs-on: ubuntu-latest
@@ -55,7 +65,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -71,7 +81,8 @@ 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@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -104,14 +115,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-ftp
+22 -10
View File
@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-s3-minio:
runs-on: ubuntu-latest
@@ -64,13 +74,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -104,14 +115,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-s3
@@ -152,13 +163,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -185,14 +197,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-s3
+17 -6
View File
@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-sftp:
runs-on: ubuntu-latest
@@ -55,7 +65,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -67,7 +77,8 @@ 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@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -93,14 +104,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-sftp
@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-smb-kerberos:
runs-on: ubuntu-latest
@@ -46,13 +56,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/user_saml
@@ -107,7 +117,7 @@ jobs:
echo "$FILEPATH:"
docker exec --user 33 apache cat $FILEPATH
sftp-summary:
smb-kerberos-sso-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb-kerberos]
+24 -7
View File
@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-smb:
runs-on: ubuntu-latest
@@ -53,19 +63,26 @@ jobs:
services:
samba:
image: ghcr.io/nextcloud/continuous-integration-samba:latest # zizmor: ignore[unpinned-images]
image: ghcr.io/servercontainers/samba:smbd-only-a3.18.0-s4.18.2-r0
env:
ACCOUNT_test: test
UID_test: 1000
SAMBA_VOLUME_CONFIG_test: "[public]; path=/tmp; valid users = test; guest ok = no; read only = no; browseable = yes"
options: >-
--health-cmd=true
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -99,14 +116,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-smb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-smb
+17 -6
View File
@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-webdav-apache:
runs-on: ubuntu-latest
@@ -60,13 +70,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -97,14 +108,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-webdav
+17 -5
View File
@@ -29,11 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-generic:
runs-on: ubuntu-latest
@@ -53,13 +64,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -85,14 +97,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-generic
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-generic
@@ -24,14 +24,14 @@ jobs:
require: write
- name: Checkout github_helper
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
path: server
@@ -73,7 +73,8 @@ jobs:
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: 8.2
coverage: none
+4 -3
View File
@@ -53,13 +53,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 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 +71,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@329b1bcefe1cbe1ef289177471c9f2b2af98e6ca # v2025.1028.23217
uses: LizardByte/actions/actions/setup_python@09a6e10dc8175f2933c20bdf35fde0a193a9c00e # v2026.129.194351
with:
python-version: '2.7'
+3 -2
View File
@@ -52,13 +52,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+18 -8
View File
@@ -27,14 +27,23 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'build/integration/**'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
integration-s3-primary:
runs-on: ubuntu-latest
@@ -67,13 +76,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+5 -4
View File
@@ -97,14 +97,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/spreed
@@ -113,7 +113,7 @@ jobs:
- name: Checkout Activity app
if: ${{ matrix.test-suite == 'sharing_features' }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/activity
@@ -121,7 +121,8 @@ jobs:
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+2 -2
View File
@@ -56,7 +56,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+3 -2
View File
@@ -48,12 +48,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
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
+4 -3
View File
@@ -47,18 +47,19 @@ 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@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 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
+2 -2
View File
@@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -37,7 +37,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+2 -2
View File
@@ -59,7 +59,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -71,7 +71,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+3 -3
View File
@@ -58,7 +58,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -70,7 +70,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -90,7 +90,7 @@ jobs:
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./coverage/lcov.info,./coverage/legacy/lcov.info
+2 -2
View File
@@ -56,7 +56,7 @@ jobs:
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+4 -3
View File
@@ -26,6 +26,7 @@ jobs:
matrix:
branches:
- ${{ github.event.repository.default_branch }}
- 'stable33'
- 'stable32'
- 'stable31'
@@ -34,7 +35,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -48,7 +49,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -69,7 +70,7 @@ jobs:
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # v7.0.9
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'
+18 -11
View File
@@ -29,16 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
azure-primary-tests:
runs-on: ubuntu-latest
@@ -52,7 +58,7 @@ jobs:
php-versions: ['8.2', '8.3']
include:
- php-versions: '8.4'
coverage: true
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-azure
@@ -73,13 +79,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -110,14 +117,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-azure
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-azure
+18 -11
View File
@@ -29,16 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
s3-primary-tests-minio:
runs-on: ubuntu-latest
@@ -52,7 +58,7 @@ jobs:
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: true
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3
@@ -74,13 +80,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -116,14 +123,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-s3
+18 -11
View File
@@ -29,16 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
swift-primary-tests:
runs-on: ubuntu-latest
@@ -52,7 +58,7 @@ jobs:
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: true
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-swift
@@ -71,13 +77,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -106,14 +113,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-swift
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-swift
+3 -2
View File
@@ -26,12 +26,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 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 -3
View File
@@ -35,14 +35,15 @@ jobs:
exit 1
- name: Checkout server before PR
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 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,7 +99,7 @@ jobs:
- name: Upload profiles
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
with:
name: profiles
path: |
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
+8 -5
View File
@@ -60,12 +60,14 @@ 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']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.4'
- php-versions: '8.5'
mariadb-versions: '11.8'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@@ -90,13 +92,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -129,14 +132,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mariadb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mariadb
+6 -5
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,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -103,14 +104,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-memcached
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-memcached
+5 -4
View File
@@ -121,13 +121,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -161,14 +162,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mysql
+8 -5
View File
@@ -60,13 +60,15 @@ jobs:
fail-fast: false
matrix:
php-versions: ['8.2']
mysql-versions: ['8.0', '8.4']
mysql-versions: ['8.0']
include:
- mysql-versions: '8.0'
php-versions: '8.3'
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,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -129,14 +132,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mysql
+6 -5
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,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -109,14 +110,14 @@ jobs:
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-nodb
@@ -72,13 +72,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 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
+7 -6
View File
@@ -64,11 +64,11 @@ jobs:
php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
- oracle-versions: '21'
php-versions: '8.2'
- oracle-versions: '23'
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
@@ -99,13 +99,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -131,14 +132,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-oci
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-oci
+8 -5
View File
@@ -61,13 +61,15 @@ jobs:
matrix:
php-versions: ['8.2']
# To keep the matrix smaller we ignore PostgreSQL versions in between as we already test the minimum and the maximum
postgres-versions: ['14', '18']
postgres-versions: ['14']
include:
- php-versions: '8.3'
postgres-versions: '18'
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,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -124,14 +127,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-postgres
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-postgres
+14 -8
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,24 +75,28 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
run: |
sudo apt-get update
sudo apt-get install -y ghostscript
composer i
- name: Set up Nextcloud
run: |
@@ -106,24 +110,26 @@ jobs:
run: ./occ app:list && echo "======= System config =======" && ./occ config:list system
- name: PHPUnit database tests
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }} tests/lib/Preview/PostscriptTest.php
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-sqlite
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-sqlite
- name: Print logs
if: always()
run: |
gs --version
cat /etc/ImageMagick-6/policy.xml
cat data/nextcloud.log
summary:
+45
View File
@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Rector
on:
pull_request:
permissions:
contents: read
concurrency:
group: rector-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
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
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Rector
run: composer run rector:strict
- name: Show changes
if: always()
run: git diff --exit-code -- . ':!lib/composer'
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
issues: write
steps:
- uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v9
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v9
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
+43 -9
View File
@@ -28,13 +28,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 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
@@ -57,15 +58,19 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
security-events: write
steps:
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 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 +88,7 @@ jobs:
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3
uses: github/codeql-action/upload-sarif@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v3
with:
sarif_file: results.sarif
@@ -94,13 +99,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 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 +131,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -144,3 +151,30 @@ jobs:
- name: Psalm
run: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github
static-code-analysis-strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:strict -- --threads=1 --monochrome --no-progress --output-format=github
+3 -3
View File
@@ -17,12 +17,12 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@84ae59a2cdc2258d6fa0732dd66352dddae2a412
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'
@@ -17,12 +17,12 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@84ae59a2cdc2258d6fa0732dd66352dddae2a412
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
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@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -107,7 +107,7 @@ jobs:
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
if: steps.update-files.outputs.CHANGES_MADE == 'true'
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
+29
View File
@@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-only
# Files removed at build time
# Global exclude
.editorconfig
.git
.git-blame-ignore-revs
.gitattributes
.github
.gitignore
.gitmodules
.idea
.l10nignore
.nextcloudignore
.noopenapi
.tx
cypress
tests
# Server specific
/.devcontainer
/__mocks__
/__tests__
/autotest*.sh
/build
/config/config.php
/contribute
/data
+2 -2
View File
@@ -11,7 +11,7 @@
**A safe home for all your data.**
![](https://raw.githubusercontent.com/nextcloud/screenshots/master/nextcloud-hub-files-25-preview.png)
![](https://raw.githubusercontent.com/nextcloud/screenshots/master/nextcloud-hub-25-files.png)
## Why is this so awesome? 🤩
@@ -35,8 +35,8 @@ Enterprise? Public Sector or Education user? You may want to have a look into [*
## Get in touch 💬
* [📋 Forum](https://help.nextcloud.com)
* [🦋 Bluesky](https://bsky.app/profile/nextcloud.bsky.social)
* [👥 Facebook](https://www.facebook.com/nextclouders)
* [🐣 Twitter](https://twitter.com/Nextclouders)
* [🐘 Mastodon](https://mastodon.xyz/@nextcloud)
You can also [get support for Nextcloud](https://nextcloud.com/support)!
+2 -2
View File
@@ -10,7 +10,7 @@
<name>Auditing / Logging</name>
<summary>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</summary>
<description>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</description>
<version>1.23.0</version>
<version>1.24.0</version>
<licence>agpl</licence>
<author>Nextcloud</author>
<namespace>AdminAudit</namespace>
@@ -20,7 +20,7 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<background-jobs>
<job>OCA\AdminAudit\BackgroundJobs\Rotate</job>
@@ -18,7 +18,7 @@ class TagManagement extends Action {
$this->log('System tag "%s" (%s, %s) created',
[
'name' => $tag->getName(),
'visbility' => $tag->isUserVisible() ? 'visible' : 'invisible',
'visibility' => $tag->isUserVisible() ? 'visible' : 'invisible',
'assignable' => $tag->isUserAssignable() ? 'user assignable' : 'system only',
],
['name', 'visibility', 'assignable']
@@ -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
};
}
+2 -2
View File
@@ -9,7 +9,7 @@
<name>Cloud Federation API</name>
<summary>Enable clouds to communicate with each other and exchange data</summary>
<description>The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.</description>
<version>1.17.0</version>
<version>1.18.0</version>
<licence>agpl</licence>
<author>Bjoern Schiessle</author>
<namespace>CloudFederationAPI</namespace>
@@ -19,6 +19,6 @@
<category>integration</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
</info>
+10 -1
View File
@@ -25,6 +25,15 @@ return [
'url' => '/invite-accepted',
'verb' => 'POST',
'root' => '/ocm',
]
],
// needs to be kept at the bottom of the list
[
'name' => 'OCMRequest#manageOCMRequests',
'url' => '/{ocmPath}',
'requirements' => ['ocmPath' => '.*'],
'verb' => ['GET', 'POST', 'PUT', 'DELETE'],
'root' => '/ocm',
],
],
];
@@ -10,6 +10,7 @@ return array(
'OCA\\CloudFederationAPI\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
'OCA\\CloudFederationAPI\\Capabilities' => $baseDir . '/../lib/Capabilities.php',
'OCA\\CloudFederationAPI\\Config' => $baseDir . '/../lib/Config.php',
'OCA\\CloudFederationAPI\\Controller\\OCMRequestController' => $baseDir . '/../lib/Controller/OCMRequestController.php',
'OCA\\CloudFederationAPI\\Controller\\RequestHandlerController' => $baseDir . '/../lib/Controller/RequestHandlerController.php',
'OCA\\CloudFederationAPI\\Db\\FederatedInvite' => $baseDir . '/../lib/Db/FederatedInvite.php',
'OCA\\CloudFederationAPI\\Db\\FederatedInviteMapper' => $baseDir . '/../lib/Db/FederatedInviteMapper.php',
@@ -25,6 +25,7 @@ class ComposerStaticInitCloudFederationAPI
'OCA\\CloudFederationAPI\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
'OCA\\CloudFederationAPI\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php',
'OCA\\CloudFederationAPI\\Config' => __DIR__ . '/..' . '/../lib/Config.php',
'OCA\\CloudFederationAPI\\Controller\\OCMRequestController' => __DIR__ . '/..' . '/../lib/Controller/OCMRequestController.php',
'OCA\\CloudFederationAPI\\Controller\\RequestHandlerController' => __DIR__ . '/..' . '/../lib/Controller/RequestHandlerController.php',
'OCA\\CloudFederationAPI\\Db\\FederatedInvite' => __DIR__ . '/..' . '/../lib/Db/FederatedInvite.php',
'OCA\\CloudFederationAPI\\Db\\FederatedInviteMapper' => __DIR__ . '/..' . '/../lib/Db/FederatedInviteMapper.php',
+8
View File
@@ -0,0 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "API Federasi Cloud",
"Enable clouds to communicate with each other and exchange data" : "Memungkinkan cloud untuk saling berkomunikasi dan bertukar data",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "API Federasi Cloud memungkinkan berbagai instans Nextcloud untuk saling berkomunikasi dan bertukar data."
},
"nplurals=1; plural=0;");
+6
View File
@@ -0,0 +1,6 @@
{ "translations": {
"Cloud Federation API" : "API Federasi Cloud",
"Enable clouds to communicate with each other and exchange data" : "Memungkinkan cloud untuk saling berkomunikasi dan bertukar data",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "API Federasi Cloud memungkinkan berbagai instans Nextcloud untuk saling berkomunikasi dan bertukar data."
},"pluralForm" :"nplurals=1; plural=0;"
}
+1 -1
View File
@@ -3,6 +3,6 @@ OC.L10N.register(
{
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Увімкніть хмари аби спілкуватися один з одним і обмінюватися даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам серверу хмари Nextcloud спілкуватися між собою та обмінюватися даними."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам сервера хмари Nextcloud спілкуватися між собою та обмінюватися даними."
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
+1 -1
View File
@@ -1,6 +1,6 @@
{ "translations": {
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Увімкніть хмари аби спілкуватися один з одним і обмінюватися даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам серверу хмари Nextcloud спілкуватися між собою та обмінюватися даними."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам сервера хмари Nextcloud спілкуватися між собою та обмінюватися даними."
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
}
@@ -0,0 +1,87 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\CloudFederationAPI\Controller;
use JsonException;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\BruteForceProtection;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\Attribute\PublicPage;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\Response;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
use OCP\OCM\Events\OCMEndpointRequestEvent;
use OCP\OCM\Exceptions\OCMArgumentException;
use OCP\OCM\IOCMDiscoveryService;
use OCP\Security\Signature\Exceptions\IncomingRequestException;
use Psr\Log\LoggerInterface;
class OCMRequestController extends Controller {
public function __construct(
string $appName,
IRequest $request,
private readonly IEventDispatcher $eventDispatcher,
private readonly IOCMDiscoveryService $ocmDiscoveryService,
private readonly LoggerInterface $logger,
) {
parent::__construct($appName, $request);
}
/**
* Method will catch any request done to /ocm/[...] and will broadcast an event.
* The first parameter of the remaining subpath (post-/ocm/) is defined as
* capability and should be used by listeners to filter incoming requests.
*
* @see OCMEndpointRequestEvent
* @see OCMEndpointRequestEvent::getArgs
*
* @param string $ocmPath
* @return Response
* @throws OCMArgumentException
*/
#[NoCSRFRequired]
#[PublicPage]
#[BruteForceProtection(action: 'receiveOcmRequest')]
public function manageOCMRequests(string $ocmPath): Response {
if (!mb_check_encoding($ocmPath, 'UTF-8')) {
throw new OCMArgumentException('path is not UTF-8');
}
try {
// if request is signed and well signed, no exceptions are thrown
// if request is not signed and host is known for not supporting signed request, no exceptions are thrown
$signedRequest = $this->ocmDiscoveryService->getIncomingSignedRequest();
} catch (IncomingRequestException $e) {
$this->logger->warning('incoming ocm request exception', ['exception' => $e]);
return new JSONResponse(['message' => $e->getMessage(), 'validationErrors' => []], Http::STATUS_BAD_REQUEST);
}
// assuming that ocm request contains a json array
$payload = $signedRequest?->getBody() ?? file_get_contents('php://input');
try {
$payload = ($payload) ? json_decode($payload, true, 512, JSON_THROW_ON_ERROR) : null;
} catch (JsonException $e) {
$this->logger->debug('json decode error', ['exception' => $e]);
$payload = null;
}
$event = new OCMEndpointRequestEvent(
$this->request->getMethod(),
preg_replace('@/+@', '/', $ocmPath),
$payload,
$signedRequest?->getOrigin()
);
$this->eventDispatcher->dispatchTyped($event);
return $event->getResponse() ?? new Response(Http::STATUS_NOT_FOUND);
}
}
@@ -7,14 +7,6 @@
namespace OCA\CloudFederationAPI\Controller;
use NCU\Federation\ISignedCloudFederationProvider;
use NCU\Security\Signature\Exceptions\IdentityNotFoundException;
use NCU\Security\Signature\Exceptions\IncomingRequestException;
use NCU\Security\Signature\Exceptions\SignatoryNotFoundException;
use NCU\Security\Signature\Exceptions\SignatureException;
use NCU\Security\Signature\Exceptions\SignatureNotFoundException;
use NCU\Security\Signature\IIncomingSignedRequest;
use NCU\Security\Signature\ISignatureManager;
use OC\OCM\OCMSignatoryManager;
use OCA\CloudFederationAPI\Config;
use OCA\CloudFederationAPI\Db\FederatedInviteMapper;
@@ -39,11 +31,18 @@ use OCP\Federation\Exceptions\ProviderDoesNotExistsException;
use OCP\Federation\ICloudFederationFactory;
use OCP\Federation\ICloudFederationProviderManager;
use OCP\Federation\ICloudIdManager;
use OCP\Federation\ISignedCloudFederationProvider;
use OCP\IAppConfig;
use OCP\IGroupManager;
use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\OCM\IOCMDiscoveryService;
use OCP\Security\Signature\Exceptions\IdentityNotFoundException;
use OCP\Security\Signature\Exceptions\IncomingRequestException;
use OCP\Security\Signature\Exceptions\SignatoryNotFoundException;
use OCP\Security\Signature\IIncomingSignedRequest;
use OCP\Security\Signature\ISignatureManager;
use OCP\Share\Exceptions\ShareNotFound;
use OCP\Util;
use Psr\Log\LoggerInterface;
@@ -74,8 +73,8 @@ class RequestHandlerController extends Controller {
private readonly IAppConfig $appConfig,
private ICloudFederationFactory $factory,
private ICloudIdManager $cloudIdManager,
private readonly IOCMDiscoveryService $ocmDiscoveryService,
private readonly ISignatureManager $signatureManager,
private readonly OCMSignatoryManager $signatoryManager,
private ITimeFactory $timeFactory,
) {
parent::__construct($appName, $request);
@@ -106,14 +105,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 exceptions are thrown
// if request is not signed and host is known for not supporting signed request, no exception are thrown
$signedRequest = $this->ocmDiscoveryService->getIncomingSignedRequest();
$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 +355,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->ocmDiscoveryService->getIncomingSignedRequest();
$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 {
@@ -430,37 +433,6 @@ class RequestHandlerController extends Controller {
}
/**
* returns signed request if available.
* throw an exception:
* - if request is signed, but wrongly signed
* - if request is not signed but instance is configured to only accept signed ocm request
*
* @return IIncomingSignedRequest|null null if remote does not (and never did) support signed request
* @throws IncomingRequestException
*/
private function getSignedRequest(): ?IIncomingSignedRequest {
try {
$signedRequest = $this->signatureManager->getIncomingSignedRequest($this->signatoryManager);
$this->logger->debug('signed request available', ['signedRequest' => $signedRequest]);
return $signedRequest;
} catch (SignatureNotFoundException|SignatoryNotFoundException $e) {
$this->logger->debug('remote does not support signed request', ['exception' => $e]);
// remote does not support signed request.
// currently we still accept unsigned request until lazy appconfig
// core.enforce_signed_ocm_request is set to true (default: false)
if ($this->appConfig->getValueBool('core', OCMSignatoryManager::APPCONFIG_SIGN_ENFORCED, lazy: true)) {
$this->logger->notice('ignored unsigned request', ['exception' => $e]);
throw new IncomingRequestException('Unsigned request');
}
} catch (SignatureException $e) {
$this->logger->warning('wrongly signed request', ['exception' => $e]);
throw new IncomingRequestException('Invalid signature');
}
return null;
}
/**
* confirm that the value related to $key entry from the payload is in format userid@hostname
* and compare hostname with the origin of the signed request.
@@ -500,7 +472,6 @@ class RequestHandlerController extends Controller {
*
* @param IIncomingSignedRequest|null $signedRequest
* @param string $resourceType
* @param string $sharedSecret
*
* @throws IncomingRequestException
* @throws BadRequestException
@@ -524,7 +495,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);
@@ -9,8 +9,6 @@ declare(strict_types=1);
namespace OCA\CloudFederationApi\Tests;
use NCU\Security\Signature\ISignatureManager;
use OC\OCM\OCMSignatoryManager;
use OCA\CloudFederationAPI\Config;
use OCA\CloudFederationAPI\Controller\RequestHandlerController;
use OCA\CloudFederationAPI\Db\FederatedInvite;
@@ -29,6 +27,8 @@ use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\IUserManager;
use OCP\OCM\IOCMDiscoveryService;
use OCP\Security\Signature\ISignatureManager;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Test\TestCase;
@@ -45,10 +45,11 @@ class RequestHandlerControllerTest extends TestCase {
private FederatedInviteMapper&MockObject $federatedInviteMapper;
private AddressHandler&MockObject $addressHandler;
private IAppConfig&MockObject $appConfig;
private ICloudFederationFactory&MockObject $cloudFederationFactory;
private ICloudIdManager&MockObject $cloudIdManager;
private IOCMDiscoveryService&MockObject $discoveryService;
private ISignatureManager&MockObject $signatureManager;
private OCMSignatoryManager&MockObject $signatoryManager;
private ITimeFactory&MockObject $timeFactory;
private RequestHandlerController $requestHandlerController;
@@ -69,8 +70,8 @@ class RequestHandlerControllerTest extends TestCase {
$this->appConfig = $this->createMock(IAppConfig::class);
$this->cloudFederationFactory = $this->createMock(ICloudFederationFactory::class);
$this->cloudIdManager = $this->createMock(ICloudIdManager::class);
$this->discoveryService = $this->createMock(IOCMDiscoveryService::class);
$this->signatureManager = $this->createMock(ISignatureManager::class);
$this->signatoryManager = $this->createMock(OCMSignatoryManager::class);
$this->timeFactory = $this->createMock(ITimeFactory::class);
$this->requestHandlerController = new RequestHandlerController(
@@ -88,8 +89,8 @@ class RequestHandlerControllerTest extends TestCase {
$this->appConfig,
$this->cloudFederationFactory,
$this->cloudIdManager,
$this->discoveryService,
$this->signatureManager,
$this->signatoryManager,
$this->timeFactory,
);
}
+6 -2
View File
@@ -10,7 +10,7 @@
<name>Comments</name>
<summary>Files app plugin to add comments to files</summary>
<description>Files app plugin to add comments to files</description>
<version>1.23.0</version>
<version>1.24.0</version>
<licence>agpl</licence>
<author>Arthur Schiwon</author>
<author>Vincent Petry</author>
@@ -21,7 +21,7 @@
<category>social</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<activity>
@@ -38,6 +38,10 @@
</providers>
</activity>
<openmetrics>
<exporter>OCA\Comments\OpenMetrics\CommentsCountMetric</exporter>
</openmetrics>
<collaboration>
<plugins>
<plugin type="autocomplete-sort">OCA\Comments\Collaboration\CommentersSorter</plugin>
@@ -22,5 +22,6 @@ return array(
'OCA\\Comments\\MaxAutoCompleteResultsInitialState' => $baseDir . '/../lib/MaxAutoCompleteResultsInitialState.php',
'OCA\\Comments\\Notification\\Listener' => $baseDir . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\OpenMetrics\\CommentsCountMetric' => $baseDir . '/../lib/OpenMetrics/CommentsCountMetric.php',
'OCA\\Comments\\Search\\CommentsSearchProvider' => $baseDir . '/../lib/Search/CommentsSearchProvider.php',
);
@@ -37,6 +37,7 @@ class ComposerStaticInitComments
'OCA\\Comments\\MaxAutoCompleteResultsInitialState' => __DIR__ . '/..' . '/../lib/MaxAutoCompleteResultsInitialState.php',
'OCA\\Comments\\Notification\\Listener' => __DIR__ . '/..' . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\OpenMetrics\\CommentsCountMetric' => __DIR__ . '/..' . '/../lib/OpenMetrics/CommentsCountMetric.php',
'OCA\\Comments\\Search\\CommentsSearchProvider' => __DIR__ . '/..' . '/../lib/Search/CommentsSearchProvider.php',
);
+1
View File
@@ -17,6 +17,7 @@ OC.L10N.register(
"Delete comment" : "Ezabatu iruzkina",
"Cancel edit" : "Utzi editatzeari",
"New comment" : "Iruzkin berria",
"Write a comment …" : "Idatzi iruzkin bat …",
"Post comment" : "Argitaratu iruzkina",
"@ for mentions, : for emoji, / for smart picker" : "@ aipamenetarako, : emojientzako, / hautatzaile adimentsurako",
"Could not reload comments" : "Ezin izan dira iruzkinak freskatu",
+1
View File
@@ -15,6 +15,7 @@
"Delete comment" : "Ezabatu iruzkina",
"Cancel edit" : "Utzi editatzeari",
"New comment" : "Iruzkin berria",
"Write a comment …" : "Idatzi iruzkin bat …",
"Post comment" : "Argitaratu iruzkina",
"@ for mentions, : for emoji, / for smart picker" : "@ aipamenetarako, : emojientzako, / hautatzaile adimentsurako",
"Could not reload comments" : "Ezin izan dira iruzkinak freskatu",
+9 -1
View File
@@ -10,11 +10,18 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} je komentirao {file}",
"<strong>Comments</strong> for files" : "<strong>Komentari</strong> za datoteke",
"Files" : "Datoteke",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Spomenuti ste u komentaru na „{file}” od računa koji je u međuvremenu izbrisan.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vas je spomenuo u komentaru na „{file}”",
"Files app plugin to add comments to files" : "Dodatak za aplikaciju Datoteke za dodavanje komentara na datoteke",
"Edit comment" : "Uredi komentar",
"Delete comment" : "Izbriši komentar",
"Cancel edit" : "Otkaži uređivanje",
"New comment" : "Novi komentar",
"Write a comment …" : "Napiši komentar …",
"Post comment" : "Objavi komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ za spominjanje, : za emoji, / za pametni odabir",
"Could not reload comments" : "Nije moguće ponovno učitati komentare",
"Failed to mark comments as read" : "Nije uspjelo označavanje komentara kao pročitani",
"Unable to load the comments list" : "Nije moguće učitati popis komentara",
"No comments yet, start the conversation!" : "Još nema komentara, započnite razgovor!",
"No more messages" : "Nema više poruka",
@@ -24,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Došlo je do pogreške prilikom uređivanja komentara",
"Comment deleted" : "Komentar izbrisan",
"An error occurred while trying to delete the comment" : "Došlo je do pogreške prilikom brisanja komentara",
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara"
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara",
"Write a comment …" : "Napiši komentar …"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
+9 -1
View File
@@ -8,11 +8,18 @@
"{author} commented on {file}" : "{author} je komentirao {file}",
"<strong>Comments</strong> for files" : "<strong>Komentari</strong> za datoteke",
"Files" : "Datoteke",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Spomenuti ste u komentaru na „{file}” od računa koji je u međuvremenu izbrisan.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vas je spomenuo u komentaru na „{file}”",
"Files app plugin to add comments to files" : "Dodatak za aplikaciju Datoteke za dodavanje komentara na datoteke",
"Edit comment" : "Uredi komentar",
"Delete comment" : "Izbriši komentar",
"Cancel edit" : "Otkaži uređivanje",
"New comment" : "Novi komentar",
"Write a comment …" : "Napiši komentar …",
"Post comment" : "Objavi komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ za spominjanje, : za emoji, / za pametni odabir",
"Could not reload comments" : "Nije moguće ponovno učitati komentare",
"Failed to mark comments as read" : "Nije uspjelo označavanje komentara kao pročitani",
"Unable to load the comments list" : "Nije moguće učitati popis komentara",
"No comments yet, start the conversation!" : "Još nema komentara, započnite razgovor!",
"No more messages" : "Nema više poruka",
@@ -22,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Došlo je do pogreške prilikom uređivanja komentara",
"Comment deleted" : "Komentar izbrisan",
"An error occurred while trying to delete the comment" : "Došlo je do pogreške prilikom brisanja komentara",
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara"
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara",
"Write a comment …" : "Napiši komentar …"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}
+12 -3
View File
@@ -5,24 +5,33 @@ OC.L10N.register(
"You commented" : "Anda berkomentar",
"{author} commented" : "{author} berkomentar",
"You commented on %1$s" : "Anda berkomentar pada %1$s",
"You commented on {file}" : "Anda berkomentar pada {file} ",
"You commented on {file}" : "Anda berkomentar pada {file}",
"%1$s commented on %2$s" : "%1$s dikomentari pada %2$s",
"{author} commented on {file}" : "{author} berkomentar pada {file}",
"<strong>Comments</strong> for files" : "<strong>komentar</strong> pada file",
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\" ",
"Files" : "File",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Anda disebutkan pada \"{file}\", dalam sebuah komentar oleh akun yang sejak itu telah dihapus",
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\"",
"Files app plugin to add comments to files" : "Plugin aplikasi file untuk menambah komentar pada file",
"Edit comment" : "Sunting komentar",
"Delete comment" : "Hapus komentar",
"Cancel edit" : "Batal sunting",
"New comment" : "Komentar baru",
"Write a comment …" : "Tulis komentar …",
"Post comment" : "Posting komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ untuk penyebutan, : untuk emoji, / untuk pemilih cerdas",
"Could not reload comments" : "Tidak dapat memuat ulang komentar",
"Failed to mark comments as read" : "Gagal menandai komentar sebagai sudah dibaca",
"Unable to load the comments list" : "Tidak dapat memuat daftar komentar",
"No comments yet, start the conversation!" : "Belum ada yang berkomentar, mulailah perbincangan!",
"No more messages" : "Tidak ada pesan lagi",
"Retry" : "Ulangi",
"_1 new comment_::_{unread} new comments_" : ["{unread} komentar baru"],
"Comment" : "Komentar",
"An error occurred while trying to edit the comment" : "Terjadi kesalahan ketika mencoba menyunting komentar",
"Comment deleted" : "Komentar dihapus",
"An error occurred while trying to delete the comment" : "Terjadi kesalahan ketika mencoba untuk menghapus komentar",
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar"
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar",
"Write a comment …" : "Tulis komentar …"
},
"nplurals=1; plural=0;");
+12 -3
View File
@@ -3,24 +3,33 @@
"You commented" : "Anda berkomentar",
"{author} commented" : "{author} berkomentar",
"You commented on %1$s" : "Anda berkomentar pada %1$s",
"You commented on {file}" : "Anda berkomentar pada {file} ",
"You commented on {file}" : "Anda berkomentar pada {file}",
"%1$s commented on %2$s" : "%1$s dikomentari pada %2$s",
"{author} commented on {file}" : "{author} berkomentar pada {file}",
"<strong>Comments</strong> for files" : "<strong>komentar</strong> pada file",
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\" ",
"Files" : "File",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Anda disebutkan pada \"{file}\", dalam sebuah komentar oleh akun yang sejak itu telah dihapus",
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\"",
"Files app plugin to add comments to files" : "Plugin aplikasi file untuk menambah komentar pada file",
"Edit comment" : "Sunting komentar",
"Delete comment" : "Hapus komentar",
"Cancel edit" : "Batal sunting",
"New comment" : "Komentar baru",
"Write a comment …" : "Tulis komentar …",
"Post comment" : "Posting komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ untuk penyebutan, : untuk emoji, / untuk pemilih cerdas",
"Could not reload comments" : "Tidak dapat memuat ulang komentar",
"Failed to mark comments as read" : "Gagal menandai komentar sebagai sudah dibaca",
"Unable to load the comments list" : "Tidak dapat memuat daftar komentar",
"No comments yet, start the conversation!" : "Belum ada yang berkomentar, mulailah perbincangan!",
"No more messages" : "Tidak ada pesan lagi",
"Retry" : "Ulangi",
"_1 new comment_::_{unread} new comments_" : ["{unread} komentar baru"],
"Comment" : "Komentar",
"An error occurred while trying to edit the comment" : "Terjadi kesalahan ketika mencoba menyunting komentar",
"Comment deleted" : "Komentar dihapus",
"An error occurred while trying to delete the comment" : "Terjadi kesalahan ketika mencoba untuk menghapus komentar",
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar"
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar",
"Write a comment …" : "Tulis komentar …"
},"pluralForm" :"nplurals=1; plural=0;"
}
+1
View File
@@ -17,6 +17,7 @@ OC.L10N.register(
"Delete comment" : "Reactie verwijderen",
"Cancel edit" : "Bewerking annuleren",
"New comment" : "Nieuwe reactie",
"Write a comment …" : "Schrijf een commentaar …",
"Post comment" : "Reactie plaatsen",
"@ for mentions, : for emoji, / for smart picker" : "@ voor vermeldingen, : voor emoji, / voor Smart Picker",
"Could not reload comments" : "Kon reactie niet opnieuw laden",
+1
View File
@@ -15,6 +15,7 @@
"Delete comment" : "Reactie verwijderen",
"Cancel edit" : "Bewerking annuleren",
"New comment" : "Nieuwe reactie",
"Write a comment …" : "Schrijf een commentaar …",
"Post comment" : "Reactie plaatsen",
"@ for mentions, : for emoji, / for smart picker" : "@ voor vermeldingen, : voor emoji, / voor Smart Picker",
"Could not reload comments" : "Kon reactie niet opnieuw laden",
@@ -0,0 +1,52 @@
<?php
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Comments\OpenMetrics;
use Generator;
use OCP\IDBConnection;
use OCP\OpenMetrics\IMetricFamily;
use OCP\OpenMetrics\Metric;
use OCP\OpenMetrics\MetricType;
use Override;
class CommentsCountMetric implements IMetricFamily {
public function __construct(
private IDBConnection $connection,
) {
}
#[Override]
public function name(): string {
return 'comments';
}
#[Override]
public function type(): MetricType {
return MetricType::gauge;
}
#[Override]
public function unit(): string {
return 'comments';
}
#[Override]
public function help(): string {
return 'Number of comments';
}
#[Override]
public function metrics(): Generator {
$qb = $this->connection->getQueryBuilder();
$result = $qb->select($qb->func()->count())
->from('comments')
->where($qb->expr()->eq('verb', $qb->expr()->literal('comment')))
->executeQuery();
yield new Metric($result->fetchOne(), [], time());
}
}
@@ -180,14 +180,12 @@ describe('Inline unread comments action enabled tests', () => {
describe('Inline unread comments action execute tests', () => {
test('Action opens sidebar', async () => {
const openMock = vi.fn()
const setActiveTabMock = vi.fn()
window.OCA = {
Files: {
// @ts-expect-error Mocking for testing
Sidebar: {
_sidebar: () => ({
open: openMock,
setActiveTab: setActiveTabMock,
},
}),
},
}
@@ -211,22 +209,19 @@ describe('Inline unread comments action execute tests', () => {
})
expect(result).toBe(null)
expect(setActiveTabMock).toBeCalledWith('comments')
expect(openMock).toBeCalledWith('/foobar.txt')
expect(openMock).toBeCalledWith(file, 'comments')
})
test('Action handles sidebar open failure', async () => {
const openMock = vi.fn(() => {
throw new Error('Mock error')
})
const setActiveTabMock = vi.fn()
window.OCA = {
Files: {
// @ts-expect-error Mocking for testing
Sidebar: {
_sidebar: () => ({
open: openMock,
setActiveTab: setActiveTabMock,
},
}),
},
}
vi.spyOn(logger, 'error').mockImplementation(() => vi.fn())
@@ -251,8 +246,7 @@ describe('Inline unread comments action execute tests', () => {
})
expect(result).toBe(false)
expect(setActiveTabMock).toBeCalledWith('comments')
expect(openMock).toBeCalledWith('/foobar.txt')
expect(openMock).toBeCalledWith(file, 'comments')
expect(logger.error).toBeCalledTimes(1)
})
})
@@ -1,9 +1,10 @@
/**
/*!
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import CommentProcessingSvg from '@mdi/svg/svg/comment-processing.svg?raw'
import { FileAction } from '@nextcloud/files'
import { FileAction, getSidebar } from '@nextcloud/files'
import { n, t } from '@nextcloud/l10n'
import logger from '../logger.js'
@@ -34,8 +35,8 @@ export const action = new FileAction({
}
try {
window.OCA.Files.Sidebar.setActiveTab('comments')
await window.OCA.Files.Sidebar.open(nodes[0].path)
const sidebar = getSidebar()
sidebar.open(nodes[0], 'comments')
return null
} catch (error) {
logger.error('Error while opening sidebar', { error })
+16 -8
View File
@@ -1,8 +1,10 @@
/**
/*!
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { INode } from '@nextcloud/files'
import moment from '@nextcloud/moment'
import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue, { type ComponentPublicInstance } from 'vue'
@@ -19,7 +21,7 @@ let ActivityTabPluginInstance
*/
export function registerCommentsPlugins() {
window.OCA.Activity.registerSidebarAction({
mount: async (el, { fileInfo, reload }) => {
mount: async (el: HTMLElement, { node, reload }: { node: INode, reload: () => void }) => {
const pinia = createPinia()
if (!ActivityTabPluginView) {
@@ -32,10 +34,10 @@ export function registerCommentsPlugins() {
pinia,
propsData: {
reloadCallback: reload,
resourceId: fileInfo.id,
resourceId: node.fileid,
},
})
logger.info('Comments plugin mounted in Activity sidebar action', { fileInfo })
logger.info('Comments plugin mounted in Activity sidebar action', { node })
},
unmount: () => {
// destroy previous instance if available
@@ -45,9 +47,15 @@ export function registerCommentsPlugins() {
},
})
window.OCA.Activity.registerSidebarEntries(async ({ fileInfo, limit, offset }) => {
const { data: comments } = await getComments({ resourceType: 'files', resourceId: fileInfo.id }, { limit, offset })
logger.debug('Loaded comments', { fileInfo, comments })
window.OCA.Activity.registerSidebarEntries(async ({ node, limit, offset }: { node: INode, limit?: number, offset?: number }) => {
const { data: comments } = await getComments(
{ resourceType: 'files', resourceId: node.fileid },
{
limit,
offset: offset ?? 0,
},
)
logger.debug('Loaded comments', { node, comments })
const { default: CommentView } = await import('./views/ActivityCommentEntry.vue')
// @ts-expect-error Types are broken for Vue2
const CommentsViewObject = Vue.extend(CommentView)
@@ -62,7 +70,7 @@ export function registerCommentsPlugins() {
el: element,
propsData: {
comment,
resourceId: fileInfo.id,
resourceId: node.fileid,
reloadCallback: reload,
},
})
-59
View File
@@ -1,59 +0,0 @@
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
import { getCSPNonce } from '@nextcloud/auth'
import { loadState } from '@nextcloud/initial-state'
import { registerCommentsPlugins } from './comments-activity-tab.ts'
// @ts-expect-error __webpack_nonce__ is injected by webpack
__webpack_nonce__ = getCSPNonce()
if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {
// Do not mount own tab but mount into activity
window.addEventListener('DOMContentLoaded', function() {
registerCommentsPlugins()
})
} else {
// Init Comments tab component
let TabInstance = null
const commentTab = new OCA.Files.Sidebar.Tab({
id: 'comments',
name: t('comments', 'Comments'),
iconSvg: MessageReplyText,
async mount(el, fileInfo, context) {
if (TabInstance) {
TabInstance.$destroy()
}
TabInstance = new OCA.Comments.View('files', {
// Better integration with vue parent component
parent: context,
propsData: {
resourceId: fileInfo.id,
},
})
// Only mount after we have all the info we need
await TabInstance.update(fileInfo.id)
TabInstance.$mount(el)
},
update(fileInfo) {
TabInstance.update(fileInfo.id)
},
destroy() {
TabInstance.$destroy()
TabInstance = null
},
scrollBottomReached() {
TabInstance.onScrollBottomReached()
},
})
window.addEventListener('DOMContentLoaded', function() {
if (OCA.Files && OCA.Files.Sidebar) {
OCA.Files.Sidebar.registerTab(commentTab)
}
})
}
+48
View File
@@ -0,0 +1,48 @@
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
import { getCSPNonce } from '@nextcloud/auth'
import { registerSidebarTab } from '@nextcloud/files'
import { loadState } from '@nextcloud/initial-state'
import { t } from '@nextcloud/l10n'
import wrap from '@vue/web-component-wrapper'
import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import { registerCommentsPlugins } from './comments-activity-tab.ts'
__webpack_nonce__ = getCSPNonce()
const tagName = 'comments_files-sidebar-tab'
if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {
// Do not mount own tab but mount into activity
window.addEventListener('DOMContentLoaded', function() {
registerCommentsPlugins()
})
} else {
registerSidebarTab({
id: 'comments',
displayName: t('comments', 'Comments'),
iconSvgInline: MessageReplyText,
order: 50,
tagName,
async onInit() {
const { default: FilesSidebarTab } = await import('./views/FilesSidebarTab.vue')
Vue.use(PiniaVuePlugin)
Vue.mixin({ pinia: createPinia() })
const webComponent = wrap(Vue, FilesSidebarTab)
// In Vue 2, wrap doesn't support disabling shadow. Disable with a hack
Object.defineProperty(webComponent.prototype, 'attachShadow', {
value() { return this },
})
Object.defineProperty(webComponent.prototype, 'shadowRoot', {
get() { return this },
})
window.customElements.define(tagName, webComponent)
},
})
}
+4 -3
View File
@@ -1,8 +1,9 @@
import { getCurrentUser } from '@nextcloud/auth'
/**
/*!
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { getCurrentUser } from '@nextcloud/auth'
import axios from '@nextcloud/axios'
import { loadState } from '@nextcloud/initial-state'
import { generateOcsUrl } from '@nextcloud/router'
@@ -32,7 +33,7 @@ export default defineComponent({
},
methods: {
/**
* Autocomplete @mentions
* Autocomplete `@mentions`
*
* @param search the query
* @param callback the callback to process the results with
@@ -0,0 +1,32 @@
<!--
- SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
<script setup lang="ts">
import type { IFolder, INode, IView } from '@nextcloud/files'
import { computed } from 'vue'
import Comments from './Comments.vue'
const props = defineProps<{
node?: INode
// eslint-disable-next-line vue/no-unused-properties -- Required on the web component interface
active?: boolean
// eslint-disable-next-line vue/no-unused-properties -- Required on the web component interface
folder?: IFolder
// eslint-disable-next-line vue/no-unused-properties -- Required on the web component interface
view?: IView
}>()
const resourceId = computed(() => props.node?.fileid)
</script>
<template>
<Comments
v-if="resourceId !== undefined"
:key="resourceId"
:resource-id="resourceId"
resource-type="files" />
</template>
@@ -26,7 +26,7 @@ use Test\TestCase;
*
* @package OCA\Comments\Tests\Unit\AppInfo
*/
#[\PHPUnit\Framework\Attributes\Group('DB')]
#[\PHPUnit\Framework\Attributes\Group(name: 'DB')]
class ApplicationTest extends TestCase {
protected function setUp(): void {
parent::setUp();
@@ -27,7 +27,7 @@ class CommentersSorterTest extends TestCase {
/**
* @param $data
*/
#[\PHPUnit\Framework\Attributes\DataProvider('sortDataProvider')]
#[\PHPUnit\Framework\Attributes\DataProvider(methodName: 'sortDataProvider')]
public function testSort($data): void {
$commentMocks = [];
foreach ($data['actors'] as $actorType => $actors) {
@@ -61,7 +61,7 @@ class EventHandlerTest extends TestCase {
];
}
#[\PHPUnit\Framework\Attributes\DataProvider('handledProvider')]
#[\PHPUnit\Framework\Attributes\DataProvider(methodName: 'handledProvider')]
public function testHandled(string $eventType): void {
/** @var IComment|MockObject $comment */
$comment = $this->createMock(IComment::class);
@@ -51,7 +51,7 @@ class ListenerTest extends TestCase {
* @param string $eventType
* @param string $notificationMethod
*/
#[\PHPUnit\Framework\Attributes\DataProvider('eventProvider')]
#[\PHPUnit\Framework\Attributes\DataProvider(methodName: 'eventProvider')]
public function testEvaluate(string $eventType, $notificationMethod): void {
/** @var IComment|MockObject $comment */
$comment = $this->createMock(IComment::class);
@@ -111,7 +111,7 @@ class ListenerTest extends TestCase {
$this->listener->evaluate($event);
}
#[\PHPUnit\Framework\Attributes\DataProvider('eventProvider')]
#[\PHPUnit\Framework\Attributes\DataProvider(methodName: 'eventProvider')]
public function testEvaluateNoMentions(string $eventType): void {
/** @var IComment|MockObject $comment */
$comment = $this->createMock(IComment::class);
+2 -2
View File
@@ -9,7 +9,7 @@
<name>Contacts Interaction</name>
<summary>Manages interaction between accounts and contacts</summary>
<description>Collect data about accounts and contacts interactions and provide an address book for the data</description>
<version>1.14.1</version>
<version>1.15.0</version>
<licence>agpl</licence>
<author>Christoph Wurst</author>
<author homepage="https://github.com/nextcloud/groupware">Nextcloud Groupware Team</author>
@@ -21,7 +21,7 @@
<category>social</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<background-jobs>
<job>OCA\ContactsInteraction\BackgroundJob\CleanupJob</job>
+3 -1
View File
@@ -2,6 +2,8 @@ OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "Nedavno kontaktiran",
"Contacts Interaction" : "Interakcija kontakata"
"Contacts Interaction" : "Interakcija kontakata",
"Manages interaction between accounts and contacts" : "Upravlja interakcijom između računa i kontakata",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Prikuplja podatke o interakcijama između računa i kontakata te pruža adresar za te podatke"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
+3 -1
View File
@@ -1,5 +1,7 @@
{ "translations": {
"Recently contacted" : "Nedavno kontaktiran",
"Contacts Interaction" : "Interakcija kontakata"
"Contacts Interaction" : "Interakcija kontakata",
"Manages interaction between accounts and contacts" : "Upravlja interakcijom između računa i kontakata",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Prikuplja podatke o interakcijama između računa i kontakata te pruža adresar za te podatke"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}
+9
View File
@@ -0,0 +1,9 @@
OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "Baru-baru ini dihubungi",
"Contacts Interaction" : "Interaksi Kontak",
"Manages interaction between accounts and contacts" : "Mengelola interaksi antara akun dan kontak",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Mengumpulkan data tentang interaksi akun dan kontak serta menyediakan buku alamat untuk data tersebut"
},
"nplurals=1; plural=0;");
+7
View File
@@ -0,0 +1,7 @@
{ "translations": {
"Recently contacted" : "Baru-baru ini dihubungi",
"Contacts Interaction" : "Interaksi Kontak",
"Manages interaction between accounts and contacts" : "Mengelola interaksi antara akun dan kontak",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Mengumpulkan data tentang interaksi akun dan kontak serta menyediakan buku alamat untuk data tersebut"
},"pluralForm" :"nplurals=1; plural=0;"
}
@@ -17,7 +17,7 @@ use Sabre\VObject\Component\VCard;
use Sabre\VObject\UUIDUtil;
use Test\TestCase;
#[\PHPUnit\Framework\Attributes\Group('DB')]
#[\PHPUnit\Framework\Attributes\Group(name: 'DB')]
class RecentContactMapperTest extends TestCase {
private RecentContactMapper $recentContactMapper;
private ITimeFactory $time;
+2 -2
View File
@@ -12,7 +12,7 @@
The Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking.]]>
</description>
<version>7.13.0</version>
<version>7.14.0</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Dashboard</namespace>
@@ -22,7 +22,7 @@ The Nextcloud Dashboard is your starting point of the day, giving you an overvie
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<navigations>
+4
View File
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Nadzorna ploča",
"Dashboard app" : "Nadzorna ploča aplikacije",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Započnite dan informirani\n\nNextcloud nadzorna ploča vaša je početna točka dana i pruža vam pregled nadolazećih termina, hitnih e-poruka, poruka u chatu, dolaznih tiketa, najnovijih tweetova i još mnogo toga! Korisnici mogu dodavati widgete koji im odgovaraju i prilagoditi pozadinu prema vlastitim željama.",
"Weather" : "Vrijeme",
"Status" : "Status",
"Good morning" : "Dobro jutro",
@@ -13,10 +14,13 @@ OC.L10N.register(
"Good evening, {name}" : "Dobar dan, {name}",
"Hello" : "Pozdrav",
"Hello, {name}" : "Pozdrav, {name}",
"Happy birthday 🥳🤩🎂🎉" : "Sretan rođendan 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Sretan rođendan, {name} 🥳🤩🎂🎉",
"Customize" : "Uredi",
"Edit widgets" : "Uredi widgete",
"Get more widgets from the App Store" : "Nabavite više widgeta iz trgovine aplikacijama",
"Weather service" : "Davatelj vremenske prognoze",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Radi vaše privatnosti, podatke o vremenu u vaše ime dohvaća vaš {productName} poslužitelj, tako da vremenska usluga ne prima nikakve osobne podatke.",
"Weather data from Met.no" : "Podaci o vremenskoj prognozi iz Met.no",
"geocoding with Nominatim" : "geokodiranje uz Nominatim",
"elevation data from OpenTopoData" : "podaci o nadmorskoj visini iz OpenTopoData",
+4
View File
@@ -1,6 +1,7 @@
{ "translations": {
"Dashboard" : "Nadzorna ploča",
"Dashboard app" : "Nadzorna ploča aplikacije",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Započnite dan informirani\n\nNextcloud nadzorna ploča vaša je početna točka dana i pruža vam pregled nadolazećih termina, hitnih e-poruka, poruka u chatu, dolaznih tiketa, najnovijih tweetova i još mnogo toga! Korisnici mogu dodavati widgete koji im odgovaraju i prilagoditi pozadinu prema vlastitim željama.",
"Weather" : "Vrijeme",
"Status" : "Status",
"Good morning" : "Dobro jutro",
@@ -11,10 +12,13 @@
"Good evening, {name}" : "Dobar dan, {name}",
"Hello" : "Pozdrav",
"Hello, {name}" : "Pozdrav, {name}",
"Happy birthday 🥳🤩🎂🎉" : "Sretan rođendan 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Sretan rođendan, {name} 🥳🤩🎂🎉",
"Customize" : "Uredi",
"Edit widgets" : "Uredi widgete",
"Get more widgets from the App Store" : "Nabavite više widgeta iz trgovine aplikacijama",
"Weather service" : "Davatelj vremenske prognoze",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Radi vaše privatnosti, podatke o vremenu u vaše ime dohvaća vaš {productName} poslužitelj, tako da vremenska usluga ne prima nikakve osobne podatke.",
"Weather data from Met.no" : "Podaci o vremenskoj prognozi iz Met.no",
"geocoding with Nominatim" : "geokodiranje uz Nominatim",
"elevation data from OpenTopoData" : "podaci o nadmorskoj visini iz OpenTopoData",

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