Compare commits

...

655 Commits

Author SHA1 Message Date
nfebe 8bf8b01bac feat: add /remove-skip-ci command for backport workflows
The existing /compile amend command removes [skip ci] but merges the
compile step with the changes themselves which is not ideal to maintain
a cleaner history. Sometimes GitHub reviews are sufficient to confirm a
backport without need to pull and ammend locally in the case where the developer
prefers not to squash the compile step.

This new command allows removing [skip ci] from commits without
triggering asset compilation.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-30 13:25:09 +01:00
Marcel Klehr 99d6276826 Merge pull request #55713 from nextcloud/feat/taskprocessing/user-facing-error-message
feat(TaskProcessing): user-facing error messages
2025-10-30 12:29:43 +01:00
Daniel 4ecd21784b Merge pull request #56090 from nextcloud/fix/mailer/log-errors
fix(Mailer): Log errors
2025-10-30 12:02:29 +01:00
Marcel Klehr b5f057cdbc fix: Fix psalm issue
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-30 10:49:28 +01:00
Marcel Klehr 8207afb7db fix: Use UserFacingProcessingException properly in tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-30 10:40:11 +01:00
Marcel Klehr 1c33239e06 fix: autoloaderchecker
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-30 10:29:17 +01:00
Marcel Klehr d04d575ed3 Merge branch 'master' into feat/taskprocessing/user-facing-error-message
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-30 10:13:39 +01:00
Marcel Klehr 3ee6999682 fix: Use substr to cut error messages
This allows for cutting them to longer lengths

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-30 10:07:57 +01:00
provokateurin d8294a8531 fix(Mailer): Log errors
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-30 08:42:12 +01:00
dependabot[bot] da13836617 Merge pull request #56004 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/babel/preset-typescript-7.28.5 2025-10-30 07:10:41 +00:00
Nextcloud bot 5ebb816d8b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-30 00:13:15 +00:00
dependabot[bot] 50d825d979 build(deps-dev): bump @babel/preset-typescript in /build/frontend-legacy
Bumps [@babel/preset-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript) from 7.27.1 to 7.28.5.
- [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.5/packages/babel-preset-typescript)

---
updated-dependencies:
- dependency-name: "@babel/preset-typescript"
  dependency-version: 7.28.5
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-29 21:27:40 +01:00
dependabot[bot] 9e1ed7078f Merge pull request #56002 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/p-limit-7.2.0 2025-10-29 20:27:12 +00:00
dependabot[bot] 91db72cf8a Merge pull request #55995 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.2.5 2025-10-29 19:22:29 +00:00
nextcloud-command 493d750c84 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-29 15:43:46 +00:00
dependabot[bot] e27f78a7fc build(deps): bump p-limit from 7.1.1 to 7.2.0 in /build/frontend-legacy
Dependabot couldn't find the original pull request head commit, 054e51c5527e0dbe053ed62841c77da0f68fb103.
2025-10-29 14:44:38 +00:00
Andy Scherzinger f06168f6c4 Merge pull request #55931 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/p-queue-9.0.0
build(deps): bump p-queue from 8.1.1 to 9.0.0 in /build/frontend-legacy
2025-10-29 13:19:40 +01:00
nextcloud-command 2fc4fac60d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-29 11:13:03 +00:00
dependabot[bot] 2b1772cef9 build(deps): bump p-queue from 8.1.1 to 9.0.0 in /build/frontend-legacy
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 8.1.1 to 9.0.0.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v8.1.1...v9.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-29 11:09:53 +00:00
John Molakvoæ 9e321297f9 Merge pull request #56074 from nextcloud/fix/token-log 2025-10-29 10:02:13 +01:00
nextcloud-command 1b0a5a8044 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-29 08:52:28 +00:00
skjnldsv fae59e8569 fix(core): token change logging
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-29 08:49:28 +00:00
John Molakvoæ 52a9940255 Merge pull request #55728 from nextcloud/feat/snowflakeIds 2025-10-29 09:11:34 +01:00
dependabot[bot] ea998d93b0 build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.2.3 to 2.2.5.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.2.3...2.2.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-29 07:27:15 +01:00
Nextcloud bot 445cce4ed8 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-29 00:13:46 +00:00
Andy Scherzinger d91908bb96 Merge pull request #55829 from nextcloud/fix/ocm-probe-newer-endpoint
fix(ocm): probe standardized .well-known endpoint
2025-10-28 22:26:28 +01:00
dependabot[bot] a836c8c034 Merge pull request #56003 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.25 2025-10-28 20:40:23 +00:00
nextcloud-command 107ad04481 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-28 20:55:44 +01:00
dependabot[bot] 37520fca89 build(deps): bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.24 to 1.12.25.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.24...v1.12.25)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-28 20:55:44 +01:00
dependabot[bot] 0cbbad74a8 Merge pull request #56005 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/types/dockerode-3.3.45 2025-10-28 19:35:44 +00:00
dependabot[bot] b3abc41c4e Merge pull request #56006 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/vite-7.1.12 2025-10-28 18:00:18 +00:00
Ferdinand Thiessen 4b5494c5ba Merge pull request #55575 from nextcloud/fix/drag-drop-error
fix(files): make sure drag-and-drop and the upload menu behaves the same
2025-10-28 18:16:05 +01:00
Carl Schwan 336cc3fa35 feat(Db): Use SnowflakeId for previews
Allow to get an id for the storing the preview on disk before inserting
the preview on the DB.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-28 17:50:03 +01:00
Benjamin Gaussorgues c9b055a0d0 feat(database): introduce Snowflake IDs generator
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-10-28 17:50:03 +01:00
Daniel 7a3ed09822 Merge pull request #55906 from nextcloud/fix/taskprocessing-tests
fix: Use proper userId in taskprocessing trigger tests
2025-10-28 17:41:44 +01:00
Ferdinand Thiessen b5b81449a8 Merge pull request #56038 from nextcloud/chore/update-codeowners
chore: update codeowners
2025-10-28 17:14:48 +01:00
Ferdinand Thiessen 144e864806 Merge pull request #56033 from nextcloud/fix/cache-key
fix(Memcache): ensure global prefix depends on enabled apps
2025-10-28 17:03:49 +01:00
Ferdinand Thiessen 9bc56bd02d chore: update codeowners
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-28 16:20:38 +01:00
nextcloud-command 119ba0d887 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-28 15:17:26 +00:00
Ferdinand Thiessen d6925b6b79 fix(files): make sure drag-and-drop and the upload menu behaves the same
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-28 16:08:43 +01:00
Ferdinand Thiessen e4f06e102f Merge pull request #56034 from nextcloud/enh/noid/appmanager-upgrade-info-log
enh(AppManager): log which apps requires the upgrade procedure
2025-10-28 15:52:28 +01:00
Micke Nordin 111fa240bc fix(ocm): probe standardized .well-known endpoint
- Add `.well-known/ocm` to remote endpoint discovery checks.
- Improves compatibility with newer OCM deployments when probing remote servers.

Signed-off-by: Micke Nordin <kano@sunet.se>
2025-10-28 15:18:52 +01:00
Andy Scherzinger 4174c580b3 Merge pull request #55471 from SUNET/kano-ocm-discovery
fix(OCM): align parameter naming with spec and extend OCMProvider
2025-10-28 14:52:04 +01:00
dependabot[bot] 2addf7b6bd Merge pull request #56001 from nextcloud/dependabot/npm_and_yarn/types/dockerode-3.3.45 2025-10-28 13:49:56 +00:00
Joas Schilling bd886170a7 Merge pull request #56037 from nextcloud/chore/cypress-split-random
chore: use different cypress-split seed per PR
2025-10-28 13:52:23 +01:00
Sebastian Krupinski 59c9aada8d Merge pull request #52882 from nextcloud/fix/issue-6838-use-old-event-information-when-new-is-missing
fix(CalDav): use old event information if new is missing
2025-10-28 08:38:08 -04:00
dependabot[bot] 32fef60c7d build(deps-dev): bump vite in /build/frontend-legacy
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.8 to 7.1.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.1.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.12/packages/vite)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-28 12:20:47 +00:00
Maxence Lange 4b274a858e Merge pull request #55830 from nextcloud/fix/noid/lazy-from-construct
fix(files-external): do not load lazy appconfig from construct
2025-10-28 10:29:26 -01:00
Joas Schilling be1af13323 Merge pull request #55990 from nextcloud/bump/lognormalizer
build: Bump log normalizer to 2.0.0
2025-10-28 08:23:53 +01:00
Nextcloud bot f8d1d7fd35 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-28 00:13:44 +00:00
dependabot[bot] 4b9ebe43b0 Merge pull request #55999 from nextcloud/dependabot/npm_and_yarn/vite-7.1.12 2025-10-27 22:16:57 +00:00
Ferdinand Thiessen 21a34287a9 chore: use different cypress-split seed per PR
This allows:
1. detect tests that depend on each other
2. reduces places where test fail because only the expensive tests are
   queued next to each other.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 23:16:09 +01:00
Ferdinand Thiessen 206b61b861 Merge pull request #55882 from nextcloud/chore/rector-phpunit-11
refactor: apply rector rules for PHPUnit 10
2025-10-27 23:15:36 +01:00
Ferdinand Thiessen c99d27436f chore: adjust duplicated use in User_LDAPTest
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 21:56:04 +01:00
Ferdinand Thiessen 7f125551f5 chore: migrate @small and @medium to attributes
Both are basically special groups, which we do not use.
But they also had a special meaning in the past which now only works
when set on the test class: They set the test timeout.

So for `@small` we just remove them, for `@medium` we remove where not
needed but keep it on the class where the full test class might make use
of the adjusted timeout.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 21:56:04 +01:00
Ferdinand Thiessen d6d6747a73 refactor: apply rector rules for PHPUnit 10
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 21:56:04 +01:00
Ferdinand Thiessen 8f74228147 chore: Nextcloud 32 is PHP 8.2+
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 21:56:04 +01:00
nextcloud-command f55d77f9a0 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-27 20:47:31 +00:00
dependabot[bot] 0beae74e20 build(deps-dev): bump vite from 7.1.11 to 7.1.12
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.11 to 7.1.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.1.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.12/packages/vite)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 20:36:00 +00:00
Andy Scherzinger adc20122c8 Merge pull request #56019 from nextcloud/style/noid/outlineShareExpiryIcon
Replace icon with outline variant
2025-10-27 19:11:36 +01:00
Arthur Schiwon ab9a92fac8 feat(AppManager): log which apps requires the upgrade procedure
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-27 18:05:00 +01:00
nextcloud-command 91e07ab274 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-27 16:54:14 +00:00
Joas Schilling 2ec7fa88cc fix(log): Fix call to normalize function
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-27 16:46:10 +01:00
Joas Schilling 44b4b4072b build: Bump log normalizer to 2.0.0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-27 16:46:09 +01:00
Andy Scherzinger 67b8be5926 style(icons): Replace icon with outline variant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-10-27 16:29:55 +01:00
Ferdinand Thiessen b4d19748fa fix(Memcache): ensure global prefix depends on enabled apps
- ensure the prefix is changed when an app is (dis)enabled
- ensure the app ids are included in the hash instead of only the
  version numbers
- ensure hash is deterministic by always use the same order.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 16:18:24 +01:00
Maxence Lange 07d3f1c313 fix(files-external): do not load lazy appconfig from construct
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-27 13:37:13 -01:00
Joas Schilling 6ef91f0549 Merge pull request #55910 from nextcloud/bugfix/55909/trim-meta-data
fix(bfp): Trim meta data so it can still be stored
2025-10-27 15:11:40 +01:00
Carl Schwan ca47f87359 Merge pull request #56026 from nextcloud/carl/bump-autoloader
chore(composer): Bump autoloader
2025-10-27 14:37:49 +01:00
Ferdinand Thiessen 1d4d6cad29 Merge pull request #55965 from nextcloud/artonge/refactor/port_files_version_to_vue3
refactor(files_versions): Migrate to Vue3
2025-10-27 14:16:22 +01:00
dependabot[bot] ae82824ef5 Merge pull request #55940 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webpack-5.102.1 2025-10-27 12:14:29 +00:00
Carl Schwan 9e77ab44fc chore(composer): Bump autoloader
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-27 13:12:47 +01:00
Ferdinand Thiessen d0e25af1af Merge pull request #55954 from nextcloud/carl/fix-preview2
fix: Fetching previews on Oracle
2025-10-27 13:00:25 +01:00
Micke Nordin a171fbf318 fix(cloud-federation-api): align inviteAccepted parameter naming with spec
- Rename method parameter from `userId` to `userID`.
- Update log message and `setRecipientUserId` call to use new variable.
- Without this change, we can not accept invites.

Signed-off-by: Micke Nordin <kano@sunet.se>
2025-10-27 12:28:09 +01:00
Micke Nordin 495a01a725 fix(ocm): include provider field in OCMProvider serialization
- Add `provider` to `jsonSerialize()` output of OCMProvider.
- Ensures discovery consumers receive provider identifier along with
  endpoint, version, and resources.

Signed-off-by: Micke Nordin <kano@sunet.se>
2025-10-27 12:28:09 +01:00
Micke Nordin 802a3f5cae fix(ocm): ensure capabilities are set on OCMProvider from discovery data
- Call `setCapabilities()` with `capabilities` field when available.
- Prevents loss of provider capability information during discovery.

Signed-off-by: Micke Nordin <kano@sunet.se>
2025-10-27 12:28:09 +01:00
Andy Scherzinger 18d0f3322e Merge pull request #56018 from nextcloud/chore/noid/dependabotRemoveStable30
Remove stable30 from dependabot
2025-10-27 09:30:16 +01:00
Andy Scherzinger cc1d5a2405 chore(deps): Remove stable30 from dependabot
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-10-27 08:47:09 +01:00
Nextcloud bot 5d51ac0308 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-26 00:13:19 +00:00
Joas Schilling bc1b17faa2 Merge pull request #55989 from nextcloud/bugfix/noid/harden-profiler-write
fix(profiler): Harden profiler writes
2025-10-25 22:25:54 +02:00
dependabot[bot] 9a3e3e6067 build(deps-dev): bump @types/dockerode in /build/frontend-legacy
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 3.3.44 to 3.3.45.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dockerode)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-25 01:22:04 +00:00
dependabot[bot] 59ab0b1fb0 build(deps-dev): bump @types/dockerode from 3.3.44 to 3.3.45
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 3.3.44 to 3.3.45.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dockerode)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-25 01:18:58 +00:00
Nextcloud bot 3061fbaea8 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-25 00:13:33 +00:00
Louis Chmn 8dc64d794c refactor(files_versions): Migrate to Vue3
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-24 17:46:44 +02:00
Louis Chmn 2103410dac fix(files): Add Sidebar.Tab type in global context
And use proper optional argument syntax for its constructor

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-24 16:54:13 +02:00
Louis Chmn 5f1e13b70b feat(files): Improve legacy file info typing
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-24 16:54:13 +02:00
Joas Schilling a65207abd9 fix(profiler): Harden profiler writes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-24 15:23:20 +02:00
Daniel 1f9f41a079 Merge pull request #55306 from nextcloud/bug/noid/validate-filename-when-creating-file-from-template
Validate filename when creating file from template
2025-10-24 12:52:44 +02:00
dependabot[bot] 3bcdf10a41 build(deps-dev): bump webpack in /build/frontend-legacy
Bumps [webpack](https://github.com/webpack/webpack) from 5.102.0 to 5.102.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.102.0...v5.102.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.102.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-24 12:28:21 +02:00
Joas Schilling 16088cd827 Merge pull request #55819 from nextcloud/bugfix/noid/allow-federation-with-ocis-cloudids
fix(federation): Allow outgoing and incoming federation with oCIS federated cloud ids
2025-10-24 11:55:46 +02:00
Maksim Sukharev 802d93ec62 Merge pull request #55963 from nextcloud/fix/noid/new-user-deselect-group 2025-10-24 11:24:52 +02:00
nextcloud-command e0227e1fe9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-24 08:55:21 +00:00
Maksim Sukharev ed4e7c781c fix(NewUserDialog): allow to deselect a group from the list
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-10-24 08:52:19 +00:00
John Molakvoæ 1a99477b4f Merge pull request #55916 from nextcloud/fix/mimetypes 2025-10-24 08:32:15 +02:00
Nextcloud bot e18d9deaf7 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-24 00:13:35 +00:00
Daniel Kesselberg 6e04437de6 fix: validate filename when creating file from template
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-24 01:05:48 +02:00
Louis 1b22ca25da Merge pull request #55908 from nextcloud/revert-trashbin-expiration-change
Revert trashbin expiration handling in #55742
2025-10-23 23:56:09 +02:00
Thomas Citharel b44f35a42a refactor(trashbin): get expiration class directly from Server::get
instead of going through Application container

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-23 23:20:10 +02:00
Thomas Citharel 05d5fdb429 fix(trashbin): include $availableSpace = 0 in checks when we need to delete expired files
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-23 23:20:10 +02:00
Thomas Citharel 29d72bfb32 revert(trashbin): 195d347 due to misunderstanding
See https://github.com/nextcloud/documentation/pull/13017#issuecomment-3425782690

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-23 23:20:10 +02:00
F. E Noel Nfebe ed1647b80d Merge pull request #55251 from nextcloud/fix/federated-share-hide-download
fix(sharing): Allow reasonable control for 'Hide download' on fed shares
2025-10-23 18:37:47 +01:00
nextcloud-command d9e001d29f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-23 15:47:19 +00:00
Ferdinand Thiessen 8519b71bf1 fix(OC\MimeType): use proper webroot if needed
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 15:42:28 +00:00
nfebe 64016898d5 fix(sharing): Allow reasonable control 4 'Hide download' on fed shares
When creating public links from federated shares, users should be able to set
the 'Hide download' option independently as long as they are more restrictive
than the original share permissions.

Previously, the `checkInheritedAttributes` method was ignoring user preferences
and always overriding the hideDownload setting based solely on inherited
permissions, preventing users from disabling downloads even when the parent
share allowed them.

This fix implements some sort of inheritance logic:
- Users can only be MORE restrictive than parent shares, never LESS restrictive
- If parent hides downloads -> child MUST hide downloads (enforced)
- If parent allows downloads -> child can CHOOSE to hide or allow downloads
- If parent forbids downloads entirely -> child cannot enable downloads

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-23 16:09:21 +01:00
Ferdinand Thiessen 52842415fb Merge pull request #55951 from nextcloud/refactor/dav-vue3
refactor(dav): migrate frontend to Typescript and Vue 3
2025-10-23 16:56:07 +02:00
John Molakvoæ 92efa073f0 Merge pull request #55955 from nextcloud/fix/multiple-dav-public-auth 2025-10-23 16:10:29 +02:00
Joas Schilling f236c0acb9 Merge pull request #55891 from nextcloud/chore/sample-config-convert-issue
docs: avoid indention error in converted config
2025-10-23 15:41:19 +02:00
Joas Schilling 48cbedc002 fix(sample-config): Fix syntax of deprecation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-23 15:22:31 +02:00
Carl Schwan 1dc363581f fix: get all available previews on Oracle
Split the DB requests in chunk of 1000 and use INNER JOIN instead of IN
as this is better supported on all DB.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-23 14:10:15 +02:00
Daniel 43aa88326b Merge pull request #55953 from nextcloud/remove-use-of-iappcontainer
refactor(dav): remove use of IAppContainer in favor of ContainerInterface
2025-10-23 13:30:09 +02:00
skjnldsv 9c98b722f4 fix(dav): allow multiple link shares token in session
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-23 13:10:39 +02:00
John Molakvoæ ada3b1a9b9 Merge pull request #55952 from nextcloud/fix/search-fallback 2025-10-23 12:12:10 +02:00
Carl Schwan 9adf6cce55 fix: Fetching previews on Oracle
We need an explicit cast on Oracle as Oracle returns number as string.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-23 09:39:05 +02:00
Thomas Citharel 9d6c5a81c0 refactor(dav): remove use of IAppContainer in favor of ContainerInterface
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-23 09:36:13 +02:00
skjnldsv 89a2cae40d fix: join accounts_data instead of preferences when searching users
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-23 08:59:10 +02:00
Ferdinand Thiessen e91d4af206 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen 3364f18ca0 test(dav): add e2e tests for availability & absence
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen 97b91027da refactor(dav): migrate Settings frontend to Vue 3
- migrate deprecated props
- use direct import of t rather than the mixin

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen e04597d8a1 refactor(dav): migrate ExampleContentDownloadButton to Typescript and script-setup
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen 954cdd4621 refactor(ExampleContentSettingsSection): migrate component to script-setup
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen b856adee88 refactor(dav): migrate UserAvailability to Typescript and script-setup
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen 7bcb1b4a4c refactor(dav): fix single-word component name by renaming view
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen f82269d0d1 refactor(dav): migrate services to Typescript
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen 502ab0e90b refactor(dav): migrate logger to Typescript
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen d4f33b46e9 chore: switch back to rollup-vite
rolldown is blocked by https://github.com/rolldown/rolldown/issues/6670

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:46 +02:00
Ferdinand Thiessen 372ac8ad78 chore: adjust Vue 3 based frontend vite config for multiple apps
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 05:21:45 +02:00
Ferdinand Thiessen 5cb16af66e Merge pull request #55943 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/wait-on-9.0.1
build(deps-dev): bump wait-on from 8.0.5 to 9.0.1 in /build/frontend-legacy
2025-10-23 02:32:20 +02:00
Nextcloud bot 9f05a0987d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-23 00:27:08 +00:00
dependabot[bot] 0216315de6 Merge pull request #55941 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/zip.js/zip.js-2.8.8 2025-10-23 00:13:49 +00:00
Ferdinand Thiessen 2ccba8f476 chore(legacy): remove @zip.js/zip.js only used by root package
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 01:46:50 +02:00
Ferdinand Thiessen a4f60bc07b chore: remove wait-on only used by root package
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-23 01:42:00 +02:00
dependabot[bot] c2f087d348 Merge pull request #55935 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.24 2025-10-22 21:28:35 +00:00
dependabot[bot] d55fa5061c build(deps-dev): bump wait-on in /build/frontend-legacy
Bumps [wait-on](https://github.com/jeffbski/wait-on) from 8.0.5 to 9.0.1.
- [Release notes](https://github.com/jeffbski/wait-on/releases)
- [Commits](https://github.com/jeffbski/wait-on/compare/v8.0.5...v9.0.1)

---
updated-dependencies:
- dependency-name: wait-on
  dependency-version: 9.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-22 20:13:07 +00:00
dependabot[bot] 9d0ac7461e build(deps-dev): bump @zip.js/zip.js in /build/frontend-legacy
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.4 to 2.8.8.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.4...v2.8.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-22 20:12:46 +00:00
dependabot[bot] ac37e1fa57 build(deps): bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.23 to 1.12.24.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.23...v1.12.24)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-22 20:11:30 +00:00
Ferdinand Thiessen 86e47d82e8 Merge pull request #55432 from nextcloud/feat/vue3-demi-2
refactor: prepare Vue 3 migration
2025-10-22 22:07:27 +02:00
Ferdinand Thiessen 2369ad9601 Merge pull request #55629 from nextcloud/carl/cleanup-propagator
refactor(IPropagator): Cleanup implementation
2025-10-22 21:50:47 +02:00
Daniel Kesselberg 18531659bc docs: avoid indention error in converted config
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-22 18:22:16 +02:00
Ferdinand Thiessen 492a8c3a8b Merge pull request #55907 from nextcloud/carl/fix-preview-object-store
fix(preview): Fix deleting dummy preview in object store
2025-10-22 17:16:14 +02:00
Ferdinand Thiessen 9993f4eefa chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 17:10:29 +02:00
Ferdinand Thiessen 0ba4f5266e refactor(sharebymail): migrate app to Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 17:10:28 +02:00
Ferdinand Thiessen 3c1e9cd99e chore: adjust linter configs for new layout
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 17:10:28 +02:00
Ferdinand Thiessen da5e27917f chore: move icons building from core sources to build helpers
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 17:10:28 +02:00
Ferdinand Thiessen f3383f9f90 chore: split frontend building into legacy Vue 2 and Vue 3
- Built the frontend in separate packages until we migrated everything
  to Vue 3.
- Separate logic into two packages controlled by main package.json

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 17:10:28 +02:00
Joas Schilling 0f183ce8fe fix(bfp): Trim meta data so it can still be stored
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-22 15:45:21 +02:00
Carl Schwan d6889e9220 fix(preview): Fix deleting dummy preview in object store
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-22 15:40:26 +02:00
Marcel Klehr 606b0631d4 fix: Use proper userId in taskprocessing trigger tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-22 15:25:06 +02:00
Ferdinand Thiessen ab551c4c8a chore(Template): allow styles from dist folder
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 14:57:47 +02:00
Ferdinand Thiessen 7978ee82a4 Merge pull request #55885 from nextcloud/chore/e2e-test-server
chore: migrate Cypress to `@nextcloud/e2e-test-server`
2025-10-22 14:34:15 +02:00
Ferdinand Thiessen cfe886a96e chore: replace cypress-delete-downloads-folder with simple implementation
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 12:39:59 +02:00
Ferdinand Thiessen 1082dee5a4 chore: migrate Cypress to @nextcloud/e2e-test-server
- chore: use vite preprocessor for Cypress

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 11:57:17 +02:00
Joas Schilling f050c32e88 Merge pull request #55893 from nextcloud/fix/federation-optional-dependency
fix: Make federation TrustedServers dependency optional in RemotePlugin
2025-10-22 10:54:25 +02:00
Joas Schilling 00a6a73f3f Merge pull request #55827 from nextcloud/fix/ocm-owner-sharing
fix(ocm-sharing): The owner needs to be set for sharing to work
2025-10-22 10:26:36 +02:00
Micke Nordin f7dcd1d71b fix(ocm-sharing): The owner needs to be set for sharing to work
The specification says that the display name is optional and can thus
be empty, and in fact it is from oCIS and CERNBox shares.

The correct thing to set is the required opaque id from the remote
provider, the `owner` which will allways be there.

Signed-off-by: Micke Nordin <kano@sunet.se>
2025-10-22 08:54:39 +02:00
Ferdinand Thiessen 9290922a72 Merge pull request #55892 from nextcloud/tests/cypress-filter
test: adjust cypress tests for changes filter behavior
2025-10-22 08:49:50 +02:00
Louis f2eb772e7b Merge pull request #55796 from nextcloud/artonge/fix/hide_non_writable_nodes
fix(FilesPicker): Prevent selection of nodes without create permission
2025-10-22 07:18:00 +02:00
Nextcloud bot 61754a1b8f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-22 00:12:27 +00:00
nfebe 3276aff83c fix: Make federation TrustedServers dependency optional in RemotePlugin
The federation app is not always installed, causing QueryException when
`OCA\Federation\TrustedServers` is injected as a hard dependency.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-22 00:19:31 +02:00
nextcloud-command 58e9be7e81 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-21 20:30:08 +00:00
nextcloud-command c627561a6e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-21 20:27:23 +00:00
Louis Chmn 58a9fdad52 chore(deps): Bump @nextcloud/dialogs to v7.1.0
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-21 20:27:22 +00:00
Louis Chmn 7b8463e93a fix(FilePicker): Modernise dav imports
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-21 20:27:22 +00:00
Louis Chmn cb062d2691 fix(FilesPicker): Prevent selection of nodes without create permission
And remove the disable callback for the button as it is not needed anymore.

This gives a better experience as the nodes do not have a pointer for cursor, and the submit button does not react when clicking on them.

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-21 20:27:22 +00:00
Ferdinand Thiessen 0587860c7a Merge pull request #55834 from nextcloud/artonge/doc/improve_trashbin_config
docs(trashbin): Improve clarity of files retention config
2025-10-21 22:16:55 +02:00
F. E Noel Nfebe 87b94c7f52 Merge pull request #55580 from nextcloud/fix/share-permissions-password-validation
fix(files_sharing): Only send password on change
2025-10-21 22:08:17 +02:00
Ferdinand Thiessen 81718a035a test: adjust cypress tests for changes filter behavior
In https://github.com/nextcloud/server/issues/53038 we changed the
behavior: The filename filter is reset when changing the directory.
So we need to also adjust the Cypress tests.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-21 19:38:20 +02:00
Nextcloud bot 43de6b82ac fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-21 16:52:04 +00:00
Louis Chmn c5c6c7de2b fix(trashbin): Improve clarity of files retention config
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-21 18:27:24 +02:00
nextcloud-command ad745da3ca chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-21 16:05:20 +00:00
nfebe a28834b163 fix(files_sharing): Only send password on change
The password param should never be sent if the intention is not
remove it or update it.

This commit adapts the frontend and backend to this rule to avoid weird bugs
especially around updating new shares.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-21 16:54:55 +01:00
Côme Chilliet 30b5f00b0d Merge pull request #49578 from nextcloud/fix-updater-secret
fix(updater): Stop expiring secret prematurely
2025-10-21 16:26:13 +02:00
Maxence Lange 11de3cf0a7 Merge pull request #55864 from nextcloud/fix/noid/tmp-switch-to-non-lazy
fix(lexicon): switch bool value to non-lazy
2025-10-21 11:18:33 -01:00
Nextcloud bot 58f3ff0e0e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-21 10:51:50 +00:00
Maxence Lange 1329091836 fix(lexicon): remove default lazy param
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-21 09:27:41 -01:00
Maxence Lange edfc339bf5 fix(lexicon): switch bool value to non-lazy
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-21 09:27:40 -01:00
Louis Chmn 7f3ef27cd5 refactor: adjust updater code to match code style
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-21 12:20:34 +02:00
Andy Scherzinger 4696524c9c Merge pull request #55863 from nextcloud/fix/noid/execute-lexicon-repair-step
fix(lexicon): execute repair step
2025-10-21 11:53:32 +02:00
Stephan Orbaugh d49dc7ee16 Merge pull request #55676 from IONOS-Productivity/feature/add_tests_to_settings_delegation
Add unit tests for AdminDelegation command and AuthorizedGroupService
2025-10-21 11:34:10 +02:00
Josh Richards f600f26391 fix(updater): Stop expiring secret prematurely
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2025-10-21 11:06:54 +02:00
John Molakvoæ 7fca1c87ee Merge pull request #55810 from nextcloud/skjnldsv-patch-1 2025-10-21 10:13:18 +02:00
John Molakvoæ 1c57699fda Merge pull request #55846 from victorlap/patch-1 2025-10-21 09:35:06 +02:00
Victor 281bbd1db6 feat(files): Add font-variant-numeric to selected files list
Signed-off-by: Victor <victorlap@outlook.com>
2025-10-21 09:19:34 +02:00
John Molakvoæ 365a040dc3 fix: temporarily disable public shares chunking capability
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-21 09:00:48 +02:00
Julius Knorr 332ab743c5 Merge pull request #55730 from nextcloud/fix-translate-on-unsupported-screen
fix: translation on /unsupported screen
2025-10-21 08:34:54 +02:00
Marcel Klehr 43d28f4e5d Merge pull request #55741 from nextcloud/feat/taskprocessing-trigger-aware-provider
feat(TaskProcessing): Introduce ITriggerableProvider
2025-10-21 08:33:52 +02:00
Nextcloud bot 2991526058 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-21 00:12:35 +00:00
dependabot[bot] b703ed2a78 Merge pull request #55869 from nextcloud/dependabot/npm_and_yarn/vite-6.4.1 2025-10-20 20:45:10 +00:00
Luka Trovic f5629b0221 fix: translation on /unsupported screen
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-10-20 22:31:08 +02:00
dependabot[bot] 647cf5172e build(deps): bump vite from 6.3.6 to 6.4.1
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.6 to 6.4.1.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@6.4.1/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 20:22:14 +00:00
dependabot[bot] 5df05111cb Merge pull request #55591 from nextcloud/dependabot/npm_and_yarn/nextcloud/browser-storage-0.5.0 2025-10-20 20:18:56 +00:00
Andy Scherzinger 201af1af4d Merge pull request #55838 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.2.3
build(deps-dev): bump rector/rector from 2.2.2 to 2.2.3 in /vendor-bin/rector
2025-10-20 22:18:49 +02:00
nextcloud-command 5ec0702a11 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-20 16:36:38 +00:00
Maxence Lange 6329bcbcda fix(lexicon): execute repair step
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-20 15:32:18 -01:00
dependabot[bot] 0637f958c8 build(deps): bump @nextcloud/browser-storage from 0.4.0 to 0.5.0
Bumps [@nextcloud/browser-storage](https://github.com/nextcloud-libraries/nextcloud-browser-storage) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-browser-storage/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-browser-storage/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-browser-storage/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/browser-storage"
  dependency-version: 0.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 16:27:16 +00:00
dependabot[bot] cfc72b789c Merge pull request #55837 from nextcloud/dependabot/npm_and_yarn/webpack-5.102.1 2025-10-20 15:42:36 +00:00
nextcloud-command 26d43bd9cf chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-20 14:58:04 +00:00
dependabot[bot] 76d110d21f build(deps-dev): bump webpack from 5.102.0 to 5.102.1
Bumps [webpack](https://github.com/webpack/webpack) from 5.102.0 to 5.102.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.102.0...v5.102.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.102.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 14:26:32 +00:00
Andy Scherzinger 78865e3fc2 Merge pull request #55836 from nextcloud/dependabot/npm_and_yarn/libphonenumber-js-1.12.24
build(deps): bump libphonenumber-js from 1.12.23 to 1.12.24
2025-10-20 16:09:43 +02:00
Marcel Klehr 7f15598083 fix: address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-20 15:59:25 +02:00
Marcel Klehr 6a1501a7d6 fix: address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-20 15:59:25 +02:00
Marcel Klehr 044e92bf4e feat(TaskProcessing): Introduce ITriggerableProvider
Signed-off-by: Marcel Klehr <mklehr@gmx.net>

# Conflicts:
#	lib/private/TaskProcessing/Db/TaskMapper.php
2025-10-20 15:59:25 +02:00
Marcel Klehr 9df303f876 fix: address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-20 15:54:10 +02:00
Joas Schilling 75a1a75d4c fix(federation): Increase the size of owner to allow oCIS cloud ids
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-20 15:38:37 +02:00
Joas Schilling f1f67f428a fix(federation): Allow outgoing federation with oCIS federated cloud ids
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-20 15:38:36 +02:00
Richard Steinmetz 4c17229789 Merge pull request #55628 from nextcloud/fix/dav/remove-invalid-shares-federated-cal-shares
fix(dav): dav:remove-invalid-shares removing federated calendar shares
2025-10-20 13:19:52 +02:00
Misha M.-Kupriyanov 4275825177 chore(tests): make "execute" method in Add command public
to simplify test execution

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-10-20 12:55:17 +02:00
Misha M.-Kupriyanov b0413be681 chore(tests): add unit tests for AdminDelegation command and AuthorizedGroupService
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-10-20 12:55:17 +02:00
max-nextcloud f222324920 Merge pull request #55848 from nextcloud/fix/oc-dialogs-button-variants
fix(dialogs): migrate buttons to variant prop
2025-10-20 11:32:19 +02:00
nextcloud-command 526ff235bd chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-20 08:48:11 +00:00
Côme Chilliet a36ebef1c3 Merge pull request #55742 from nextcloud/fix-trashbin-expiration
fix(trashbin): make sure the trashed files are deleted if we don't have any available space left
2025-10-20 10:47:17 +02:00
dependabot[bot] f7f506e588 build(deps): bump libphonenumber-js from 1.12.23 to 1.12.24
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.23 to 1.12.24.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.23...v1.12.24)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 10:33:09 +02:00
Côme Chilliet 35f9d6f6e0 Merge pull request #55751 from nextcloud/fix/fix-property-objects-serialization
fix(dav): Restrict properties allowed object classes
2025-10-20 10:30:01 +02:00
Côme Chilliet 1686bb61a0 Merge pull request #55719 from nextcloud/fix-object-store-storage-free-space
fix(objectstore): add named parameter for like query in object storage free space detection
2025-10-20 09:37:33 +02:00
Nextcloud bot 96f50c2c94 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-20 00:12:24 +00:00
Nextcloud bot 89cca718c8 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-19 00:12:24 +00:00
nextcloud-command 2985914d5d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-18 18:48:02 +00:00
Max b9d3ad6d00 fix(dialogs): migrate buttons to variant prop
In Nextcloud Vue v8 the `type` prop for dialog buttons
was deprecated and replaces with the `variant` prop.

In v9 the deprecated props are removed.
Use the `variant` prop in the deprecated `OC.dialogs`.

This is a follow up for #55726.

Signed-off-by: Max <max@nextcloud.com>
2025-10-18 20:12:49 +02:00
dependabot[bot] 262a1fc6df build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.2.2...2.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-18 01:09:42 +00:00
Nextcloud bot 6720d7e15c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-18 00:12:28 +00:00
Louis 77194d5232 Merge pull request #54102 from nextcloud/ensure-cloud-key
fix: Ensure CLOUD key exists before resolving Cloud ID
2025-10-17 18:20:59 +02:00
Ferdinand Thiessen 3882e52355 Merge pull request #55377 from nextcloud/dependabot/npm_and_yarn/nextcloud/password-confirmation-6.0.0
build(deps): bump @nextcloud/password-confirmation from 5.3.1 to 6.0.0
2025-10-17 16:25:18 +02:00
Joas Schilling 8e1f19c37e Merge pull request #55395 from nextcloud/fix/noid/return-actually-installed-apps
fix(Apps): fix install command check on existing apps
2025-10-17 16:21:58 +02:00
Ferdinand Thiessen 2e76c31f3a chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-17 13:39:35 +00:00
Ferdinand Thiessen f224d6680b test: adjust cypress tests for updated @nextcloud/password-confirmation
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-17 15:01:10 +02:00
Ferdinand Thiessen b1a7eeaacb refactor: adjust password confirmation for new @nextcloud/package-confirmation package
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-17 15:01:10 +02:00
dependabot[bot] fb49c91ca7 build(deps): bump @nextcloud/password-confirmation from 5.3.1 to 6.0.1
Bumps [@nextcloud/password-confirmation](https://github.com/nextcloud-libraries/nextcloud-password-confirmation) from 5.3.1 to 6.0.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/compare/v.5.3.1...v6.0.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/password-confirmation"
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 15:01:03 +02:00
John Molakvoæ c53a9bfde8 Merge pull request #55820 from nextcloud/chore/deps-browserslist 2025-10-17 13:22:40 +02:00
skjnldsv 4786defcbb chore: bump @nextcloud/browserslist-config from 3.0.1 to 3.1.0
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-17 12:23:20 +02:00
Richard Steinmetz 3813a774e9 fix(dav): dav:remove-invalid-shares removing federated calendar shares
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-10-17 12:10:42 +02:00
Arthur Schiwon 9d63530262 Merge pull request #54429 from nextcloud/feat/noid/cache-ldap-mapping
feat: locally cache frequently requested LDAP mapping data
2025-10-17 12:08:51 +02:00
Arthur Schiwon 49f1c3f00e refactor(LDAP): switch from prepares statement to query builder
- has the advantage that queries will be reported in the query.log when
  configured

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-17 11:09:31 +02:00
Arthur Schiwon 155b75027c feat: locally cache frequently requested LDAP mapping data
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-17 11:09:31 +02:00
Nextcloud bot c316ed655a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-17 00:12:29 +00:00
Maxence Lange 7da7de8409 Merge pull request #55634 from nextcloud/fix/noid/ocm-value-format
fix(ocm): format notifications
2025-10-16 20:17:21 -01:00
dependabot[bot] 324ae80b4e Merge pull request #55680 from nextcloud/dependabot/npm_and_yarn/nextcloud/vue-8.32.0 2025-10-16 21:14:17 +00:00
nextcloud-command d6299f93f5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-16 18:07:05 +00:00
dependabot[bot] 3d08708f13 build(deps): bump @nextcloud/vue from 8.31.0 to 8.32.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.31.0 to 8.32.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.32.0/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.31.0...v8.32.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 19:58:41 +02:00
Ferdinand Thiessen 39dc1185a6 Merge pull request #55799 from nextcloud/fix/dialog-props
fix: migrate to non-deprecated dialog props
2025-10-16 19:41:24 +02:00
nextcloud-command 08eb5879dd chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-16 16:09:41 +00:00
Ferdinand Thiessen 470ff8d3d3 fix: migrate to non-deprecated dialog props
In Nextcloud Vue v8 some props for dialog buttons were deprecated (type
for e.g. primary or nativeType) those are replaced with `variant` and
`type`.
In v9 the deprecated props are removed - thus this breaks with
nextcloud-dialogs v7 which is based on Vue 3.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-16 17:55:11 +02:00
dependabot[bot] 093c95f260 Merge pull request #55681 from nextcloud/dependabot/npm_and_yarn/cypress-split-1.24.24 2025-10-16 15:49:13 +00:00
Maxence Lange b2a6c75b44 fix(ocm): format notifications
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-16 14:30:04 -01:00
Côme Chilliet 28c8ef1306 fix(dav): Allow array of array of scalars, and fix error message
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-16 15:49:07 +02:00
Joas Schilling 6fc190ef4c Merge pull request #55803 from nextcloud/bugfix/55274/dont-fallback-from-3letter-languages-to-2letter
fix(l10n): Don't fallback from 3-letter languages to 2-letter
2025-10-16 13:43:13 +02:00
Joas Schilling 9e4ac50206 fix(l10n): Don't fallback from 3-letter languages to 2-letter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-16 11:46:01 +02:00
Joas Schilling 8b51705b4e Merge pull request #55757 from nextcloud/test/net/localhost-by-ip
test(net): include test for localhost by IP
2025-10-16 11:38:11 +02:00
Marcel Klehr 7320322d52 Merge pull request #55735 from nextcloud/feat/taskprocessing-api-next-batch
feat(TaskProcessingApiController): Add new next_batch endpoint
2025-10-16 09:55:49 +02:00
Arthur Schiwon 84be993633 Merge pull request #55800 from nextcloud/fix/file-drop/chunked-upload
Fix chunked upload for file drop shares
2025-10-16 09:43:22 +02:00
provokateurin 3a242166f7 fix(FilesDropPlugin): Fix request method and nickname header checks
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-16 08:47:28 +02:00
Joas Schilling 3f85bcc69a Merge pull request #55777 from nextcloud/bugfix/55706/fix-sample-config-parsing
fix(sample-config): Fix sample config so parsing works again
2025-10-16 08:32:50 +02:00
Nextcloud bot 9938bc70b7 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-16 00:12:27 +00:00
provokateurin 2201f77aa6 fix(FilesDropPlugin): Fix name conflict resolution for chunked uploads
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-15 23:52:05 +02:00
provokateurin cde80c14d3 fix(FilesDropPlugin): Disable plugin for chunked uploads
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-15 23:52:04 +02:00
provokateurin 5fa4c3d8fd fix(publicremote): Always grant read and delete permission for chunked uploads to a share
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-15 23:37:58 +02:00
Arthur Schiwon 6df6b58e6c Merge pull request #55797 from nextcloud/fixDbType
fix(setupCheck): Fix checking database type
2025-10-15 22:44:35 +02:00
Andy Scherzinger 6266000b99 Merge pull request #55750 from nextcloud/feat/globalscale-url
feat: add new link endpoint when using globalscale
2025-10-15 21:26:48 +02:00
nextcloud-command 92dab6633c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-15 19:00:59 +00:00
Ferdinand Thiessen 7fbc2ca25e feat: add new link endpoint when using globalscale
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-15 18:58:10 +00:00
Git'Fellow 3f976c2548 fix(setupCheck): Fix checking database type
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-10-15 20:15:55 +02:00
Ferdinand Thiessen 50f287402a Merge pull request #55791 from nextcloud/chore/ensure-no-only
chore: ensure no `.only` is commited in test files
2025-10-15 17:57:00 +02:00
Joas Schilling 074d69820f fix(sample-config): Fix more typos that break RST parsing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-15 16:30:49 +02:00
Ferdinand Thiessen 3cf210a9a5 chore: ensure no .only is commited in test files
`.only` is only to be used for development, but must not be committed.
Instead failing tests which should be kept for later should be skipped
(`.skip`).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-15 16:00:01 +02:00
dependabot[bot] ac9ff0d3fa build(deps-dev): bump cypress-split from 1.24.23 to 1.24.24
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.23 to 1.24.24.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.23...v1.24.24)

---
updated-dependencies:
- dependency-name: cypress-split
  dependency-version: 1.24.24
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-15 13:54:49 +00:00
Ferdinand Thiessen 65cdf14667 Merge pull request #55726 from nextcloud/chore/update-dialog-v7
chore: Update `@nextcloud/dialogs` to v7.0.0
2025-10-15 15:51:41 +02:00
Ferdinand Thiessen cc4f8309d0 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-15 14:25:11 +02:00
Ferdinand Thiessen b3762488e8 test: adjust FilePicker tests to new dialogs version
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-15 14:25:10 +02:00
Ferdinand Thiessen 2b39cb49ab refactor: adjust code for breaking changes in @nextcloud/dialogs v7
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-15 13:45:12 +02:00
Ferdinand Thiessen f2b309b6ee chore: Update @nextcloud/dialogs to v7.0.0
This is the first step torwards Vue 3.
As this package is a Vue version agnostic version of dialogs, written in
Vue 3.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-15 13:45:11 +02:00
Marcel Klehr d5220d6a15 Merge pull request #55776 from nextcloud/fix/text2image-better-attributes
fix(TextToImage): Set better attribute for routes
2025-10-15 13:07:50 +02:00
Marcel Klehr 3f527661b1 fix: Create new class instead of extending existing class
to make it easier to use this across nextcloud versions

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 11:20:00 +02:00
Ferdinand Thiessen 0c1be89f1b Merge pull request #55747 from nextcloud/chore/migrate-cypress-vitest
refactor(test): migrate Cypress component test to vitest
2025-10-15 10:55:44 +02:00
Stephan Orbaugh 567a988c6c Merge pull request #55100 from invario/previews-better-logging
feat(previews): improved logging for movie previews
2025-10-15 10:54:09 +02:00
Joas Schilling 0938c5f1ce fix(config-sample): Deduplicate warning
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-15 10:47:29 +02:00
Joas Schilling 5ef933ff6c fix(sample-config): Fix more list, note and warning blocks
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-15 10:45:27 +02:00
Marcel Klehr a5ce35ac84 fix(TextToImage): Set better attribute for routes
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 09:55:30 +02:00
Joas Schilling 126944b346 fix(sample-config): Fix sample config so parsing works again
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-15 09:38:15 +02:00
Marcel Klehr 7619f78aa2 Merge pull request #55732 from nextcloud/fix/text-processing-no-admin-required
fix(TextProcessingApiController): Set better attribute on routes
2025-10-15 09:31:05 +02:00
Marcel Klehr 81bf9f342c fix: regenerate openapi descriptions
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 09:30:12 +02:00
Marcel Klehr 954b140da6 Merge pull request #55716 from nextcloud/feat/taskprocessing-successrate-setupcheck
feat(settings): Introduce TaskProcessingSuccessRate setup check
2025-10-15 09:28:36 +02:00
Nextcloud bot 3aae74236a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-15 00:12:30 +00:00
Daniel d39ae92aaf Merge pull request #54819 from nextcloud/fix/issue-53949-imip-quirks-mode
fix: iMip reply from outlook.com does not contain organizer property
2025-10-14 21:29:11 +02:00
Côme Chilliet ef2e7170a4 Merge pull request #55754 from nextcloud/fix/fix-cachewrapper-shouldencrypt
fix: Fix crash in files_version about uninitialized property
2025-10-14 20:32:28 +02:00
invario 13500be1d1 feat(previews): improved logging for movie previews
Signed-off-by: invario <67800603+invario@users.noreply.github.com>
2025-10-14 13:17:09 -04:00
SebastianKrupinski ea2180d6ad fix: iMip reply from outlook.com does not contain organizer property
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-10-14 12:44:06 -04:00
Côme Chilliet 1a0b220c6b fix(dav): Allow arrays (of scalars) in property values
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-14 17:50:53 +02:00
Carl Schwan 04a21650cc Merge pull request #55720 from nextcloud/carl/remote-querybuilder-execute
feat(querybuilder): Remove deprecated IQueryBuilder::execute
2025-10-14 17:19:37 +02:00
Marcel Klehr 8cf1504a76 fix: Apply suggestion from @kyteinsky
Co-authored-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 16:58:40 +02:00
Marcel Klehr 86316f7c45 fix(TaskProcessing): Update autoloaders
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 16:58:38 +02:00
Côme Chilliet ad9574970a fix: Fix crash in files_version about uninitialized property
Fix "Typed property OC\\Files\\Cache\\Cache::$storage must not be accessed before initialization"

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-14 16:56:07 +02:00
Marcel Klehr 97943cef58 fix(TaskProcessing): Update openapi descriptions for user-facing error messages
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 16:53:41 +02:00
Marcel Klehr e12c0ed7a3 test(TaskProcessing): Add test for user-facing error messages
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 16:53:41 +02:00
Marcel Klehr 7373f11af6 feat(TaskProcessing): user-facing error messages
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 16:53:41 +02:00
Côme Chilliet 0283fbccb2 fix(dav): Restrict properties allowed object classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-14 16:42:09 +02:00
Marcel Klehr be8e168f38 fix: Address psalm issues and review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 15:51:31 +02:00
Marcel Klehr bd2e629e3b fix: Update openapi descriptions
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 15:29:40 +02:00
Marcel Klehr 5e0c7a5813 fix(TextProcessingApiController): Set better attribute on routes
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 15:29:40 +02:00
Marcel Klehr 76eba41d77 fix: Fix logic error to make tests pass
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 15:23:01 +02:00
Marcel Klehr 4ec76cf834 Merge pull request #55715 from nextcloud/fix/taskprocessing/setupcheck-pickupspeed
fix(settings): Improve TaskProcessingPickupSpeed setup check
2025-10-14 15:11:33 +02:00
Marcel Klehr e7ac6ff71b fix: Apply suggestion from @kyteinski
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 15:05:55 +02:00
Ferdinand Thiessen e7357dffec chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-14 14:32:51 +02:00
Ferdinand Thiessen a66135f32f chore: remove Cypress component testing
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-14 14:30:14 +02:00
Ferdinand Thiessen 3f6f277dba refactor(test): migrate component tests in core to vitest
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-14 14:30:14 +02:00
Ferdinand Thiessen 81cfb9580a refactor(test): migrate cypress component tests to vitest
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-14 14:30:14 +02:00
Ferdinand Thiessen 5aa1f5bb84 Merge pull request #55718 from nextcloud/chore/remove-oca-sharing-external-link-actions
chore!(files_sharing): remove deprecated `OCA.Sharing.ExternalLinkActions`
2025-10-14 14:25:53 +02:00
Ferdinand Thiessen 48378aede3 Merge pull request #55731 from nextcloud/jtr/fix-files-stream-quota-actual
fix(files): decrement quota by actual bytes written in stream_write
2025-10-14 13:56:27 +02:00
nextcloud-command 9aa38aaacc chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-14 11:41:49 +00:00
Ferdinand Thiessen 23be816568 chore!(files_sharing): remove deprecated OCA.Sharing.ExternalLinkActions
This API was deprecated in Nextcloud 23.
It was replaced with `OCA.Sharing.ExternalShareAction` which now have a proper API
by using `registerSidebarAction` from `@nextcloud/sharing` instead.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-14 13:34:54 +02:00
Marcel Klehr 5c5c9384b1 fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:52:49 +02:00
Marcel Klehr f7a89fee24 fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:52:37 +02:00
Marcel Klehr 16da8bbc8a fix(TaskProcessingApiController): Implement getNextScheduledTasks for next_batch endpoint
in order to avoid hitting the DB with multiple 1 row requests

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:50:29 +02:00
Marcel Klehr 858118274d fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:22:03 +02:00
Marcel Klehr 2286b9f57d fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:21:54 +02:00
Marcel Klehr 1ba5f7d53a fix(settings): Remove copypasta
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:20:59 +02:00
Thomas Citharel cea23fb53d refactor(trashbin): make the ExpireTrash background job use the Trashbin::expire static method
Instead of handling everything itself, and so that the available space is considered in deleting
trashed files even if not expired yet.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-14 11:07:25 +02:00
Maksim Sukharev 8659002d7a Merge pull request #55655 from nextcloud/fix/noid/throw-failed-share 2025-10-14 11:03:48 +02:00
Thomas Citharel 195d347240 fix(trashbin): make sure the trashed files are deleted if we don't have any available space left
Logic taken from the files_versions expiration. It seems the second
argument from the isExpired method wasn't even used anywhere.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-14 10:58:30 +02:00
Christoph Wurst 3e90ce89eb test(net): include test for localhost by IP
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-10-14 10:33:35 +02:00
Kate ae0aa175b3 Merge pull request #55661 from nextcloud/fix/55519/ldap-cert-req-handling 2025-10-14 09:42:16 +02:00
nextcloud-command 9e5111f983 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-14 07:36:00 +00:00
Marcel Klehr 80eb3dd0d0 feat(TaskProcessingApiController): Add new next_batch endpoint
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 09:35:18 +02:00
Maksim Sukharev a4d440e1f0 fix(files_sharing): correctly handle error in case of failing share creation
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-10-14 09:27:05 +02:00
Maksim Sukharev 9c8b500116 Merge pull request #55666 from nextcloud/fix/53038/clear-search 2025-10-14 09:22:50 +02:00
Marcel Klehr 33922faf4a fix: Change messages to use days instead of hours
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 08:42:56 +02:00
Marcel Klehr ea8ab8e192 Merge pull request #55646 from nextcloud/feat/taskprocessing/is-internal
enh(TaskProcessing): Introduce internal task types
2025-10-14 08:25:00 +02:00
Kate ffbbdb2d04 Merge pull request #54953 from nextcloud/fix/noid/lighter-team-request 2025-10-14 07:56:14 +02:00
Nextcloud bot 736259c4df fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-14 00:12:22 +00:00
Josh bd43cb7d04 fix(files): decrement quota by actual bytes written in stream_write
The quota is now decremented by the actual number of bytes written ($written) rather than the intended size.

This ensures quota tracking stays accurate even if fwrite writes fewer (or more - i.e. from underlying buffering/etc) bytes than requested.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-13 18:26:48 -04:00
Kate 692d265d4a Merge pull request #55727 from nextcloud/bug/noid/update-sample-config-mp3 2025-10-13 18:46:21 +02:00
nextcloud-command 4e87741bab chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-13 16:12:38 +00:00
Daniel Kesselberg 8ed6722a4b docs(previews): mp3 preview provider is no longer enabled by default
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-13 17:53:34 +02:00
Maksim Sukharev 196aa9b41b fix(files): clear search input on directory navigation
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-10-13 17:28:44 +02:00
Daniel 2cb2ffe608 Merge pull request #55658 from nextcloud/bug/noid/disable-mp3-previews-by-default
fix: disable mp3 preview provider
2025-10-13 17:22:29 +02:00
Carl Schwan 1eff9e5c90 feat(querybuilder): Remove deprecated IQueryBuilder::execute
This won't work when we update to doctrine DBAL 4 and all usages in
server were ported away.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 17:02:04 +02:00
Thomas Citharel 5c8bdad828 fix(objectstore): add named parameter for like query
to avoid 'object::%' to be considered as a column
(`la colonne \\u00ab object::% \\u00bb n'existe pas` on PG)

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-13 16:18:18 +02:00
Carl Schwan 65f52c47b8 Merge pull request #55674 from nextcloud/carl/deprecated-dbal
Port away from deprecated Doctrine APIs
2025-10-13 15:10:15 +02:00
Marcel Klehr f296f9055c fix: Run cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-13 14:45:17 +02:00
Marcel Klehr 62fd3576c9 test(settings): Add tests for TaskProcessingSuccessRate setup check
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-13 14:42:51 +02:00
Marcel Klehr 6c9af3f8ee fix(settings): Introduce TaskProcessingSuccessRate setup check
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-13 14:35:55 +02:00
Maxence Lange 9ba3ce27cb fix(team-api): get all teams details in a single request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-13 14:21:15 +02:00
Marcel Klehr 5a48887a2b fix(settings): Improve TaskProcessingPickupSpeed setup check
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-13 14:07:33 +02:00
provokateurin 2552950299 fix(core): Fix TeamsApiController typing
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-13 13:59:54 +02:00
Kate 2ea30f9149 Merge pull request #55712 from nextcloud/fix/noid/root-path-globalsiteselector 2025-10-13 13:51:16 +02:00
Carl Schwan 49d522717c refactor(dbal): Port away from remaining IQueryBuilder::execute calls
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 13:44:15 +02:00
Carl Schwan 9095a36b94 refactor(dbal): Port away from getDatabasePlatform() instanceof pattern
Use getDatabaseProvider instead.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 13:44:08 +02:00
Marcel Müller 4c5d1a2e7b Merge pull request #55711 from nextcloud/fix/noid/fix-32bit-test-runs
fix: Unset classes in container to reduce side-effects between tests
2025-10-13 12:53:53 +02:00
Maxence Lange 9209540db5 feat(route): globalsiteselector as root url generator
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-13 09:19:20 -01:00
Marcel Müller 0ca6384097 fix: Unset classes in container to reduce side-effects between tests
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-10-13 11:56:13 +02:00
Marcel Klehr 13eb2d1cbd feat(TaskProcessing): Introduce internal task types
which are not shown in the assistant UI

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-13 11:07:40 +02:00
Kate 4c2e71e953 Merge pull request #55706 from nextcloud/jtr/fix-config-sample-activity-app 2025-10-13 10:06:33 +02:00
dependabot[bot] 28eb8879ef Merge pull request #55683 from nextcloud/dependabot/composer/vendor-bin/openapi-extractor/nextcloud/openapi-extractor-1.8.6 2025-10-13 07:38:59 +00:00
Nextcloud bot 22791c5843 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-13 00:12:24 +00:00
dependabot[bot] 7133a2a7d0 Merge pull request #55684 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.2.2 2025-10-12 17:40:53 +00:00
Nextcloud bot 8d2a95678f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-12 00:12:19 +00:00
Josh 2eaac49063 fix: cs/lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-11 10:22:08 -04:00
Josh 7e8183dfdb chore: update for cs lint
Corrected formatting and removed extra spaces in comments.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-11 09:44:28 -04:00
Josh 1de46be60f fix: Move system-level activity app settings to the sample config
These entries are currently hard-coded in the manual itself (on the config parameter page that is generated from this config sample file). This PR moves them to the proper place, the config sample file itself.

A separate PR in the docs repo will remove their hard-coded entry in the manual, but this is not dependent on that PR.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-11 09:29:59 -04:00
Louis e4866860cb Merge pull request #55657 from nextcloud/artonge/fix/do_not_expose_system_address_book_in_contacts 2025-10-11 13:11:26 +02:00
dependabot[bot] 934c2d214d build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.1.7 to 2.2.2.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.1.7...2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-11 01:10:28 +00:00
dependabot[bot] 0c17af55d3 build(deps): bump nextcloud/openapi-extractor
Bumps [nextcloud/openapi-extractor](https://github.com/nextcloud-releases/openapi-extractor) from 1.8.5 to 1.8.6.
- [Changelog](https://github.com/nextcloud-releases/openapi-extractor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-releases/openapi-extractor/compare/v1.8.5...v1.8.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-11 01:10:12 +00:00
Nextcloud bot 65bd4b2d69 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-11 00:13:13 +00:00
Thomas Citharel 76a0fb6feb Merge pull request #55651 from nextcloud/fix-calendars-properties-cache 2025-10-10 19:24:55 +02:00
Louis Chemineau e976a1323f chore: Register system_addressbook_exposed in lexicon
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-10 19:02:41 +02:00
Louis Chemineau d14c96b26d fix(contacts): Do not expose SAB in /contactsmenu
When hitting the `/contactsmenu/contacts` endpoint with the `dav.system_addressbook_exposed` config switch set to `"no"`, the system address book content is still listed in the response.

This ensure that we do not expose unexpectedly the system address book.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-10-10 19:02:40 +02:00
Thomas Citharel 22b90c2319 fix(caldav): avoid selecting every custom properties from table if we have no calendars to filter
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-10 18:50:31 +02:00
Carl Schwan 7a43bf26ca refactor(dbal): Migrate away from Type::getName
Instead use Type::lookupName

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-10 16:13:09 +02:00
Carl Schwan b0c6ef5821 refactor(dbal): Port away from deprecated hasPrimaryKey
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-10 15:44:43 +02:00
Louis 9dfd6f1533 Merge pull request #55654 from nextcloud/artonge/fix/do_not_happen_streams 2025-10-10 14:43:05 +02:00
Carl Schwan c89ca89f2f Merge pull request #55083 from nextcloud/carl/preview-interface-cleanup
refactor(preview): Cleanup a bit the public interface
2025-10-10 11:30:02 +02:00
Louis Chmn 00ec57efd6 fix(S3): Only append streams if non-seekable
Later, when we rewind the stream in `writeMultiPart` during retry, both streams were rewinded, so the resulting stream was bigger than expected.

Inspired by https://github.com/aws/aws-sdk-php/blob/master/src/S3/ObjectUploader.php#L136-L146

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-10 09:54:05 +02:00
Joas Schilling b469840b3d Merge pull request #55645 from nextcloud/bugfix/noid/comments-by-apps
Fix comments when used by other apps
2025-10-10 08:36:54 +02:00
Nextcloud bot 3efb030837 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-10 00:13:17 +00:00
Arthur Schiwon fbd29bcf7f fix(LDAP): properly disable are require TLS certificate verification
- the old approach lead connection issues, as ldap_set_option was called
  too late. Specifically it needs to be called before ldap_connect and set
  globally!
- The old approach also connected it to the ldapTLS configuration, which
  has a misleading naming. It indicates StartTLS usage only, not plain TLS
  connections.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-09 20:22:37 +02:00
Daniel Kesselberg ca717f0b54 fix: disable mp3 preview provider
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-09 18:13:17 +02:00
Carl Schwan cb82a9ef04 refactor(preview): Cleanup a bit the public interface
* Remove old IProvider interface, it's been deprecated since 17.0.0 (8
  years)
* Add type hinting to the IPreview interface and mark it as consumeable
  only
* Remove unused arguments from GeneratorHelper

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-09 17:41:13 +02:00
Josh 9e9bf4988a Merge pull request #55582 from nextcloud/jtr/chore-app-encryption-desc
chore: improve SSE default crypto module app description
2025-10-09 11:38:09 -04:00
nextcloud-command 4efb40f46d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-09 14:44:15 +00:00
Joas Schilling d332091105 fix(comments): Don't throw type error when no itemType or itemId is given
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-09 16:35:16 +02:00
Joas Schilling d659cbcd0e fix(comments): Support user IDs that are numbers, e.g. "42"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-09 16:35:15 +02:00
Joas Schilling 8ab5cf4009 fix(comments): Correctly await the getComments() call
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-09 16:35:14 +02:00
Joas Schilling fa17c55588 fix(comments): Use the correct object when autocompleting mentions for other apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-09 16:35:13 +02:00
Côme Chilliet 48c2dd6279 Merge pull request #55517 from nextcloud/carl/cron-service
refactor: Move cron setup to a service
2025-10-09 09:52:34 +02:00
Marcel Klehr 9d98f85348 Merge pull request #54793 from nextcloud/fix/fileaccess-getbyancestorinstorage-sharding
fix(FileAccess): Make getByAncestorInStorage sharding ready
2025-10-09 09:51:51 +02:00
Marcel Klehr 3522a3375e fix(FileAccess): Make getAncestorInStorage pass sharding tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
Marcel Klehr b158a77365 fix(FileAccess): Try to fix type error
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
Marcel Klehr 1e9a5019b4 fix(FileAccess): Set filecache size column in tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
Marcel Klehr 62bff06aeb fix(FileAccess): Chunk parent query
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
Marcel Klehr 9ccc798655 fix(FileAccess): Make getByAncestorInStorage sharding ready
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
F. E Noel Nfebe 8e5f436814 Merge pull request #55080 from nextcloud/fix/54511/federation-trusted-server-suggestions
fix(sharing): Adapt share suggestions to match trusted servers configs
2025-10-09 08:29:53 +02:00
nextcloud-command 8c7be09d93 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-09 06:05:36 +00:00
nfebe c9bb6eedc6 fix: Include email when searching share suggestions
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-09 06:53:51 +01:00
nfebe c1d9e22c51 fix(sharing): Adapt share suggestions to match trusted servers configs
When `show_federated_shares_to_trusted_servers_as_internal` is enabled
but `show_federated_shares_as_internal` is not, filter federated share
suggestions to only include trusted servers. Previously, searching for
an email address would suggest non-trusted federated servers.

Resolved: #54511
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-09 06:53:46 +01:00
Nextcloud bot 0793253d37 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-09 00:25:27 +00:00
John Molakvoæ d907a77902 Merge pull request #55624 from nextcloud/fix/catch-nodes-systemtags 2025-10-08 21:06:12 +02:00
John Molakvoæ (skjnldsv) bd04c26427 fix(systemtags): catch empty nodes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-10-08 20:38:20 +02:00
Richard Steinmetz f6593a7464 Merge pull request #55630 from nextcloud/fix/caldav/disable-cal-federation-remote-access
fix(caldav): disable remote access when calendar federation is off
2025-10-08 19:22:37 +02:00
Ferdinand Thiessen c6a02e562d Merge pull request #55608 from nextcloud/chore/drop-karma
chore(tests): drop legacy Karma tests
2025-10-08 17:20:48 +02:00
Carl Schwan 475c84722f refactor(IPropagator): Cleanup implementation
- Add missing type hinting
- Use only public methods from IStorage instead of relying on internal
  \OC\Storage methods
- Refactor HomePropagator to use ignore argument from Propagator instead
  of reimplementing the same logic.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 17:15:18 +02:00
Richard Steinmetz 0df9e73e6c fix(caldav): disable remote access when calendar federation is off
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-10-08 17:14:00 +02:00
Benjamin Gaussorgues 3aa0c23e40 Merge pull request #54543 from nextcloud/preview-db-rework 2025-10-08 16:39:23 +02:00
Carl Schwan fed7a33d1f refactor(preview-object-store): Refactor object store backend
Simplify logic

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 14:07:07 +02:00
Carl Schwan bef3996c3e fix(preview): Make version column a string
And move it to a different table so that we don't have to pay the
storage cost when not using it (most of the times).

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 14:07:06 +02:00
Kate 6c362cb38d Merge pull request #55623 from nextcloud/fix/caldav/principal-encoding-inconsistencies 2025-10-08 12:56:12 +02:00
Richard Steinmetz c12ce7083c fix(caldav): encoding inconsistencies in event search provider
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-10-08 12:14:00 +02:00
Kate fcbb8be904 Merge pull request #55514 from nextcloud/carl/more-old-execute 2025-10-08 10:30:46 +02:00
Nextcloud bot 8f21e3523b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-08 00:13:18 +00:00
Ferdinand Thiessen 3827eab2d3 Merge pull request #55605 from nextcloud/chore/33-uses-82
chore: updated 3rdparty to PHP8.2
2025-10-07 20:59:23 +02:00
Joas Schilling d6cafee543 Merge pull request #55382 from nextcloud/bugfix/noid/files-live-photo-permission
fix(live-photo): Allow files-live-photo meta data with edit permissions
2025-10-07 20:55:53 +02:00
Daniel 38c9bd99f5 Merge pull request #53869 from nextcloud/bug/53856/hide-password-on-submit
feat(login): hide password on form submit
2025-10-07 20:07:27 +02:00
Daniel Kesselberg ec1ea3253c feat(login): hide password on form submit
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-07 19:37:51 +02:00
Daniel db3e845d19 Merge pull request #55557 from nextcloud/refactor/use-iemailaddressvalidator
refactor: use IEmailValidator.isValid instead of IMailer.validateEmailAddress
2025-10-07 19:15:32 +02:00
Kate fb0b56de3b Merge pull request #55529 from nextcloud/share-recursion-error 2025-10-07 18:11:29 +02:00
Daniel 0274a463ab Merge pull request #55577 from nextcloud/fix/repair-tree-description
fix(RepairTree): Update files:repair-tree description
2025-10-07 17:49:31 +02:00
Côme Chilliet e739898cc7 Merge pull request #55400 from nextcloud/carl/remove-legacy-search-provider
refactor: Remove legacy search provider
2025-10-07 16:51:12 +02:00
Josh 71b196b0e1 fix: Apply suggestions from code review
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-07 10:44:04 -04:00
Ferdinand Thiessen 0a86f9cc55 chore: updated 3rdparty to PHP8.2
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-07 16:19:53 +02:00
Côme Chilliet b984e329fc Merge pull request #55574 from nextcloud/carl/view-deprecated
chore: Explicitely mark \OC\Files\View as internal
2025-10-07 16:07:36 +02:00
Ferdinand Thiessen 1f24865caf chore(tests): drop legacy Karma tests
we no longer use Karma tests, all actual tests have been migrated to
vitest. The leftover tests are already covered by unit tests in
packages.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-07 14:27:14 +02:00
Anna 87c90f9678 Merge pull request #55581 from nextcloud/fix/noid/dont-catch-general-db-errors
fix(ooo): don't catch general DB exceptions
2025-10-07 13:36:55 +02:00
Côme Chilliet 8950f9fe74 Merge pull request #55462 from IONOS-Productivity/fix/admin_delegation-show-all-priority-items
Fix admin delegation show all priority items
2025-10-07 12:03:32 +02:00
Marcel Klehr ef6e9744a9 Merge pull request #55573 from nextcloud/fix/taskprocessing/list-command
fix(TaskProcessing): Make sure list command int filter parameters are parsed as ints
2025-10-07 11:38:49 +02:00
Carl Schwan 104aef324d refactor(core/Command): Port away from View
Use IRootFolder instead.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-07 10:11:01 +02:00
Kate e67fe86c9d Merge pull request #55578 from nextcloud/carl/dead-code-sabre-node 2025-10-07 09:55:37 +02:00
Marcel Klehr b12b38b70e Merge pull request #55579 from nextcloud/fix/taskprocessing/max-task-age-6-months
fix(TaskProcessing): Increase MAX_TASK_AGE to 6 months
2025-10-07 08:22:39 +02:00
Robin Windey d84d6ca1cf Merge pull request #55527 from nextcloud/feature/update-devcontainer
Update Nextcloud Devcontainer
2025-10-07 06:56:18 +02:00
Robin Windey 88fde78a79 feat: Update Nextcloud Devcontainer
Removed deprecations:
* docker-compose version
* apt-key add command in docker installation

Updates:
* Upgrade from PHP8.3 to PHP8.4 (currently recommended for NC) from ppa:ondrej/php
* Use nodejs 22 by default

Optimization:
* Just install docker-ce-cli, not the full docker suite (speeds up docker build)
* Make sure user "devcontainer" has UID 1000. This increases the containers filesystem compatibility to most (unix-based) host systems because the default user there always has 1000 as well
* Ensure devcontainer user has access to docker without sudo

Signed-off-by: Robin Windey <ro.windey@gmail.com>
2025-10-07 04:38:33 +00:00
Nextcloud bot e0d3f6137e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-07 00:13:19 +00:00
Ferdinand Thiessen 7f6e76ac6e Merge pull request #55585 from nextcloud/occ-auth-token-name
feat: allow setting custom name for occ generated app password
2025-10-07 01:53:08 +02:00
Ferdinand Thiessen b6496c8ce6 Merge pull request #55537 from nextcloud/dependabot/npm_and_yarn/p-queue-9.0.0
build(deps): bump p-queue from 8.1.1 to 9.0.0
2025-10-07 01:51:10 +02:00
nextcloud-command ac7c9cdd12 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-06 22:41:53 +00:00
dependabot[bot] 9c9af0f069 Merge pull request #55538 from nextcloud/dependabot/composer/build/integration/behat/behat-3.25.0 2025-10-06 22:41:50 +00:00
dependabot[bot] eb77daac0b build(deps): bump p-queue from 8.1.1 to 9.0.0
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 8.1.1 to 9.0.0.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v8.1.1...v9.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-07 00:34:35 +02:00
dependabot[bot] d5d2083322 Merge pull request #55536 from nextcloud/dependabot/npm_and_yarn/webpack-5.102.0 2025-10-06 21:44:41 +00:00
nextcloud-command a180c9197e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-06 21:24:50 +00:00
dependabot[bot] 21b844f4cf build(deps-dev): bump webpack from 5.101.3 to 5.102.0
Bumps [webpack](https://github.com/webpack/webpack) from 5.101.3 to 5.102.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.101.3...v5.102.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 21:16:30 +00:00
dependabot[bot] bb6a265c55 build(deps-dev): bump behat/behat in /build/integration
Bumps [behat/behat](https://github.com/Behat/Behat) from 3.24.1 to 3.25.0.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.24.1...v3.25.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 21:13:30 +00:00
dependabot[bot] 253fe7e269 Merge pull request #55534 from nextcloud/dependabot/npm_and_yarn/puppeteer-24.23.0 2025-10-06 21:07:41 +00:00
dependabot[bot] 4d1f9def8d build(deps-dev): bump puppeteer from 24.22.3 to 24.23.0
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.22.3 to 24.23.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.22.3...puppeteer-v24.23.0)

---
updated-dependencies:
- dependency-name: puppeteer
  dependency-version: 24.23.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 20:51:05 +00:00
Andy Scherzinger 7dc189a222 Merge pull request #55586 from nextcloud/fix/codeowners
chore(CODEOWNERS): include mjs and cjs for frontend
2025-10-06 21:48:01 +02:00
Ferdinand Thiessen 747179200c chore(CODEOWNERS): include mjs and cjs for frontend
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-06 21:11:03 +02:00
Kate 9e5ee588a0 Merge pull request #55583 from nextcloud/build/psalm/raise-php-version 2025-10-06 21:06:59 +02:00
dependabot[bot] eb042b842c Merge pull request #55532 from nextcloud/dependabot/npm_and_yarn/dockerode-4.0.9 2025-10-06 17:52:45 +00:00
dependabot[bot] 2e2f98614e build(deps-dev): bump dockerode from 4.0.8 to 4.0.9
Bumps [dockerode](https://github.com/apocas/dockerode) from 4.0.8 to 4.0.9.
- [Release notes](https://github.com/apocas/dockerode/releases)
- [Commits](https://github.com/apocas/dockerode/compare/v4.0.8...v4.0.9)

---
updated-dependencies:
- dependency-name: dockerode
  dependency-version: 4.0.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 17:36:05 +00:00
dependabot[bot] a24e84da49 Merge pull request #55533 from nextcloud/dependabot/npm_and_yarn/testing-library/jest-dom-6.9.1 2025-10-06 17:33:04 +00:00
Robin Appelman de69824a59 feat: allow setting custom name for occ generated app password
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-10-06 18:37:03 +02:00
dependabot[bot] 4df8758b29 build(deps-dev): bump @testing-library/jest-dom from 6.8.0 to 6.9.1
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.8.0 to 6.9.1.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.8.0...v6.9.1)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-version: 6.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 16:30:00 +00:00
Côme Chilliet 818f54d9ca Merge pull request #55576 from nextcloud/fix/ldap-configuration-prefix-list
fix(ldap): Fix copying and creating LDAP configuration
2025-10-06 18:22:18 +02:00
provokateurin 4b90a2c730 build(psalm): Raise PHP version to 8.2
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 18:01:51 +02:00
Anna Larch d4c9e09c5f fix(ooo): don't catch general DB exceptions
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-10-06 17:44:33 +02:00
Ferdinand Thiessen cb1a6f79e7 Merge pull request #55442 from nextcloud/refactor/migrate-cypress-tests
test: migrate `LoginForm` component test to vitest
2025-10-06 17:41:46 +02:00
Josh 1a5d07034b chore: improve SSE default crypto module app description
Updated the app information for the encryption module to include detailed encryption features, warnings, and notes for existing files.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-06 11:32:33 -04:00
Ferdinand Thiessen 2fd87955e6 Merge pull request #55525 from nextcloud/chore/karma-commets
refactor(core): migrate tests of `OCP.Comments` to `vitest`
2025-10-06 17:10:29 +02:00
Marcel Klehr a6f899f925 fix(TaskProcessing): Increase MAX_TASK_AGE to 6 months
to comply with the EU AI act

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-06 16:44:53 +02:00
Carl Schwan 3004f628e9 refactor(Sabre/Node): Remove dead code
property_cache is no longer used.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 16:33:28 +02:00
Marcel Klehr e237ac54cc fix(RepairTree): Update files:repair-tree description
to note that running the command multiple times may be necessary

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-06 16:25:45 +02:00
Carl Schwan f450cda3aa chore: Explicitely mark \OC\Files\View as internal
It's in OC and should not be used at all. Marking it as internal will
at least prevent new code to use it.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 15:49:55 +02:00
Côme Chilliet 723a3f0b96 fix(ldap): Fix copying and creating LDAP configuration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-06 15:45:23 +02:00
Marcel Klehr f28344e13e fix(TaskProcessing): Make sure list command int filter parameters are parsed as ints
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-06 15:29:36 +02:00
Carl Schwan 9d7fbb1b86 refactor: Move cron setup to a service
This will allow in the future the following things:

- Create unit tests for it
- Make cron.php a occ command
- Make webcron a proper controller

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 15:28:43 +02:00
Ferdinand Thiessen 62539ecacf chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-06 15:18:51 +02:00
Ferdinand Thiessen ba01412389 test: migrate LoginForm component test to vitest
Cypress has some limitations:
- its vue 2 supported was removed
- it fails with our vue 3 migration due to 2 different vue versions
  being present
- its slow compared to vitest

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-06 15:18:51 +02:00
Ferdinand Thiessen 769ec69bb3 refactor(core): migrate tests of OCP.Comments to vitest
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-06 15:05:31 +02:00
Ferdinand Thiessen 678a8a75ad Merge pull request #55524 from nextcloud/chore/karma-mimetype
refactor: move `OC.MimeType` to `src` and add `vitest` unit tests
2025-10-06 15:05:16 +02:00
Ferdinand Thiessen 7bda1cdf56 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-06 14:17:52 +02:00
Ferdinand Thiessen 2e11b96537 refactor: move OC.MimeType to src and add vitest unit tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-06 14:16:12 +02:00
Carl Schwan 66f50bd585 refactor(preview): Use same mimetype ids as filecache
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan bd001c9524 refactor: Use Override annotation in new preview code
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan 58023782b6 feat(preview): Store original file mimetype in preview table
Allow to quickly query all the files from a specific mimetype like in
the ResetRenderedTexts command.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan bfc7d5dd9f feat(preview): Implement scanning for previews
This work similarly to the move preview job to migrate the previews to
the new DB table and also reuse some code.

So when we are finding files in appdata/preview, try adding them to the
oc_previews table and delete them from the oc_filecache table.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan 324b54b863 refactor(preview): Cleanup the implementation of the new preview backend
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan 6f56dcf73e fix(preview): Fix some tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan b0357663b9 perf(preview): Optimize migration and simplify DB layout
* Simplify migration by not moving the actual files and just updating
  the DB
* Don't store the storageid in the preview table as it is not needed
* Start adding tests

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan bba9667882 perf(preview): Adapt BackgroundCleanupJob to new previews table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan 6008852232 feat(preview): Support multibucket storage
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan 13c35c0f17 perf(preview): Migrate previews to the new optimized table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan 656e33e8da perf(preview): Add support for multibucket storage
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-10-06 13:37:15 +02:00
Carl Schwan 18fbacdd8d perf(preview): Split preview data to new table
The new oc_previews table is optimized for storing previews and should
decrease significantly the space taken by previews in the filecache
table.

This attend to reuse the IObjectStore abstraction over S3/Swift/Azure
but currently only support one single bucket configuration.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-10-06 13:37:15 +02:00
Kate 057c0dcc98 Merge pull request #55564 from nextcloud/fix/files/return-valid-mimetype 2025-10-06 13:23:54 +02:00
Kate dc768157b3 Merge pull request #55566 from nextcloud/fix/igroupmanager/get-user-group-ids-return-type 2025-10-06 12:55:58 +02:00
Andy Scherzinger 40286b2fe2 Merge pull request #55481 from nextcloud/carl/fix-psalm-easy
refactor: Fix some easy psalm issues in Files
2025-10-06 12:11:02 +02:00
provokateurin 3c27522873 fix(IGroupManager): Use correct return type in getUserGroupIds method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 10:54:08 +02:00
Joas Schilling 6dec53a6bc Merge pull request #55472 from nextcloud/carl/fix-encryption-commands
refactor: fix psalm issues from encryption commands
2025-10-06 10:47:10 +02:00
Côme Chilliet 38d455800c Merge pull request #55482 from nextcloud/carl/fix-search
refactor: Port away from search
2025-10-06 10:45:52 +02:00
Kate b565eefc48 Merge pull request #55539 from nextcloud/dependabot/composer/vendor-bin/openapi-extractor/nextcloud/openapi-extractor-1.8.5 2025-10-06 09:21:44 +02:00
provokateurin 8d8f94b8ce fix(files): Always return a valid mimetype
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 09:06:17 +02:00
Joas Schilling 376b7e8bbd Merge pull request #55507 from nextcloud/techdebt/noid/bye-bye-8.1
fix(PHP): Drop PHP 8.1 for Nextcloud 33
2025-10-06 08:22:50 +02:00
Joas Schilling 88e2e4f785 Merge pull request #55560 from nextcloud/bug/55554/set-dbtype-value-with-single-db
fix(setup): set dbtype value also for single-db
2025-10-06 08:21:22 +02:00
Nextcloud bot 3ca413da08 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-06 00:13:08 +00:00
Daniel Kesselberg e43bfe3bd7 chore(assets): Recompile assets
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-05 23:33:16 +02:00
Daniel Kesselberg 5475587092 fix(setup): set dbtype value also for single-db
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-05 23:33:16 +02:00
F. E Noel Nfebe a9d925b873 Merge pull request #55434 from nextcloud/fix/unfied-search-pagination-limit
fix(unified-search): Remove hard-coded search result limit
2025-10-05 12:07:54 +02:00
Nextcloud bot a913c9bfaf fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-05 00:13:12 +00:00
Daniel Kesselberg 83a691709c refactor: use IEmailValidator.isValid instead of IMailer.validateEmailAddress
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-04 21:54:22 +02:00
Joas Schilling 405b52f4c5 ci: Move to new kerberos images
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-04 12:33:26 +02:00
dependabot[bot] b22c38d48c Merge pull request #55535 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.6 2025-10-04 02:37:28 +00:00
dependabot[bot] 4cd4616be5 build(deps): bump nextcloud/openapi-extractor
Bumps [nextcloud/openapi-extractor](https://github.com/nextcloud-releases/openapi-extractor) from 1.8.3 to 1.8.5.
- [Changelog](https://github.com/nextcloud-releases/openapi-extractor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-releases/openapi-extractor/compare/v1.8.3...v1.8.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-04 01:25:53 +00:00
dependabot[bot] 240a5652f4 build(deps-dev): bump @zip.js/zip.js from 2.8.2 to 2.8.6
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.2 to 2.8.6.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.2...v2.8.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-04 01:07:51 +00:00
Nextcloud bot 451d6d2eee fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-04 00:13:12 +00:00
Joas Schilling 76b156b434 ci: Adjust CI to run on PHP 8.2
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-03 15:58:33 +02:00
Robin Appelman af907388d0 fix: make share recursion error more informative
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-10-03 15:50:43 +02:00
Louis ae89c60e9e Merge pull request #55522 from nextcloud/artonge/fix/user_ldap_do_not_translate_technical_strings
fix(user_ldap): Do not translate technical strings
2025-10-03 12:25:17 +02:00
Nextcloud bot 856d49fabb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-03 00:14:33 +00:00
nextcloud-command d6ba09c7c7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-02 22:23:46 +00:00
Louis Chemineau df0fe49124 fix(user_ldap): Do not translate technical strings
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-10-03 00:16:27 +02:00
Ferdinand Thiessen 8cf585cd5b Merge pull request #55513 from nextcloud/chore/code-style
chore: ignore ESLint v9 autofixes in git blame
2025-10-02 20:57:17 +02:00
Ferdinand Thiessen 2ea05681ae Merge pull request #55486 from nextcloud/fix/55003-allow-empty-mail-address
Allow to remove a website in the user profile
2025-10-02 20:51:30 +02:00
Louis 2f3ff8c0dd Merge pull request #55468 from nextcloud/artonge/fix/user_ldap_ajax_endpoint 2025-10-02 17:38:44 +02:00
Louis Chemineau 1beb275167 chore: Compile assets
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-02 14:29:43 +00:00
nfebe 2053112887 fix(unified-search): Remove hard-coded search result limit
A change added in https://github.com/nextcloud/server/pull/45317 introduced
a hard stop (25) that prevents full search results from showing up.

If there are more than 25 search results for a query only 25 can be seen.

So two main issues:

- Only 25 results can be seen in total no matter what.
- Breaks web client pagination, which typically adds 5 results per request.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-02 15:44:36 +02:00
Louis Chemineau c594c68ed9 fix(user_ldap): Correct ajax endpoint URL
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-10-02 15:31:50 +02:00
Côme Chilliet 8c9781d520 Merge pull request #55475 from nextcloud/fix/fix-user_ldap-configuration_creation
fix(user_ldap): Fix configuration creation and copy
2025-10-02 15:07:51 +02:00
Carl Schwan 9e848551be refactor: Port away from more IQueryBuilder::execute
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-02 14:40:28 +02:00
Ferdinand Thiessen 16b6d2e67d chore: ignore ESLint v9 autofixes in git blame
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 14:21:25 +02:00
Christian Wolf d40e58db00 fix (settings): Allow for empty websites in the profile to remove the entry completely
Signed-off-by: Christian Wolf <github@christianwolf.email>
2025-10-02 14:21:13 +02:00
Ferdinand Thiessen 4ace101b05 Merge pull request #55495 from nextcloud/chore/eslint-v9
chore: use ESLint v9 for linting
2025-10-02 14:05:53 +02:00
Carl Schwan 34cd91cc86 refactor: Fix some easy psalm issues in Files
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-02 13:34:47 +02:00
Ferdinand Thiessen 7237c05198 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:24:16 +02:00
Ferdinand Thiessen d0b9c8eb9d chore: use global jQuery for files_external as its uses select2
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:19:55 +02:00
Ferdinand Thiessen ca65cf72d8 chore: add missing import of the logger
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:19:43 +02:00
Ferdinand Thiessen af5d538b03 chore: create ESLint baseline for hard-to-fix errors
WE NEED TO EMPTY THIS!

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:19:43 +02:00
Ferdinand Thiessen 6f355dea7e chore: adjust ESLint for Cypress
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:19:43 +02:00
Ferdinand Thiessen b12df40388 chore: apply new sorting for package.json
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:19:43 +02:00
Ferdinand Thiessen 91f3b6b4ee chore: adjust code to new codestyle
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:19:42 +02:00
Joas Schilling 122cd68d56 fix(PHP): Drop PHP 8.1 for Nextcloud 33
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-02 11:04:07 +02:00
Ferdinand Thiessen 44962c76e7 chore: rename webpack configs to make clear they contain common js
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 10:48:38 +02:00
Ferdinand Thiessen 1d580e886f chore(dev-deps): use ESLint v9
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 10:48:38 +02:00
Andy Scherzinger c267036030 Merge pull request #55491 from nextcloud/rakekniven-patch-1
chore(i18n): id -> ID
2025-10-02 09:39:22 +02:00
nextcloud-command 4257953cbd chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-02 06:22:23 +00:00
rakekniven ea046d3fb8 chore(i18n): id -> ID
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-10-02 08:15:08 +02:00
Nextcloud bot f8d229a0af fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-02 00:13:34 +00:00
Kate 9a7aa70050 Merge pull request #55176 from nextcloud/user-id-header 2025-10-01 20:13:32 +02:00
F. E Noel Nfebe 335693e4bb Merge pull request #55151 from nextcloud/feature/share-api-enhanced-logging
refactor(ShareApiController): Add more error handling
2025-10-01 17:25:48 +01:00
Carl Schwan ce02a5b27c refactor: Port away from search
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-01 16:32:22 +02:00
Kate 7e8926011d Merge pull request #55463 from nextcloud/fix/user-group-manager-return-type 2025-10-01 16:30:23 +02:00
Kate 623b8e2ad8 Merge pull request #55461 from nextcloud/fix/iusermanager/search-deprecation 2025-10-01 16:17:54 +02:00
Carl Schwan a3442be054 refactor: fix psalm issues from encryption commands
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-01 16:07:41 +02:00
Côme Chilliet 12e2a0e284 fix(user_ldap): Fix configuration creation and copy
The endpoint was not correctly registering the new prefix.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-01 15:39:59 +02:00
Carl Schwan 3d6699d685 Merge pull request #55467 from nextcloud/carl/remove-old-federation-settings
refactor: Remove old unused js files for federation settings
2025-10-01 15:05:37 +02:00
Joas Schilling 1447f182d2 Merge pull request #55405 from nextcloud/carl/cleanup-some-tests
refactor: Cleanup some unit tests
2025-10-01 15:02:00 +02:00
Carl Schwan 6b09192795 refactor: Remove old unused js files for federation settings
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-01 14:00:45 +02:00
nfebe 0970409765 refactor(ShareApiController): Streamline share providers & add error logging
1. Consolidated the repetitive provider code into a clean loop
2. Added exception handling to log unexpected errors

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-01 12:48:53 +01:00
Ferdinand Thiessen c214ec454c Merge pull request #55245 from nextcloud/fix/rtl-settings
fix: legacy app navigation snapper on RTL layout
2025-10-01 13:43:39 +02:00
Carl Schwan aa1f5312a5 refactor: Remove legacy search provider
Last usage was in the comment app

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-01 13:36:25 +02:00
provokateurin 51a493cbe7 fix(IGroupManager): Use correct return type for search method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-01 13:14:05 +02:00
provokateurin dce2672b98 fix(IUserManager): Use correct return type for searchDisplayName method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-01 12:48:43 +02:00
Misha M.-Kupriyanov b0ed8b1455 fix(admin-delegation-show): show delegations for all priorities
otherwise delegation only from the first priority array ara shown

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-10-01 12:33:13 +02:00
Misha M.-Kupriyanov 33577b3120 feat(admin-delegation-show): add priority to json output
in order to be able to better understand priority sorting.

php occ admin-delegation:show --output=json_pretty

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-10-01 12:33:13 +02:00
provokateurin fb4348e3bc fix(IUserManager): Fix deprecation of search method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-01 12:08:58 +02:00
nextcloud-command 050c7fe286 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-01 09:36:02 +00:00
Ferdinand Thiessen ec9e283e6f fix: legacy app navigation snapper on RTL layout
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-01 11:28:53 +02:00
Côme Chilliet d36fc65c75 Merge pull request #55396 from nextcloud/carl/dashboard-appconfig
refactor: Port dashboard app to IAppConfig
2025-10-01 11:10:59 +02:00
Kate 52aed034b1 Merge pull request #55431 from nextcloud/fix/ocscontroller-usage 2025-10-01 10:43:21 +02:00
Carl Schwan 60c2875670 refactor: Cleanup some unit tests
- use declare(strict_types=1)
- use strong typing
- Remove some weird things in ControllerTest

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-01 10:11:27 +02:00
Louis f8bed8f186 Merge pull request #51145 from nextcloud/home-folder-readonly 2025-10-01 10:09:19 +02:00
Joas Schilling f93d6eeed5 Merge pull request #55446 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2025-10-01 09:39:49 +02:00
Louis 0c6478add3 Merge pull request #48065 from nextcloud/artonge/chore/ldap_wizard_rewrite
refactor(user_ldap): Rewrite setup wizard
2025-10-01 08:02:32 +02:00
nextcloud-command 4e0424c9ad fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2025-10-01 02:39:21 +00:00
Nextcloud bot 8d70e93a41 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-01 00:13:34 +00:00
Louis Chemineau ec7c96e943 chore: Compile assets
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-30 21:00:25 +00:00
Louis Chemineau 3cca80520c chore(user_ldap): Remove legacy wizard files
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-30 22:49:44 +02:00
Louis Chemineau 87cb225668 refactor(user_ldap): Rewrite setup wizard
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-30 22:49:43 +02:00
Kate 7b60e3d784 Merge pull request #55370 from nextcloud/refactor/files_external-ajax 2025-09-30 20:39:47 +02:00
Ferdinand Thiessen d20d4d33e0 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-30 20:19:21 +02:00
Ferdinand Thiessen 31571476d3 refactor(files_external): migrate Ajax with OC_JSON to proper controller
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-30 20:19:21 +02:00
Kate 86ef7781c0 Merge pull request #55420 from nextcloud/fix/40082/appstore-timeout 2025-09-30 17:18:37 +02:00
provokateurin 28adf33e69 fix(core): Make OCSController class final to avoid accidentally extending it
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-30 16:51:51 +02:00
provokateurin 13e98dce15 fix: Use the correct OCSController
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-30 16:51:51 +02:00
Kate 29832a3608 Merge pull request #55422 from nextcloud/fix/noid/catch-appstore-exceptions 2025-09-30 16:02:48 +02:00
Stephan Orbaugh 922271619b Merge pull request #55426 from nextcloud/test/mock-request
test: mock appstore response in Cypress tests
2025-09-30 15:33:14 +02:00
Ferdinand Thiessen 85271b95f6 test: mock appstore response in Cypress tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-30 14:53:29 +02:00
Stephan Orbaugh 1da29cf8b2 Merge pull request #55404 from nextcloud/fix/cleanup-resource-locators
Fix type and other psalm issues in lib/private/Template
2025-09-30 14:09:20 +02:00
Stephan Orbaugh f8fd111946 Merge pull request #55260 from IONOS-Productivity/feature/add_json_output_to_occ_admin-delegation
admin-delegation occ - add output option for show command to support JSON formats
2025-09-30 13:48:31 +02:00
Marcel Müller 31481701f3 fix(appstore): Make appstore timeout configurable
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 13:00:06 +02:00
Côme Chilliet bdff12361c fix: Cleanup and fix tests, and fix related issues in code
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-30 11:53:59 +02:00
Marcel Müller 31b8d36802 fix(appstore): Also catch ClientException and ServerException
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 11:27:47 +02:00
Carl Schwan 3a687eac54 Merge pull request #55412 from nextcloud/jtr/update-webhook-listerers-appinfo
chore: update webhook_listeners description
2025-09-30 10:43:27 +02:00
Nextcloud bot ed8744ede3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-30 00:13:38 +00:00
Louis Chemineau 1ab6dba242 test(files_external): Ensure Home folder permissions are correct
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-29 19:26:40 +02:00
Louis Chemineau 553793c946 feat(files): Mark homefolder as overwritten when an external storage mounted at / exists
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-29 19:26:40 +02:00
Josh Richards 763e0901be chore: update webhook_listeners description
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2025-09-29 12:49:26 -04:00
Kate 464d12e149 Merge pull request #55374 from nextcloud/fix/files/overwrite-scan-permissions 2025-09-29 18:12:03 +02:00
yemkareems 6a16a28759 Merge pull request #55394 from nextcloud/fix/85262/fix-typo
fix: small typo fix
2025-09-29 17:40:50 +05:30
yemkareems 111f42ca8a Merge branch 'master' into fix/85262/fix-typo 2025-09-29 17:15:57 +05:30
Carl Schwan 78127b87fb Merge pull request #55355 from nextcloud/carl/admin-delegating-spacing
fix: Fix spacing of adming delegation entries
2025-09-29 13:25:35 +02:00
Côme Chilliet 2bc77a3c5a chore: Remove now unused OC_App deprecated methods
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:36:33 +02:00
Côme Chilliet c6d148344a chore: Fix the last psalm issues in lib/private/Template
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:32:26 +02:00
Côme Chilliet fc85555d0c fix: Fix phpdoc typing for IL10N::l $data parameter
The implementation supports passing null and our code is using that,
 reflect it in the public API.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:31:30 +02:00
Côme Chilliet 73447618e7 chore: Run rector on lib/private/Template folder and cleanup more typing
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:23:37 +02:00
Côme Chilliet b58b3750a7 chore: Cleanup typing and deprecated method calls in resource locators
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:10:56 +02:00
nextcloud-command c03f74e28a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-29 10:08:35 +00:00
Carl Schwan 81454ba965 fix: Fix spacing of adming delegation entries
Use less spacing between the label and the corresponding combobox, than
with the label and the previous combobox.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-29 10:06:32 +00:00
Simon L. e2a81709d0 Merge pull request #55397 from nextcloud/revert/54138/revert-pwa-header-hiding
revert: feat(core): Hide header in PWA
2025-09-29 11:39:01 +02:00
nextcloud-command d0247d3890 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-29 08:46:52 +00:00
Côme Chilliet f4e8116a72 Merge pull request #55387 from nextcloud/fix/remove-legacy-oc-response
fix: Delete legacy OC_Response
2025-09-29 10:40:28 +02:00
Simon L. e461236aa1 revert: feat(core): Hide header in PWA
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-09-29 10:33:55 +02:00
Carl Schwan 76736cf9d7 refactor: Port dashboard app to IAppConfig
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-29 10:22:46 +02:00
Côme Chilliet 10e3192c2f Merge pull request #55371 from nextcloud/carl/remove-oc-helper-streamCopy
refactor: Remove OC_Helper::streamCopy
2025-09-29 10:21:59 +02:00
Côme Chilliet 09d7ddadf1 Merge pull request #55388 from nextcloud/fix/remove-unused-methods-of-oc-user
chore: Remove unused deprecated methods from OC_User and Filesystem
2025-09-29 09:54:10 +02:00
Arthur Schiwon e9a1d7fa0d fix(Apps): fix install command check on existing apps
- AppManager::isInstalled() is misleading, as it checks only whether it is
  enabled. But an app might not be present in some edge cases.
- AppManager::getAppPath() does however only check whether an app dir is
  present, independent of the enabled-state.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-09-29 09:39:14 +02:00
Côme Chilliet eb54143c2d fix: Delete legacy OC_Response
Moved the last used method in base.php where it’s called. Ideally we
 would remove it but it’s not clear whether that would be possible any
 time soon or even at all.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 09:35:32 +02:00
dependabot[bot] b2c88632bd Merge pull request #55392 from nextcloud/dependabot/npm_and_yarn/axios-1.12.2 2025-09-29 07:16:39 +00:00
nextcloud-command 0f63f93616 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-29 06:59:11 +00:00
dependabot[bot] 7db4d803b0 build(deps): bump axios from 1.11.0 to 1.12.2
Bumps [axios](https://github.com/axios/axios) from 1.11.0 to 1.12.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.11.0...v1.12.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 08:50:53 +02:00
yemkareems 200f9dc39f fix: small typo fix
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-29 09:12:38 +05:30
Nextcloud bot cc44ac3ef2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-29 00:13:27 +00:00
dependabot[bot] 87ea67a06b Merge pull request #55336 from nextcloud/dependabot/npm_and_yarn/sass-1.93.2 2025-09-28 23:04:20 +00:00
dependabot[bot] 41bbabdd54 build(deps-dev): bump sass from 1.93.0 to 1.93.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.93.0 to 1.93.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.93.0...1.93.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-28 22:40:24 +00:00
dependabot[bot] c08df561e4 Merge pull request #55335 from nextcloud/dependabot/npm_and_yarn/stylelint-16.24.0 2025-09-28 22:34:10 +00:00
Andy Scherzinger 72cab544ab Merge pull request #55385 from nextcloud/chore/remove-jquery-contactsmenu
chore: remove legacy jQuery contacts menu
2025-09-29 00:29:25 +02:00
dependabot[bot] 73d0c0069f build(deps-dev): bump stylelint from 16.23.1 to 16.24.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.23.1 to 16.24.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.23.1...16.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-28 22:13:13 +00:00
dependabot[bot] 4cb45f4878 Merge pull request #55378 from nextcloud/dependabot/npm_and_yarn/libphonenumber-js-1.12.23 2025-09-28 22:12:27 +00:00
Andy Scherzinger b863030bd4 Merge pull request #55389 from nextcloud/dependabot/npm_and_yarn/tar-fs-2.1.4
build(deps): bump tar-fs from 2.1.3 to 2.1.4
2025-09-29 00:10:26 +02:00
nextcloud-command 2a9f04cc0e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-28 21:55:45 +00:00
dependabot[bot] 86a3e16e0a Merge pull request #55333 from nextcloud/dependabot/npm_and_yarn/tar-7.5.1 2025-09-28 21:51:55 +00:00
dependabot[bot] 314d109e26 build(deps): bump libphonenumber-js from 1.12.17 to 1.12.23
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.17 to 1.12.23.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.17...v1.12.23)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-28 23:46:27 +02:00
dependabot[bot] 58cd320894 build(deps-dev): bump tar from 7.4.3 to 7.5.1
Bumps [tar](https://github.com/isaacs/node-tar) from 7.4.3 to 7.5.1.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.4.3...v7.5.1)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-28 21:32:05 +00:00
Ferdinand Thiessen 61cf047d1b Merge pull request #55375 from nextcloud/fix/do-not-use-lazy-with-internal
fix: Do not try to create lazy ghosts for PHP internal classes
2025-09-28 23:30:42 +02:00
dependabot[bot] f1ad9d05a3 build(deps): bump tar-fs from 2.1.3 to 2.1.4
Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 2.1.3 to 2.1.4.
- [Commits](https://github.com/mafintosh/tar-fs/compare/v2.1.3...v2.1.4)

---
updated-dependencies:
- dependency-name: tar-fs
  dependency-version: 2.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-28 21:28:17 +00:00
dependabot[bot] 953a1ed351 Merge pull request #55379 from nextcloud/dependabot/npm_and_yarn/puppeteer-24.22.3 2025-09-28 21:26:51 +00:00
nextcloud-command 7be80de407 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-28 21:19:24 +00:00
Andy Scherzinger 1e492e6de2 Merge pull request #55269 from nextcloud/fix/add-light-images-for-fb-bsky-mastodon
fix: added 3 new light images for facebook, bluesky and mastodon
2025-09-28 23:16:14 +02:00
Côme Chilliet d39d1d8d24 chore: Remove unused deprecated methods from OC_User and Filesystem
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 22:44:30 +02:00
Côme Chilliet 2a9f6389f4 Merge pull request #55372 from nextcloud/carl/remove-template-manager
refactor: Remove old TemplateManager
2025-09-28 22:10:37 +02:00
Ferdinand Thiessen 496d497f8f Merge pull request #55383 from nextcloud/fix/noid/unique-cache-prefix-per-instanceid
fix(cache): Ensure unique global prefix per instanceid
2025-09-28 19:07:19 +02:00
Côme Chilliet 7a327b98cc Merge pull request #55261 from nextcloud/fix/hide-empty-settings-section
fix(admin): Hide empty section for users admin delegation
2025-09-28 19:02:41 +02:00
Ferdinand Thiessen ca5f6d4c1d chore: remove legacy jQuery contacts menu
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-28 18:57:01 +02:00
dependabot[bot] b67e2d8d89 build(deps-dev): bump puppeteer from 24.20.0 to 24.22.3
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.20.0 to 24.22.3.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.20.0...puppeteer-v24.22.3)

---
updated-dependencies:
- dependency-name: puppeteer
  dependency-version: 24.22.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-28 16:13:55 +00:00
dependabot[bot] 25e905164e Merge pull request #55381 from nextcloud/dependabot/npm_and_yarn/msw-2.11.3 2025-09-28 16:07:35 +00:00
Marcel Müller 34a085d3bf fix(cache): Ensure unique global prefix per instanceid
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-28 17:59:12 +02:00
dependabot[bot] d43cddafca build(deps-dev): bump msw from 2.11.2 to 2.11.3
Bumps [msw](https://github.com/mswjs/msw) from 2.11.2 to 2.11.3.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.11.2...v2.11.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-28 15:35:18 +00:00
Joas Schilling 7cc4a0e59f fix(live-photo): Allow files-live-photo meta data with edit permissions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-28 17:31:51 +02:00
Côme Chilliet 407cc43069 Merge pull request #55321 from nextcloud/fix/improve-connectivity-check
Improve connectivity check
2025-09-28 14:51:32 +02:00
Côme Chilliet 20e536839a feat: Add admin-delegation-section as well for completeness
Also renamed delegation into admin-delegation in xml schema.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:15 +02:00
Côme Chilliet 26f50ca3dc feat(settings): Add the new settings type to the appinfo xsd
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:14 +02:00
Côme Chilliet d429ae253e feat: Put delegated settings into the new supported settings type
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:14 +02:00
Côme Chilliet 92b1dda5e2 fix(settings): Put Users delegated settings back into admindelegation section
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:14 +02:00
Côme Chilliet 09acd7e308 feat(settings): Add support for delegated settings not appearing in menu
Adds a new type of settings, delegation, which is only used for admin
 delegation but does not appear in admin menu.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:14 +02:00
Côme Chilliet 50684fa3b0 chore: Cleanup settings manager constructor and properties
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:14 +02:00
Côme Chilliet 480ef16946 fix(admin): Hide empty section for users admin delegation
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:13 +02:00
Côme Chilliet d51efd9735 fix: Do not try to create lazy ghosts for PHP internal classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:35:49 +02:00
provokateurin ef279f6049 fix(files): Stop overwriting scan_permissions
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-28 14:11:47 +02:00
Carl Schwan 8e5eef24d2 refactor: Remove OC_Helper::streamCopy
Replace by Files::streamCopy, also deprecated but since less long

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-28 12:52:14 +02:00
Carl Schwan 4ae4b0a0e7 refactor: Remove old TemplateManager
Not used anymore

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-28 12:48:41 +02:00
Louis Chemineau bd8a0ec3cf feat(files): Add appconfig value to disable fixed userfolder permissions optimization
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-26 17:43:22 +02:00
Côme Chilliet 1c4276eea2 fix(setupchecks): Remove startpage from connectivity check and avoid redirection
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-26 16:50:54 +02:00
Côme Chilliet cc3851f73c fix(setupchecks): Use a lighter request to test connectivity
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-26 16:48:24 +02:00
yemkareems a3e8f00faa fix: user settings page updated brand logos
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-25 19:59:31 +05:30
yemkareems 33cd89dbf8 fix: added x dark and light images for x logo and switched images based on isDarkTheme flag
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-25 16:07:59 +05:30
yemkareems 59609024e8 fix: added 3 new light images for fb, bluesky and mastodon, included them in REUSE.toml
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-23 17:44:20 +05:30
Misha M.-Kupriyanov c04398c2bd feat(admin-delegation): add JSON output support with validation
- Add --output option supporting plain, json, and json_pretty formats
- Add validateOutputFormat() method for input validation
- Implement proper error handling for invalid output formats
- Support empty state handling for both plain and JSON outputs
- Use Base class writeArrayInOutputFormat() for consistent JSON output
- Maintain backward compatibility with plain format as default

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-23 13:30:14 +02:00
Misha M.-Kupriyanov 898d5a5fcc refactor(admin-delegation): extract data collection logic to separate methods
- Extract collectDelegationData() method to eliminate code duplication
- Add formatSettingsData() method for consistent data formatting
- Add outputPlainFormat() method to separate concerns
- Add proper empty state handling with user-friendly message

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-23 13:30:14 +02:00
Misha M.-Kupriyanov 613a643fc5 refactor(admin-delegation): extract plain output to new function
prepare to add json output

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-23 13:30:14 +02:00
Misha M.-Kupriyanov 7fe45314b3 chore(admin-delegation): remove unused settings variable
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-23 13:30:14 +02:00
Robin Appelman 26ae51c4b3 feat: add header with user id in response
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-18 18:30:04 +02:00
Enjeck C 7a7820605f fix: Ensure CLOUD key exists before resolving Cloud ID
Signed-off-by: Enjeck C <patrathewhiz@gmail.com>
2025-08-22 18:51:29 +01:00
SebastianKrupinski dcf3d6e7ee fix: use old event information if new is missing
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-05-15 12:20:18 -04:00
3683 changed files with 124633 additions and 88229 deletions
+46 -44
View File
@@ -4,33 +4,35 @@ ARG DEBIAN_FRONTEND=noninteractive
# PHP
RUN apt-get update -y && \
apt install -y apache2 vim software-properties-common sudo nano gnupg2
apt install -y apache2 vim software-properties-common sudo nano gnupg2 wget curl git \
lsb-release ca-certificates apt-transport-https && \
add-apt-repository ppa:ondrej/php -y && \
apt-get update -y
RUN apt-get install --no-install-recommends -y \
php8.3 \
php8.3-common \
php8.3-gd \
php8.3-zip \
php8.3-curl \
php8.3-xml \
php8.3-xmlrpc \
php8.3-mbstring \
php8.3-sqlite \
php8.3-xdebug \
php8.3-pgsql \
php8.3-intl \
php8.3-imagick \
php8.3-gmp \
php8.3-apcu \
php8.3-bcmath \
php8.3-redis \
php8.3-soap \
php8.3-imap \
php8.3-opcache \
php8.3-cli \
php8.3-dev \
php8.4 \
php8.4-common \
php8.4-gd \
php8.4-zip \
php8.4-curl \
php8.4-xml \
php8.4-xmlrpc \
php8.4-mbstring \
php8.4-sqlite \
php8.4-xdebug \
php8.4-pgsql \
php8.4-intl \
php8.4-imagick \
php8.4-gmp \
php8.4-apcu \
php8.4-bcmath \
php8.4-redis \
php8.4-soap \
php8.4-imap \
php8.4-opcache \
php8.4-cli \
php8.4-dev \
libmagickcore-6.q16-7-extra \
curl \
lsof \
make \
unzip
@@ -42,39 +44,39 @@ RUN curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php && \
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
rm /tmp/composer-setup.php /tmp/composer-setup.sig
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.3/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.3/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.3/cli/conf.d/20-apcu.ini
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.4/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.4/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.4/cli/conf.d/20-apcu.ini
# Autostart XDebug for apache
RUN { \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
} >> /etc/php/8.3/apache2/conf.d/20-xdebug.ini
} >> /etc/php/8.4/apache2/conf.d/20-xdebug.ini
# Increase PHP memory limit to 512mb
RUN sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.3/apache2/php.ini
RUN sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.4/apache2/php.ini
# Docker
RUN apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" && \
# Docker CLI only (for controlling host Docker via socket)
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update -y && \
apt-get install -y docker-ce docker-ce-cli containerd.io && \
apt-get install -y docker-ce-cli && \
ln -s /var/run/docker-host.sock /var/run/docker.sock
# Dedicated DevContainer user runs Apache
ENV APACHE_RUN_USER=devcontainer
ENV APACHE_RUN_GROUP=devcontainer
RUN useradd -ms /bin/bash ${APACHE_RUN_USER} && \
# Delete any existing user/group with UID/GID 1000 first
RUN (getent passwd 1000 && userdel -r $(getent passwd 1000 | cut -d: -f1)) || true && \
(getent group 1000 && groupdel $(getent group 1000 | cut -d: -f1)) || true && \
groupadd -g 1000 ${APACHE_RUN_GROUP} && \
useradd -u 1000 -g 1000 -ms /bin/bash ${APACHE_RUN_USER} && \
adduser ${APACHE_RUN_USER} sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
sed -ri "s/^export APACHE_RUN_USER=.*$/export APACHE_RUN_USER=${APACHE_RUN_USER}/" "/etc/apache2/envvars" && \
@@ -84,6 +86,6 @@ USER devcontainer
# NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 16'
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 22'
WORKDIR /var/www/html
-1
View File
@@ -1,6 +1,5 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: '3'
services:
nextclouddev:
build: .
+6 -1
View File
@@ -5,4 +5,9 @@
#
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
git config --global --add safe.directory /var/www/html/3rdparty
# Ensure devcontainer user has access to docker socket
if [ -S /var/run/docker.sock ]; then
sudo chmod 666 /var/run/docker.sock
fi
-14
View File
@@ -1,14 +0,0 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
# Ignoring folders for eslint
node_modules/
3rdparty/
**/vendor/
**/l10n/
**/js/*
*.config.js
tests/lib/
apps-extra
# TODO: remove when comments files is not using handlebar templates anymore
apps/comments/src/templates.js
-60
View File
@@ -1,60 +0,0 @@
/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
module.exports = {
globals: {
__webpack_nonce__: true,
_: true,
$: true,
dayNames: true,
escapeHTML: true,
firstDay: true,
moment: true,
oc_userconfig: true,
sinon: true,
},
plugins: [
'cypress',
],
extends: [
'@nextcloud/eslint-config/typescript',
'plugin:cypress/recommended',
],
rules: {
'comma-dangle': 'error',
'no-tabs': 'warn',
// TODO: make sure we fix this as this is bad vue coding style.
// Use proper sync modifier
'vue/no-mutating-props': 'warn',
'vue/custom-event-name-casing': ['error', 'kebab-case', {
// allows custom xxxx:xxx events formats
ignores: ['/^[a-z]+(?:-[a-z]+)*:[a-z]+(?:-[a-z]+)*$/u'],
}],
'vue/html-self-closing': 'error',
},
settings: {
jsdoc: {
mode: 'typescript',
},
'import/resolver': {
typescript: {}, // this loads <rootdir>/tsconfig.json to eslint
},
},
overrides: [
// Allow any in tests
{
files: ['**/*.spec.ts'],
rules: {
'@typescript-eslint/no-explicit-any': 'warn',
},
},
{
files: ['*.vue'],
rules: {
'no-irregular-whitespace': 'off',
'vue/no-irregular-whitespace': 'error',
},
},
],
}
+2
View File
@@ -21,3 +21,5 @@ b06f5ba4c47450f355a8903c1a93ac68e8c6cfc2
5981b7eb512aa411f51cad541d01c5c6e93476f0
# Migrate `and` `or` operators to logical `&&` `||` operators
660f3f6fd1ae5539b8f74bfa48859d1b9f1e6abf
# Migrate to ESLint v9 enforced code style
91f3b6b4ee60e0f8bb6e21f92d5bc52e4cebe657
+13 -11
View File
@@ -15,6 +15,8 @@
**/js @nextcloud/server-frontend
**/src @nextcloud/server-frontend
*.js @nextcloud/server-frontend
*.cjs @nextcloud/server-frontend
*.mjs @nextcloud/server-frontend
*.ts @nextcloud/server-frontend
# dependency management
@@ -29,9 +31,9 @@ package-lock.json @nextcloud/server-dependabot
/apps/contactsinteraction/lib @kesselb @SebastianKrupinski
/apps/contactsinteraction/tests @kesselb @SebastianKrupinski
/apps/dashboard/appinfo/info.xml @julien-nc @juliusknorr
/apps/dav/lib/CalDAV @st3iny @SebastianKrupinski @tcitworld
/apps/dav/lib/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/lib/CardDAV @hamza221 @SebastianKrupinski
/apps/dav/tests/unit/CalDAV @st3iny @SebastianKrupinski @tcitworld
/apps/dav/tests/unit/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/tests/unit/CardDAV @hamza221 @SebastianKrupinski
/apps/encryption/appinfo/info.xml @come-nc @icewind1991
/apps/federatedfilesharing/appinfo/info.xml @icewind1991 @danxuliu
@@ -48,7 +50,7 @@ package-lock.json @nextcloud/server-dependabot
/apps/sharebymail/appinfo/info.xml @Altahrim @skjnldsv
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
/apps/twofactor_backupcodes/appinfo/info.xml @st3iny @miaulalala @ChristophWurst
/apps/twofactor_backupcodes/appinfo/info.xml @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
@@ -70,9 +72,9 @@ package-lock.json @nextcloud/server-dependabot
# Two-Factor Authentication
# https://github.com/nextcloud/wg-two-factor-authentication#members
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen @st3iny
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen @st3iny
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen @st3iny
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen
# Limit login to IP
# Watch login routes for https://github.com/nextcloud/limit_login_to_ip
@@ -94,16 +96,16 @@ ResponseDefinitions.php @provokateurin @nextcloud/server-backend
*/Notifications/* @nickvergessen @nextcloud/talk-backend
# Groupware team
/build/integration/dav_features/caldav.feature @st3iny @SebastianKrupinski @tcitworld
/build/integration/dav_features/caldav.feature @ChristophWurst @SebastianKrupinski @tcitworld
/build/integration/dav_features/carddav.feature @hamza221 @SebastianKrupinski
/lib/private/Calendar @st3iny @SebastianKrupinski @tcitworld
/lib/private/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/private/Contacts @hamza221 @SebastianKrupinski
/lib/public/Calendar @st3iny @SebastianKrupinski @tcitworld
/lib/public/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/public/Contacts @hamza221 @SebastianKrupinski
# Desktop client teamn
/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php @nextcloud/desktop
# Personal interest
*/Activity/* @nickvergessen @nextcloud/server-backend
/apps/workflowengine/lib @nickvergessen @blizzz
*/Activity/* @nickvergessen @nextcloud/server-backend
/apps/workflowengine/lib @nickvergessen @blizzz
+4 -42
View File
@@ -38,7 +38,10 @@ updates:
# Main master npm frontend dependencies
- package-ecosystem: npm
directory: "/"
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
schedule:
interval: weekly
day: saturday
@@ -121,28 +124,6 @@ updates:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
- package-ecosystem: composer
target-branch: stable30
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:00"
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: stable31
@@ -162,22 +143,3 @@ updates:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
- package-ecosystem: npm
target-branch: stable30
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:00"
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"]
+2 -2
View File
@@ -46,7 +46,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
name: PHP checkers
@@ -75,7 +75,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
name: Translation and Files checkers
@@ -0,0 +1,97 @@
name: Remove Skip CI Command
on:
issue_comment:
types: [created]
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/remove-skip-ci')
outputs:
head_ref: ${{ steps.comment-branch.outputs.head_ref }}
steps:
- name: Get repository from pull request comment
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
id: get-repository
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const pull = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
return pull.data.head?.repo?.full_name
- name: Disabled on forks
if: ${{ fromJSON(steps.get-repository.outputs.result) != github.repository }}
run: |
echo 'Can not execute /remove-skip-ci on forks'
exit 1
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v2
with:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Init branch
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v3.0.0
id: comment-branch
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
process:
runs-on: ubuntu-latest
needs: init
steps:
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: true
token: ${{ secrets.COMMAND_BOT_PAT }}
fetch-depth: 0
ref: ${{ needs.init.outputs.head_ref }}
- name: Setup git
run: |
git config --local user.email 'nextcloud-command@users.noreply.github.com'
git config --local user.name 'nextcloud-command'
- name: Amend commit and remove skip-ci
run: |
git commit --amend -m "$(git log -1 --format='%B' | sed '/\[skip ci\]/d')"
- name: Force push
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push --force-with-lease origin "$HEAD_REF"
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
+12 -12
View File
@@ -102,8 +102,8 @@ jobs:
matrix:
# Run multiple copies of the current job in parallel
# Please increase the number or runners as your tests suite grows (0 based index for e2e tests)
containers: ['component', 'setup', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# Hack as strategy.job-total includes the component and GitHub does not allow math expressions
containers: ['setup', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# Hack as strategy.job-total includes the "setup" and GitHub does not allow math expressions
# Always align this number with the total of e2e runners (max. index + 1)
total-containers: [10]
@@ -194,6 +194,7 @@ jobs:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
SPLIT: ${{ matrix.total-containers }}
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
SPLIT_RANDOM_SEED: ${{ github.run_id }}
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
@@ -205,20 +206,19 @@ jobs:
cypress/snapshots
cypress/videos
- name: Extract NC logs
- name: Show logs
if: failure() && matrix.containers != 'component'
run: docker logs nextcloud-cypress-tests_${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: failure() && matrix.containers != 'component'
with:
name: nc_logs_${{ matrix.containers }}
path: nextcloud.log
run: |
for id in $(docker ps -aq); do
docker container inspect "$id" --format '=== Logs for container {{.Name}} ==='
docker logs "$id" >> nextcloud.log
done
echo '=== Nextcloud server logs ==='
docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} cat data/nextcloud.log
- name: Create data dir archive
if: failure() && matrix.containers != 'component'
run: docker exec nextcloud-cypress-tests_${{ env.APP_NAME }} tar -cvjf - data > data.tar
run: docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data dir archive
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
+2 -2
View File
@@ -45,10 +45,10 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.4']
php-versions: ['8.2', '8.4']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
include:
- php-versions: '8.1'
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
+2 -2
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2', '8.4']
php-versions: ['8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -134,7 +134,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.4']
php-versions: ['8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
+2 -2
View File
@@ -45,10 +45,10 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.4']
php-versions: ['8.2', '8.4']
sftpd: ['openssh']
include:
- php-versions: '8.1'
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
@@ -67,10 +67,10 @@ jobs:
- name: Pull images
run: |
docker pull ghcr.io/icewind1991/samba-krb-test-dc
docker pull ghcr.io/icewind1991/samba-krb-test-apache
docker pull ghcr.io/icewind1991/samba-krb-test-apache-gssapi:8.4
docker pull ghcr.io/icewind1991/samba-krb-test-client
docker tag ghcr.io/icewind1991/samba-krb-test-dc icewind1991/samba-krb-test-dc
docker tag ghcr.io/icewind1991/samba-krb-test-apache icewind1991/samba-krb-test-apache
docker tag ghcr.io/icewind1991/samba-krb-test-apache-gssapi:8.4 icewind1991/samba-krb-test-apache-gssapi
docker tag ghcr.io/icewind1991/samba-krb-test-client icewind1991/samba-krb-test-client
- name: Setup AD-DC
+1 -2
View File
@@ -45,9 +45,8 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
include:
- php-versions: '8.1'
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-smb
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2', '8.3', '8.4']
php-versions: ['8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
+1 -1
View File
@@ -44,7 +44,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2', '8.3', '8.4']
php-versions: ['8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
endpoint: ['old', 'new']
service: ['CalDAV', 'CardDAV']
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
endpoint: ['webdav', 'dav']
name: Litmus WebDAV ${{ matrix.endpoint }}
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
+3 -2
View File
@@ -73,7 +73,7 @@ jobs:
- 'theming_features'
- 'videoverification_features'
php-versions: ['8.1']
php-versions: ['8.4']
spreed-versions: ['main']
activity-versions: ['master']
@@ -84,9 +84,10 @@ jobs:
ports:
- 6379:6379/tcp
openldap:
image: ghcr.io/nextcloud/continuous-integration-openldap:openldap-7 # zizmor: ignore[unpinned-images]
image: ghcr.io/nextcloud/continuous-integration-openldap:openldap-8 # zizmor: ignore[unpinned-images]
ports:
- 389:389
- 636:636
env:
SLAPD_DOMAIN: nextcloud.ci
SLAPD_ORGANIZATION: Nextcloud
+1 -1
View File
@@ -47,7 +47,7 @@ jobs:
strategy:
matrix:
php-versions: [ '8.1', '8.2', '8.3', '8.4' ]
php-versions: [ '8.2', '8.3', '8.4' ]
name: php-lint
+2 -31
View File
@@ -114,35 +114,6 @@ jobs:
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
jsunit:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Test
run: npm run test:jsunit
handlebars:
runs-on: ubuntu-latest
needs: [versions, changes]
@@ -177,7 +148,7 @@ jobs:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, test, jsunit, handlebars]
needs: [changes, test, handlebars]
if: always()
@@ -185,4 +156,4 @@ jobs:
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && (needs.test.result != 'success' || needs.jsunit.result != 'success' || needs.handlebars.result != 'success') }}; then exit 1; fi
run: if ${{ needs.changes.outputs.src != 'false' && (needs.test.result != 'success' || needs.handlebars.result != 'success') }}; then exit 1; fi
+2 -2
View File
@@ -49,9 +49,9 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2']
php-versions: ['8.2', '8.3']
include:
- php-versions: '8.3'
- php-versions: '8.4'
coverage: true
name: php${{ matrix.php-versions }}-azure
+1 -1
View File
@@ -49,7 +49,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2']
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: true
+1 -1
View File
@@ -49,7 +49,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2']
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: true
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: '8.1'
php-version: '8.2'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib
coverage: none
ini-file: development
+1 -1
View File
@@ -23,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
name: performance-${{ matrix.php-versions }}
+6 -6
View File
@@ -5,9 +5,10 @@ name: PHPUnit 32bits
on:
pull_request:
paths:
- 'version.php'
- '.github/workflows/phpunit-32bits.yml'
- 'tests/phpunit-autotest.xml'
- "version.php"
- ".github/workflows/phpunit-32bits.yml"
- "tests/phpunit-autotest.xml"
- "lib/private/Snowflake/*"
workflow_dispatch:
schedule:
- cron: "15 1 * * 1-6"
@@ -30,7 +31,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1','8.3']
php-versions: ["8.2", "8.3", "8.4"]
steps:
- name: Checkout server
@@ -51,8 +52,7 @@ jobs:
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, apcu, ldap
coverage: none
ini-file: development
ini-values:
apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
ini-values: apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4', '11.8']
include:
- php-versions: '8.3'
+1 -1
View File
@@ -56,7 +56,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.3', '8.4']
php-versions: ['8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
+1 -1
View File
@@ -56,7 +56,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
mysql-versions: ['8.4']
name: Sharding - MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
mysql-versions: ['8.0', '8.4']
include:
- mysql-versions: '8.0'
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.3', '8.4']
php-versions: ['8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -49,7 +49,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
key: ['s3', 's3-multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
+2 -2
View File
@@ -61,9 +61,9 @@ jobs:
matrix:
include:
- oracle-versions: '11'
php-versions: '8.1'
php-versions: '8.2'
- oracle-versions: '18'
php-versions: '8.1'
php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
- oracle-versions: '21'
php-versions: '8.2'
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
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: ['13', '17']
include:
+2 -2
View File
@@ -59,9 +59,9 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.3', '8.4']
php-versions: ['8.3', '8.4']
include:
- php-versions: '8.1'
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: SQLite (PHP ${{ matrix.php-versions }})
+4 -4
View File
@@ -36,7 +36,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
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:
@@ -67,7 +67,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
@@ -102,7 +102,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
@@ -133,7 +133,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
+1 -8
View File
@@ -11,7 +11,7 @@
/apps/inc.php
/assets
/.htaccess
/node_modules
node_modules/
/translationfiles
/translationtool.phar
@@ -55,10 +55,6 @@
/apps/files_external/3rdparty/irodsphp/prods/test*
/apps/files_external/tests/config.*.php
# apps modules
/apps/*/node_modules
# ignore themes except the example and the README
/themes/*
!/themes/example
@@ -131,9 +127,6 @@ nbproject
# Tests
/tests/phpunit.xml
# Node Modules
/build/node_modules/
# nodejs
/build/bin
/build/lib/
+6 -6
View File
@@ -178,7 +178,7 @@ SPDX-FileCopyrightText = "2020 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = ["cypress/tsconfig.json", "dist/icons.css"]
path = ["cypress/tsconfig.json", "cypress/fixtures/appstore/apps.json", "dist/*.css"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2022 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
@@ -328,19 +328,19 @@ SPDX-FileCopyrightText = "2016-2024 Collabora Ltd."
SPDX-License-Identifier = "LicenseRef-CollaboraTrademarks"
[[annotations]]
path = ["core/img/x.svg", "core/img/twitter.svg", "core/img/actions/twitter.svg", "apps/federatedfilesharing/img/social-twitter.svg"]
path = ["core/img/x.svg", "core/img/x-dark.svg", "core/img/x-light.svg", "core/img/twitter.svg", "core/img/actions/twitter.svg", "apps/federatedfilesharing/img/social-twitter.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "X Corp."
SPDX-License-Identifier = "LicenseRef-XTrademarks"
[[annotations]]
path = ["core/img/bluesky.svg", "core/img/actions/bluesky.svg"]
path = ["core/img/bluesky.svg", "core/img/bluesky-light.svg", "core/img/actions/bluesky.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2012-2024 Fonticons, Inc."
SPDX-License-Identifier = "CC-BY-4.0"
[[annotations]]
path = ["core/img/facebook.svg", "apps/federatedfilesharing/img/social-facebook.svg"]
path = ["core/img/facebook.svg", "core/img/facebook-light.svg", "apps/federatedfilesharing/img/social-facebook.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2024 Meta"
SPDX-License-Identifier = "LicenseRef-FacebookTrademarks"
@@ -352,7 +352,7 @@ SPDX-FileCopyrightText = "2024 Diaspora"
SPDX-License-Identifier = "LicenseRef-DiasporaTrademarks"
[[annotations]]
path = ["core/img/mastodon.svg", "core/img/actions/mastodon.svg"]
path = ["core/img/mastodon.svg", "core/img/mastodon-light.svg", "core/img/actions/mastodon.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2024 Mastodon gGmbH"
SPDX-License-Identifier = "LicenseRef-MastodonTrademarks"
@@ -400,7 +400,7 @@ SPDX-FileCopyrightText = "2019 Fabian Wiktor <https://www.pexels.com/photo/green
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = ["openapi.json", ".envrc", "flake.nix", "flake.lock"]
path = ["openapi.json", ".envrc", "flake.nix", "flake.lock", "build/eslint-baseline.json"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2025 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
+4 -3
View File
@@ -2,7 +2,8 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
export const getCurrentUser = function() {
export function getCurrentUser() {
return {
uid: 'test',
displayName: 'Test',
@@ -10,8 +11,8 @@ export const getCurrentUser = function() {
}
}
export const getRequestToken = function() {
export function getRequestToken() {
return 'test-token-1234'
}
export const onRequestTokenUpdate = function() {}
export function onRequestTokenUpdate() {}
+3 -2
View File
@@ -2,9 +2,10 @@
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { Capabilities } from '../../apps/files/src/types'
export const getCapabilities = (): Capabilities => {
import type { Capabilities } from '../../apps/files/src/types.ts'
export function getCapabilities(): Capabilities {
return {
files: {
bigfilechunking: true,
+1 -1
View File
@@ -3,6 +3,6 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
export const loadState = function(app: string, key: string, fallback?: any) {
export function loadState(app: string, key: string, fallback?: any) {
return fallback
}
+4 -3
View File
@@ -2,9 +2,10 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
export const createClient = () => {}
export const getPatcher = () => {
export function createClient() {}
export function getPatcher() {
return {
patch: () => {}
patch: () => {},
}
}
+4 -11
View File
@@ -2,11 +2,11 @@
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { basename } from 'node:path'
import mime from 'mime'
import { basename } from 'node:path'
class FileSystemEntry {
private _isFile: boolean
private _fullPath: string
@@ -26,11 +26,9 @@ class FileSystemEntry {
get name() {
return basename(this._fullPath)
}
}
export class FileSystemFileEntry extends FileSystemEntry {
private _contents: string
private _lastModified: number
@@ -46,11 +44,9 @@ export class FileSystemFileEntry extends FileSystemEntry {
const type = mime.getType(this.name) || ''
success(new File([this._contents], this.name, { lastModified, type }))
}
}
export class FileSystemDirectoryEntry extends FileSystemEntry {
private _entries: FileSystemEntry[]
constructor(fullPath: string, entries: FileSystemEntry[]) {
@@ -70,7 +66,6 @@ export class FileSystemDirectoryEntry extends FileSystemEntry {
},
}
}
}
/**
@@ -79,7 +74,6 @@ export class FileSystemDirectoryEntry extends FileSystemEntry {
* File API in the same test suite.
*/
export class DataTransferItem {
private _type: string
private _entry: FileSystemEntry
@@ -104,7 +98,7 @@ export class DataTransferItem {
return this._type
}
getAsFile(): File|null {
getAsFile(): File | null {
if (this._entry.isFile && this._entry instanceof FileSystemFileEntry) {
let file: File | null = null
this._entry.file((f) => {
@@ -116,10 +110,9 @@ export class DataTransferItem {
// The browser will return an empty File object if the entry is a directory
return new File([], this._entry.name, { type: '' })
}
}
export const fileSystemEntryToDataTransferItem = (entry: FileSystemEntry, isFileSystemAPIAvailable = true): DataTransferItem => {
export function fileSystemEntryToDataTransferItem(entry: FileSystemEntry, isFileSystemAPIAvailable = true): DataTransferItem {
return new DataTransferItem(
entry.isFile ? 'text/plain' : 'httpd/unix-directory',
entry,
+1
View File
@@ -2,6 +2,7 @@
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: CC0-1.0
*/
export function setup() {
process.env.TZ = 'UTC'
}
+1
View File
@@ -2,5 +2,6 @@
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: CC0-1.0
*/
import '@testing-library/jest-dom/vitest'
import 'core-js/stable/index.js'
+1 -4
View File
@@ -14,10 +14,7 @@ if (PHP_VERSION_ID < 50600) {
echo $err;
}
}
trigger_error(
$err,
E_USER_ERROR
);
throw new RuntimeException($err);
}
require_once __DIR__ . '/composer/autoload_real.php';
@@ -26,12 +26,23 @@ use Composer\Semver\VersionParser;
*/
class InstalledVersions
{
/**
* @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
* @internal
*/
private static $selfDir = null;
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool
*/
private static $installedIsLocalDir;
/**
* @var bool|null
*/
@@ -309,6 +320,24 @@ class InstalledVersions
{
self::$installed = $data;
self::$installedByVendor = array();
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
// so we have to assume it does not, and that may result in duplicate data being returned when listing
// all installed packages for example
self::$installedIsLocalDir = false;
}
/**
* @return string
*/
private static function getSelfDir()
{
if (self::$selfDir === null) {
self::$selfDir = strtr(__DIR__, '\\', '/');
}
return self::$selfDir;
}
/**
@@ -322,19 +351,27 @@ class InstalledVersions
}
$installed = array();
$copiedLocalDir = false;
if (self::$canGetVendors) {
$selfDir = self::getSelfDir();
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
$vendorDir = strtr($vendorDir, '\\', '/');
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
$installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
self::$installedByVendor[$vendorDir] = $required;
$installed[] = $required;
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
self::$installed = $required;
self::$installedIsLocalDir = true;
}
}
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
$copiedLocalDir = true;
}
}
}
@@ -350,7 +387,7 @@ class InstalledVersions
}
}
if (self::$installed !== array()) {
if (self::$installed !== array() && !$copiedLocalDir) {
$installed[] = self::$installed;
}
@@ -14,10 +14,7 @@ if (PHP_VERSION_ID < 50600) {
echo $err;
}
}
trigger_error(
$err,
E_USER_ERROR
);
throw new RuntimeException($err);
}
require_once __DIR__ . '/composer/autoload_real.php';
@@ -26,12 +26,23 @@ use Composer\Semver\VersionParser;
*/
class InstalledVersions
{
/**
* @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
* @internal
*/
private static $selfDir = null;
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool
*/
private static $installedIsLocalDir;
/**
* @var bool|null
*/
@@ -309,6 +320,24 @@ class InstalledVersions
{
self::$installed = $data;
self::$installedByVendor = array();
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
// so we have to assume it does not, and that may result in duplicate data being returned when listing
// all installed packages for example
self::$installedIsLocalDir = false;
}
/**
* @return string
*/
private static function getSelfDir()
{
if (self::$selfDir === null) {
self::$selfDir = strtr(__DIR__, '\\', '/');
}
return self::$selfDir;
}
/**
@@ -322,19 +351,27 @@ class InstalledVersions
}
$installed = array();
$copiedLocalDir = false;
if (self::$canGetVendors) {
$selfDir = self::getSelfDir();
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
$vendorDir = strtr($vendorDir, '\\', '/');
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
$installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
self::$installedByVendor[$vendorDir] = $required;
$installed[] = $required;
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
self::$installed = $required;
self::$installedIsLocalDir = true;
}
}
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
$copiedLocalDir = true;
}
}
}
@@ -350,7 +387,7 @@ class InstalledVersions
}
}
if (self::$installed !== array()) {
if (self::$installed !== array() && !$copiedLocalDir) {
$installed[] = self::$installed;
}
@@ -236,7 +236,7 @@ class RequestHandlerController extends Controller {
*
* @param string $recipientProvider The address of the recipent's provider
* @param string $token The token used for the invitation
* @param string $userId The userId of the recipient at the recipient's provider
* @param string $userID The userID of the recipient at the recipient's provider
* @param string $email The email address of the recipient
* @param string $name The display name of the recipient
*
@@ -251,8 +251,8 @@ class RequestHandlerController extends Controller {
#[PublicPage]
#[NoCSRFRequired]
#[BruteForceProtection(action: 'inviteAccepted')]
public function inviteAccepted(string $recipientProvider, string $token, string $userId, string $email, string $name): JSONResponse {
$this->logger->debug('Processing share invitation for ' . $userId . ' with token ' . $token . ' and email ' . $email . ' and name ' . $name);
public function inviteAccepted(string $recipientProvider, string $token, string $userID, string $email, string $name): JSONResponse {
$this->logger->debug('Processing share invitation for ' . $userID . ' with token ' . $token . ' and email ' . $email . ' and name ' . $name);
$updated = $this->timeFactory->getTime();
@@ -309,7 +309,7 @@ class RequestHandlerController extends Controller {
$invitation->setRecipientEmail($email);
$invitation->setRecipientName($name);
$invitation->setRecipientProvider($recipientProvider);
$invitation->setRecipientUserId($userId);
$invitation->setRecipientUserId($userID);
$invitation->setAcceptedAt($updated);
$invitation = $this->federatedInviteMapper->update($invitation);
+3 -3
View File
@@ -354,7 +354,7 @@
"required": [
"recipientProvider",
"token",
"userId",
"userID",
"email",
"name"
],
@@ -367,9 +367,9 @@
"type": "string",
"description": "The token used for the invitation"
},
"userId": {
"userID": {
"type": "string",
"description": "The userId of the recipient at the recipient's provider"
"description": "The userID of the recipient at the recipient's provider"
},
"email": {
"type": "string",
+1 -4
View File
@@ -14,10 +14,7 @@ if (PHP_VERSION_ID < 50600) {
echo $err;
}
}
trigger_error(
$err,
E_USER_ERROR
);
throw new RuntimeException($err);
}
require_once __DIR__ . '/composer/autoload_real.php';
@@ -26,12 +26,23 @@ use Composer\Semver\VersionParser;
*/
class InstalledVersions
{
/**
* @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
* @internal
*/
private static $selfDir = null;
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool
*/
private static $installedIsLocalDir;
/**
* @var bool|null
*/
@@ -309,6 +320,24 @@ class InstalledVersions
{
self::$installed = $data;
self::$installedByVendor = array();
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
// so we have to assume it does not, and that may result in duplicate data being returned when listing
// all installed packages for example
self::$installedIsLocalDir = false;
}
/**
* @return string
*/
private static function getSelfDir()
{
if (self::$selfDir === null) {
self::$selfDir = strtr(__DIR__, '\\', '/');
}
return self::$selfDir;
}
/**
@@ -322,19 +351,27 @@ class InstalledVersions
}
$installed = array();
$copiedLocalDir = false;
if (self::$canGetVendors) {
$selfDir = self::getSelfDir();
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
$vendorDir = strtr($vendorDir, '\\', '/');
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
$installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
self::$installedByVendor[$vendorDir] = $required;
$installed[] = $required;
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
self::$installed = $required;
self::$installedIsLocalDir = true;
}
}
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
$copiedLocalDir = true;
}
}
}
@@ -350,7 +387,7 @@ class InstalledVersions
}
}
if (self::$installed !== array()) {
if (self::$installed !== array() && !$copiedLocalDir) {
$installed[] = self::$installed;
}
@@ -23,6 +23,4 @@ return array(
'OCA\\Comments\\Notification\\Listener' => $baseDir . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\Search\\CommentsSearchProvider' => $baseDir . '/../lib/Search/CommentsSearchProvider.php',
'OCA\\Comments\\Search\\LegacyProvider' => $baseDir . '/../lib/Search/LegacyProvider.php',
'OCA\\Comments\\Search\\Result' => $baseDir . '/../lib/Search/Result.php',
);
@@ -38,8 +38,6 @@ class ComposerStaticInitComments
'OCA\\Comments\\Notification\\Listener' => __DIR__ . '/..' . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\Search\\CommentsSearchProvider' => __DIR__ . '/..' . '/../lib/Search/CommentsSearchProvider.php',
'OCA\\Comments\\Search\\LegacyProvider' => __DIR__ . '/..' . '/../lib/Search/LegacyProvider.php',
'OCA\\Comments\\Search\\Result' => __DIR__ . '/..' . '/../lib/Search/Result.php',
);
public static function getInitializer(ClassLoader $loader)
+2 -2
View File
@@ -17,7 +17,6 @@ OC.L10N.register(
"Delete comment" : "حذف التعليق",
"Cancel edit" : "إلغاء التعديل",
"New comment" : "تعليق جديد",
"Write a comment …" : "أكتُب تعليق ...",
"Post comment" : "أضف تعليق",
"@ for mentions, : for emoji, / for smart picker" : "@ للإشارات : للإيموجي / للاقط الذكي",
"Could not reload comments" : "تعذّرت إعادة تحميل التعليقات",
@@ -31,6 +30,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "حدث خطأ أثناء محاولة تعديل التعليق",
"Comment deleted" : "التعليق محذوف",
"An error occurred while trying to delete the comment" : "حدث خطأ أثناء محاولة حذف التعليق",
"An error occurred while trying to create the comment" : "حدث خطأ أثناء محاولة إنشاء التعليق"
"An error occurred while trying to create the comment" : "حدث خطأ أثناء محاولة إنشاء التعليق",
"Write a comment …" : "أكتُب تعليق ..."
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
+2 -2
View File
@@ -15,7 +15,6 @@
"Delete comment" : "حذف التعليق",
"Cancel edit" : "إلغاء التعديل",
"New comment" : "تعليق جديد",
"Write a comment …" : "أكتُب تعليق ...",
"Post comment" : "أضف تعليق",
"@ for mentions, : for emoji, / for smart picker" : "@ للإشارات : للإيموجي / للاقط الذكي",
"Could not reload comments" : "تعذّرت إعادة تحميل التعليقات",
@@ -29,6 +28,7 @@
"An error occurred while trying to edit the comment" : "حدث خطأ أثناء محاولة تعديل التعليق",
"Comment deleted" : "التعليق محذوف",
"An error occurred while trying to delete the comment" : "حدث خطأ أثناء محاولة حذف التعليق",
"An error occurred while trying to create the comment" : "حدث خطأ أثناء محاولة إنشاء التعليق"
"An error occurred while trying to create the comment" : "حدث خطأ أثناء محاولة إنشاء التعليق",
"Write a comment …" : "أكتُب تعليق ..."
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+2 -2
View File
@@ -17,7 +17,6 @@ OC.L10N.register(
"Delete comment" : "Desaniciar el comentariu",
"Cancel edit" : "Anular la edición",
"New comment" : "Comentariu nuevu",
"Write a comment …" : "Escribi un comentariu…",
"Post comment" : "Espublizar el comentariu",
"@ for mentions, : for emoji, / for smart picker" : "@ pa les menciones, : pa los fustaxes, / pal selector intelixente",
"Could not reload comments" : "Nun se pudieron recargar los comentarios",
@@ -31,6 +30,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Prodúxose un error mentanto se tentaba d'editar el comentariu",
"Comment deleted" : "Desanicióse'l comentariu",
"An error occurred while trying to delete the comment" : "Prodúxose un error mentanto se tentaba de desaniciar el comentariu",
"An error occurred while trying to create the comment" : "Prodúxose un error mentanto se tentaba de crear el comentariu"
"An error occurred while trying to create the comment" : "Prodúxose un error mentanto se tentaba de crear el comentariu",
"Write a comment …" : "Escribi un comentariu…"
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -15,7 +15,6 @@
"Delete comment" : "Desaniciar el comentariu",
"Cancel edit" : "Anular la edición",
"New comment" : "Comentariu nuevu",
"Write a comment …" : "Escribi un comentariu…",
"Post comment" : "Espublizar el comentariu",
"@ for mentions, : for emoji, / for smart picker" : "@ pa les menciones, : pa los fustaxes, / pal selector intelixente",
"Could not reload comments" : "Nun se pudieron recargar los comentarios",
@@ -29,6 +28,7 @@
"An error occurred while trying to edit the comment" : "Prodúxose un error mentanto se tentaba d'editar el comentariu",
"Comment deleted" : "Desanicióse'l comentariu",
"An error occurred while trying to delete the comment" : "Prodúxose un error mentanto se tentaba de desaniciar el comentariu",
"An error occurred while trying to create the comment" : "Prodúxose un error mentanto se tentaba de crear el comentariu"
"An error occurred while trying to create the comment" : "Prodúxose un error mentanto se tentaba de crear el comentariu",
"Write a comment …" : "Escribi un comentariu…"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+4 -3
View File
@@ -17,9 +17,9 @@ OC.L10N.register(
"Delete comment" : "Выдаліць каментарый",
"Cancel edit" : "Скасаваць рэдагаванне",
"New comment" : "Новы каментарый",
"Write a comment …" : "Напішыце каментарый …",
"Write a comment …" : "Напішыце каментарый …",
"Post comment" : "Апублікаваць каментарый",
"@ for mentions, : for emoji, / for smart picker" : "@ - згадкі, : - эмодзі, / - разумны выбар",
"@ for mentions, : for emoji, / for smart picker" : "@ - згадкі, : - эмодзі, / - smart picker",
"Could not reload comments" : "Не ўдалося перазагрузіць каментарыі",
"Failed to mark comments as read" : "Не атрымалася пазначыць каментарыі як прачытаныя",
"Unable to load the comments list" : "Не ўдалося загрузіць спіс каментарыяў",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Падчас спробы рэдагавання каментарыя ўзнікла памылка",
"Comment deleted" : "Каментарый выдалены",
"An error occurred while trying to delete the comment" : "Падчас спробы выдалення каментарыя ўзнікла памылка",
"An error occurred while trying to create the comment" : "Падчас спробы стварэння каментарыя ўзнікла памылка"
"An error occurred while trying to create the comment" : "Падчас спробы стварэння каментарыя ўзнікла памылка",
"Write a comment …" : "Напішыце каментарый …"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
+4 -3
View File
@@ -15,9 +15,9 @@
"Delete comment" : "Выдаліць каментарый",
"Cancel edit" : "Скасаваць рэдагаванне",
"New comment" : "Новы каментарый",
"Write a comment …" : "Напішыце каментарый …",
"Write a comment …" : "Напішыце каментарый …",
"Post comment" : "Апублікаваць каментарый",
"@ for mentions, : for emoji, / for smart picker" : "@ - згадкі, : - эмодзі, / - разумны выбар",
"@ for mentions, : for emoji, / for smart picker" : "@ - згадкі, : - эмодзі, / - smart picker",
"Could not reload comments" : "Не ўдалося перазагрузіць каментарыі",
"Failed to mark comments as read" : "Не атрымалася пазначыць каментарыі як прачытаныя",
"Unable to load the comments list" : "Не ўдалося загрузіць спіс каментарыяў",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Падчас спробы рэдагавання каментарыя ўзнікла памылка",
"Comment deleted" : "Каментарый выдалены",
"An error occurred while trying to delete the comment" : "Падчас спробы выдалення каментарыя ўзнікла памылка",
"An error occurred while trying to create the comment" : "Падчас спробы стварэння каментарыя ўзнікла памылка"
"An error occurred while trying to create the comment" : "Падчас спробы стварэння каментарыя ўзнікла памылка",
"Write a comment …" : "Напішыце каментарый …"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
}
+2 -2
View File
@@ -17,7 +17,6 @@ OC.L10N.register(
"Delete comment" : "Suprimeix el comentari",
"Cancel edit" : "Cancel·la l'edició",
"New comment" : "Comentari nou",
"Write a comment …" : "Escriviu un comentari…",
"Post comment" : "Publica el comentari",
"@ for mentions, : for emoji, / for smart picker" : "@ per a mencions, : per a emojis, / per al selector intel·ligent",
"Could not reload comments" : "No s'han pogut tornar a carregar els comentaris",
@@ -31,6 +30,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "S'ha produït un error en intentar editar el comentari",
"Comment deleted" : "S'ha suprimit el comentari",
"An error occurred while trying to delete the comment" : "S'ha produït un error en intentar suprimir el comentari",
"An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari"
"An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari",
"Write a comment …" : "Escriviu un comentari…"
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -15,7 +15,6 @@
"Delete comment" : "Suprimeix el comentari",
"Cancel edit" : "Cancel·la l'edició",
"New comment" : "Comentari nou",
"Write a comment …" : "Escriviu un comentari…",
"Post comment" : "Publica el comentari",
"@ for mentions, : for emoji, / for smart picker" : "@ per a mencions, : per a emojis, / per al selector intel·ligent",
"Could not reload comments" : "No s'han pogut tornar a carregar els comentaris",
@@ -29,6 +28,7 @@
"An error occurred while trying to edit the comment" : "S'ha produït un error en intentar editar el comentari",
"Comment deleted" : "S'ha suprimit el comentari",
"An error occurred while trying to delete the comment" : "S'ha produït un error en intentar suprimir el comentari",
"An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari"
"An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari",
"Write a comment …" : "Escriviu un comentari…"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Smazat komentář",
"Cancel edit" : "Zrušit úpravu",
"New comment" : "Nový komentář",
"Write a comment …" : "Napsat komentář…",
"Write a comment …" : "Napsat komentář …",
"Post comment" : "Odeslat komentář",
"@ for mentions, : for emoji, / for smart picker" : "@ pro zmínění, : pro emotikony, / pro inteligentní výběr",
"Could not reload comments" : "Znovunačtení komentářů se nezdařilo",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Došlo k chybě při pokusu o úpravu komentáře",
"Comment deleted" : "Komentář smazán",
"An error occurred while trying to delete the comment" : "Došlo k chybě při pokusu o smazání komentáře",
"An error occurred while trying to create the comment" : "Došlo k chybě při pokusu o vytvoření komentáře"
"An error occurred while trying to create the comment" : "Došlo k chybě při pokusu o vytvoření komentáře",
"Write a comment …" : "Napsat komentář…"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Smazat komentář",
"Cancel edit" : "Zrušit úpravu",
"New comment" : "Nový komentář",
"Write a comment …" : "Napsat komentář…",
"Write a comment …" : "Napsat komentář …",
"Post comment" : "Odeslat komentář",
"@ for mentions, : for emoji, / for smart picker" : "@ pro zmínění, : pro emotikony, / pro inteligentní výběr",
"Could not reload comments" : "Znovunačtení komentářů se nezdařilo",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Došlo k chybě při pokusu o úpravu komentáře",
"Comment deleted" : "Komentář smazán",
"An error occurred while trying to delete the comment" : "Došlo k chybě při pokusu o smazání komentáře",
"An error occurred while trying to create the comment" : "Došlo k chybě při pokusu o vytvoření komentáře"
"An error occurred while trying to create the comment" : "Došlo k chybě při pokusu o vytvoření komentáře",
"Write a comment …" : "Napsat komentář…"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Slet kommentar",
"Cancel edit" : "Annullér redigering",
"New comment" : "Ny kommentar",
"Write a comment …" : "Skriv kommentar…",
"Write a comment …" : "Skriv kommentar …",
"Post comment" : "Skriv kommentar",
"@ for mentions, : for emoji, / for smart picker" : "\"@\" for at omtale, \":\" for emojis, \"/\" for Smart Vælger",
"Could not reload comments" : "Kunne ikke indlæse kommentarer",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Der opstod en fejl under forsøget på at redigere kommentaren",
"Comment deleted" : "Kommentar slettet",
"An error occurred while trying to delete the comment" : "Der opstod en fejl under forsøget på at slette kommentaren",
"An error occurred while trying to create the comment" : "Der opstod en fejl under forsøget på at oprette kommentaren"
"An error occurred while trying to create the comment" : "Der opstod en fejl under forsøget på at oprette kommentaren",
"Write a comment …" : "Skriv kommentar…"
},
"nplurals=2; plural=(n != 1);");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Slet kommentar",
"Cancel edit" : "Annullér redigering",
"New comment" : "Ny kommentar",
"Write a comment …" : "Skriv kommentar…",
"Write a comment …" : "Skriv kommentar …",
"Post comment" : "Skriv kommentar",
"@ for mentions, : for emoji, / for smart picker" : "\"@\" for at omtale, \":\" for emojis, \"/\" for Smart Vælger",
"Could not reload comments" : "Kunne ikke indlæse kommentarer",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Der opstod en fejl under forsøget på at redigere kommentaren",
"Comment deleted" : "Kommentar slettet",
"An error occurred while trying to delete the comment" : "Der opstod en fejl under forsøget på at slette kommentaren",
"An error occurred while trying to create the comment" : "Der opstod en fejl under forsøget på at oprette kommentaren"
"An error occurred while trying to create the comment" : "Der opstod en fejl under forsøget på at oprette kommentaren",
"Write a comment …" : "Skriv kommentar…"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Kommentar löschen",
"Cancel edit" : "Bearbeiten abbrechen",
"New comment" : "Neuer Kommentar",
"Write a comment …" : "Einen Kommentar schreiben …",
"Write a comment …" : "Einen Kommentar schreiben …",
"Post comment" : "Kommentar veröffentlichen",
"@ for mentions, : for emoji, / for smart picker" : "@ für Erwähnungen, : für Emoji, / für Smart Picker",
"Could not reload comments" : "Kommentare konnten nicht erneut geladen werden",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Es ist ein Fehler beim Bearbeiten des Kommentars aufgetreten",
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten"
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
},
"nplurals=2; plural=(n != 1);");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Kommentar löschen",
"Cancel edit" : "Bearbeiten abbrechen",
"New comment" : "Neuer Kommentar",
"Write a comment …" : "Einen Kommentar schreiben …",
"Write a comment …" : "Einen Kommentar schreiben …",
"Post comment" : "Kommentar veröffentlichen",
"@ for mentions, : for emoji, / for smart picker" : "@ für Erwähnungen, : für Emoji, / für Smart Picker",
"Could not reload comments" : "Kommentare konnten nicht erneut geladen werden",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Es ist ein Fehler beim Bearbeiten des Kommentars aufgetreten",
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten"
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Kommentar löschen",
"Cancel edit" : "Bearbeiten abbrechen",
"New comment" : "Neuer Kommentar",
"Write a comment …" : "Schreiben Sie einen Kommentar …",
"Write a comment …" : "Einen Kommentar schreiben …",
"Post comment" : "Kommentar veröffentlichen",
"@ for mentions, : for emoji, / for smart picker" : "@ für Erwähnungen, : für Emoji, / für Smart Picker",
"Could not reload comments" : "Kommentare konnten nicht erneut geladen werden",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Es ist ein Fehler beim Bearbeiten des Kommentars aufgetreten",
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten"
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Schreiben Sie einen Kommentar …"
},
"nplurals=2; plural=(n != 1);");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Kommentar löschen",
"Cancel edit" : "Bearbeiten abbrechen",
"New comment" : "Neuer Kommentar",
"Write a comment …" : "Schreiben Sie einen Kommentar …",
"Write a comment …" : "Einen Kommentar schreiben …",
"Post comment" : "Kommentar veröffentlichen",
"@ for mentions, : for emoji, / for smart picker" : "@ für Erwähnungen, : für Emoji, / für Smart Picker",
"Could not reload comments" : "Kommentare konnten nicht erneut geladen werden",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Es ist ein Fehler beim Bearbeiten des Kommentars aufgetreten",
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten"
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Schreiben Sie einen Kommentar …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Διαγραφή σχολίου",
"Cancel edit" : "Ακύρωση επεξεργασίας",
"New comment" : "Νέο σχόλιο",
"Write a comment …" : "Γράψτε ένα σχόλιο …",
"Write a comment …" : "Γράψτε ένα σχόλιο …",
"Post comment" : "Αναρτήστε σχόλιο",
"@ for mentions, : for emoji, / for smart picker" : "@ για αναφορές, : για emoji, / για έξυπνο επιλογέα",
"Could not reload comments" : "Αδυναμία επανάφόρτωσης σχολίων",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Παρουσιάστηκε σφάλμα κατά την προσπάθεια επεξεργασίας του σχολίου",
"Comment deleted" : "Το σχόλιο διαγράφηκε",
"An error occurred while trying to delete the comment" : "Παρουσιάστηκε σφάλμα κατά την προσπάθεια διαγραφής του σχολίου",
"An error occurred while trying to create the comment" : "Παρουσιάστηκε σφάλμα κατά την προσπάθεια δημιουργίας του σχολίου"
"An error occurred while trying to create the comment" : "Παρουσιάστηκε σφάλμα κατά την προσπάθεια δημιουργίας του σχολίου",
"Write a comment …" : "Γράψτε ένα σχόλιο …"
},
"nplurals=2; plural=(n != 1);");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Διαγραφή σχολίου",
"Cancel edit" : "Ακύρωση επεξεργασίας",
"New comment" : "Νέο σχόλιο",
"Write a comment …" : "Γράψτε ένα σχόλιο …",
"Write a comment …" : "Γράψτε ένα σχόλιο …",
"Post comment" : "Αναρτήστε σχόλιο",
"@ for mentions, : for emoji, / for smart picker" : "@ για αναφορές, : για emoji, / για έξυπνο επιλογέα",
"Could not reload comments" : "Αδυναμία επανάφόρτωσης σχολίων",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Παρουσιάστηκε σφάλμα κατά την προσπάθεια επεξεργασίας του σχολίου",
"Comment deleted" : "Το σχόλιο διαγράφηκε",
"An error occurred while trying to delete the comment" : "Παρουσιάστηκε σφάλμα κατά την προσπάθεια διαγραφής του σχολίου",
"An error occurred while trying to create the comment" : "Παρουσιάστηκε σφάλμα κατά την προσπάθεια δημιουργίας του σχολίου"
"An error occurred while trying to create the comment" : "Παρουσιάστηκε σφάλμα κατά την προσπάθεια δημιουργίας του σχολίου",
"Write a comment …" : "Γράψτε ένα σχόλιο …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Delete comment",
"Cancel edit" : "Cancel edit",
"New comment" : "New comment",
"Write a comment …" : "Write a comment …",
"Write a comment …" : "Write a comment …",
"Post comment" : "Post comment",
"@ for mentions, : for emoji, / for smart picker" : "@ for mentions, : for emoji, / for smart picker",
"Could not reload comments" : "Could not reload comments",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment",
"Comment deleted" : "Comment deleted",
"An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment"
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment",
"Write a comment …" : "Write a comment …"
},
"nplurals=2; plural=(n != 1);");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Delete comment",
"Cancel edit" : "Cancel edit",
"New comment" : "New comment",
"Write a comment …" : "Write a comment …",
"Write a comment …" : "Write a comment …",
"Post comment" : "Post comment",
"@ for mentions, : for emoji, / for smart picker" : "@ for mentions, : for emoji, / for smart picker",
"Could not reload comments" : "Could not reload comments",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment",
"Comment deleted" : "Comment deleted",
"An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment"
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment",
"Write a comment …" : "Write a comment …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -17,7 +17,6 @@ OC.L10N.register(
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cacelar edición",
"New comment" : "Comentario nuevo",
"Write a comment …" : "Escribir un comentario …",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoji, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
@@ -31,6 +30,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Ocurrió un error intentando editar el comentario",
"Comment deleted" : "Comentario borrado",
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error intentando crear el comentario"
"An error occurred while trying to create the comment" : "Ocurrió un error intentando crear el comentario",
"Write a comment …" : "Escribir un comentario …"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -2
View File
@@ -15,7 +15,6 @@
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cacelar edición",
"New comment" : "Comentario nuevo",
"Write a comment …" : "Escribir un comentario …",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoji, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
@@ -29,6 +28,7 @@
"An error occurred while trying to edit the comment" : "Ocurrió un error intentando editar el comentario",
"Comment deleted" : "Comentario borrado",
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error intentando crear el comentario"
"An error occurred while trying to create the comment" : "Ocurrió un error intentando crear el comentario",
"Write a comment …" : "Escribir un comentario …"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -2
View File
@@ -17,7 +17,6 @@ OC.L10N.register(
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cancelar edición",
"New comment" : "Nuevo comentario",
"Write a comment …" : "Escribir un comentario …",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoticonos, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
@@ -30,6 +29,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Ocurrió un error al intentar editar el comentario",
"Comment deleted" : "Comentario borrado",
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario"
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario",
"Write a comment …" : "Escribir un comentario …"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -2
View File
@@ -15,7 +15,6 @@
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cancelar edición",
"New comment" : "Nuevo comentario",
"Write a comment …" : "Escribir un comentario …",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoticonos, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
@@ -28,6 +27,7 @@
"An error occurred while trying to edit the comment" : "Ocurrió un error al intentar editar el comentario",
"Comment deleted" : "Comentario borrado",
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario"
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario",
"Write a comment …" : "Escribir un comentario …"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -2
View File
@@ -17,7 +17,6 @@ OC.L10N.register(
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cancelar edición",
"New comment" : "Nuevo comentario",
"Write a comment …" : "Escribir un comentario …",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoticonos, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
@@ -31,6 +30,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Ocurrió un error al intentar editar el comentario",
"Comment deleted" : "Comentario borrado",
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario"
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario",
"Write a comment …" : "Escribir un comentario …"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -2
View File
@@ -15,7 +15,6 @@
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cancelar edición",
"New comment" : "Nuevo comentario",
"Write a comment …" : "Escribir un comentario …",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoticonos, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
@@ -29,6 +28,7 @@
"An error occurred while trying to edit the comment" : "Ocurrió un error al intentar editar el comentario",
"Comment deleted" : "Comentario borrado",
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario"
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario",
"Write a comment …" : "Escribir un comentario …"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Kustuta kommentaar",
"Cancel edit" : "Loobu muutmisest",
"New comment" : "Uus kommentaar",
"Write a comment …" : "Kirjuta kommentaar...",
"Write a comment …" : "Kirjuta kommentaar...",
"Post comment" : "Postita kommentaar",
"@ for mentions, : for emoji, / for smart picker" : "@ mainimiseks, : emojide jaoks, / nutika valija jaoks",
"Could not reload comments" : "Ei saanud kommentaare uuesti laadida",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Kommentaari muutmisel tekkis tõrge",
"Comment deleted" : "Kommentaar kustutatud",
"An error occurred while trying to delete the comment" : "Kommentaari kustutamisel tekkis tõrge",
"An error occurred while trying to create the comment" : "Kommentaari lisamisel tekkis tõrge"
"An error occurred while trying to create the comment" : "Kommentaari lisamisel tekkis tõrge",
"Write a comment …" : "Kirjuta kommentaar..."
},
"nplurals=2; plural=(n != 1);");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Kustuta kommentaar",
"Cancel edit" : "Loobu muutmisest",
"New comment" : "Uus kommentaar",
"Write a comment …" : "Kirjuta kommentaar...",
"Write a comment …" : "Kirjuta kommentaar...",
"Post comment" : "Postita kommentaar",
"@ for mentions, : for emoji, / for smart picker" : "@ mainimiseks, : emojide jaoks, / nutika valija jaoks",
"Could not reload comments" : "Ei saanud kommentaare uuesti laadida",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Kommentaari muutmisel tekkis tõrge",
"Comment deleted" : "Kommentaar kustutatud",
"An error occurred while trying to delete the comment" : "Kommentaari kustutamisel tekkis tõrge",
"An error occurred while trying to create the comment" : "Kommentaari lisamisel tekkis tõrge"
"An error occurred while trying to create the comment" : "Kommentaari lisamisel tekkis tõrge",
"Write a comment …" : "Kirjuta kommentaar..."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -17,7 +17,6 @@ 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",
@@ -31,6 +30,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Errorea gertatu da iruzkina editatzen saiatzean",
"Comment deleted" : "Iruzkina ezabatu da",
"An error occurred while trying to delete the comment" : "Errorea gertatu da iruzkina ezabatzen saiatzean",
"An error occurred while trying to create the comment" : "Errorea gertatu da iruzkina sortzen saiatzean"
"An error occurred while trying to create the comment" : "Errorea gertatu da iruzkina sortzen saiatzean",
"Write a comment …" : "Idatzi iruzkin bat ..."
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -15,7 +15,6 @@
"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",
@@ -29,6 +28,7 @@
"An error occurred while trying to edit the comment" : "Errorea gertatu da iruzkina editatzen saiatzean",
"Comment deleted" : "Iruzkina ezabatu da",
"An error occurred while trying to delete the comment" : "Errorea gertatu da iruzkina ezabatzen saiatzean",
"An error occurred while trying to create the comment" : "Errorea gertatu da iruzkina sortzen saiatzean"
"An error occurred while trying to create the comment" : "Errorea gertatu da iruzkina sortzen saiatzean",
"Write a comment …" : "Idatzi iruzkin bat ..."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -17,7 +17,6 @@ OC.L10N.register(
"Delete comment" : "حذف دیدگاه",
"Cancel edit" : "Cancel edit",
"New comment" : "دیدگاه جدید",
"Write a comment …" : "دیدگاهی بنویسید...",
"Post comment" : "فرستادن دیدگاه",
"@ for mentions, : for emoji, / for smart picker" : "@ برای اشاره، : برای شکلک، / برای انتخاب‌گر هوشمند",
"Could not reload comments" : "ناتوانی در دریافت دیدگاه‌ها",
@@ -31,6 +30,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "خطایی در خلال تلاش برای ویرایش دیدگاه رخ داد",
"Comment deleted" : "دیدگاه حذف شد",
"An error occurred while trying to delete the comment" : "خطایی در خلال تلاش برای حذف دیدگاه رخ داد",
"An error occurred while trying to create the comment" : "خطایی در خلال تلاش برای ایجاد دیدگاه رخ داد"
"An error occurred while trying to create the comment" : "خطایی در خلال تلاش برای ایجاد دیدگاه رخ داد",
"Write a comment …" : "دیدگاهی بنویسید..."
},
"nplurals=2; plural=(n > 1);");
+2 -2
View File
@@ -15,7 +15,6 @@
"Delete comment" : "حذف دیدگاه",
"Cancel edit" : "Cancel edit",
"New comment" : "دیدگاه جدید",
"Write a comment …" : "دیدگاهی بنویسید...",
"Post comment" : "فرستادن دیدگاه",
"@ for mentions, : for emoji, / for smart picker" : "@ برای اشاره، : برای شکلک، / برای انتخاب‌گر هوشمند",
"Could not reload comments" : "ناتوانی در دریافت دیدگاه‌ها",
@@ -29,6 +28,7 @@
"An error occurred while trying to edit the comment" : "خطایی در خلال تلاش برای ویرایش دیدگاه رخ داد",
"Comment deleted" : "دیدگاه حذف شد",
"An error occurred while trying to delete the comment" : "خطایی در خلال تلاش برای حذف دیدگاه رخ داد",
"An error occurred while trying to create the comment" : "خطایی در خلال تلاش برای ایجاد دیدگاه رخ داد"
"An error occurred while trying to create the comment" : "خطایی در خلال تلاش برای ایجاد دیدگاه رخ داد",
"Write a comment …" : "دیدگاهی بنویسید..."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}
+2 -2
View File
@@ -15,7 +15,6 @@ OC.L10N.register(
"Delete comment" : "Poista kommentti",
"Cancel edit" : "Peruuta muokkaus",
"New comment" : "Uusi kommentti",
"Write a comment …" : "Kirjoita kommentti…",
"Post comment" : "Lähetä viesti",
"@ for mentions, : for emoji, / for smart picker" : "@ maininnoille, : emojille, / älykkäälle valitsimelle",
"Could not reload comments" : "Kommenttien lataus epäonnistui",
@@ -29,6 +28,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Kommenttia muokatessa tapahtui virhe",
"Comment deleted" : "Kommentti poistettu",
"An error occurred while trying to delete the comment" : "Kommenttia poistaessa tapahtui virhe",
"An error occurred while trying to create the comment" : "Kommenttia luodessa tapahtui virhe"
"An error occurred while trying to create the comment" : "Kommenttia luodessa tapahtui virhe",
"Write a comment …" : "Kirjoita kommentti…"
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -13,7 +13,6 @@
"Delete comment" : "Poista kommentti",
"Cancel edit" : "Peruuta muokkaus",
"New comment" : "Uusi kommentti",
"Write a comment …" : "Kirjoita kommentti…",
"Post comment" : "Lähetä viesti",
"@ for mentions, : for emoji, / for smart picker" : "@ maininnoille, : emojille, / älykkäälle valitsimelle",
"Could not reload comments" : "Kommenttien lataus epäonnistui",
@@ -27,6 +26,7 @@
"An error occurred while trying to edit the comment" : "Kommenttia muokatessa tapahtui virhe",
"Comment deleted" : "Kommentti poistettu",
"An error occurred while trying to delete the comment" : "Kommenttia poistaessa tapahtui virhe",
"An error occurred while trying to create the comment" : "Kommenttia luodessa tapahtui virhe"
"An error occurred while trying to create the comment" : "Kommenttia luodessa tapahtui virhe",
"Write a comment …" : "Kirjoita kommentti…"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Supprimer le commentaire",
"Cancel edit" : "Annuler les modifications",
"New comment" : "Nouveau commentaire",
"Write a comment …" : "Écrire un commentaire…",
"Write a comment …" : "Écrire un commentaire …",
"Post comment" : "Publier le commentaire",
"@ for mentions, : for emoji, / for smart picker" : "@ pour les mentions, : pour les émojis, / pour le sélecteur intelligent",
"Could not reload comments" : "Impossible de recharger les commentaires",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Une erreur est survenue lors de la tentative de modification du commentaire",
"Comment deleted" : "Commentaire supprimé",
"An error occurred while trying to delete the comment" : "Une erreur est survenue lors de la tentative de suppression du commentaire",
"An error occurred while trying to create the comment" : "Une erreur est survenue lors de la tentative de création du commentaire"
"An error occurred while trying to create the comment" : "Une erreur est survenue lors de la tentative de création du commentaire",
"Write a comment …" : "Écrire un commentaire…"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Supprimer le commentaire",
"Cancel edit" : "Annuler les modifications",
"New comment" : "Nouveau commentaire",
"Write a comment …" : "Écrire un commentaire…",
"Write a comment …" : "Écrire un commentaire …",
"Post comment" : "Publier le commentaire",
"@ for mentions, : for emoji, / for smart picker" : "@ pour les mentions, : pour les émojis, / pour le sélecteur intelligent",
"Could not reload comments" : "Impossible de recharger les commentaires",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Une erreur est survenue lors de la tentative de modification du commentaire",
"Comment deleted" : "Commentaire supprimé",
"An error occurred while trying to delete the comment" : "Une erreur est survenue lors de la tentative de suppression du commentaire",
"An error occurred while trying to create the comment" : "Une erreur est survenue lors de la tentative de création du commentaire"
"An error occurred while trying to create the comment" : "Une erreur est survenue lors de la tentative de création du commentaire",
"Write a comment …" : "Écrire un commentaire…"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Scrios nóta tráchta",
"Cancel edit" : "Cealaigh eagarthóireacht",
"New comment" : "Trácht nua",
"Write a comment …" : "Scríobh trácht…",
"Write a comment …" : "Scríobh trácht …",
"Post comment" : "Post trácht",
"@ for mentions, : for emoji, / for smart picker" : "@ le haghaidh tagairtí, : le haghaidh emoji, / le haghaidh roghnóir cliste",
"Could not reload comments" : "Níorbh fhéidir na nótaí tráchta a athlódáil",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Tharla earráid agus an nóta tráchta á chur in eagar",
"Comment deleted" : "Trácht scriosta",
"An error occurred while trying to delete the comment" : "Tharla earráid agus an nóta tráchta á scriosadh",
"An error occurred while trying to create the comment" : "Tharla earráid agus an nóta tráchta á chruthú"
"An error occurred while trying to create the comment" : "Tharla earráid agus an nóta tráchta á chruthú",
"Write a comment …" : "Scríobh trácht…"
},
"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Scrios nóta tráchta",
"Cancel edit" : "Cealaigh eagarthóireacht",
"New comment" : "Trácht nua",
"Write a comment …" : "Scríobh trácht…",
"Write a comment …" : "Scríobh trácht …",
"Post comment" : "Post trácht",
"@ for mentions, : for emoji, / for smart picker" : "@ le haghaidh tagairtí, : le haghaidh emoji, / le haghaidh roghnóir cliste",
"Could not reload comments" : "Níorbh fhéidir na nótaí tráchta a athlódáil",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Tharla earráid agus an nóta tráchta á chur in eagar",
"Comment deleted" : "Trácht scriosta",
"An error occurred while trying to delete the comment" : "Tharla earráid agus an nóta tráchta á scriosadh",
"An error occurred while trying to create the comment" : "Tharla earráid agus an nóta tráchta á chruthú"
"An error occurred while trying to create the comment" : "Tharla earráid agus an nóta tráchta á chruthú",
"Write a comment …" : "Scríobh trácht…"
},"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"
}
+3 -2
View File
@@ -17,7 +17,7 @@ OC.L10N.register(
"Delete comment" : "Eliminar comentario",
"Cancel edit" : "Cancelar a edición",
"New comment" : "Comentario novo",
"Write a comment …" : "Escriba un comentario…",
"Write a comment …" : "Escriba un comentario…",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para mencións, : para «emoji», / para selector intelixente",
"Could not reload comments" : "Non foi posíbel volver cargar os comentarios",
@@ -31,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Produciuse un erro cando tentaba editar o comentario",
"Comment deleted" : "Comentario eliminado",
"An error occurred while trying to delete the comment" : "Produciuse un erro cando tentaba eliminar o comentario",
"An error occurred while trying to create the comment" : "Produciuse un erro cando tentaba crear o comentario"
"An error occurred while trying to create the comment" : "Produciuse un erro cando tentaba crear o comentario",
"Write a comment …" : "Escriba un comentario…"
},
"nplurals=2; plural=(n != 1);");
+3 -2
View File
@@ -15,7 +15,7 @@
"Delete comment" : "Eliminar comentario",
"Cancel edit" : "Cancelar a edición",
"New comment" : "Comentario novo",
"Write a comment …" : "Escriba un comentario…",
"Write a comment …" : "Escriba un comentario…",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para mencións, : para «emoji», / para selector intelixente",
"Could not reload comments" : "Non foi posíbel volver cargar os comentarios",
@@ -29,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Produciuse un erro cando tentaba editar o comentario",
"Comment deleted" : "Comentario eliminado",
"An error occurred while trying to delete the comment" : "Produciuse un erro cando tentaba eliminar o comentario",
"An error occurred while trying to create the comment" : "Produciuse un erro cando tentaba crear o comentario"
"An error occurred while trying to create the comment" : "Produciuse un erro cando tentaba crear o comentario",
"Write a comment …" : "Escriba un comentario…"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

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