Compare commits

..

845 Commits

Author SHA1 Message Date
Côme Chilliet 33684e6701 Removing copyUpdate to see which tests are failing in CI
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-02 15:41:56 +02:00
Andy Scherzinger 38327e4493 Merge pull request #54777 from nextcloud/perf/carddav/ungreedify-search
perf(carddav): ungreedify search result aggregation
2025-09-02 14:59:02 +02:00
Carl Schwan d73537dd60 Merge pull request #54664 from nextcloud/carl/port-away-execute-lib
Port away from IQueryBuilder::execute in lib/ and tests/ and fix invalid usage of UniqueConstraintViolationException
2025-09-02 14:38:11 +02:00
Ferdinand Thiessen 9c3acefe53 Merge pull request #54722 from nextcloud/feat/filename-sanitize-ui
feat(files): provide UI to sanitize filenames after enabling WCF
2025-09-02 14:30:03 +02:00
Ferdinand Thiessen fb38f2fd19 Merge pull request #54789 from nextcloud/fix/dark-theme-assistant
fix(theming): adjust assistant icon color on dark theme
2025-09-02 14:24:59 +02:00
Daniel 480517ae0c Merge pull request #54794 from nextcloud/fix/add-missing-listener
fix: add missing listener
2025-09-02 14:24:43 +02:00
max-nextcloud 4927a283bd Merge pull request #54798 from nextcloud/enh/different-color-for-guest-with-same-name
enh(avatars): use different colors for guests for the same name
2025-09-02 14:04:21 +02:00
Christoph Wurst 9a0892ca30 Merge pull request #53831 from nextcloud/feat/meeting-proposals
feat: Meeting Proposals
2025-09-02 13:16:33 +02:00
nextcloud-command 0b374e6c68 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-02 10:42:50 +00:00
Andy Scherzinger 88ba65bcd4 Merge pull request #54800 from nextcloud/artonge/fix/remove_intro_from_presets
fix: Remove intro from presets
2025-09-02 12:36:04 +02:00
Carl Schwan 996be0f441 fix(comments): Don's catch invalid DriverException
These are nowadays also OCP\DB\Exception and if the id is not a numeric
deleting by id is also non working.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +02:00
Carl Schwan 9b2fff5931 refactor(querybuilder): Port away from qb::execute() in tests/
Replace by either executeStatement or executeQuery

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +02:00
Carl Schwan c4e6fbdae7 fix(query-builder): Don't catch UniqueConstraintViolationException
UniqueConstraintViolationException is no longer throw directly but
instead is now wrapped inside a \OCP\DB\Exception. So check the
exception reason.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +02:00
Carl Schwan c21b8169ff refactor(querybuilder): Port away from qb::execute() in lib/
Replace by either executeStatement or executeQuery

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:56 +02:00
Louis Chemineau a9d450285f fix: Remove intro from presets
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-02 11:37:37 +02:00
Max 78022f5447 feat(avatars): use different colors for guests for the same name
Make it harder to impersonate users who have not set their avatar.

Signed-off-by: Max <max@nextcloud.com>
2025-09-02 11:31:14 +02:00
Ferdinand Thiessen 9eb4c96d3b fix(theming): adjust assistant icon color on dark theme
* resolves https://github.com/nextcloud/server/issues/54782

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-02 11:03:34 +02:00
Ferdinand Thiessen a42bd7a507 refactor: add enum for filename sanitization also in the frontend
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-02 11:01:53 +02:00
Ferdinand Thiessen 805fe3e15b feat(files): provide UI to sanitize filenames after enabling WCF
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-02 10:53:01 +02:00
SebastianKrupinski ff4fdf1af8 feat: meeting proposals
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-02 10:34:19 +02:00
SebastianKrupinski 75419ce8f2 fix: add missing listener
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-02 10:31:55 +02:00
Joas Schilling 4fe0799d26 Merge pull request #54795 from nextcloud/fix/psalm-repair-mime-types
fix(RepairMimeTypes): Fix psalm issue
2025-09-02 10:27:37 +02:00
Marcel Klehr a38cb61d4d fix(RepairMimeTypes): Fix psalm issue
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-02 10:21:39 +02:00
Nextcloud bot 2f2049cbeb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-02 00:12:15 +00:00
Kate 1d50cf3b51 Merge pull request #54742 from nextcloud/carl/ParamNameMismatch 2025-09-01 21:00:06 +02:00
Kate bdce9c3d79 Merge pull request #54785 from nextcloud/haze-2.1.1 2025-09-01 19:21:20 +02:00
Robin Appelman e17af0e174 chore(flake): update haze to 2.1.1
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-01 18:41:48 +02:00
Kate c8d6a14444 Merge pull request #54783 from nextcloud/chore/deps/openapi-extractor-v1.8.3 2025-09-01 17:06:13 +02:00
provokateurin 0221611757 chore(deps): Update nextcloud/openapi-extractor to v1.8.3
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-01 16:04:54 +02:00
Kate 796eec5962 Merge pull request #54738 from nextcloud/fix-resolve-conflict-with-dragndrop-upload 2025-09-01 15:13:38 +02:00
Marcel Klehr 61bb2dca40 Merge pull request #54737 from nextcloud/feat/text-ext
feat: Add text/plain MIME type mapping for 'text' extension
2025-09-01 13:36:25 +02:00
Marcel Klehr 8c93c00fd7 feat: Add text/plain MIME type mapping for 'text' extension
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-01 13:13:56 +02:00
nextcloud-command 7d8735f48b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-01 11:00:56 +00:00
Richard Steinmetz 4cf2203de8 perf(carddav): ungreedify search result aggregation
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-01 12:06:48 +02:00
Carl Schwan 6ee28229d5 Merge pull request #54775 from nextcloud/carl/delete-lostpassword-token
fix(lostpassord): Delete lost password token on password change
2025-09-01 12:05:24 +02:00
Andy Scherzinger 03f22074d9 Merge pull request #54713 from nextcloud/fix/fix-status.php-cookies
fix(status.php): Fix samesite cookies
2025-09-01 11:48:27 +02:00
Andy Scherzinger 8c93efec89 Merge pull request #54774 from nextcloud/style/noid/outlineDelete
Replace filled icon with outlined variant
2025-09-01 11:47:57 +02:00
Carl Schwan 1d3c3cfb80 fix(lostpassword): Delete lost password token on password change
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-01 11:36:15 +02:00
Côme Chilliet 22160b9d2b chore: Add comment to make it clear the bail out for status.php should
not be moved above ini_set calls.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-01 10:52:31 +02:00
nextcloud-command 5518249158 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-01 07:55:54 +00:00
Andy Scherzinger 5c707dd80a style(icon): Replace filled icon with outlined variant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-09-01 09:46:43 +02:00
Andy Scherzinger be89b726b5 Merge pull request #54772 from nextcloud/dependabot/github_actions/github-actions-887c337615
build(deps): bump the github-actions group with 4 updates
2025-09-01 09:14:16 +02:00
Nextcloud bot e8aacb5f34 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-01 00:12:15 +00:00
dependabot[bot] f816a0b68e build(deps): bump the github-actions group with 4 updates
Bumps the github-actions group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [shivammathur/setup-php](https://github.com/shivammathur/setup-php), [codecov/codecov-action](https://github.com/codecov/codecov-action) and [LizardByte/actions](https://github.com/lizardbyte/actions).


Updates `actions/checkout` from 4 to 5
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

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

Updates `codecov/codecov-action` from 5.4.3 to 5.5.0
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/18283e04ce6e62d37312384ff67231eb8fd56d24...fdcc8476540edceab3de004e990f80d881c6cc00)

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

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: shivammathur/setup-php
  dependency-version: 2.35.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: codecov/codecov-action
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2025.814.40518
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-31 22:12:42 +00:00
Luka Trovic edd5dee342 fix: resolving conflict when uploading multiple files via drag&drop
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-08-31 21:20:30 +02:00
Nextcloud bot 2f8920564b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-31 00:12:14 +00:00
dependabot[bot] bcc8ff7b13 Merge pull request #54745 from nextcloud/dependabot/npm_and_yarn/cypress-axe-1.7.0 2025-08-30 08:36:00 +00:00
dependabot[bot] 0f4b27eccc build(deps-dev): bump cypress-axe from 1.6.0 to 1.7.0
Bumps [cypress-axe](https://github.com/component-driven/cypress-axe) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/component-driven/cypress-axe/releases)
- [Commits](https://github.com/component-driven/cypress-axe/compare/v1.6.0...v1.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-30 01:04:16 +00:00
Nextcloud bot c15af7f228 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-30 00:12:10 +00:00
Andy Scherzinger 7bc8c5be3f Merge pull request #54741 from nextcloud/style/noid/helpOutlineIcon
Use outline icon for Help/Copy
2025-08-29 17:18:38 +02:00
Andy Scherzinger 2c03a97386 style(icon): Replace filled with outline variant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-29 16:22:23 +02:00
Andy Scherzinger 568407b4d7 style(icon): Replace help icon with Material Symbol outlined variant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-29 16:19:20 +02:00
Richard Steinmetz 34097b6070 Merge pull request #54729 from nextcloud/feat/ocp/address-book-create-from-string
feat(ocp): create contacts from string
2025-08-29 15:25:44 +02:00
Kate 0bdabcf049 Merge pull request #54630 from nextcloud/fix/54626/occThemingTypeError 2025-08-29 15:15:57 +02:00
Richard Steinmetz 16ad73cd15 feat(ocp): create contacts from string
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-29 15:04:57 +02:00
Kate b17745e7fd Merge pull request #54733 from nextcloud/fix/version-autjo-string 2025-08-29 15:04:04 +02:00
Carl Schwan 76dc41ea18 fix(psalm): Fix ParamNameMismatch with IRepairStep::run
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-08-29 14:31:46 +02:00
Carl Schwan ef5edb6801 fix(psalm): Fix ParamNameMismatch with Job::run
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-08-29 14:31:39 +02:00
nextcloud-command dc7db45297 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-29 12:05:01 +00:00
John Molakvoæ (skjnldsv) 289cb082a6 fix(files_versions): author and label parsing fallback
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-08-29 12:03:01 +00:00
Andy Scherzinger e2ea6d4680 Merge pull request #54728 from nextcloud/fix/version-autjo-string
fix(files_versions): ensure users IDs are strings
2025-08-29 12:20:39 +02:00
nextcloud-command cedd1ee24b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-29 09:30:42 +00:00
Salvatore Martire b247c97964 fix(theming): use IAppConfig instead of IConfig to set theming config
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-29 11:06:09 +02:00
John Molakvoæ (skjnldsv) 1b7418f848 fix(files_versions): ensure users IDs are strings
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-08-29 11:04:11 +02:00
Carl Schwan 5a73733ec1 Merge pull request #54684 from nextcloud/createFilesVersionsFolder
fix(files_versions): Create version folder if it doesn't exist
2025-08-29 08:11:00 +02:00
Nextcloud bot 3ba18f78b2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-29 00:12:39 +00:00
Sebastian Krupinski 94c80aadd1 Merge pull request #52622 from nextcloud/fix/refactor-imip
fix: aliases and capitalization of emails
2025-08-28 18:30:27 -04:00
SebastianKrupinski 7e92b157e3 fix: aliases and capitalization of emails
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-28 17:40:04 -04:00
Andy Scherzinger 1cb6dc0e58 Merge pull request #54313 from nextcloud/fix/download-action
fix(files): verify files are still accessible before downloading
2025-08-28 22:53:52 +02:00
nextcloud-command b8338a05b3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-28 20:34:25 +00:00
John Molakvoæ (skjnldsv) 6fb7f7f4e7 fix(files): verify files are still accessible before downloading
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-08-28 22:27:26 +02:00
Andy Scherzinger 3b9da80293 Merge pull request #54707 from nextcloud/dependabot/npm_and_yarn/nextcloud/calendar-availability-vue-2.2.10
build(deps): bump @nextcloud/calendar-availability-vue from 2.2.8 to 2.2.10
2025-08-28 21:58:57 +02:00
Git'Fellow c5fa862b06 fix(files_versions): Use helper function
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-08-28 21:24:52 +02:00
nextcloud-command 145e130c20 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-28 18:24:03 +00:00
dependabot[bot] 4f3958f7c6 build(deps): bump @nextcloud/calendar-availability-vue
Bumps [@nextcloud/calendar-availability-vue](https://github.com/nextcloud/calendar-availability-vue) from 2.2.8 to 2.2.10.
- [Release notes](https://github.com/nextcloud/calendar-availability-vue/releases)
- [Changelog](https://github.com/nextcloud/calendar-availability-vue/blob/v2.2.10/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/calendar-availability-vue/compare/v2.2.8...v2.2.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 20:16:56 +02:00
dependabot[bot] 081396c56c Merge pull request #54709 from nextcloud/dependabot/npm_and_yarn/marked-16.2.1 2025-08-28 18:11:24 +00:00
nextcloud-command 29c358e537 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-28 17:48:11 +00:00
dependabot[bot] bfee7226cb build(deps): bump marked from 16.2.0 to 16.2.1
Bumps [marked](https://github.com/markedjs/marked) from 16.2.0 to 16.2.1.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v16.2.0...v16.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 19:34:37 +02:00
Andy Scherzinger f2de5c79cd Merge pull request #54721 from nextcloud/bucket-mapper-fixes
fix: make bucket mapper work with new multi-object-store config
2025-08-28 19:33:47 +02:00
Andy Scherzinger 809bbe3ca5 Merge pull request #54708 from nextcloud/dependabot/npm_and_yarn/p-limit-7.1.1
build(deps): bump p-limit from 7.1.0 to 7.1.1
2025-08-28 19:25:58 +02:00
John Molakvoæ 47b46d830a Merge pull request #54688 from nextcloud/release/32.0.0_beta_4 2025-08-28 18:16:50 +02:00
Joas Schilling 31d719e666 Merge pull request #54717 from nextcloud/revert-53920-revert-53918-revert-53141-perf/files/setup-fs-basic-auth-request
Revert "perf(base): Stop setting up the FS for every basic auth request"
2025-08-28 17:59:42 +02:00
Robin Appelman 02f4a82088 fix: make bucket mapper work with new multi-object-store config
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-28 17:51:25 +02:00
Sebastian Krupinski a7338b079f Merge pull request #51727 from nextcloud/fix/noid-retrieve-all-authors-at-the-same-time
fix(files_versions): retrieve all display names with one request
2025-08-28 11:13:39 -04:00
Joas Schilling 3df6d90a4c Revert "perf(base): Stop setting up the FS for every basic auth request" 2025-08-28 17:11:31 +02:00
Richard Steinmetz 40117dced3 Merge pull request #54426 from nextcloud/perf/prevent-fetching-account
perf: prevent fetching a principal's user account if the data is not needed
2025-08-28 16:59:38 +02:00
Git'Fellow e302983a87 Merge pull request #54695 from nextcloud/mtimeSanitizerPrintBadValues
chore(MtimeSanitizer): Print bad values to help debugging
2025-08-28 16:53:36 +02:00
Richard Steinmetz eb34ddbf97 Merge pull request #54438 from nextcloud/perf/caldav/cache-empty-shares-when-preloading
perf(caldav): also cache empty share arrays
2025-08-28 16:42:46 +02:00
Richard Steinmetz 9001ae2a4e Merge pull request #54435 from nextcloud/perf/caldav/preload-calendar-publish-status
perf(caldav): preload publish statuses for a whole calendar home at once
2025-08-28 16:40:32 +02:00
nextcloud-command 289e87e00f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-28 14:08:59 +00:00
Côme Chilliet 34aaa0cf83 fix(status.php): Fix samesite cookies
This skips less calls for status.php so that ini vars are correctly set
 and the code to set samesite cookies has the correct information when
 Nextcloud is installed in a subpath.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-28 16:02:13 +02:00
dependabot[bot] 6a97e8e3d1 build(deps): bump p-limit from 7.1.0 to 7.1.1
Bumps [p-limit](https://github.com/sindresorhus/p-limit) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/sindresorhus/p-limit/releases)
- [Commits](https://github.com/sindresorhus/p-limit/compare/v7.1.0...v7.1.1)

---
updated-dependencies:
- dependency-name: p-limit
  dependency-version: 7.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 13:05:44 +00:00
SebastianKrupinski 5b02d11a71 fix: retrieve all display names with one request
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-28 09:03:35 -04:00
Richard Steinmetz 5b254ea39a perf: prevent fetching a principal's user account if the data is not needed
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-28 14:13:29 +02:00
John Molakvoæ d785bcdc6e Merge pull request #53920 from nextcloud/revert-53918-revert-53141-perf/files/setup-fs-basic-auth-request 2025-08-28 14:12:57 +02:00
Kate f383db26eb Merge pull request #54703 from nextcloud/fix/accounts/v2-scope-migration 2025-08-28 14:07:53 +02:00
Kate a1709f576e Merge pull request #54627 from nextcloud/fix/ocs/accept-header 2025-08-28 14:03:23 +02:00
Richard Steinmetz e8986db7a4 perf(caldav): preload publish statuses for a whole calendar home at once
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-28 14:00:18 +02:00
Richard Steinmetz 0a79bc44df perf(caldav): also cache empty share arrays
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-28 13:50:54 +02:00
provokateurin 53c1268ead chore(provisioning_api): Remove legacy scopes
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 13:30:10 +02:00
provokateurin bede81391b fix(Accounts): Add back v2 scope migration
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 13:30:04 +02:00
Marcel Klehr c8a12a54fd Merge pull request #54690 from nextcloud/fix/taskprocessing-no-anonymous-use
fix(TaskProcessingApiController): Don't allow anonymous access anymore
2025-08-28 13:15:28 +02:00
dependabot[bot] c1b3b3c4db Merge pull request #54693 from nextcloud/dependabot/composer/build/integration/guzzlehttp/guzzle-7.10.0 2025-08-28 10:44:33 +00:00
Marcel Klehr 6c85500bfb fix: update openapi specs
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-08-28 11:46:37 +02:00
Marcel Klehr 310cd23a6a fix(TaskProcessingApiController): Don't allow anonymous access anymore
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-08-28 11:46:37 +02:00
Git'Fellow 995c97acb4 chore(MtimeSanitizer): Print bad values to help debugging
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-08-28 11:44:06 +02:00
provokateurin e38dfef0dc chore: Remove unused \OC\Cache\CappedMemoryCache
Signed-off-by: provokateurin <kate@provokateurin.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-28 09:32:51 +00:00
provokateurin eba11750eb chore: Remove unused \OC\Cache\File
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 09:28:11 +00:00
provokateurin 26ab3a6b74 refactor(Server): Deprecate \OCP\ICache service and replace it with a local cache
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 09:28:11 +00:00
provokateurin 5057d5fcc5 fix(core): Stop abusing the cache for avatar upload
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 09:28:11 +00:00
provokateurin 778c6c0d46 perf(base): Stop setting up the FS for every basic auth request
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 09:28:11 +00:00
provokateurin d5c15d4d2f test(integration): Check ocs share permission for correct folder
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 09:28:10 +00:00
Kate 706c78ff52 Merge pull request #54691 from nextcloud/leftybournes/feat/teams_groups_readonly 2025-08-28 11:24:36 +02:00
Ferdinand Thiessen 5cbda3593f Merge pull request #54692 from nextcloud/chore/nc-vue-8-29-2
chore(deps): update `@nextcloud/vue` to v8.29.2
2025-08-28 11:16:26 +02:00
Kate 3999dcf796 Merge pull request #54689 from nextcloud/bugfix/noid/fix-missing-return-type 2025-08-28 11:13:01 +02:00
dependabot[bot] 025e081530 build(deps-dev): bump guzzlehttp/guzzle in /build/integration
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.9.3 to 7.10.0.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.10/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.9.3...7.10.0)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-version: 7.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 08:51:04 +00:00
Kate c0595e9eaa Merge pull request #54683 from nextcloud/chore/preview/remove-avconv-support 2025-08-28 10:11:36 +02:00
Ferdinand Thiessen 646e8ee060 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-28 10:02:41 +02:00
Ferdinand Thiessen a334e136d5 chore(deps): update @nextcloud/vue to v8.29.2
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-28 10:00:53 +02:00
Kent Delante 2908f81769 feat: allow group's members to view fellow members
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-08-28 15:56:15 +08:00
Andy Scherzinger 86b69c75e6 Merge pull request #54490 from nextcloud/delete-share-orphan-filters
feat: allow filtering sharing:delete-orphan-shares by share owner or target
2025-08-28 09:34:38 +02:00
Joas Schilling 102c778228 fix(comments): Fix missing return type on new method
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-28 08:58:52 +02:00
Worker Builder e512b5b21f build(hub): 32.0.0 beta 4
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-08-28 06:57:25 +00:00
Nextcloud bot 2d87655e2c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-28 00:12:20 +00:00
Robin Appelman b849f71e8f feat: allow filtering sharing:delete-orphan-shares by share owner or target
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-27 21:46:42 +02:00
provokateurin 4b2a93cf0a chore(Preview): Remove avconv support
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-27 20:51:08 +02:00
Thomas Citharel 4111bdbbcf Merge pull request #53458 from nextcloud/fix-putcsv-default
fix(profiler): set default values for fputcsv arguments to avoid depreciation warning
2025-08-27 20:29:16 +02:00
Thomas Citharel 4515974bbd fix(profiler): set default values for fputcsv arguments to avoid depreciation warning
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-08-27 19:46:30 +02:00
Andy Scherzinger 247b254294 Merge pull request #54127 from nextcloud/feat/federated-calendar-sharing
feat: federated calendar shares
2025-08-27 19:23:20 +02:00
Andy Scherzinger 5262bac6b5 Merge pull request #54681 from nextcloud/style/noid/iconMaterialSymbolVariant
More material symbol variants
2025-08-27 18:54:58 +02:00
nextcloud-command 925aa821f5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-27 15:22:00 +00:00
Andy Scherzinger 8d9f73d4cf fix(svg): Add height and width
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-27 15:19:47 +00:00
Andy Scherzinger 5087e3376a style(icon): Use material symbol variant of upload icon
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-27 15:19:47 +00:00
Andy Scherzinger 143cce065d style(icon): Use material symbols for action icon
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-27 15:19:47 +00:00
Andy Scherzinger 1248ac93f2 style(icon): Use information-outline instead of information-variant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-27 15:19:47 +00:00
Andy Scherzinger f08da99e79 style(icon): Use material symbol variant of download icon
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-27 15:19:46 +00:00
Richard Steinmetz b7dc720848 feat: calendar federation
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-27 17:14:15 +02:00
Louis 896fb2fcb5 Merge pull request #54570 from nextcloud/artonge/feat/add_preset_selection_in_settings 2025-08-27 16:54:53 +02:00
Kate 45f5daa45a Merge pull request #54666 from nextcloud/carl/apply-rector 2025-08-27 16:29:58 +02:00
nextcloud-command 673b8c9c9a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-27 14:23:01 +00:00
Louis Chemineau ed02d0df05 feat(Settings): Add section to select preset
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-08-27 14:20:58 +00:00
Sebastian Krupinski 9e9f3b9d16 Merge pull request #51925 from nextcloud/feat/issue-563-calendar-import
feat: Calendar Import
2025-08-27 09:04:47 -04:00
Salvatore Martire abd971b65b Merge pull request #54667 from nextcloud/fix/51733/othersWithAccessMissing
Restore the "Others with access" section in the sharing tab
2025-08-27 14:57:04 +02:00
SebastianKrupinski 46e624a089 feat: Calendar Import
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-27 08:30:33 -04:00
Kate 7512b939b4 Merge pull request #54679 from nextcloud/feat/assistant-colors 2025-08-27 14:25:57 +02:00
nextcloud-command 51468bc2a4 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-27 12:16:29 +00:00
Salvatore Martire 0d6e9f8410 fix(files_sharing): remove condition on "Others with access"
The condition was checking shares.length to display the Others with
access component, but shares is filled only on expanding that section,
rendering the section never visible.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-27 12:14:34 +00:00
Andy Scherzinger 7f31b6f298 Merge pull request #54677 from nextcloud/style/noid/deleteIconMaterialSymbolVariant
style(icon): Use material symbol variant of delete icon
2025-08-27 13:36:01 +02:00
Daniel 2c53d34ecc Merge pull request #53760 from nextcloud/bug/noid/federation-background-job-same-url-different-token
fix(federation): remove background jobs when removing trusted servers
2025-08-27 13:25:58 +02:00
Ferdinand Thiessen 7a367b6451 feat(theming): provide Nextcloud Assistant theming colors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-27 13:19:05 +02:00
nextcloud-command e87830b369 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-27 10:38:36 +00:00
Andy Scherzinger ec84001af7 style(icon): Use material symbol variant of delete icon
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-27 12:29:34 +02:00
Andy Scherzinger 176f575a92 Merge pull request #54654 from nextcloud/fix/guest-l10n
fix(core): more understandable guest avatar menu notice
2025-08-27 12:29:14 +02:00
Daniel Kesselberg af38184b6f fix: Make DummyJobList.getJobsIterator return an interable instance
iterator_to_array on PHP 8.1 does not accept an array and fails hard with a type error

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-27 12:28:16 +02:00
Daniel Kesselberg 8b1ac839d7 fix(federation): remove background jobs when removing trusted servers
Add event listener to remove matching background jobs for trusted server url.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-27 12:28:15 +02:00
Carl Schwan d0f819ba99 Merge pull request #54409 from nextcloud/comments-db-multiple
perf(comments): Add a way to get comments for multiple objects at the same time
2025-08-27 11:57:24 +02:00
Carl Schwan daa69a6b12 fix(cypress): Adapt test to check the correct string
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-27 09:48:58 +02:00
Andy Scherzinger a9635044e3 Merge pull request #54533 from nextcloud/cal-edit-private-event
fix(caldav): show confidential event if writable
2025-08-27 09:41:57 +02:00
Joas Schilling 5704bcda6b Merge pull request #54672 from nextcloud/followup/54165/avoid-future-confusion
docs: Adjust comment to avoid future confusion
2025-08-27 08:54:00 +02:00
Joas Schilling 6a6f5f8086 docs: Adjust comment to avoid future confusion
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-27 08:16:04 +02:00
nextcloud-command d31d6ec707 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-27 07:52:40 +02:00
skjnldsv 7ef1216392 fix(core): more understandable guest avatar menu notice
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-27 07:52:40 +02:00
Nextcloud bot 784f76d2b9 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-27 00:12:30 +00:00
Andy Scherzinger bc567d3c55 Merge pull request #54648 from nextcloud/fix/sharing-entry
fix(files_sharing): correctly apply icons and copy share link
2025-08-26 22:28:37 +02:00
nextcloud-command d27f648b06 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-26 20:09:36 +00:00
Ferdinand Thiessen cde2618356 fix(files_sharing): correctly apply icons and copy share link
1. Use correct color
2. Do not mix legacy icon classes with MDI icons this will show two
   icons...
3. Use proper aria label and put status into the title

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-26 20:07:37 +00:00
Andy Scherzinger da5c912f3c Merge pull request #54655 from nextcloud/fix/fix-owncloud-dav-properties-migration
feat(repair): Migrate oc_properties.propertyvalue to the correct type if needed
2025-08-26 21:58:04 +02:00
Kate f8d6d9eb4a Merge pull request #54671 from nextcloud/chore/noid/hub25Autumn 2025-08-26 21:34:39 +02:00
Andy Scherzinger c145870da5 chore(version): Hub 10 -> Hub 25 Autumn
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-26 20:25:38 +02:00
Robin Appelman ff65b61d9c Merge pull request #54580 from nextcloud/sharded-cache-move-jail
fix moving cache items from cache jail with sharding
2025-08-26 20:20:35 +02:00
Ferdinand Thiessen a75060a07d Merge pull request #54656 from nextcloud/fix/color-variables
feat: add proper element colors and adjust setup checks
2025-08-26 19:40:43 +02:00
nextcloud-command 6f9bb77b09 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-26 16:53:17 +00:00
Ferdinand Thiessen f9030fce04 chore: fix eslint rules for non breaking spaces in Vue files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-26 18:35:55 +02:00
Ferdinand Thiessen 79184f3aed feat(settings): migrate setup checks to Vue to prevent visual issues
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-26 18:35:55 +02:00
Ferdinand Thiessen 03332a1d13 fix(theming): provide proper element color variables for status colors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-26 18:35:55 +02:00
Salvatore Martire 853835b201 Merge pull request #54538 from nextcloud/fix/54537/sharePasswordCheckboxCheckedByDefault
Do not always check password checkbox when sharing by mail and without password
2025-08-26 18:13:30 +02:00
Salvatore Martire eaaa9070ed fix(files_sharing): do not check password checkbox by default
The checkbox appears checked when no password is set (share.password ===
undefined)

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-26 17:50:30 +02:00
Kate 4c3ad2eea8 Merge pull request #54643 from nextcloud/chore/deps/openapi-extractor-v1.8.2 2025-08-26 17:31:58 +02:00
Marcel Klehr 2f4a8bb89c Merge pull request #54620 from nextcloud/fix/set-typed-value
fix(AppConfig#setTypedValue): Catch AppConfigUnknownKeyException
2025-08-26 16:59:26 +02:00
Carl Schwan 5835599fa1 chore(rector): Apply current rector config
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-26 16:27:26 +02:00
Joas Schilling c9712b4953 Merge pull request #54605 from nextcloud/bugfix/noid/fix-2fa-setup-during-ephemeral-session
fix(2fa): Fix 2FA session setup when ephemeral session is used
2025-08-26 15:45:15 +02:00
Côme Chilliet 78d69d5581 feat(repair): Migrate oc_properties.propertyvalue to the correct type if needed
This is sometimes needed when migration from owncloud

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-26 15:11:26 +02:00
Richard Steinmetz 38c8ea75ae Merge pull request #54650 from nextcloud/fix/carddav/get-key-string
fix(carddav): IAddressBook::getKey() should return a string
2025-08-26 14:20:53 +02:00
Kate 6bb941bfad Merge pull request #54618 from nextcloud/fix/oauth2/limit-getToken-grant_type-values 2025-08-26 14:07:56 +02:00
Kate 3c1dc006c6 Merge pull request #54558 from nextcloud/feat/noid/set-preset-controller 2025-08-26 14:06:59 +02:00
Benjamin Gaussorgues 7c8c593f5c Merge pull request #54197 from nextcloud/perf/reduce_mount_db_load 2025-08-26 13:53:34 +02:00
Richard Steinmetz caf664ea43 fix(carddav): IAddressBook::getKey() should return a string
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-26 13:31:04 +02:00
Maxence Lange a81d58970c feat(lexicon): set/get current preset from controller
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>

feat(lexicon): set/get current preset from controller
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-26 09:00:04 -01:00
John Molakvoæ 5ab16f46f9 Merge pull request #54606 from nextcloud/release/32.0.0_beta_3 2025-08-26 11:18:12 +02:00
provokateurin 5283bb7c2f chore(deps): Update nextcloud/openapi-extractor to v1.8.2
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-26 10:21:10 +02:00
provokateurin aab11d35d3 fix(OCS): Add IRequest::getFormat to determine the response Content-Type the same way everywhere
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-26 09:50:03 +02:00
Benjamin Gaussorgues 39e2e70084 feat(mounts): optimize load of mounts by filtering on database side
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-08-26 08:55:24 +02:00
Côme Chilliet d18b10ca11 Merge pull request #54632 from nextcloud/fix/fix-trashbin-plugin-dot-not-allowed
fix(trashbin): Fix errors in the log on MOVE operations
2025-08-26 08:33:58 +02:00
Nextcloud bot 983fd30285 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-26 00:13:50 +00:00
Maxence Lange 18351be65c Merge pull request #54520 from nextcloud/fix/noid/preset-for-userconfig
feat(preset): compare userconfig lexicon entries
2025-08-25 18:19:44 -01:00
Andy Scherzinger e878ff9119 Merge pull request #54617 from nextcloud/followup/54608/double-space
test: Fix double space
2025-08-25 21:08:40 +02:00
Ferdinand Thiessen bc1f9184b7 Merge pull request #54624 from nextcloud/fix/missing-variable
fix(theming): add missing `color-text-success` variable
2025-08-25 19:45:43 +02:00
Ferdinand Thiessen 985eca3cf5 Merge pull request #54631 from nextcloud/fix/account-menu-mask
fix(core): make sure no alpha mask is applied on the account menu
2025-08-25 18:47:13 +02:00
Worker Builder 73cc94b80e build(hub): 32.0.0 beta 3
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-08-25 17:55:23 +02:00
nextcloud-command 9c1d306a3e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-25 15:37:09 +00:00
Kate a23c087737 Merge pull request #54625 from nextcloud/fix/files_sharing/reject-pending-remote-share 2025-08-25 17:34:54 +02:00
Ferdinand Thiessen b3467b433c fix(core): make sure no alpha mask is applied on the account menu
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-25 17:15:09 +02:00
Ferdinand Thiessen a7a78054aa Merge pull request #54621 from nextcloud/fix/setup-checks-color
fix(settings): adjust colors used by legacy setup checks ui
2025-08-25 17:14:40 +02:00
Côme Chilliet 3c14f9f933 Merge pull request #53578 from nextcloud/jtr-chore-mbstring-func-overload
chore: remove all `mbstring.func_overload` references
2025-08-25 17:00:28 +02:00
Côme Chilliet 5c9c2fe5e2 fix(trashbin): Fix errors in the log on MOVE operations
dirname will return '.' for files at the root, which will cause an
 Exception that gets logged.
Instead use \Sabre\Uri\split like other sabre plugins, to get an empty
 string for root directory.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-25 16:36:55 +02:00
Kate 111350b17b Merge pull request #54607 from nextcloud/fix/fix-type-error-in-encryption 2025-08-25 15:34:35 +02:00
provokateurin d4b05201d8 fix(files_sharing): Correctly reject pending remote shares
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-25 14:55:27 +02:00
Ferdinand Thiessen 55f968aa4b fix(theming): add missing color-text-success variable
This was planned to be added and already documented.
The use case is some rare occurences where we use success like text.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-25 14:48:06 +02:00
Ferdinand Thiessen 494806ee64 fix(settings): adjust colors used by legacy setup checks ui
Even if the rule is `background-color` in reality it is the color of the
icon thus needs the text color.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-25 14:27:15 +02:00
Marcel Klehr dbb5705152 fix(AppConfig#setTypedValue): Catch AppConfigUnknownKeyException
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-08-25 14:06:29 +02:00
Maxence Lange b7cdfddeda feat(preset): compare userconfig lexicon entries
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-25 11:05:56 -01:00
provokateurin 1b4722c330 fix(oauth2): Limit allowed grant_type values in getToken
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-25 13:40:35 +02:00
Joas Schilling 51f596e0c2 test: Fix double space
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-25 13:29:17 +02:00
Joas Schilling 4082a45d6d test: Adjust the hashes and signatures
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-25 13:19:36 +02:00
Josh 7996a3eb3a chore: remove mbstring.func_overload from htaccessWithValidModifiedContent
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-25 13:19:36 +02:00
Josh 6d55224d46 chore: remove mbstring.func_overload from setUploadLimit .user.ini
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-25 13:19:36 +02:00
Josh 8ac796cd86 chore: remove mbstring.func_overload from setUploadLimit .htaccess
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-25 13:19:36 +02:00
Josh 130cb05ea4 chore: remove mbstring.func_overload check from checkserver()
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-25 13:19:36 +02:00
Josh 61d5567913 chore: remove mbstring.func_overload from .htaccess
Deprecated in PHP 7.2
Removed in PHP 8.0
https://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.func-overload

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-25 13:19:36 +02:00
Josh aaed9a9045 chore: remove mbstring.func_overload from .user.ini
Deprecated in PHP 7.2
Removed in PHP 8.0
https://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.func-overload

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-25 13:19:36 +02:00
Côme Chilliet 07b046f762 fix(tests): Fix fopen in mock returning null which is not a valid return
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-25 13:18:50 +02:00
Côme Chilliet 8c21f2b19c fix(encryption): Fix TypeError when trying to decrypt unencrypted file
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-25 13:18:50 +02:00
Richard Steinmetz 1091e59b90 Merge pull request #54608 from nextcloud/bugfix/noid/fix-failing-certificate-tests
tests: Update testing certificates that expired after 10 years
2025-08-25 13:17:27 +02:00
Joas Schilling 894fda1a4d ci: Update testing certificates that expired after 10 years
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-25 12:15:57 +02:00
Kate 32f5f6e08e Merge pull request #54598 from nextcloud/chore/flake/haze 2025-08-25 10:43:45 +02:00
Joas Schilling 11aa997da3 fix(2fa): Fix 2FA session setup when ephemeral session is used
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-25 10:39:17 +02:00
Kate d8635180c7 Merge pull request #54099 from nextcloud/translatable-string 2025-08-25 10:01:22 +02:00
provokateurin e2d028a3d6 chore(flake): Add haze
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-25 08:18:35 +02:00
provokateurin 2b3fec2900 chore(flake): Update flake.lock
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-25 08:18:04 +02:00
Nextcloud bot 1b05582b97 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-25 00:12:17 +00:00
Andy Scherzinger bd6c16ea88 Merge pull request #53503 from nextcloud/fix-json-decoding-groups-excluded-from-share
fix(sharing): fix json decoding the list of groups excluded from sharing
2025-08-24 21:38:31 +02:00
Enjeck C eb0ddffaaa fix: Make some strings in CodeIntegrity.php translatable
Signed-off-by: Enjeck C <patrathewhiz@gmail.com>
2025-08-24 20:23:51 +02:00
Nextcloud bot cc3938da72 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-24 00:12:07 +00:00
Ferdinand Thiessen 5d6dd51c8d Merge pull request #54588 from nextcloud/dependabot/npm_and_yarn/p-limit-7.1.0
chore(deps): bump p-limit from 6.2.0 to 7.1.0
2025-08-23 19:04:07 +02:00
nextcloud-command fad1f67156 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-23 13:24:05 +00:00
dependabot[bot] 5c4bd8b03f chore(deps): bump p-limit from 6.2.0 to 7.1.0
Bumps [p-limit](https://github.com/sindresorhus/p-limit) from 6.2.0 to 7.1.0.
- [Release notes](https://github.com/sindresorhus/p-limit/releases)
- [Commits](https://github.com/sindresorhus/p-limit/compare/v6.2.0...v7.1.0)

---
updated-dependencies:
- dependency-name: p-limit
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-23 01:27:03 +00:00
Nextcloud bot 3712ba2c2a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-23 00:12:18 +00:00
Richard Steinmetz 01c6095052 Merge pull request #54575 from nextcloud/fix/outlook-user-agent
fix: use appropriate user agent string when syncing Outlook calendar subscriptions
2025-08-22 23:03:30 +02:00
Matt Evans 4d770f1c3c fix: use appropriate user agent string when syncing Outlook calendar subscriptions
Signed-off-by: Matt Evans <matt@mattevans.org>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-22 22:19:31 +02:00
John Molakvoæ e0baf69e45 Merge pull request #54581 from nextcloud/release/32.0.0_beta_2 2025-08-22 20:39:34 +02:00
John Molakvoæ 301f567089 Merge pull request #54329 from nextcloud/fix/files-batch-actions 2025-08-22 20:34:30 +02:00
nextcloud-command 14132593f7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-22 18:18:11 +00:00
skjnldsv 3bdff6b3f5 fix(files): filter non batch actions in header
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-22 18:16:09 +00:00
Worker Builder 012a3a4584 build(hub): 32.0.0 beta 2
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-08-22 17:47:43 +00:00
Robin Appelman afe77e32f2 test: test moving cache items from cache jail with sharding
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-22 19:21:33 +02:00
Robin Appelman 1a716578fd fix: fix moving cache items from cache jail with sharding
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-22 19:21:31 +02:00
Maksim Sukharev ec024eb590 Merge pull request #54579 from nextcloud/fix/noid/sidebar-outline-icons 2025-08-22 17:57:05 +02:00
nextcloud-command 606c8b9a26 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-22 15:03:47 +00:00
Maksim Sukharev ef0c1bd11c fix(Sidebar): change icons to outline
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-08-22 15:29:04 +02:00
Maxence Lange 2975a99848 Merge pull request #54335 from nextcloud/feat/noid/lexicon-appconfig-controller
feat(lexicon): get value type from lexicon
2025-08-22 12:27:48 -01:00
John Molakvoæ b243fd31bd Merge pull request #54561 from nextcloud/fix/files-breakpoint-improvements 2025-08-22 13:33:06 +02:00
John Molakvoæ 8473d95f84 Merge branch 'master' into fix/files-breakpoint-improvements
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-22 10:04:13 +02:00
Nextcloud bot 10ef3a56d7 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-22 00:12:17 +00:00
Ferdinand Thiessen ec6d6dfb44 Merge pull request #54554 from nextcloud/feat/new-background
feat(theming): add new default background for Nextcloud 32
2025-08-21 23:27:12 +02:00
Ferdinand Thiessen 591601d000 fix(theming): previews need the same file extension as their originals
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-21 19:22:45 +02:00
Ferdinand Thiessen fc5dad8343 feat(theming): add new default background for Nextcloud 32
With Nextcloud 32 we ship a new default background: "Fluid" by Jo Myoung Hee.
Copyright by Nextcloud GmbH under the CC-BY-SA-4.0

- added the background compressed as WebP (90% quality)
- set as new default
- added license reference and move theming related reuse config

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-21 19:22:45 +02:00
dependabot[bot] 85198fdc2a Merge pull request #54568 from nextcloud/dependabot/npm_and_yarn/cipher-base-1.0.6 2025-08-21 16:45:15 +00:00
Côme Chilliet c88a5b451c Merge pull request #54519 from nextcloud/fix/fix-duplicated-category-migration
fix: Fix unique constraint violation in oc_vcategory migration
2025-08-21 18:01:33 +02:00
dependabot[bot] 7b82f1330c Merge pull request #54569 from nextcloud/dependabot/npm_and_yarn/sha.js-2.4.12 2025-08-21 15:47:17 +00:00
dependabot[bot] 8cbbb9ab15 chore(deps): bump sha.js from 2.4.11 to 2.4.12
Bumps [sha.js](https://github.com/crypto-browserify/sha.js) from 2.4.11 to 2.4.12.
- [Changelog](https://github.com/browserify/sha.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/sha.js/compare/v2.4.11...v2.4.12)

---
updated-dependencies:
- dependency-name: sha.js
  dependency-version: 2.4.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-21 15:23:09 +00:00
dependabot[bot] fa38efe0ad chore(deps): bump cipher-base from 1.0.4 to 1.0.6
Bumps [cipher-base](https://github.com/crypto-browserify/cipher-base) from 1.0.4 to 1.0.6.
- [Changelog](https://github.com/browserify/cipher-base/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/cipher-base/compare/v1.0.4...v1.0.6)

---
updated-dependencies:
- dependency-name: cipher-base
  dependency-version: 1.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-21 15:23:00 +00:00
Jonas Stene c3857ee12e chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-21 17:03:22 +02:00
Maxence Lange 4f0d5634c7 fix(lexicon): convert instead of cast
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-21 13:17:19 -01:00
Maxence Lange 295f0503d5 feat(lexicon): get value type from lexicon
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-21 13:01:10 -01:00
Kate a7a8738e63 Merge pull request #54559 from nextcloud/feat/noid/store-description 2025-08-21 15:01:02 +02:00
Julien Veyssier 8a8e1c83ec Merge pull request #54545 from nextcloud/enh/noid/add-token-invalidated-event
Dispatch new event when invalidating an authentication token
2025-08-21 14:31:31 +02:00
Jonas Stene e44305a8b7 fix(files): changed prop to kebab-case
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Jonas Stene <jonas@stene.li>
2025-08-21 14:26:33 +02:00
Jonas Stene b35569abe2 fix(files): added noLabel prop to UploadPicker with breakpoint
Signed-off-by: Jonas Stene <jonas@stene.li>
2025-08-21 14:26:33 +02:00
Jonas Stene f9fa5abcf2 fix(files): removed breakpoint on gridView button
Signed-off-by: Jonas Stene <jonas@stene.li>
2025-08-21 14:26:33 +02:00
Maxence Lange fc8d188c9f feat(lexicon): remove limitation to store definition only on cli
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-21 10:21:24 -01:00
Julien Veyssier 3d36834284 feat(auth): include the token entity in TokenInvalidatedEvent
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-21 12:42:44 +02:00
Julien Veyssier 4a35837741 feat(auth): adjust PublicKeyTokenProviderTest
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-21 12:42:44 +02:00
Julien Veyssier 3da919c783 feat(auth): dispatch new TokenInvalidatedEvent when PublicKeyTokenProvider::invalidateToken is called
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-21 12:42:44 +02:00
Julien Veyssier 8ffd30bbf9 feat(auth): dispatch new TokenInvalidatedEvent when PublicKeyTokenProvider::invalidateTokenById is called
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-21 12:42:43 +02:00
Carl Schwan 94e2af0302 perf(comments): Also cache the comments count
Since we now have an easy way to fetch the comments count.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-21 11:30:56 +02:00
John Molakvoæ d5417d63e0 Merge pull request #54410 from nextcloud/fix/sharing-status-action-sidebar-promise-return 2025-08-21 11:24:15 +02:00
Carl Schwan fa5548a1f3 perf(comments): Add a way to get comments for multiple objects at the same time
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-21 11:18:57 +02:00
John Molakvoæ 2e816535cf Merge pull request #54552 from makoehr/extend-user-ini-with-lines-from-configuration 2025-08-21 11:09:11 +02:00
Mathias Koehrer 109b454e48 feat: allow updater to extend .user.ini on update
When running nextcloud with a web hoster it might be necessary
to extend .user.ini after each update (e.g. adding memory_limit).
To automate this step, an additional config entry may be provided
in config.php that specifies the lines to be added to .user.ini.

If the config option 'user_ini_additional_lines' exists, the provided
value (string or array of strings) will be added to .user.ini.

Signed-off-by: Mathias Koehrer <koehrer08@koehrer-mail.de>
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-21 10:43:37 +02:00
Nextcloud bot bdea4337d3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-21 00:12:23 +00:00
Richard Steinmetz ac0abb34b0 Merge pull request #54535 from nextcloud/fix/caldav/public-calendar-read-only
fix(caldav): public calendars are always read-only
2025-08-20 23:30:35 +02:00
Git'Fellow 4d65b91b06 Merge pull request #54541 from nextcloud/fixAppManagerNullObjs
fix(AppManager): Argument must be of type array|object
2025-08-20 20:12:48 +02:00
John Molakvoæ 93b97f49e5 Merge pull request #54540 from nextcloud/chore/cypress-runners 2025-08-20 17:59:07 +02:00
Git'Fellow b36e4e3824 fix(AppManager): Argument must be of type array|object
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-08-20 17:16:33 +02:00
Kate f7cdb228c9 Merge pull request #54530 from nextcloud/fix/lowercase-profile-page-route-name 2025-08-20 17:07:02 +02:00
John Molakvoæ 4636e165e5 Merge pull request #54331 from nextcloud/fix/systemtags-heighh-align 2025-08-20 16:58:52 +02:00
skjnldsv 12a4ff89c3 chore: increase cypress runners to 10
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-20 16:56:14 +02:00
John Molakvoæ 0958fda1b4 Merge pull request #54338 from nextcloud/chore/cleanup 2025-08-20 16:54:41 +02:00
nextcloud-command 205abce9ec chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-20 14:31:29 +00:00
nextcloud-command 5bfce62a48 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-20 14:30:37 +00:00
nextcloud-command 5c995edd07 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-20 14:30:36 +00:00
skjnldsv a8a2edcaa8 fix(systemtags): picker tag list height alignment
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-20 14:29:18 +00:00
skjnldsv 88d7275c60 chore(files_sharing): remove unused legacy scripts
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-20 14:28:36 +00:00
skjnldsv ce41a2d727 chore: add window.d.ts to release ignore list
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-20 16:21:34 +02:00
skjnldsv 9404059f6c fix(files_sharing): sharing status action permission and sidebar await
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-20 16:21:09 +02:00
John Molakvoæ 971dfd7cbf fix(files): properly type window Files APIs
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-20 16:21:09 +02:00
Maxence Lange 776a689e09 Merge pull request #54385 from nextcloud/fix/51946/split-discovery-capacities
feat(ocm): split ocm discovery and capacities
2025-08-20 12:31:25 -01:00
Kate 357292f937 Merge pull request #54532 from nextcloud/fix/theming/manifest-not-found-response 2025-08-20 15:23:31 +02:00
Maxence Lange fa60488ee7 feat(ocm): split ocm discovery and capacities
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-20 11:57:01 -01:00
Richard Steinmetz 1a781d5afa fix(caldav): public calendars are always read-only
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-20 13:37:47 +02:00
Arusekk b3c5707a0c fix(caldav): show confidential event if writable
If a party can edit the calendar/event, just display it instead of
hiding the details and risking overwrites.
This might be considered a change impacting privacy,
but it actually improves semantics.

Relevant test updates included, improving assertion correctness.

I think all the relevant use cases are solved by this.

Closes https://github.com/nextcloud/server/issues/5551
Closes https://github.com/nextcloud/calendar/issues/4044
Closes https://github.com/nextcloud/server/issues/11214

Signed-off-by: Arusekk <floss@arusekk.pl>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-20 13:34:38 +02:00
provokateurin 7b6303dcc9 fix(theming): Document correct response schema if app is not enabled
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-20 12:45:47 +02:00
zak39 a98ba27a0f fix(route): Change "core.ProfilePage.index" to lowercase
Signed-off-by: zak39 <fotia.baptiste@hotmail.com>
2025-08-20 11:52:36 +02:00
Nextcloud bot 4733369764 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-20 00:12:26 +00:00
John Molakvoæ 92e71d23f2 Merge pull request #53752 from nextcloud/trasbin-event-fixes
fix: fix trashbin restore events
2025-08-19 21:17:06 +02:00
Robin Appelman f3850b141a fix: fix trashbin restore events
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-19 20:46:56 +02:00
John Molakvoæ b9d97f2c47 Merge pull request #54523 from nextcloud/fix/changelog-gen 2025-08-19 20:46:01 +02:00
Andy Scherzinger acf04ff752 Merge pull request #54450 from nextcloud/dependabot/npm_and_yarn/marked-16.1.2
chore(deps): bump marked from 16.1.1 to 16.1.2
2025-08-19 20:17:56 +02:00
nextcloud-command 5867a0f252 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-19 17:58:56 +00:00
dependabot[bot] 11e1d15de9 chore(deps): bump marked from 16.1.1 to 16.1.2
Dependabot couldn't find the original pull request head commit, 72842cc765c044e08939a1342f03d4252001c7ed.
2025-08-19 17:52:14 +00:00
John Molakvoæ fc0ecf963b Merge pull request #54452 from nextcloud/dependabot/npm_and_yarn/msw-2.10.5 2025-08-19 19:48:58 +02:00
skjnldsv f304b80414 fix: changelog generation workflow
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-19 19:06:08 +02:00
dependabot[bot] b56b23cfb2 chore(deps-dev): bump msw from 2.10.4 to 2.10.5
Bumps [msw](https://github.com/mswjs/msw) from 2.10.4 to 2.10.5.
- [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.10.4...v2.10.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 19:05:18 +02:00
John Molakvoæ e43e44d2ee Merge pull request #54502 from nextcloud/release/32.0.0_beta_1
32.0.0 beta 1
2025-08-19 18:23:36 +02:00
John Molakvoæ 3cacd7c035 Merge pull request #54497 from nextcloud/chore/update-nextcloud-vue-8-29 2025-08-19 18:23:27 +02:00
skjnldsv 434adefe71 chore: update tests snapshots
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-19 18:05:43 +02:00
nextcloud-command 4102af5324 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-19 16:04:14 +00:00
nextcloud-command 9ba63683ae chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-19 16:01:31 +00:00
Ferdinand Thiessen f933a41a5a chore: adjust webpack plugin to also extract inline asset licenses
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-19 16:01:30 +00:00
Ferdinand Thiessen 4b2fcac882 fix: also add version to OC.config during setup
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-19 16:01:30 +00:00
Ferdinand Thiessen 7d73be6bdd fix(files): ensure no invalid color is passed to NcColorPicker
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-19 16:01:30 +00:00
skjnldsv d408327373 chore: update @nextcloud/vue to v8.29.1
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-19 16:01:30 +00:00
Ferdinand Thiessen cd310afe1a chore: update @nextcloud/vue to v8.29.0
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-19 16:01:30 +00:00
Ferdinand Thiessen 9fd80b2aa2 Merge pull request #54515 from nextcloud/fix/theming-parsing
fix(theming): correctly parse CSS colors for user primary color picker
2025-08-19 17:43:18 +02:00
Kate 4edfef4dd5 Merge pull request #53895 from nextcloud/fix/cleanup-updater-class 2025-08-19 17:40:15 +02:00
Andy Scherzinger d8ccc9fb64 Merge pull request #54454 from nextcloud/dependabot/npm_and_yarn/webpack-5.101.2
chore(deps-dev): bump webpack from 5.101.0 to 5.101.2
2025-08-19 17:30:07 +02:00
nextcloud-command 8d06d2b35e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-19 15:05:27 +00:00
Côme Chilliet e2b8ef769c fix: Fix unique constraint violation in oc_vcategory migration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-19 17:02:54 +02:00
Ferdinand Thiessen d0012e5672 fix(theming): correctly parse CSS colors for user primary color picker
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-19 16:58:41 +02:00
nextcloud-command d4a91c495e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-19 14:58:14 +00:00
Ferdinand Thiessen 6404a9925c Merge pull request #54496 from nextcloud/refactor/deprecated-styles
refactor: replace deprecated CSS variables with their replacement
2025-08-19 16:57:11 +02:00
dependabot[bot] 9c365bf347 chore(deps-dev): bump webpack from 5.101.0 to 5.101.2
Bumps [webpack](https://github.com/webpack/webpack) from 5.101.0 to 5.101.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.101.0...v5.101.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 16:42:25 +02:00
nextcloud-command 1462e6fc67 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-19 13:58:03 +00:00
Ferdinand Thiessen 82d4d8290b refactor: replace deprecated CSS variables with their replacement
Couple of versions ago:
- `color-text-light` was replaced with `color-main-text`
- `color-text-lighter` was replaced with `color-text-maxcontrast`

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-19 15:50:29 +02:00
Ferdinand Thiessen 24b79aa1f0 Merge pull request #54512 from nextcloud/chore/adjust-for-new-status-colors
fix: adjust server styles for new secondary status colors
2025-08-19 15:50:05 +02:00
Maxence Lange 8a2b02ab9c Merge pull request #54414 from nextcloud/feat/noid/compare-defaults-on-preset
feat(preset): compare default for all preset
2025-08-19 12:31:45 -01:00
nextcloud-command 450c977ca8 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-19 13:13:24 +00:00
Ferdinand Thiessen e99ea1a351 fix: adjust server styles for new secondary status colors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-19 15:05:01 +02:00
Maxence Lange e1c7f6020c feat(preset): adding /settings/preset endpoint
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-19 10:55:48 -01:00
Maxence Lange 6eda5583db feat(preset): compare default for all preset
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-19 10:50:24 -01:00
Maxence Lange 66cc7b731a Merge pull request #54408 from nextcloud/feat/noid/preset-on-share-link-expire-date
feat(preset): share link expiration date
2025-08-19 10:24:43 -01:00
John Molakvoæ 8e89cc5db0 Merge pull request #54510 from nextcloud/revert-54503-skjnldsv-patch-1 2025-08-19 12:23:52 +02:00
John Molakvoæ bc614e6c08 Revert "fix(workflows): also exclude beta in block-merge-freeze" 2025-08-19 12:18:24 +02:00
Kate c2437ebbff Merge pull request #54440 from nextcloud/fix/caldav/search-uid-urlencode 2025-08-19 11:52:55 +02:00
Kate 74d9649e6e Merge pull request #54058 from nextcloud/feat/preset/load-apps-on-preset 2025-08-19 11:43:54 +02:00
Kate c9c3acdbe0 Merge pull request #54327 from nextcloud/db-schema-export-table 2025-08-19 11:36:47 +02:00
John Molakvoæ f4c74f5f48 Merge pull request #54492 from nextcloud/feat/status-border-text-colors 2025-08-19 10:50:00 +02:00
John Molakvoæ 7c20186b0d Merge pull request #54503 from nextcloud/skjnldsv-patch-1 2025-08-19 10:20:54 +02:00
John Molakvoæ 0ff10e80d6 fix(workflows): also exclude beta in block-merge-freeze
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-19 09:45:46 +02:00
Daniel 09607f40eb Merge pull request #53834 from nextcloud/feat/imailaddressvalidator
feat(ocp): add email address validator
2025-08-19 09:38:51 +02:00
Daniel b9da14be0c Merge pull request #54494 from nextcloud/fix/typos
fix: typos in cache and app config
2025-08-19 09:34:24 +02:00
Daniel f7a7ae46ab Merge pull request #54464 from nextcloud/jtr-fix-dav-direct-server-propfind-typo
chore(dav): Fix typo in property name
2025-08-19 09:33:05 +02:00
Worker Builder c7ba72552c build(hub): 32.0.0 beta 1
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-08-19 07:31:56 +00:00
Kate 96467aefa9 Merge pull request #54500 from nextcloud/chore/psalm/update-baseline 2025-08-19 09:03:03 +02:00
Kent Delante bca451f001 Merge pull request #54474 from nextcloud/leftybournes/feat/contactsmenu_register_actions
feat: provide api to register actions in contacts menu
2025-08-19 15:01:48 +08:00
provokateurin 3ae53e3d2a chore(psalm): Update baseline
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-19 08:44:15 +02:00
Andy Scherzinger c026c7c933 Merge pull request #54419 from nextcloud/share-event-catch
fix: catch and log exception from share events
2025-08-19 07:21:52 +02:00
Andy Scherzinger 6ecae88d75 Merge pull request #54434 from nextcloud/fix/core--unified-search--cut-off
fix(core): unified search is cut off on small window
2025-08-19 07:20:20 +02:00
Kent Delante 9f3da00aac feat: provide api to register actions in contacts menu
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-08-19 09:17:44 +08:00
Nextcloud bot 18da10fd01 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-19 00:12:37 +00:00
Andy Scherzinger f824a5967b Merge pull request #54421 from nextcloud/fix/outline-extra-icons
fix: Replace some more icons with outlined ones
2025-08-19 00:19:42 +02:00
Andy Scherzinger 5072b7e926 Merge pull request #54457 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.1.4
chore(deps-dev): bump rector/rector from 2.1.2 to 2.1.4 in /vendor-bin/rector
2025-08-19 00:02:53 +02:00
Ferdinand Thiessen 6c003eda5c Merge pull request #54483 from nextcloud/feat/fetch-user-timezone
feat(IDateTimeZone): allow to fetch timezone of specified user
2025-08-18 20:36:46 +02:00
Ferdinand Thiessen a0535ae917 Merge pull request #54439 from nextcloud/feat/secondary-status-colors
feat: use secondary-like status colors
2025-08-18 19:54:32 +02:00
Ferdinand Thiessen 112178d3a0 fix: typos in cache and app config
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 18:35:54 +02:00
Ferdinand Thiessen d79e18ab18 feat: add CSS variables for status border and text
The variables like `--color-error` now are based on our secondary
theming, thus they are less "aggressive" colors. But there are two
usecases for primary based status colors:
- borders
- error text messages (e.g. validation errors in forms)

To simplify app changes due to the secondary color theme change this
introduces 3 new variables:
- `--color-text-error` this shall be used if text should have error
  status theming and is displayed on normal background (while
  `--color-error-text` is only for text shown on `--color-error` similar
  as primary and secondary colors)
- `--color-border-error` and `--color-border-success` those should be
  used for element borders if there is one of those statuses to be
  reported (we use this for validation errors as well as for indicating a
  value was saved)

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 18:17:59 +02:00
Ferdinand Thiessen d779255c5f chore: recompile stylesheets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 18:17:27 +02:00
Ferdinand Thiessen 04c9015210 feat: darken hover colors of primary and secondary
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 18:15:55 +02:00
Ferdinand Thiessen 0394f4cb2a fix: adjust also legacy styles
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 18:15:55 +02:00
Ferdinand Thiessen 64db537b76 feat: use secondary-like status colors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 18:15:55 +02:00
Richard Steinmetz c519e4a22a Merge pull request #54377 from nextcloud/feat/notification-preload-reason
feat: indicate reason for preloading notifications
2025-08-18 18:15:03 +02:00
Richard Steinmetz 8dc30e4f65 Merge pull request #54485 from nextcloud/fix/caldav-acl
fix: exclude \Sabre\DAVACL\Plugin from prop find monitoring
2025-08-18 18:05:02 +02:00
Côme Chilliet a25797330b fix: Log that using an appinfo/install.php file is deprecated
appinfo/install.php is not part of the official documentation for
 application development but some apps are still using such a file.
 Log a message to deprecate this behavior, to be able to remove support
 for this later.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:25:07 +02:00
Côme Chilliet 8ccf87f7a2 chore: update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:41 +02:00
Côme Chilliet f5111c0961 chore(tests): Do not mock DependencyAnalyzer in AppManagerTest
Not ideal to have coupled tests like that but it’s the easiest path
 forward to make sure the tests still covers the same usecase and avoid
 code duplication.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +02:00
Côme Chilliet 12edd2b23a fix: Deduplicate code by using DependencyAnalyzer in the AppManager
Was a bit more complicated than expected because of a dependency loop,
the L10N factory uses the app manager, thus the AppManager cannot depend
on I10N directly or indirectly in its constructor.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +02:00
Côme Chilliet 7978b6153d chore: Update autoloader
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +02:00
Côme Chilliet b7c15949ce chore: Get rid of AppLocator helper
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +02:00
Côme Chilliet 3cea218750 chore(tests): Use valid application names for tests
Dash is not allowed in appid, underscore is.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +02:00
Côme Chilliet 0e01bc09a9 chore: Inline OC_App::setupBackgroundJobs
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +02:00
Côme Chilliet e5606d7fe3 chore: Move getAppPath and getAppWebPath implementations into AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +02:00
Côme Chilliet 3e01a429e7 chore: Replace last calls to OC_App::enable by IAppManager
Also added a few missing deprecations

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +02:00
Côme Chilliet 61a87bc384 chore: Deduplicate common code between installApp and installShippedApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +02:00
Côme Chilliet 4abfd4871f chore: Move isAppCompatible and shouldUpgrade to the app manager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:18:38 +02:00
Côme Chilliet 25c2279966 chore: Set installShippedApps as non-static in Installer
Make code closer to the one of installApp, to be able to compare them
 and later merge them (in the shadows).

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:18:27 +02:00
Côme Chilliet cb8d960766 chore: Remove check for appinfo/database.xml
It has been unsupported since Nextcloud 22.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:27 +02:00
Côme Chilliet f551b9192e chore: Adapt InstallerTest to Installer new construct parameters
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:27 +02:00
Côme Chilliet 410389867c chore: Inline private method OC_App::setupLiveMigrations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:27 +02:00
Côme Chilliet f5fac6476f chore: Remove references to obsolete field ocsid in apps info.xml
It’s not even allowed by our xsd schema.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:25 +02:00
Côme Chilliet 42c980e093 chore: Add IAppManager property in Installer
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:14:48 +02:00
Côme Chilliet fd17555333 chore: Move OC_App::updateApp to IAppManager::upgradeApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:14:45 +02:00
Côme Chilliet 6aa675c6bb fix: Cleanup OC_App uses in Updater class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:13:14 +02:00
Richard Steinmetz f95ce30994 feat: indicate reason for preloading notifications
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-18 15:28:46 +02:00
Ferdinand Thiessen 6d5dd4b389 Merge pull request #54383 from nextcloud/feat/cache-app-config
feat(AppConfig): cache the config if local cache is available
2025-08-18 15:12:09 +02:00
Ferdinand Thiessen cd550d57ef Merge pull request #54402 from nextcloud/fix/streamer-mtime-zip
fix(Streamer): use localtime for ZIP files
2025-08-18 14:39:37 +02:00
Ferdinand Thiessen f7e0f3f241 feat(IDateTimeZone): allow to fetch timezone of specified user
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 14:26:52 +02:00
Ferdinand Thiessen 2fb1cfeb10 Merge pull request #54470 from nextcloud/feat/central-timezone-setting
feat: allow to set your local timezone in settings and provide it to clients
2025-08-18 14:20:13 +02:00
Ferdinand Thiessen 5a2490ba04 Merge pull request #54482 from nextcloud/chore/codeowners-dependabot
chore(CODEOWNERS): remove dependabot team from codeowners
2025-08-18 14:04:26 +02:00
Richard Steinmetz 51f0aa5be2 fix: exclude \Sabre\DAVACL\Plugin from prop find monitoring
Fixes creating events with attendees on the same server.

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-18 13:27:56 +02:00
Ferdinand Thiessen 503f43f655 test(cypress): clear cache after running OCC commands
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +02:00
Ferdinand Thiessen 866ccae542 docs(IConfig): fix wrong doc block type for $key on setAppValue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +02:00
Ferdinand Thiessen 0ef58c96ab refactor(Memcache\Factory): move prefix generation to the factory class
This removes a circular dependency between AppConfig and cache factory.
When a cache in the app config is used.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +02:00
Ferdinand Thiessen d5e2432bcd fix: resolve invalid usage of AppConfig::getValue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +02:00
Ferdinand Thiessen 9d320f8470 test(AppConfig): add proper unit tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +02:00
Ferdinand Thiessen 1c85548f86 feat(AppConfig): cache app config in local cache if available
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +02:00
Ferdinand Thiessen aa9345c55a chore: recompile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 12:47:39 +02:00
Ferdinand Thiessen 10768a2602 chore: update openAPI exports
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 12:46:00 +02:00
Ferdinand Thiessen 62804b93e0 chore(CODEOWNERS): remove dependabot team from codeowners
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 12:42:05 +02:00
Ferdinand Thiessen 20777e4a9d refactor(dav): remove timezone from AvailabilitiyForm
It is handled in personal settings now.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 12:40:42 +02:00
Ferdinand Thiessen ac545cc478 fix(SetUserTimezoneCommand): only write user login timezone if not yet set
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 12:40:42 +02:00
Kate d300e32c06 Merge pull request #54479 from nextcloud/fix/files_sharing/shared-with-me-hide-own-reshares 2025-08-18 12:40:28 +02:00
Ferdinand Thiessen 0dd8e5e32e feat(settings): allow to set own timezone in personal settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 12:35:31 +02:00
Ferdinand Thiessen c40350d2e4 feat(core): provide capabilities of the current user
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 12:35:31 +02:00
provokateurin 37175e0e2b fix(files_sharing): Also hide own reshares in shared with me section
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-18 11:38:05 +02:00
John Molakvoæ 2d659b2f04 Merge pull request #54035 from theking2/patch-1 2025-08-18 11:23:23 +02:00
nextcloud-command 01273b3397 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-18 10:03:14 +02:00
kramo ba4f235628 fix: Replace some more icons with outlined ones
Follow-up to #54054

Signed-off-by: kramo <git@kramo.page>
2025-08-18 10:03:14 +02:00
Nextcloud bot 0bc2b34793 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-18 00:12:13 +00:00
Nextcloud bot 23573c4947 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-17 00:12:00 +00:00
Theking2 1396f76b73 Merge branch 'master' into patch-1 2025-08-16 14:06:37 +02:00
Josh 43df12f148 chore: update psalm-baseline.xml
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-16 07:58:10 -04:00
Josh 1fcf57c3ee chore(dav): Fix typo in property name
Already the parent class default so a no-op either way.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-16 07:56:54 -04:00
dependabot[bot] 545194bc94 Merge pull request #54453 from nextcloud/dependabot/npm_and_yarn/puppeteer-24.16.2 2025-08-16 02:58:10 +00:00
dependabot[bot] 2dec90f558 chore(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.1.2 to 2.1.4.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.1.2...2.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-16 02:15:51 +00:00
dependabot[bot] 48f43b5583 chore(deps-dev): bump puppeteer from 24.16.0 to 24.16.2
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.16.0 to 24.16.2.
- [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.16.0...puppeteer-v24.16.2)

---
updated-dependencies:
- dependency-name: puppeteer
  dependency-version: 24.16.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-16 01:58:00 +00:00
Nextcloud bot 22a51aace2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-16 00:12:03 +00:00
Richard Steinmetz b38c07c682 Merge pull request #54229 from nextcloud/perf/mount-provider-join-array-merge
perf: join array_merge calls in MountProvider::getMountsForUser()
2025-08-15 15:25:39 +02:00
Richard Steinmetz fa80a6199d fix(caldav): encode calendar URLs properly when formatting search results
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-15 14:53:49 +02:00
Richard Steinmetz 7bb0e0de7a Merge pull request #54405 from nextcloud/perf/custom-properties-default-value
perf: delete commonly used custom properties instead of setting the default value
2025-08-15 13:34:29 +02:00
Grigorii K. Shartsev 2fb825505b chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2025-08-15 12:37:11 +02:00
Grigorii K. Shartsev 501fa4de05 fix(core): unified search is cut off on small window
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2025-08-15 12:34:37 +02:00
Salvatore Martire 75d9aaa3b5 Merge pull request #54318 from nextcloud/feat/54115/emitPreloadCollectionEvent
Emits a `preloadCollection` event in the DAV server, so that plugins can listen to it and preload DAV properties for files inside a collection, to avoid the N+1 issue that would follow if loading properties on a per-file basis.
2025-08-15 11:06:48 +02:00
Robin Appelman 89fa14fd77 Merge pull request #54386 from nextcloud/fix-n+1-caldav
fix(performance): Fix n+1 issue when fetching calendar properties
2025-08-15 10:56:11 +02:00
Salvatore Martire 4a0a00a5a2 perf(shares): avoid array_merge in loops
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-15 10:46:43 +02:00
Salvatore Martire bdcd583045 feat: make use of preloadCollection in core apps
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-15 10:46:43 +02:00
Salvatore Martire 9bbebd6034 feat: emit preloadCollection event in DAV
This allows plugins to preload the content of a Collection to speed-up
subsequent per-node PROPFINDs and reduce database load.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-15 10:46:43 +02:00
Carl Schwan 9df79bae10 perf(caldav): Only prefetch published properties
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-15 09:57:58 +02:00
Carl Schwan 46f0c6ebb5 perf(caldav): Cache calendars in CustomPropertiesBackend
We already do that for files, we are now also doing for calendars.
With relatively small amount of calendars, I managed to reduce the
number of DB requests by 35% and from 23 DB requests touching the
oc_properties table to only 3.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-15 09:57:58 +02:00
Carl Schwan 977541cedf perf(caldav): Add multi users support in findPropertiesByPaths
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-15 09:57:56 +02:00
Daniel 64c52006dd Merge pull request #54272 from nextcloud/enh/noid/taskprocessing-task-add-cleanup-flag
feat(taskprocessing): add cleanup flag to tasks
2025-08-15 09:48:47 +02:00
Nextcloud bot 2fc58bf45d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-15 00:12:18 +00:00
John Molakvoæ 5f81a77c72 Merge pull request #54370 from nextcloud/chore-remove-unused-ocs-providers 2025-08-14 22:02:23 +02:00
Daniel 92e282af0b Merge pull request #53996 from nextcloud/feat/unified_search/online_providers
feat(UnifiedSearch): Online search providers support, toggle option
2025-08-14 21:08:21 +02:00
Maxence Lange 6076b67696 feat(preset): share link expiration date
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-14 16:07:32 -01:00
Maxence Lange 61fe4c1aba Merge pull request #54336 from nextcloud/feat/noid/preset-on-share-password
feat(preset): share password protection
2025-08-14 16:07:13 -01:00
Daniel Kesselberg 336c6d2957 feat(ocp): add email address validator
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-14 18:34:36 +02:00
Carl Schwan 806fe6619f perf(caldav): Fetch additional properties for multiple calendars in one query
Instead of doing it for each calendar individually.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-14 18:25:40 +02:00
Robin Appelman e0a21e5927 Merge pull request #54384 from nextcloud/getpath-node
perf: use more optimized node-by-id logic in View::getPath
2025-08-14 18:21:23 +02:00
Ferdinand Thiessen ba00416040 refactor(Streamer): inject IDateTimeZone as constructor arg
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-14 17:19:28 +02:00
Ferdinand Thiessen bb72eed4a2 fix(Streamer): use localtime for ZIP files
ZIP does not use a proper timestamp but uses something called "DOS time".
This is a weird old format with some limitations like accuracy of only
2 seconds, but also no timezone information.
Also unline UNIX time it is not relative to some specific point in time
with timezone information, but is always considered to be the local
time. Meaning we need to convert it first to the users local time.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-14 17:19:28 +02:00
Benjamin Gaussorgues d7f66eaee4 Merge pull request #54418 from nextcloud/fix/more-transparency 2025-08-14 17:12:39 +02:00
Maxence Lange 9c7ed07571 feat(preset): load apps on new preset
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-14 13:27:33 -01:00
Robin Appelman 06aa7035db Merge pull request #54420 from nextcloud/disable-custom-props-events
perf(calendar): Disable custom properties for individual calendar events
2025-08-14 15:55:36 +02:00
Anna 1a2d0d5c1d Merge pull request #54117 from nextcloud/feat/noid/add-bulk-activity
feat(activity): add bulk activity option
2025-08-14 15:53:33 +02:00
Robin Appelman b69109395b Merge pull request #52786 from nextcloud/multi-object-store
allow configuring multiple object store backends
2025-08-14 15:49:00 +02:00
Andrey Borysenko 5c4e84f128 feat(UnifiedSearch): External search providers support
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2025-08-14 16:37:39 +03:00
Stephan Orbaugh 7fe5c8fdda Merge pull request #54120 from IONOS-Productivity/fix/unified_search.providers_allowed
fix(search): Fix SearchComposer.php filtering logic
2025-08-14 15:02:42 +02:00
Salvatore Martire 50c9c7e332 Merge pull request #54153 from nextcloud/feat/54114/reportSlowPropfinds
This PR adds an error log when a DAV Plugin fetches data for nodes in a directory on a per-node basis instead of using an eager loading mechanism, which is more efficient.

This is only enabled when `config.php` has `'debug'` set to enabled.
2025-08-14 13:40:31 +02:00
Robin Appelman 1f24090770 Merge pull request #54411 from nextcloud/dav-customerproperties-ignore-nc
perf: ignore any custom property in the nc/oc namespace that isn't explicitly allowed
2025-08-14 13:22:10 +02:00
Robin Appelman 4990d75007 feat: multi object store rename command
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +02:00
Robin Appelman b3c53c7436 feat: allow object store configuration aliases for easier migrations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +02:00
Robin Appelman 2d4bba7b0c feat: add command to get user objectstore config mappings
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +02:00
Robin Appelman 385dd36ff8 feat: allow configuring multiple objectstore configurations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +02:00
Maxence Lange cf8203a5f6 fix(lexicon): fix definition for share password by default
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-14 09:52:28 -01:00
Robin Appelman dcc6c1956a fix: catch and log exception from share events
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 11:37:11 +02:00
Anna Larch 6a3a244807 feat(activity): add bulk activity option
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-08-14 11:31:47 +02:00
Carl Schwan 90cc0454a7 perf(calendar): Disable custom properties for individual calendar events
Save a query per event stored in the calendar and at least on the
production instance, there is no entries in the table for the events.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-14 11:27:44 +02:00
Benjamin Gaussorgues 055b5ddb9e Merge pull request #54393 from nextcloud/automated/noid/master-update-ca-cert-bundle 2025-08-14 10:32:04 +02:00
Ferdinand Thiessen 0305004709 fix: add more transparency to the header icon gradient
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-14 10:06:46 +02:00
nextcloud-command 248adf535c fix(security): Update CA certificate bundle
Signed-off-by: GitHub <noreply@github.com>
2025-08-14 02:43:58 +00:00
Nextcloud bot 1b63b565d4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-14 00:12:21 +00:00
Simon L. ec3be25955 Merge pull request #54413 from nextcloud/perf/render-sharing-tab-sections-only-once
perf: render sharing tab sections only once
2025-08-13 22:59:32 +02:00
Daniel 9dd661f3d8 Merge pull request #53756 from nextcloud/feat/settings/app_api/daemon-selection
feat(settings): Deploy daemon selection support during ExApp installation
2025-08-13 22:57:13 +02:00
Andrey Borysenko 71ef47e70b feat(settings): Deploy daemon selection support during ExApp installation
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2025-08-13 21:19:38 +03:00
Richard Steinmetz 798f3734be perf: render sharing tab sections only once
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-13 20:10:47 +02:00
Richard Steinmetz 7c0ffc0759 perf: delete commonly used custom properties instead of setting the default value
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-13 20:07:43 +02:00
Salvatore Martire ec176a933a feat(dav): report inefficient DAV plugins in logs
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-13 19:46:18 +02:00
Robin Appelman 06154dd116 fix: don't use view->getPath in ownership transfer
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-13 19:42:42 +02:00
Robin Appelman 34d5a103b4 test: adjust tests to getPath changes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-13 19:42:42 +02:00
Robin Appelman 5987584b90 perf: use more optimized node-by-id logic in View::getPath
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-13 19:42:42 +02:00
Robin Appelman 46b5ff7467 perf: ignore any customer property in the nc/oc namespace that isn't explicitly allowed
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-13 19:32:45 +02:00
Nextcloud bot d658b9b558 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-13 16:59:00 +00:00
Andy Scherzinger 7d45e9b2a3 Merge pull request #54401 from nextcloud/fix/streamer-directory-mtime
fix(ZipFolderPlugin): set mtime of directories in archive
2025-08-13 17:58:45 +02:00
Ferdinand Thiessen 32703d0500 fix(ZipFolderPlugin): set mtime of directories in archive
Directories should also have the correct mtime set and not the current
time. For this the `Streamer` class needs to support passing a time
attribute for creating folders, the underlying library already supports
this.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-13 10:23:47 +02:00
Nextcloud bot 2979a2bab0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-13 00:12:03 +00:00
Ferdinand Thiessen ec986d479b Merge pull request #54380 from nextcloud/feat/3rdparty-polyfills
chore: update 3rdparty to include PHP polyfills
2025-08-12 22:55:58 +02:00
Johannes kingma 38f190336f fix: adjust memcache config quote escape
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-08-12 21:13:17 +02:00
Ferdinand Thiessen 9e3269d3c4 chore: update 3rdparty to include PHP polyfills
| Production Changes        | From    | To      | Compare                                                                    |
|---------------------------|---------|---------|----------------------------------------------------------------------------|
| symfony/polyfill-ctype    | v1.32.0 | REMOVED |                                                                            |
| symfony/polyfill-mbstring | v1.32.0 | REMOVED |                                                                            |
| symfony/polyfill-php80    | v1.32.0 | REMOVED |                                                                            |
| symfony/polyfill-php83    | v1.31.0 | v1.32.0 | [...](https://github.com/symfony/polyfill-php83/compare/v1.31.0...v1.32.0) |
| symfony/polyfill-php82    | NEW     | v1.32.0 |                                                                            |
| symfony/polyfill-php84    | NEW     | v1.32.0 |                                                                            |

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-12 18:31:11 +02:00
Maxence Lange cb84ccc57d feat(preset): share password protection
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-12 14:37:32 -01:00
John Molakvoæ aaca29bdad Merge pull request #54202 from nextcloud/fix/less-words 2025-08-12 17:16:18 +02:00
nextcloud-command 98d37090f4 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-12 13:59:29 +00:00
rakekniven 17b4deb800 fix: Update tests
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-08-12 15:48:22 +02:00
kramo c5d1f2f9ff fix(l10n): Less jargon in source strings
This removes:
- “enable” for settings
- “settings” for settings sections
- “all” when there is no obvious subset of items
- “show” and “open” for navigation actions
- “changes” for applying/discarding
- “to clipboard” when copying
- Explaining things that cannot happen
- Explaining things twice, right below each other
- Unnecessary technical jargon
- Text that sounds like marketing copy and serves no other purpose

Signed-off-by: kramo <git@kramo.page>
2025-08-12 14:37:34 +02:00
Richard Steinmetz b4302fe57c Merge pull request #54371 from nextcloud/fix-getting-trusted-server-other-than-the-first
fix: Fix getting trusted server other than the first
2025-08-12 13:25:55 +02:00
John Molakvoæ cf0b709ddf Merge pull request #54376 from nextcloud/ci/fix-desktop-team 2025-08-12 11:28:16 +02:00
Ferdinand Thiessen a86662705e ci: adjust update desktop version workflow to assign correct team
2 of 3 persons that were assigned are not working in that area anymore.
So just assign the team.
Moreover the date was wrong as the file was created 2025.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-12 10:53:22 +02:00
Daniel Calviño Sánchez b42d125950 fix: Fix getting trusted server other than the first
"array_filter" preserves the keys, so after the trusted servers were
filtered "$server[0]" existed only if the server to get was the first
one in the original array.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-08-12 06:47:51 +02:00
Nextcloud bot 2427b864ec fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-12 00:12:12 +00:00
Josh de39c5122c chore: drop unused ocs/providers.php
This appears to have been originally intended to support the providers list functionality mentioned in the OCS <=v1.7 spec. That is, appears to be an implementation of what was suggested be made available at `https://domain.tld/ocs/providers.xml`.

However best as I can tell it never worked. It also doesn't appear in the v2.0 spec drafts.


Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-11 18:20:19 -04:00
John Molakvoæ 43f6f9b25c Merge pull request #54353 from nextcloud/automated/noid/-update-min-supported-desktop-version 2025-08-11 21:54:30 +02:00
John Molakvoæ 6309931feb Merge pull request #54367 from nextcloud/patch-1 2025-08-11 21:11:02 +02:00
F. E Noel Nfebe 49e35f111c Merge pull request #54310 from nextcloud/fix/conditional-federation-placeholders
fix(files_sharing): Implementation conditional federation placeholder
2025-08-11 19:21:43 +01:00
nextcloud-command e54f990757 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-11 18:16:07 +00:00
Atemu d69e8923fe fix(core): search f keycode
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-08-11 18:14:05 +00:00
Andy Scherzinger 65f8de6d94 Merge pull request #54354 from nextcloud/fix/codeowners
chore(CODEOWNERS): ensure every file change has at least 2 reviewers
2025-08-11 20:03:30 +02:00
nextcloud-command dd882127ab chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-11 18:00:00 +00:00
nfebe e7f4de6296 fix(files_sharing): Implementation conditional federation placeholder
This commits addresses an annoyance where the share input placeholder would
suggest sharing via federated cloud ID even if federation was disabled.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-08-11 18:54:56 +01:00
Ferdinand Thiessen 2e7ac880bb Merge pull request #54360 from nextcloud/fix/display-shares-as-internal
fix(files_sharing): show shares to remote as internal if configured so
2025-08-11 18:05:38 +02:00
nextcloud-command 6001eba392 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-11 15:20:32 +00:00
Ferdinand Thiessen 5cbfe61b18 fix(files_sharing): show shares to remote as internal if configured so
- if this is a GS instance
- or was configured by administrator

Then show the share as internal (remote and remote group shares).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-11 15:18:29 +00:00
Ferdinand Thiessen c60cc977b4 Merge pull request #54345 from nextcloud/dependabot/npm_and_yarn/nextcloud/initial-state-3.0.0
chore(deps): bump @nextcloud/initial-state from 2.2.0 to 3.0.0
2025-08-11 17:15:31 +02:00
nextcloud-command 38f0ca875a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-11 17:01:32 +02:00
Ferdinand Thiessen 9ad5214fce test(files): adjust mocking initial state for updated library
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-11 17:01:32 +02:00
dependabot[bot] 4d1051891e chore(deps): bump @nextcloud/initial-state from 2.2.0 to 3.0.0
Bumps [@nextcloud/initial-state](https://github.com/nextcloud-libraries/nextcloud-initial-state) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-initial-state/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-initial-state/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-initial-state/compare/v2.2.0...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 16:13:04 +02:00
Robin Appelman 615c6916e1 Merge pull request #54200 from nextcloud/test-disable-autoload-apps
test: add env option to disable loading all installed apps during tests
2025-08-11 15:43:49 +02:00
John Molakvoæ 7fb59a4493 Merge pull request #54356 from nextcloud/fix/ai-apps 2025-08-11 15:35:50 +02:00
Robin Appelman 106ac1b123 Merge pull request #54357 from nextcloud/displayname-cache-duration
fix: increase how long we cache display names
2025-08-11 14:21:31 +02:00
nextcloud-command 75ecce0b4c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-11 11:50:52 +00:00
skjnldsv 23c5856b39 fix(settings): add missing AI icon
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-11 11:46:12 +00:00
Robin Appelman 06be851b1f test: add env option to disable loading all installed apps during tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-11 13:35:57 +02:00
dependabot[bot] d9bd75bae9 Merge pull request #54343 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.7.72 2025-08-11 11:14:15 +00:00
dependabot[bot] f0085789e6 Merge pull request #54342 from nextcloud/dependabot/npm_and_yarn/core-js-3.45.0 2025-08-11 10:55:14 +00:00
nextcloud-command 05c90f5c46 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-11 10:39:16 +00:00
dependabot[bot] 9603805779 Merge pull request #54344 from nextcloud/dependabot/npm_and_yarn/stylelint-16.23.1 2025-08-11 10:37:41 +00:00
dependabot[bot] 0e3d986bca chore(deps): bump core-js from 3.44.0 to 3.45.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.44.0 to 3.45.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.45.0/packages/core-js)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 12:30:47 +02:00
dependabot[bot] 5f1f95e2a6 chore(deps-dev): bump stylelint from 16.23.0 to 16.23.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.23.0 to 16.23.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.23.0...16.23.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 10:24:35 +00:00
Ferdinand Thiessen 52665f5b62 Merge pull request #54294 from nextcloud/feat/show-gs-users-like-internal
feat(files_sharing): show GS users similar to internal users
2025-08-11 12:21:06 +02:00
dependabot[bot] 9330bc3200 Merge pull request #54346 from nextcloud/dependabot/npm_and_yarn/sass-1.90.0 2025-08-11 10:20:43 +00:00
dependabot[bot] 73d7dde5e2 Merge pull request #54341 from nextcloud/dependabot/npm_and_yarn/puppeteer-24.16.0 2025-08-11 09:46:39 +00:00
Robin Appelman 21c7ae62e0 Merge pull request #53528 from nextcloud/jtr-maint-refresh-part-1
fix(maintenance): refresh page when turned off (sometimes)
2025-08-11 11:44:35 +02:00
dependabot[bot] f3824f7d2c chore(deps-dev): bump sass from 1.89.2 to 1.90.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.89.2 to 1.90.0.
- [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.89.2...1.90.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 11:42:55 +02:00
Ferdinand Thiessen f5c90b2f3d Merge pull request #54340 from nextcloud/fix/ai-settings
feat(settings): Improve AI settings task list and rename to Assistant
2025-08-11 11:33:34 +02:00
nextcloud-command a25af74028 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-11 09:20:10 +00:00
Robin Appelman 8350fea770 fix: increase how long we cache display names
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-11 11:20:05 +02:00
Ferdinand Thiessen ae5d57371a feat(files_sharing): show GS users similar to internal users
- resolves: https://github.com/nextcloud/server/issues/52497

Ensure that when global scale is enabled the federated users are shown
just like internal users.
Meaning no server part but instead use the email address like with internal.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-11 09:18:16 +00:00
Ferdinand Thiessen 109cd123fe Merge pull request #54347 from nextcloud/dependabot/npm_and_yarn/cypress/webpack-preprocessor-7.0.0
chore(deps-dev): bump @cypress/webpack-preprocessor from 6.0.4 to 7.0.0
2025-08-11 10:45:09 +02:00
John Molakvoæ a5139f93eb Merge pull request #54337 from nextcloud/fix/legacyView 2025-08-11 10:22:17 +02:00
Ferdinand Thiessen 7165e54b4e chore(CODEOWNERS): ensure every file change has at least 2 reviewers
For proper review every PR needs 2 reviews, so every file needs at least
2 codeowners. Thus @blizzz is added for `workflowengine` as the app
maintainer.

Additionally added the desktop client team for changes related to them.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-11 10:09:16 +02:00
Misha M.-Kupriyanov 55f55984f0 test(SearchComposerTest): add unit test for getProviders with mixed order values
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +02:00
Misha M.-Kupriyanov d0341bb323 test(SearchComposerTest): add unit tests for getProviders with allowed providers restriction and empty configuration
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +02:00
Misha M.-Kupriyanov 9dfc0b1b23 test(SearchComposerTest): add test for provider icon generation
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +02:00
Misha M.-Kupriyanov 32d263e363 test(SearchComposerTest): add unit test for getProviders with multiple providers
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +02:00
Misha M.-Kupriyanov d08fe6d6b3 test(SearchComposerTest): add test for handling unknown search provider
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +02:00
Misha M.-Kupriyanov 75770a00dd test(SearchComposerTest): add unit tests for SearchComposer
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +02:00
Misha M.-Kupriyanov 69c51bb163 fix(search): Fix SearchComposer.php filtering logic
keep the $this->providers types

Test via ./occ config:app:set --value '["files","settings"]' --type array core unified_search.providers_allowed

should be part of 8e570041

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +02:00
nextcloud-command f5a5b005b6 chore: Update minimum supported desktop version
Signed-off-by: GitHub <noreply@github.com>
2025-08-11 00:34:04 +00:00
Nextcloud bot de4a35b202 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-11 00:12:44 +00:00
nextcloud-command 9ce1066bc8 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-10 17:47:53 +00:00
skjnldsv c1003692f0 fix(files): drop usage of FileInfoModel
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-10 17:43:55 +00:00
Nextcloud bot b60a8ddc24 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-10 00:12:02 +00:00
Joas Schilling 44b4741384 Merge pull request #54339 from nextcloud/techdebt/noid/reduce-deprecation-spam-2
fix(container): Reduce general deprecation spam on all requests
2025-08-09 12:11:47 +02:00
Joas Schilling 57f09b642e fix(container): Reduce general deprecation spam on all requests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-09 11:53:30 +02:00
dependabot[bot] 50ee26424d chore(deps-dev): bump @cypress/webpack-preprocessor from 6.0.4 to 7.0.0
Bumps [@cypress/webpack-preprocessor](https://github.com/cypress-io/cypress) from 6.0.4 to 7.0.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/@cypress/webpack-preprocessor-v6.0.4...@cypress/webpack-preprocessor-v7.0.0)

---
updated-dependencies:
- dependency-name: "@cypress/webpack-preprocessor"
  dependency-version: 7.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-09 02:00:39 +00:00
dependabot[bot] 1f64ed9104 chore(deps-dev): bump @zip.js/zip.js from 2.7.71 to 2.7.72
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.7.71 to 2.7.72.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.7.71...v2.7.72)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-09 01:58:06 +00:00
dependabot[bot] 51d72dc4e3 chore(deps-dev): bump puppeteer from 24.15.0 to 24.16.0
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.15.0 to 24.16.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.15.0...puppeteer-v24.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-09 01:57:10 +00:00
Nextcloud bot b8c6eb82ca fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-09 00:12:21 +00:00
nextcloud-command cb7669d72a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-08 18:31:48 +00:00
Lukas Schaefer 375369cf68 feat(settings): More condensed task list
Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz>
2025-08-08 14:25:46 -04:00
Lukas Schaefer 1ae4764073 chore(settings): Rename ai settings to assistant
Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz>
2025-08-08 13:54:08 -04:00
Maxence Lange eaae5e16d8 Merge pull request #54158 from nextcloud/feat/preset/profile-visibility+presetmanager
feat(preset): profile visibility
2025-08-08 11:21:16 -01:00
Maxence Lange bbc9ed138c fix(config): fix tests+psalm
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 11:00:49 -01:00
Maxence Lange a4b9edc8eb feat(preset): Profile Visibility
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 10:58:59 -01:00
Maxence Lange f32d865716 fix(lexicon): only filter out null default
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 10:58:58 -01:00
Maxence Lange 33c4fe504d feat(preset): new PresetManager
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 10:58:58 -01:00
Benjamin Gaussorgues 8783679a49 Merge pull request #54303 from nextcloud/jtr-oc-appframework-app-cleanup 2025-08-08 10:41:51 +02:00
John Molakvoæ 7328754eb4 Merge pull request #54312 from nextcloud/fix/smarter-loadmore-unified-search 2025-08-08 10:38:15 +02:00
John Molakvoæ 93296c2679 Merge pull request #54069 from nextcloud/feature/51791/add-bsky-option-to-accounts 2025-08-08 10:32:03 +02:00
nextcloud-command 16f80a8d47 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-08 08:09:23 +00:00
nextcloud-command e53ad663f1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-08 08:08:47 +00:00
nfebe 7fbf997420 fix(unified-search): Smarter load more button
This commit introduces a change to prevent showing the load more button,
if the length of existing results is not equal to the requested limit (which implies
it is less than because we never expect it to be more)

Additionally, there is an enhancment to override provider filders passed to the find method.
This would improve speed.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-08-08 08:07:26 +00:00
yemkareems 1b4e967604 fix: fontawesome license text added and vue file linting errors fixed
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-08-08 08:06:46 +00:00
yemkareems 4c887ec12b fix: eslint errors fixed in vue file, IAccountManager since added, bluesky svg added to REUSE.toml file
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-08-08 08:06:46 +00:00
Ferdinand Thiessen d31be348af chore: add deprecated IAccountManager::PROPERTY_TWITTER to psalm baseline
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-08 08:06:45 +00:00
Ferdinand Thiessen d36602acd5 chore: update openapi and autoloaders
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-08-08 08:06:45 +00:00
yemkareems aa227f1c55 feat: add bluesky to accounts, show the same in profile edit and visibility option, in view profile and also in sharing tab
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-08-08 08:06:45 +00:00
John Molakvoæ 3dac5b33ee Merge pull request #54282 from nextcloud/techdebt/noid/reduce-deprecation-spam 2025-08-08 10:04:22 +02:00
Joas Schilling 5eeda5fcad Merge pull request #54228 from nextcloud/pulsejet/db-check-maria
feat(db): add method to test mariadb
2025-08-08 08:43:22 +02:00
Joas Schilling 2f18996347 fix(container): Don't use deprecated things to set up controllers for apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-08 08:42:56 +02:00
Joas Schilling 17c40b9474 fix(container): Log the deprecation to the app when possible
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-08 08:42:55 +02:00
John Molakvoæ 117d8dea0a Merge pull request #54328 from nextcloud/jtr-refactor-files-external-oauth1
refactor(files_external): Drop unused oauth1 code
2025-08-08 08:22:14 +02:00
Varun Patil 5ecd3c4b49 feat(database): Add option to test for mariadb
There are some behavioral differences that apps may need to check for.
See discussion on #51175 for more info.

This preserves the existing behavior of getDatabaseProvider()

Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2025-08-08 07:50:51 +02:00
Josh 9c4aaeff75 chore(files_external): update autoload_static
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-07 22:41:18 -04:00
Josh 1121ae0838 chore(files_external): update autoload_classmap
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-07 22:40:35 -04:00
Josh af53e9ca06 chore(files_external): Remove oauth1 constant
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-07 22:25:51 -04:00
Josh 2b21913015 refactor(files_external): Drop oauth1 auth mechanism registration
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-07 22:23:25 -04:00
Josh e37bc0b580 refactor(files_external): Remove oauth1 route
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-07 22:21:18 -04:00
Josh 57c62e1ca1 refactor(files_external): Drop OAuth1.php
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-07 21:54:33 -04:00
Josh e87bfbe278 refactor(files_external): Drop unused oauth1.js
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-07 21:52:46 -04:00
Nextcloud bot 1518ded8b1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-08 00:12:32 +00:00
Josh 2a96042db1 Merge pull request #54260 from nextcloud/fix/less-useless-toasts
fix: Remove redundant toast notifications
2025-08-07 17:08:07 -04:00
nextcloud-command da3a4c6a12 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-07 20:35:56 +00:00
kramo 718cf4e15d fix: Remove redundant toast notifications
Since these actions already have highly visible visual confirmation,
no extra notifications are needed.

Split out from #54202

Signed-off-by: kramo <git@kramo.page>
2025-08-07 20:33:55 +00:00
Robin Appelman 4da6081786 feat: add table filter to schema:export and schema:expected
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-07 19:09:07 +02:00
Julien Veyssier aa2ca86fb3 feat(taskprocessing): avoid generator cascade
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +02:00
Julien Veyssier e2c65b2493 feat(taskprocessing): fix mistake
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +02:00
Julien Veyssier 222b19b805 feat(taskprocessing): rename cleanup column to allow_cleanup
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +02:00
Julien Veyssier 2b9af820bd feat(taskprocessing): add strict types to all taskprocessing command classes
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +02:00
Julien Veyssier 0dc93bc320 feat(taskprocessing): fix phpunit tests
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +02:00
Julien Veyssier 10921c05b7 feat(taskprocessing): fix some CI
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +02:00
Julien Veyssier cc295f2452 feat(taskprocessing): use Generator::getReturn to get the list of deleted tasks in the cleanup command
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +02:00
Julien Veyssier 19801f7ec4 feat(taskprocessing): move cleanup method to private taskprocessing manager, use it in the cleanup bg job and implement a cleanup command
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +02:00
Julien Veyssier e6adbd921e feat(taskprocessing): generate OpenAPI specs, fix lint issue, fix tests
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +02:00
Julien Veyssier 8c52b6c0fe feat(taskprocessing): add cleanup flag to tasks to decide if they should be cleaned up automatically
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +02:00
Robin Appelman 5660a73a3d Merge pull request #54238 from nextcloud/extra_sensitive_values
feat: allow admins to configure additional sensitive config values
2025-08-07 15:08:56 +02:00
Carl Schwan 43aa92f6c3 Merge pull request #54275 from nextcloud/fix-order-metadata-deletion
fix(trash): Fix order of metadata deletion
2025-08-07 15:04:49 +02:00
John Molakvoæ 2e0baa5801 Merge pull request #54279 from nextcloud/fix/tags-icon 2025-08-07 11:57:20 +02:00
John Molakvoæ a488bff27a Merge pull request #54309 from nextcloud/fix/dav-wrong-return-type 2025-08-07 11:35:45 +02:00
Carl Schwan 9fef97c9ec fix(trash): Fix order of metadata deletion
First query metadata for live photo and then delete the metadata, by
making the SyncLivePhotosListener priority higher than the default.

Partially fix #54274

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-07 11:19:30 +02:00
nextcloud-command f16c449275 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-07 07:47:39 +00:00
skjnldsv 7139cac9d8 fix(systemtags): outline icon css selector
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-07 07:45:40 +00:00
Nextcloud bot f0c392e21c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-07 00:12:14 +00:00
Ferdinand Thiessen 378ddda301 fix(files_versions): has-preview must be either true or false
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-07 01:24:07 +02:00
Ferdinand Thiessen 6b0bce8a2d fix(files_trashbin): has-preview must return true or false
Currently it returned the boolean value, but PHP will turn it into an
integer...

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-07 01:23:10 +02:00
dependabot[bot] 58ae326f83 Merge pull request #54299 from nextcloud/dependabot/npm_and_yarn/tmp-0.2.4 2025-08-06 23:00:14 +00:00
dependabot[bot] 7f3fcdf495 chore(deps): bump tmp from 0.2.3 to 0.2.4
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 00:46:45 +02:00
Ferdinand Thiessen 09b0698255 Merge pull request #54298 from nextcloud/fix/dav/addressbook-permissions-principal
fix(dav): calculate permissions based on addressbook principal
2025-08-06 23:36:39 +02:00
Josh 67c14b0f11 refactor(App): \OC\AppFramework\App clean-up
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-06 17:10:45 -04:00
Matthieu Gallien e7a28e787d Merge pull request #54285 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2025-08-06 21:45:22 +02:00
Daniel Calviño Sánchez 3ba7888537 Merge pull request #53950 from nextcloud/fix-button-alignment-for-email-templates-in-outlook
fix: Fix button alignment for email templates in Outlook
2025-08-06 19:43:11 +02:00
Christoph Wurst 0c4bb5e8c5 fix(dav): calculate permissions based on addressbook principal
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-08-06 18:15:43 +02:00
nextcloud-command 67610f387c fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2025-08-06 14:57:14 +00:00
Daniel Calviño Sánchez 8b7aad82c7 fix: Fix button alignment for email templates in Outlook
The button group generated in email templates is expected to show the
two buttons side by side in a single row, but in Outlook both buttons
took the full width of the wrapper row and each button was shown in
its own row. To solve that the buttons are wrapped in an additional
table that shows each button in its own cell, limiting their width and
showing them in a single row; this is done conditionally and only
applied in Outlook, so it should not affect other clients.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-08-06 15:18:01 +02:00
Hamza 6e9d48b558 Merge pull request #50092 from nextcloud/feat/sync-truncation
feat(cardav): support result truncation for addressbook federation
2025-08-06 14:57:13 +02:00
Daniel Kesselberg 13f25c9316 fix(carddav): return correct sync token for non-truncated requests
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-06 14:32:25 +02:00
Daniel Kesselberg b54c5392b6 feat(carddav): handle truncated non-initial requests
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-06 14:04:55 +02:00
Hamza Mahjoubi 36d9fcbb4d feat(cardav): support result truncation for addressbook federation
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2025-08-06 14:04:55 +02:00
John Molakvoæ b514d75323 Merge pull request #51855 from Phreeman33/master
fix: display chinese character avatar
2025-08-06 13:43:23 +02:00
Ferdinand Thiessen c67bdf02f0 chore: add missing license ref for new fonts
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-06 13:12:57 +02:00
Ferdinand Thiessen 7e76c91677 fix: resolve psalm errors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-06 12:52:50 +02:00
John Molakvoæ 535bf3af9f Merge pull request #54049 from nextcloud/fix/only-show-reshare-if-there-is 2025-08-06 12:40:28 +02:00
Ferdinand Thiessen 6cae7d1f81 Merge pull request #54183 from nextcloud/refactor/unified-search-
refactor(UnifiedSearch): use `NcHeaderButton` for proper styles
2025-08-06 12:24:43 +02:00
Phreeman33 655ef1031b fix: display chinese character avatar
Signed-off-by: Phreeman33 <12772373+Phreeman33@users.noreply.github.com>
2025-08-06 12:24:09 +02:00
John Molakvoæ 48dc04b571 Merge pull request #54237 from nextcloud/test/fix-cypress 2025-08-06 11:48:31 +02:00
nextcloud-command 3ff3ceae5d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-06 09:43:08 +00:00
Ferdinand Thiessen 6adbe44976 refactor(UnifiedSearch): use NcHeaderButton for proper styles
Allowing to have the new styles from
https://github.com/nextcloud/server/pull/54178 and
https://github.com/nextcloud-libraries/nextcloud-vue/pull/7242

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-06 09:41:09 +00:00
nextcloud-command 96011a1579 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-06 09:40:06 +00:00
Ferdinand Thiessen 61c9a6eb22 fix(files_sharing): only show "shared with me" information if shared
The variable is intialized to `{}` which is truthy, so instead just
check if there is a user assigned to the share info.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-06 09:37:58 +00:00
Ferdinand Thiessen 7c69862a5d Merge pull request #54186 from nextcloud/chore/refactor-header-scss
refactor: de-duplicate header styles, add comments and mark deprecations
2025-08-06 11:35:28 +02:00
Ferdinand Thiessen 761093daf8 Merge pull request #54264 from nextcloud/smb-timeout-unavailable
fix: handle smb timeouts as storage not available
2025-08-06 11:27:02 +02:00
Ferdinand Thiessen 1fdda4b202 Merge pull request #54043 from nextcloud/fix/mysql-removed-auth
fix(db): use `caching_sha2_password` for MySQL
2025-08-06 11:26:30 +02:00
Joas Schilling 84323ff6dd Merge pull request #54241 from nextcloud/feat/noid/add-busy-status-capability
feat(userstatus): add busy capability
2025-08-06 10:42:25 +02:00
Richard Steinmetz ee6596782f Merge pull request #54232 from nextcloud/feat/notifications/preload-many
feat(notifications): provide method to preload many notifications at once
2025-08-06 09:57:53 +02:00
Richard Steinmetz ad39dab6ca feat(notifications): provide method to preload many notifications at once
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-06 09:22:56 +02:00
nextcloud-command 89577f6f94 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-06 05:37:57 +00:00
Ferdinand Thiessen ab49a6d8a9 refactor: de-duplicate header styles, add comments and mark deprecations
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-06 05:36:05 +00:00
John Molakvoæ 687df7c8ab Merge pull request #54165 from nextcloud/fix/unique-vcategory
fix(core): ensure unique vcategory
2025-08-06 07:13:46 +02:00
Nextcloud bot 1064c676cc fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-06 00:12:56 +00:00
Ferdinand Thiessen 88be308b06 test(cypress): split helpers for files actions to make tests less flaky
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-05 23:49:46 +02:00
skjnldsv 9aac182109 fix(core): ensure unique vcategory
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-05 22:11:21 +02:00
Kate 51e5f7b159 Merge pull request #54125 from nextcloud/s3-multipart-size-check 2025-08-05 20:57:15 +02:00
Ferdinand Thiessen c695bf1a95 Merge pull request #53437 from nextcloud/refactor/files-hotkeys
refactor(files): move hotkey handling to composable
2025-08-05 20:42:43 +02:00
Ferdinand Thiessen b814f3bba6 fix(db): use caching_sha2_password for MySQL
`caching_sha2_password` was added in 8.0.4 as the default
authentication plugin. `mysql_native_password` is deprecated since then.
In MySQL 8.4 it was disabled by default so a user need to manually
reenable it to make it work.
In MySQL 9.0 it is removed and causes the following error:

> SQLSTATE[HY000] [1524] Plugin 'mysql_native_password' is not loaded

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-05 20:40:38 +02:00
Robin Appelman 97efc95efc fix: better object store write error propagation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-05 19:17:58 +02:00
Robin Appelman 83b8a390cd fix: always do stream counting for object store upload
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-05 19:17:58 +02:00
Robin Appelman 398b106f0c fix: validate written size for s3 multipart uploads
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-05 19:17:58 +02:00
Robin Appelman 064e1133f5 feat: allow admins to configure additional sensitive config values
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-05 19:16:14 +02:00
nextcloud-command 2cf7e038b3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-05 17:08:50 +00:00
Ferdinand Thiessen 3a5769e8f9 refactor(files): move hotkey handling to composable
This is a composable - not a service, because it is using the
`useHotKey` composable. At this moment it works, but in general
its only safe to put composables into `setup`-context.

This makes it future prove.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-05 19:00:32 +02:00
Joas Schilling db8dd9f7f6 Merge pull request #54207 from nextcloud/feat/noid/cache-user-keys
Cache IdentityProof keys
2025-08-05 18:43:56 +02:00
Ferdinand Thiessen ad85d65064 Merge pull request #54077 from nextcloud/jtr-files-detection-refactor-finfo
refactor(IMimeTypeDetector): streamline + minor tidying
2025-08-05 18:10:46 +02:00
Robin Appelman 6f0120af16 fix: handle smb timeouts as storage not available
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-05 17:39:12 +02:00
Marcel Müller 520d8beaf5 feat: Cache user keys
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-08-05 16:42:14 +02:00
John Molakvoæ a4795a216c Merge pull request #54233 from nextcloud/fix/ignore-shares-in-encrypt-all 2025-08-05 15:31:35 +02:00
Anna Larch b819d71337 feat(userstatus): add busy capability
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-08-05 14:52:33 +02:00
Josh 2aa6894c38 Merge pull request #54239 from nextcloud/cleanup-appframework-spreed
refactor(AppFramework): drop unused spreed/Talk fallback
2025-08-05 08:42:31 -04:00
Joas Schilling c9fa1db925 Merge pull request #54230 from nextcloud/bugfix/spreed-15625/log-query-with-immutable-dates
fix(logging): Fix query logging with DateTimeImmutable parameters
2025-08-05 12:29:04 +02:00
Joas Schilling ff3043346a Merge pull request #54196 from nextcloud/enh/noid/taskprocessing-lazy-config
[TaskProcessing] Load and store some config keys lazily
2025-08-05 12:28:34 +02:00
Joas Schilling a3f1b079bb Merge pull request #54203 from nextcloud/oci-string-length-empty
fix: fix oci string length with empty strings
2025-08-05 12:18:41 +02:00
Joas Schilling 1750708509 Merge pull request #54240 from nextcloud/fix/noid/oracle-test-failure
fix(caldav): get UID value
2025-08-05 12:18:07 +02:00
Joas Schilling 12f31b69a0 Merge pull request #54250 from nextcloud/revert/50258
Revert "feat: Implement Directory Check"
2025-08-05 12:11:05 +02:00
nextcloud-command d24f0a3a54 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-05 09:25:58 +00:00
Joas Schilling 78dcf3744d Revert "feat: Implement Directory Check"
This reverts commit feae8ba16a.
2025-08-05 11:18:50 +02:00
Nextcloud bot ccda64fc66 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-05 00:12:37 +00:00
John Molakvoæ 662838b542 Merge pull request #54159 from nextcloud/fix/file-request-enforced 2025-08-04 19:18:26 +02:00
Josh 3535149418 refactor(IMimeTypeDetector): streamline finfo usage + misc tidying
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-04 11:24:58 -04:00
Anna Larch b694d2659b fix(caldav): get UID value
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-08-04 16:43:50 +02:00
Josh 9195987d14 refactor(AppFramework): drop unused spreed/Talk fallback
No longer needed from what I can tell since #20114 & nextcloud/spreed#3134

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-04 08:59:49 -04:00
Daniel 9c79483392 Merge pull request #54193 from nextcloud/ci/codeql/convert-to-action
ci(codeql): convert codeql integration into a workflow
2025-08-04 12:10:35 +02:00
Côme Chilliet f95fef9938 chore(encryption): Adapt tests to code changes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-04 11:53:19 +02:00
Côme Chilliet d711d68701 fix(encryption): Ignore shared files in encrypt-all command
Copying and renaming a share will not encrypt it anyway. It will get
 encrypted when the owner’s files get encrypted.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-04 10:42:04 +02:00
Julien Veyssier be7ef439cf fix(taskprocessing): move LAZY_CONFIG_KEYS constant to the private namespace
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-04 10:11:24 +02:00
Julien Veyssier f22f7311de fix(taskprocessing): fix TaskProcessingTest
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-04 10:11:24 +02:00
Julien Veyssier 282bedcfb0 fix(taskprocessing): remove unused psalm baseline entries
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-04 10:11:24 +02:00
Julien Veyssier 2e3fa51132 feat(taskprocessing): load and store some config keys lazily
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-04 10:11:24 +02:00
Joas Schilling c722f8c88b fix(logging): Fix query logging with DateTimeImmutable parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-04 08:47:55 +02:00
Richard Steinmetz 0bd5128d45 perf: join array_merge calls in MountProvider::getMountsForUser()
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-04 08:18:12 +02:00
Nextcloud bot 2211390ca5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-04 00:13:25 +00:00
Joas Schilling 894463b935 Merge pull request #54224 from nextcloud/nickvergessen-patch-1
Update CODEOWNERS
2025-08-03 12:40:08 +02:00
Joas Schilling fbd492ff1c Update CODEOWNERS
Signed-off-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
2025-08-03 12:32:11 +02:00
Nextcloud bot 262f647104 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-03 00:12:23 +00:00
nextcloud-command 7f93711e68 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-02 12:24:34 +00:00
skjnldsv 627f8cabd6 fix(files_sharing): ensure password or date is enabled by default to be enforced
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-02 12:22:31 +00:00
John Molakvoæ f3d2e53371 Merge pull request #54010 from nextcloud/automated/noid/master-fix-npm-audit 2025-08-02 11:52:43 +02:00
nextcloud-command dca988cf8c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-02 08:22:38 +00:00
skjnldsv bf6f3d7761 chore: update minor and patch dependencies
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-02 10:18:41 +02:00
John Molakvoæ e469d2fdad Merge pull request #54209 from nextcloud/dependabot/npm_and_yarn/wait-on-8.0.4 2025-08-02 09:49:02 +02:00
John Molakvoæ 828007ec5d Merge pull request #54215 from nextcloud/dependabot/npm_and_yarn/marked-16.1.1 2025-08-02 09:48:40 +02:00
John Molakvoæ 219dd00c99 Merge pull request #54211 from nextcloud/dependabot/npm_and_yarn/types/dockerode-3.3.42 2025-08-02 09:48:28 +02:00
John Molakvoæ 0052d77af2 Merge pull request #54212 from nextcloud/dependabot/npm_and_yarn/cypress-split-1.24.20 2025-08-02 09:48:19 +02:00
John Molakvoæ 55a0dfc691 Merge pull request #54208 from nextcloud/dependabot/npm_and_yarn/sass-1.89.2 2025-08-02 09:47:35 +02:00
John Molakvoæ 5b4177a962 Merge pull request #54210 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.7.71 2025-08-02 09:46:52 +02:00
John Molakvoæ cc7c86b1c1 Merge pull request #54214 from nextcloud/dependabot/npm_and_yarn/vitest/coverage-v8-3.2.4 2025-08-02 09:46:40 +02:00
nextcloud-command 97c3b8389c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-02 03:22:52 +00:00
dependabot[bot] 0b5ddf82c4 chore(deps): bump marked from 15.0.12 to 16.1.1
Bumps [marked](https://github.com/markedjs/marked) from 15.0.12 to 16.1.1.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v15.0.12...v16.1.1)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 16.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:15:18 +00:00
dependabot[bot] 127a02f9de chore(deps-dev): bump @vitest/coverage-v8 from 3.2.3 to 3.2.4
Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v3.2.4/packages/coverage-v8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:14:51 +00:00
dependabot[bot] 02c2e01b97 chore(deps-dev): bump cypress-split from 1.24.18 to 1.24.20
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.18 to 1.24.20.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.18...v1.24.20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:13:30 +00:00
dependabot[bot] 57aa99fb96 chore(deps-dev): bump @types/dockerode from 3.3.38 to 3.3.42
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 3.3.38 to 3.3.42.
- [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.42
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:12:41 +00:00
dependabot[bot] 2cb552d8e2 chore(deps-dev): bump @zip.js/zip.js from 2.7.62 to 2.7.71
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.7.62 to 2.7.71.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.7.62...v2.7.71)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:12:08 +00:00
dependabot[bot] 7750bef6b5 chore(deps-dev): bump wait-on from 8.0.3 to 8.0.4
Bumps [wait-on](https://github.com/jeffbski/wait-on) from 8.0.3 to 8.0.4.
- [Release notes](https://github.com/jeffbski/wait-on/releases)
- [Commits](https://github.com/jeffbski/wait-on/compare/v8.0.3...v8.0.4)

---
updated-dependencies:
- dependency-name: wait-on
  dependency-version: 8.0.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:11:41 +00:00
dependabot[bot] 99e097d360 chore(deps-dev): bump sass from 1.89.1 to 1.89.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.89.1 to 1.89.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.89.1...1.89.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:11:13 +00:00
Nextcloud bot 4ce1980eff fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-02 00:12:22 +00:00
Robin Appelman 222cbd0af6 fix: fix oci string length with empty strings
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-01 17:45:35 +02:00
John Molakvoæ e4ed547bc6 Merge pull request #50099 from nextcloud/jtr/fix-appframework-server-proto 2025-08-01 17:28:37 +02:00
John Molakvoæ 17ae4e767f Merge pull request #52285 from nextcloud/fix/issue-50748-card-object-move 2025-08-01 17:07:30 +02:00
John Molakvoæ 3417581021 Merge pull request #50258 from nextcloud/feat/add-directory-check-workflowengine 2025-08-01 17:01:00 +02:00
skjnldsv d2a20ea1bd chore: update composer
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-01 17:00:09 +02:00
John Molakvoæ 4829ac57c1 fix: use OCP\Server
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-01 17:00:09 +02:00
Josh 14b4d0327e fix(AppFramework): Log malformed protocol values and unify fallback behavior
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-01 17:00:09 +02:00
SebastianKrupinski 49d8e29a18 fix: do not ignore move command object target uri
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-01 09:36:07 -04:00
John Molakvoæ 6bc6ed95a3 Merge pull request #54172 from nextcloud/fix/app-icon-aria 2025-08-01 13:13:17 +02:00
nextcloud-command 69a3604d64 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 09:47:05 +00:00
Robin Windey feae8ba16a feat: Implement Directory Check
* Partially implements #27591

Signed-off-by: Robin Windey <ro.windey@gmail.com>
2025-08-01 09:43:59 +00:00
John Molakvoæ 5108b8fa13 Merge pull request #49104 from nextcloud/fix/install-dbport-unused 2025-08-01 11:35:22 +02:00
John Molakvoæ 91595aaec4 fix(workflows): disable editing commit when rebasing
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-01 11:20:38 +02:00
nextcloud-command 4af65869c3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 08:51:31 +00:00
Ferdinand Thiessen aa9dba58f4 fix(AppMenu): ensure that aria attributes are set when needed
We hide **if** there is **no** notification.
We *do not* hide and *show the label* **if** there are notifications for
that application.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-01 08:49:23 +00:00
John Molakvoæ e8fbb0dfa5 Merge pull request #54192 from nextcloud/fix-federated-sharing-bug 2025-08-01 10:43:30 +02:00
John Molakvoæ 89ef481cfc Merge pull request #54150 from nextcloud/dependabot/npm_and_yarn/linkifyjs-4.3.2 2025-08-01 10:41:35 +02:00
Richard Steinmetz 976e42314f Merge pull request #54182 from nextcloud/mount-cache-without-fs-access
fix: don't update cached mountpoints if the request doesn't have filesystem access
2025-08-01 10:32:15 +02:00
John Molakvoæ 02008829d2 Merge pull request #50470 from nextcloud/fix/49887/early-check-for-overwritten-home 2025-08-01 10:29:56 +02:00
nextcloud-command f8b30884c2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 08:15:26 +00:00
dependabot[bot] 691fab964a chore(deps): bump linkifyjs from 4.1.3 to 4.3.2
Bumps [linkifyjs](https://github.com/nfrasser/linkifyjs/tree/HEAD/packages/linkifyjs) from 4.1.3 to 4.3.2.
- [Release notes](https://github.com/nfrasser/linkifyjs/releases)
- [Changelog](https://github.com/nfrasser/linkifyjs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nfrasser/linkifyjs/commits/v4.3.2/packages/linkifyjs)

---
updated-dependencies:
- dependency-name: linkifyjs
  dependency-version: 4.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 08:03:22 +00:00
Richard Steinmetz e2176bcaf1 ci(codeql): convert codeql integration into a workflow
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-01 09:54:06 +02:00
John Molakvoæ 64b1428552 Merge pull request #54008 from nextcloud/dependabot/composer/build/integration/behat/behat-3.23.0 2025-08-01 09:39:08 +02:00
John Molakvoæ f8994a53d4 Merge pull request #54009 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.1.2 2025-08-01 09:35:46 +02:00
Maksim Sukharev 809d638c05 fix: make early check if users filesystem have a mountpoint at /<user>/files/
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-08-01 09:31:50 +02:00
John Molakvoæ 4eee160c15 Merge pull request #53729 from nextcloud/dav-external-url-encoded-root 2025-08-01 09:31:14 +02:00
Mahdi Baghbani 0eca4d508b fix: incorrect DELETE on federated-share acceptance
Signed-off-by: Mahdi Baghbani <mahdi.baghbani1@gamil.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 07:29:12 +00:00
John Molakvoæ 04c64faaa5 Merge pull request #54138 from nextcloud/feat/core/pwa-hide-header 2025-08-01 09:24:34 +02:00
provokateurin 4c7e85ea2a feat(core): Hide header in PWA
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-01 09:18:29 +02:00
Kate e9ce184561 Merge pull request #54187 from nextcloud/chore/clean-sharing 2025-08-01 09:13:55 +02:00
Maksim Sukharev 1675aa4f45 Merge pull request #53850 from nextcloud/feat/noid/add-busy-status 2025-08-01 09:09:44 +02:00
John Molakvoæ 27de1ec5c5 Merge pull request #54121 from nextcloud/tag-color-query 2025-08-01 08:51:43 +02:00
nextcloud-command 9adc97e5b8 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 06:39:39 +00:00
Maksim Sukharev 47923b9d1c style(user_status): adjust status modal styles
- remove modal name
- propagate box-sizing
- reduce gap between sections 12px -> 8px
- align icons vertically
- add hover effect to status labels

Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-08-01 08:35:38 +02:00
Anna Larch 56174f749f feat: add Busy status and new preset BRB status
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-08-01 08:35:37 +02:00
Ferdinand Thiessen 8fd92c8d42 Merge pull request #54188 from nextcloud/dependabot/github_actions/github-actions-55de95cf11
chore(deps): bump the github-actions group with 3 updates
2025-08-01 03:27:56 +02:00
Robin Appelman 01147cf872 fix: add missing color select to tags usage query
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-01 02:47:04 +02:00
Nextcloud bot 086ef597c0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-01 00:12:14 +00:00
dependabot[bot] 34d5e9db16 chore(deps): bump the github-actions group with 3 updates
Bumps the github-actions group with 3 updates: [shivammathur/setup-php](https://github.com/shivammathur/setup-php), [cypress-io/github-action](https://github.com/cypress-io/github-action) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `shivammathur/setup-php` from 2.34.1 to 2.35.2
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/0f7f1d08e3e32076e51cae65eb0b0c871405b16e...ccf2c627fe61b1b4d924adfcbd19d661a18133a0)

Updates `cypress-io/github-action` from 6.10.1 to 6.10.2
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/6c143abc292aa835d827652c2ea025d098311070...b8ba51a856ba5f4c15cf39007636d4ab04f23e3c)

Updates `github/codeql-action` from 3.29.2 to 3.29.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/181d5eefc20863364f96762470ba6f862bdef56b...51f77329afa6477de8c49fc9c7046c15b9a4e79d)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-version: 2.35.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 6.10.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 3.29.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-31 22:58:38 +00:00
Ferdinand Thiessen 2e5ddea8fb chore(files_sharing): remove leftover of legacy files ui
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 21:09:43 +02:00
Ferdinand Thiessen ba3e5ad03f Merge pull request #54178 from nextcloud/feat/app-icon-opacity
feat(AppMenu): add slight opactiy gradient to app icons
2025-07-31 21:00:23 +02:00
Josh 47fd3707a2 Merge pull request #54179 from nextcloud/fix/issue-7194-fifth-not-fifty
fix: spelling mistake
2025-07-31 14:06:15 -04:00
Ferdinand Thiessen 4e4c4d1e4d chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 19:02:25 +02:00
Ferdinand Thiessen 4b3b2e09b1 fix(AccountMenu): do not apply alpha mask on the account menu
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 19:01:07 +02:00
Ferdinand Thiessen 2be7d03395 feat(AppMenu): add slight opactiy gradient to app icons
- resolves https://github.com/nextcloud/server/issues/54141

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 19:01:07 +02:00
Daniel 876b4898f0 Merge pull request #54012 from nextcloud/chore/move-smb-package
chore: move smb package to 3rdparty
2025-07-31 18:58:54 +02:00
Robin Appelman 73d0418425 fix: don't update cached mountpoints if the request doesn't have filesystem access
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-31 18:28:26 +02:00
Ferdinand Thiessen b42f6bda8b Merge pull request #54143 from nextcloud/fix/icons-header-meu
fix(ContactsMenu): use proper icons in the header navigation
2025-07-31 18:18:09 +02:00
SebastianKrupinski adcb782b45 fix: spelling mistake
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-07-31 10:22:50 -04:00
nextcloud-command d3e4db1255 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-31 14:18:03 +00:00
Ferdinand Thiessen 5e979b52d1 fix(ContactsMenu): use proper icons in the header navigation
app icons in the header navigation are excluded from the outlined icons
change, so this reverts this change.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 15:43:46 +02:00
John Molakvoæ b4803f95c4 Merge pull request #54171 from nextcloud/chore/remove-deprecated-package 2025-07-31 15:36:31 +02:00
Daniel Kesselberg 28dc3e2d85 chore: move smb package to 3rdparty
- Automated updates
- Easier maintenance
- Not having another copy of the streams packages

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-07-31 15:19:07 +02:00
Ferdinand Thiessen ea44382a5b Merge pull request #54168 from nextcloud/fix/node-version
chore: update node and npm version
2025-07-31 15:15:51 +02:00
John Molakvoæ 5f56ad3862 Merge pull request #54085 from nextcloud/Jerome-Herbinet-folder-tree-structure 2025-07-31 14:39:11 +02:00
Daniel bcfb010e07 Merge pull request #54167 from nextcloud/bug/noid/principal-guest_app-not-found-pt2
fix: hide guests group from overall principals
2025-07-31 14:38:24 +02:00
nextcloud-command 5c768aa60c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-31 12:34:18 +00:00
Jérôme Herbinet ee3e628b7a feat: replace "Folder tree structure" with "Folder tree"
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
Co-Authored-By: kramo <git@kramo.page>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-31 12:26:12 +00:00
Ferdinand Thiessen 48f86c4696 chore: remove nextcloud-vue-collections and use @nextcloud/vue instead
`nextcloud-vue-collections` is deprecated for quite some time and was
merged into `@nextcloud/vue`. So lets drop that dependency.

Adjust the two files where it was used, one of them was itself never
used so just dropped that file.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 13:52:32 +02:00
Christoph Wurst 6033c25630 Merge pull request #54084 from nextcloud/feat/dav/absence-get-set-commands
feat(dav): add occ commands to get and set absences
2025-07-31 12:43:36 +02:00
Ferdinand Thiessen 616f91d14d chore: update node and npm version
- Adjust versions to align with our standards
- Fixes flakyness of dependabot

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 12:33:32 +02:00
Jyrki Gadinger 45c8664b00 fix: hide guests group from overall principals
Follow-up for #52914 and #53369

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-07-31 11:24:23 +02:00
John Molakvoæ 91a35db95f Merge pull request #54162 from nextcloud/feat/add-account-menu-outline 2025-07-31 09:23:52 +02:00
nextcloud-command a0a0458b41 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-31 07:11:12 +00:00
Richard Steinmetz 46cf819e2f Merge pull request #54160 from nextcloud/feat/event-builder-invitation-emails
feat: send invitation emails through ICreateFromString
2025-07-31 09:10:20 +02:00
Ferdinand Thiessen b610239951 feat(AccountMenu): apply some outline to the user avatar
- resolves https://github.com/nextcloud/server/issues/54140

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 07:07:10 +00:00
Nextcloud bot 7fbe33322b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-31 00:12:09 +00:00
Christoph Wurst ee00d166cd feat(dav): add occ commands to get and set absences
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-07-30 22:22:22 +02:00
Richard Steinmetz d6d94c4e63 feat: send invitation emails through ICreateFromString
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-07-30 18:54:12 +02:00
Nextcloud bot b270a22c4a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-30 00:12:11 +00:00
F. E Noel Nfebe f0485e4153 Merge pull request #53661 from nextcloud/feat/52635/toggle-for-trusted-server-sharing
feat(files_sharing): Toggle display for trusted server shares
2025-07-29 17:52:40 +01:00
Daniel 0c568ff2bb Merge pull request #54119 from nextcloud/feat/noid/show-nice-label-when-searching-in-root
Show nice label when searching in root
2025-07-29 18:30:47 +02:00
Daniel Calviño Sánchez b9ab00a59e Merge pull request #54005 from nextcloud/do-not-show-password-dialog-when-user-can-not-validate-password
fix: Do not show password dialog when user can not validate password
2025-07-29 17:54:46 +02:00
John Molakvoæ 05cba2a6e3 Merge pull request #54092 from nextcloud/dependabot/composer/vendor-bin/openapi-extractor/nextcloud/openapi-extractor-1.8.1 2025-07-29 17:43:45 +02:00
John Molakvoæ 26c3c1feff Merge pull request #53746 from nextcloud/add-VersionCreatedEvent 2025-07-29 17:43:23 +02:00
Kate 41a47f878c Merge pull request #54082 from nextcloud/fix/54080/using-userconfig-to-set-lang 2025-07-29 17:28:15 +02:00
nextcloud-command d38eed7797 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-29 15:15:43 +00:00
Daniel Kesselberg 2cff3454a3 feat(search): show alias when searching in root folder
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-07-29 15:11:24 +00:00
John Molakvoæ f4ff7db49b Merge pull request #54139 from nextcloud/feat/drop-compile-commits-rebase 2025-07-29 17:07:42 +02:00
skjnldsv 148f29475e fix(workflows): don't use needs.init.outputs.head_ref directly
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-29 15:58:16 +02:00
skjnldsv 36b510a38a feat(workflows): drop dist and js changes when compile-rebasing
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-29 15:49:36 +02:00
nextcloud-command 21b273dce9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-29 12:49:56 +00:00
nfebe 2bb8c72c47 feat(files_sharing): Toggle display for trusted server shares
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-07-29 13:24:49 +01:00
Borja Domínguez Vázquez d0de83be10 feat(file-versions): #53151 add VersionCreatedEvent event
Signed-off-by: Borja Domínguez Vázquez <bdominguez@virtualwareco.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 14:05:21 +02:00
Maxence Lange 132513dbf3 fix(userconfig): duplicate core lexicon
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 10:36:44 -01:00
Daniel b8ad6d091a Merge pull request #53945 from nextcloud/chore/share-constants
chore(OC\Share\Constants): Remove unused SHARE_TYPE_* constants
2025-07-29 13:31:42 +02:00
Kate 49618b30a7 Merge pull request #53946 from nextcloud/chore/remove-hierarchical-shares 2025-07-29 13:26:03 +02:00
dependabot[bot] 9b1c70227b chore(deps): bump nextcloud/openapi-extractor
Bumps [nextcloud/openapi-extractor](https://github.com/nextcloud-releases/openapi-extractor) from 1.8.0 to 1.8.1.
- [Changelog](https://github.com/nextcloud-releases/openapi-extractor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-releases/openapi-extractor/compare/v1.8.0...v1.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 13:23:54 +02:00
Maxence Lange 51dc9f89b7 Merge pull request #54064 from nextcloud/feat/preset/custom-share-token
feat(preset): add lexicon entry for custom share tokens
2025-07-29 10:11:05 -01:00
John Molakvoæ 1d4032dafd Merge pull request #54128 from nextcloud/dep/nextcloud 2025-07-29 11:53:50 +02:00
provokateurin 746e5917c7 fix(IShare): Add missing getParent and setParent methods
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 11:27:04 +02:00
Maxence Lange 3ceffe9f5b feat(preset): add lexicon entry for custom share token
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 08:15:08 -01:00
Maxence Lange 9380375cc6 feat(lexicon): add note and key-details
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 08:15:08 -01:00
Kate 89d659ca17 Merge pull request #51602 from nextcloud/fix/fix-default-share-folder-for-group-shares 2025-07-29 11:12:58 +02:00
skjnldsv a83ed8a5c2 fix(eslint): glob import spec pattern
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-29 10:55:25 +02:00
skjnldsv 26cc4782c4 chore(deps): update @nextcloud/auth, @nextcloud/calendar-availability-vue, @nextcloud/files & @nextcloud/sharing
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-29 10:40:45 +02:00
provokateurin 3c7fce39aa chore(OC\Share\Constants): Remove unused SHARE_TYPE_* constants
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 10:39:33 +02:00
provokateurin 665a38573c fix(IShareProvider): Add missing getChildren method to the interface
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 10:26:33 +02:00
Nextcloud bot 8bc5edf15f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-29 00:12:07 +00:00
Simon L. 2ffd72864e Merge pull request #54111 from nextcloud/enh/noid/add-types-to-issue-templates
chore: add type to issue templates
2025-07-29 00:00:09 +02:00
Simon L. 4ee1cf5628 chore: add type to issue templates
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-28 23:47:00 +02:00
John Molakvoæ 345df00c28 Merge pull request #53966 from nextcloud/feat/show-hide-ext
feat(files): allow hidding files extensions
2025-07-28 19:56:25 +02:00
John Molakvoæ 33ddce490b Merge pull request #53635 from nextcloud/fix/insecure-crypto-envs
fix(files_sharing): fallback self.crypto.getRandomValues
2025-07-28 19:51:59 +02:00
nextcloud-command f35d164e33 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-28 17:08:05 +00:00
nextcloud-command c050f49e1d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-28 16:14:08 +00:00
skjnldsv 3cff9d87e9 fix(files_sharing): fallback self.crypto.getRandomValues
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-28 18:07:26 +02:00
skjnldsv c7dd6dd645 feat(files): allow hidding files extensions
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-28 18:05:15 +02:00
Stephan Orbaugh 4eda352397 Merge pull request #54026 from nextcloud/enh/add-cloud-id-chars
feat: add ICloudIdResolver
2025-07-28 15:49:12 +02:00
Anna 3b4a268c66 Merge pull request #53992 from nextcloud/fix/noid/filter-cancelled-events
fix(caldav): don't return cancelled events for upcoming events API
2025-07-28 12:18:40 +02:00
Anna Larch 7e3082cb46 fix(caldav): don't return cancelled events for upcoming events API
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-07-28 11:20:11 +02:00
Kate aca5361e86 Merge pull request #53944 from nextcloud/chore/too-many-arguments 2025-07-28 10:49:52 +02:00
dependabot[bot] 89ae18ab08 build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.1.0 to 2.1.2.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.1.0...2.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 10:34:50 +02:00
John Molakvoæ 12c07f9a8c Merge pull request #53909 from nextcloud/fix/newUser-provisioning_api 2025-07-28 09:21:15 +02:00
Joas Schilling d0865ed924 Merge pull request #54068 from nextcloud/bugfix/noid/fix-infinite-loop-on-parallelaware-block
fix(cron): Fix infinite loop on ParallelAware blocked jobs
2025-07-28 08:22:52 +02:00
John Molakvoæ e89b3a0597 Merge pull request #54051 from nextcloud/fix/session/log-ephemeral-session-close 2025-07-28 08:16:32 +02:00
Joas Schilling 93d07e814b Merge pull request #54027 from nextcloud/fix/oracle-db-connection
fix(ConnectionFactory): Apply Oracle connection fix to primary and replica params as well
2025-07-28 08:13:33 +02:00
Joas Schilling 3ccb3160b4 Merge pull request #53898 from nextcloud/ci-mariadb-118
ci: test against MariaDB 11.8 (latest LTS)
2025-07-28 08:10:05 +02:00
Joas Schilling 031d739d33 fix(cron): Fix infinite loop on ParallelAware blocked jobs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-07-25 15:28:24 +02:00
Ferdinand Thiessen 66eb021ece refactor: remove duplicated types and add return types
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-23 15:59:26 +02:00
Sandro Mesterheide bffac23322 feat: Add cloud id resolver interface
Co-authored-by: Dirk Olbertz <dirk.olbertz@publicplan.de>
Signed-off-by: Sandro Mesterheide <mesterheide@publicplan.de>
2025-07-23 15:59:26 +02:00
Christoph Wurst 084a2e8859 fix(session): log when ephemeral sessions are closed
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-07-23 07:52:06 +02:00
provokateurin 5bd626bd40 chore: Fix all method calls with too many arguments
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-22 12:34:49 +02:00
Marcel Klehr 8589debf6d fix(ConnectionFactory): Apply Oracle connection fix to primary and replica params as well
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-21 15:49:40 +02:00
dependabot[bot] b1a8e01c3f build(deps-dev): bump behat/behat in /build/integration
Bumps [behat/behat](https://github.com/Behat/Behat) from 3.22.0 to 3.23.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.22.0...v3.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-19 01:19:00 +00:00
Daniel Calviño Sánchez 03c76d86a6 fix: Do not show password dialog when user can not validate password
The password confirmation dialog is always shown unless the user backend
does not allow password confirmation. A user backend may explicitly
provide that information, but even if it does not that could have been
defined in the authentication token with
"IToken::SCOPE_SKIP_PASSWORD_VALIDATION" (for example, when "user_oidc"
is only used for authentication and user provision is done by another
user backend).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-07-18 20:55:02 +02:00
skjnldsv 74d6494290 fix(provisioning_api): catch failed user creation
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-14 10:34:22 +02:00
Josh 6b65031a08 feat(settings): add support for MariaDB 11.8 in setup checks
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-07-10 10:18:50 -04:00
Josh fe9b9753b2 ci: test against MariaDB 11.8 (latest LTS)
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-07-10 09:49:08 -04:00
Côme Chilliet 7070ba4365 chore(tests): Adapt DefaultShareProviderTest to new constructor parameter
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:25:00 +02:00
Côme Chilliet 12ceeacb0e fix: Use default share folder of the user on share accept
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:24:37 +02:00
Robin Appelman 6d0119bf8d fix: handle dav external storage roots with spaces
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-30 18:01:01 +02:00
Josh 54142b2b20 fix(maintenanceMode): Refresh web page when turned off (part 1)
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-06-16 15:41:59 -04:00
Thomas Citharel e2195a2f6d fix(sharing): fix json decoding the list of groups excluded from sharing
json_decode() returns stdclass by default instead of an associative object, which can't be used for
array_diff or array_intersect later

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-06-16 08:30:31 +02:00
Josh ef238b5602 fix(db): Stop writing unused dbport to config at install time
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-11-05 16:40:29 -05:00
2660 changed files with 64690 additions and 37551 deletions
+7
View File
@@ -49,5 +49,12 @@ module.exports = {
'@typescript-eslint/no-explicit-any': 'warn',
},
},
{
files: ['*.vue'],
rules: {
'no-irregular-whitespace': 'off',
'vue/no-irregular-whitespace': 'error',
},
},
],
}
+14 -10
View File
@@ -9,6 +9,7 @@
# this will override the backend code owners if needed
/__mocks__ @nextcloud/server-frontend
/__tests__ @nextcloud/server-frontend
/dist @nextcloud/server-frontend
/cypress @nextcloud/server-frontend
**/css @nextcloud/server-frontend
**/js @nextcloud/server-frontend
@@ -19,7 +20,6 @@
# dependency management
package.json @nextcloud/server-dependabot @nextcloud/server-frontend
package-lock.json @nextcloud/server-dependabot
/dist @nextcloud/server-dependabot
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
@@ -56,7 +56,7 @@ package-lock.json @nextcloud/server-dependabot
/apps/webhook_listeners/appinfo/info.xml @come-nc @julien-nc
/apps/workflowengine/appinfo/info.xml @blizzz @juliusknorr
# Frontend expertise
# Files frontend expertise
/apps/files/src* @skjnldsv @nextcloud/server-frontend
/apps/files_external/src* @skjnldsv @nextcloud/server-frontend
/apps/files_reminders/src* @skjnldsv @nextcloud/server-frontend
@@ -91,15 +91,19 @@ ResponseDefinitions.php @provokateurin @nextcloud/server-backend
/lib/public/OCM @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/public/Talk @nickvergessen @nextcloud/talk-backend
/lib/public/UserStatus @nickvergessen @nextcloud/talk-backend
*/Notifications/* @nickvergessen @nextcloud/talk-backend
# Groupware
/build/integration/dav_features/caldav.feature @st3iny @SebastianKrupinski @tcitworld
/build/integration/dav_features/carddav.feature @hamza221 @SebastianKrupinski
/lib/private/Calendar @st3iny @SebastianKrupinski @tcitworld
/lib/private/Contacts @hamza221 @SebastianKrupinski
/lib/public/Calendar @st3iny @SebastianKrupinski @tcitworld
/lib/public/Contacts @hamza221 @SebastianKrupinski
# Groupware team
/build/integration/dav_features/caldav.feature @st3iny @SebastianKrupinski @tcitworld
/build/integration/dav_features/carddav.feature @hamza221 @SebastianKrupinski
/lib/private/Calendar @st3iny @SebastianKrupinski @tcitworld
/lib/private/Contacts @hamza221 @SebastianKrupinski
/lib/public/Calendar @st3iny @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
*/Notifications/* @nickvergessen @nextcloud/talk-backend
/apps/workflowengine/lib @nickvergessen @blizzz
+1
View File
@@ -4,6 +4,7 @@ name: "🐛 Bug report: Nextcloud Server"
description: "Submit a report and help us improve Nextcloud Server"
title: "[Bug]: "
labels: ["bug", "0. Needs triage"]
type: "Bug"
body:
- type: markdown
attributes:
@@ -2,6 +2,8 @@
name: 🚀 Feature request
about: Suggest an idea for this project
labels: enhancement, 0. Needs triage
type: "Enhancement"
---
<!--
+7
View File
@@ -0,0 +1,7 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL config"
paths-ignore:
- dist
+4 -4
View File
@@ -52,13 +52,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
@@ -81,13 +81,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
@@ -31,7 +31,7 @@ jobs:
- 'version.php'
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
@@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
+47
View File
@@ -0,0 +1,47 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL Advanced"
on:
push:
branches: [ "master", "stable*" ]
pull_request:
branches: [ "master", "stable*" ]
schedule:
- cron: '28 18 * * 1'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
+42 -4
View File
@@ -103,7 +103,7 @@ jobs:
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# Needed to allow force push later
persist-credentials: true
@@ -136,7 +136,41 @@ jobs:
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
run: |
git fetch origin '${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}'
git rebase 'origin/${{ needs.init.outputs.base_ref }}'
# Start the rebase
git rebase 'origin/${{ needs.init.outputs.base_ref }}' || {
# Handle rebase conflicts in a loop
while [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; do
echo "Handling rebase conflict..."
# Remove and checkout /dist and /js folders from the base branch
if [ -d "dist" ]; then
rm -rf dist
git checkout origin/${{ needs.init.outputs.base_ref }} -- dist/ 2>/dev/null || echo "No dist folder in base branch"
fi
if [ -d "js" ]; then
rm -rf js
git checkout origin/${{ needs.init.outputs.base_ref }} -- js/ 2>/dev/null || echo "No js folder in base branch"
fi
# Stage all changes
git add .
# Check if there are any changes after resolving conflicts
if git diff --cached --quiet; then
echo "No changes after conflict resolution, skipping commit"
git rebase --skip
else
echo "Changes found, continuing rebase without editing commit message"
git -c core.editor=true rebase --continue
fi
# Break if rebase is complete
if [ ! -d .git/rebase-merge ] && [ ! -d .git/rebase-apply ]; then
break
fi
done
}
- name: Install dependencies & build
env:
@@ -168,11 +202,15 @@ jobs:
- name: Push normally
if: ${{ !contains(needs.init.outputs.arg1, 'rebase') && !contains(needs.init.outputs.arg1, 'amend') }}
run: git push origin '${{ needs.init.outputs.head_ref }}'
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push origin "$HEAD_REF"
- name: Force push
if: ${{ contains(needs.init.outputs.arg1, 'rebase') || contains(needs.init.outputs.arg1, 'amend') }}
run: git push --force origin '${{ needs.init.outputs.head_ref }}'
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
+1 -1
View File
@@ -38,7 +38,7 @@ jobs:
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
fetch-depth: 0
+4 -4
View File
@@ -48,7 +48,7 @@ jobs:
exit 1
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
@@ -102,10 +102,10 @@ 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']
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
# Always align this number with the total of e2e runners (max. index + 1)
total-containers: [8]
total-containers: [10]
services:
mysql:
@@ -174,7 +174,7 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@6c143abc292aa835d827652c2ea025d098311070 # v6.10.1
uses: cypress-io/github-action@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c # v6.10.2
with:
# We already installed the dependencies in the init job
install: false
+3 -3
View File
@@ -55,7 +55,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
@@ -71,7 +71,7 @@ jobs:
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -104,7 +104,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
+6 -6
View File
@@ -64,13 +64,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -104,7 +104,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3
@@ -152,13 +152,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -185,7 +185,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3
+3 -3
View File
@@ -55,7 +55,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
@@ -67,7 +67,7 @@ jobs:
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -93,7 +93,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
@@ -46,13 +46,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
repository: nextcloud/user_saml
+3 -3
View File
@@ -60,13 +60,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -100,7 +100,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-smb
+3 -3
View File
@@ -60,13 +60,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -97,7 +97,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
+3 -3
View File
@@ -53,13 +53,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -85,7 +85,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-generic
@@ -24,14 +24,14 @@ jobs:
require: write
- name: Checkout github_helper
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
path: server
@@ -47,8 +47,13 @@ jobs:
TAGS=$(git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g')
CURRENT_TAG=$(echo "$TAGS" | head -n 1)
# If current tag is the first beta, we use the previous major RC1
if echo "$CURRENT_TAG" | grep -q 'beta1'; then
MAJOR=$(echo "$CURRENT_TAG" | sed -E 's/^v([0-9]+).*/\1/')
PREV=$((MAJOR - 1))
PREVIOUS_TAG="v${PREV}.0.0rc1"
# Get the previous tag - filter pre-releases only if current tag is stable
if echo "$CURRENT_TAG" | grep -q 'rc\|beta\|alpha'; then
elif echo "$CURRENT_TAG" | grep -q 'rc\|beta\|alpha'; then
# Current tag is pre-release, don't filter
PREVIOUS_TAG=$(echo "$TAGS" | sed -n '2p')
else
@@ -68,7 +73,7 @@ jobs:
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: 8.2
coverage: none
+3 -3
View File
@@ -53,13 +53,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -70,7 +70,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@eddc8fc8b27048e25040e37e3585bd3ef9a968ed # v2025.715.25226
uses: LizardByte/actions/actions/setup_python@bff0a193747a3ac7930a665fc1d4b23eba583b99 # v2025.814.40518
with:
python-version: '2.7'
+2 -2
View File
@@ -52,13 +52,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+2 -2
View File
@@ -67,13 +67,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+4 -4
View File
@@ -95,14 +95,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
repository: nextcloud/spreed
@@ -111,7 +111,7 @@ jobs:
- name: Checkout Activity app
if: ${{ matrix.test-suite == 'sharing_features' }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
repository: nextcloud/activity
@@ -119,7 +119,7 @@ jobs:
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -56,7 +56,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
+2 -2
View File
@@ -48,12 +48,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up php8.1
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: 8.1
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+2 -2
View File
@@ -53,12 +53,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
coverage: none
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
+5 -5
View File
@@ -62,7 +62,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
@@ -85,7 +85,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
@@ -106,7 +106,7 @@ jobs:
run: npm run test:coverage --if-present
- name: Collect coverage
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./coverage/lcov.info
@@ -125,7 +125,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
@@ -155,7 +155,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
+1 -1
View File
@@ -56,7 +56,7 @@ jobs:
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
+3 -3
View File
@@ -73,13 +73,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -110,7 +110,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-azure
+3 -3
View File
@@ -74,13 +74,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -116,7 +116,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-s3
+3 -3
View File
@@ -71,13 +71,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -106,7 +106,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-swift
+2 -2
View File
@@ -26,12 +26,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: '8.1'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib
+2 -2
View File
@@ -35,14 +35,14 @@ jobs:
exit 1
- name: Checkout server before PR
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+2 -2
View File
@@ -34,7 +34,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
@@ -45,7 +45,7 @@ jobs:
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, apcu, ldap
+5 -5
View File
@@ -60,13 +60,13 @@ jobs:
fail-fast: false
matrix:
php-versions: ['8.1']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4', '11.8']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.4'
mariadb-versions: '11.8'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@@ -90,13 +90,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -129,7 +129,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-mariadb
+3 -3
View File
@@ -72,13 +72,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -103,7 +103,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-memcached
+3 -3
View File
@@ -121,13 +121,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -161,7 +161,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-mysql
+3 -3
View File
@@ -90,13 +90,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -129,7 +129,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-mysql
+3 -3
View File
@@ -75,13 +75,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -109,7 +109,7 @@ jobs:
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
@@ -72,13 +72,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+3 -3
View File
@@ -101,13 +101,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -133,7 +133,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-oci
+3 -3
View File
@@ -90,13 +90,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -124,7 +124,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-postgres
+3 -3
View File
@@ -75,13 +75,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -110,7 +110,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-sqlite
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
+9 -9
View File
@@ -28,13 +28,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -59,13 +59,13 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -83,7 +83,7 @@ jobs:
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3
uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3
with:
sarif_file: results.sarif
@@ -94,13 +94,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -125,13 +125,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -22,7 +22,7 @@ jobs:
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -1,5 +1,6 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update min supported desktop version
on:
@@ -15,7 +16,7 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
@@ -124,4 +125,4 @@ jobs:
client: 💻 desktop
automated
3. to review
reviewers: tobiasKaminsky, camilasan, claucambra
reviewers: '@nextcloud/desktop'
-1
View File
@@ -60,7 +60,6 @@
</IfModule>
<IfModule mod_php.c>
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
-356
View File
File diff suppressed because one or more lines are too long
+3 -1
View File
@@ -1,7 +1,9 @@
; SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
; SPDX-FileCopyrightText: 2014-2016 ownCloud, Inc.
; SPDX-License-Identifier: AGPL-3.0-only
mbstring.func_overload=0
;
; NOTE: PHP caches this file for 300 seconds by default
;
always_populate_raw_post_data=-1
default_charset='UTF-8'
output_buffering=0
+406
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -14,4 +14,5 @@ export default {
get: async () => ({ status: 200, data: {} }),
delete: async () => ({ status: 200, data: {} }),
post: async () => ({ status: 200, data: {} }),
head: async () => ({ status: 200, data: {} }),
}
+7 -1
View File
@@ -2,7 +2,13 @@
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
window.OC = { ...window.OC }
window.OC = {
...window.OC,
config: {
version: '32.0.0',
...(window.OC?.config ?? {}),
},
}
window.OCA = { ...window.OCA }
window.OCP = { ...window.OCP }
+4 -49
View File
@@ -9,26 +9,14 @@ declare(strict_types=1);
namespace OCA\CloudFederationAPI;
use NCU\Security\Signature\Exceptions\IdentityNotFoundException;
use NCU\Security\Signature\Exceptions\SignatoryException;
use OC\OCM\OCMSignatoryManager;
use OC\OCM\OCMDiscoveryService;
use OCP\Capabilities\ICapability;
use OCP\Capabilities\IInitialStateExcludedCapability;
use OCP\IAppConfig;
use OCP\IURLGenerator;
use OCP\OCM\Exceptions\OCMArgumentException;
use OCP\OCM\ICapabilityAwareOCMProvider;
use Psr\Log\LoggerInterface;
class Capabilities implements ICapability, IInitialStateExcludedCapability {
public const API_VERSION = '1.1.0';
public function __construct(
private IURLGenerator $urlGenerator,
private IAppConfig $appConfig,
private ICapabilityAwareOCMProvider $provider,
private readonly OCMSignatoryManager $ocmSignatoryManager,
private readonly LoggerInterface $logger,
private readonly OCMDiscoveryService $ocmDiscoveryService,
) {
}
@@ -39,40 +27,7 @@ class Capabilities implements ICapability, IInitialStateExcludedCapability {
* @throws OCMArgumentException
*/
public function getCapabilities() {
$url = $this->urlGenerator->linkToRouteAbsolute('cloud_federation_api.requesthandlercontroller.addShare');
$pos = strrpos($url, '/');
if ($pos === false) {
throw new OCMArgumentException('generated route should contain a slash character');
}
$this->provider->setEnabled(true);
$this->provider->setApiVersion(self::API_VERSION);
$this->provider->setCapabilities(['/invite-accepted', '/notifications', '/shares']);
$this->provider->setEndPoint(substr($url, 0, $pos));
$resource = $this->provider->createNewResourceType();
$resource->setName('file')
->setShareTypes(['user', 'group'])
->setProtocols(['webdav' => '/public.php/webdav/']);
$this->provider->addResourceType($resource);
// Adding a public key to the ocm discovery
try {
if (!$this->appConfig->getValueBool('core', OCMSignatoryManager::APPCONFIG_SIGN_DISABLED, lazy: true)) {
/**
* @experimental 31.0.0
* @psalm-suppress UndefinedInterfaceMethod
*/
$this->provider->setSignatory($this->ocmSignatoryManager->getLocalSignatory());
} else {
$this->logger->debug('ocm public key feature disabled');
}
} catch (SignatoryException|IdentityNotFoundException $e) {
$this->logger->warning('cannot generate local signatory', ['exception' => $e]);
}
return ['ocm' => $this->provider->jsonSerialize()];
$provider = $this->ocmDiscoveryService->getLocalOCMProvider(false);
return ['ocm' => $provider->jsonSerialize()];
}
}
+36
View File
@@ -0,0 +1,36 @@
OC.L10N.register(
"comments",
{
"Comments" : "Каментарыі",
"You commented" : "Вы пракаментавалі",
"{author} commented" : "{author} пракаментаваў(-ла)",
"You commented on %1$s" : "Вы пракаментавалі %1$s",
"You commented on {file}" : "Вы пракаментавалі {file}",
"%1$s commented on %2$s" : "%1$s пракаментаваў(-ла) %2$s",
"{author} commented on {file}" : "{author} пракаментаваў(-ла) {file}",
"<strong>Comments</strong> for files" : "<strong>Каментарыі</strong> да файлаў",
"Files" : "Файлы",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Вас згадалі ў каментарыі да \"{file}\" з уліковага запісу, які пазней быў выдалены.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} згадаў(-ла) вас у каментарыі да \"{file}\"",
"Files app plugin to add comments to files" : "Убудова праграмы Файлы для дадавання каментарыяў да файлаў",
"Edit comment" : "Рэдагаваць каментарый",
"Delete comment" : "Выдаліць каментарый",
"Cancel edit" : "Скасаваць рэдагаванне",
"New comment" : "Новы каментарый",
"Write a comment …" : "Напішыце каментарый …",
"Post comment" : "Апублікаваць каментарый",
"@ for mentions, : for emoji, / for smart picker" : "@ - згадкі, : - эмодзі, / - разумны выбар",
"Could not reload comments" : "Не ўдалося перазагрузіць каментарыі",
"Failed to mark comments as read" : "Не атрымалася пазначыць каментарыі як прачытаныя",
"Unable to load the comments list" : "Не ўдалося загрузіць спіс каментарыяў",
"No comments yet, start the conversation!" : "Пакуль няма каментарыяў, пачніце размову!",
"No more messages" : "Больш паведамленняў няма",
"Retry" : "Паўтарыць спробу",
"_1 new comment_::_{unread} new comments_" : ["1 новы каментарый","{unread} новыя каментарыі","{unread} новых каментарыяў","{unread} новых каментарыяў"],
"Comment" : "Каментарый",
"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" : "Падчас спробы стварэння каментарыя ўзнікла памылка"
},
"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);");
+34
View File
@@ -0,0 +1,34 @@
{ "translations": {
"Comments" : "Каментарыі",
"You commented" : "Вы пракаментавалі",
"{author} commented" : "{author} пракаментаваў(-ла)",
"You commented on %1$s" : "Вы пракаментавалі %1$s",
"You commented on {file}" : "Вы пракаментавалі {file}",
"%1$s commented on %2$s" : "%1$s пракаментаваў(-ла) %2$s",
"{author} commented on {file}" : "{author} пракаментаваў(-ла) {file}",
"<strong>Comments</strong> for files" : "<strong>Каментарыі</strong> да файлаў",
"Files" : "Файлы",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Вас згадалі ў каментарыі да \"{file}\" з уліковага запісу, які пазней быў выдалены.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} згадаў(-ла) вас у каментарыі да \"{file}\"",
"Files app plugin to add comments to files" : "Убудова праграмы Файлы для дадавання каментарыяў да файлаў",
"Edit comment" : "Рэдагаваць каментарый",
"Delete comment" : "Выдаліць каментарый",
"Cancel edit" : "Скасаваць рэдагаванне",
"New comment" : "Новы каментарый",
"Write a comment …" : "Напішыце каментарый …",
"Post comment" : "Апублікаваць каментарый",
"@ for mentions, : for emoji, / for smart picker" : "@ - згадкі, : - эмодзі, / - разумны выбар",
"Could not reload comments" : "Не ўдалося перазагрузіць каментарыі",
"Failed to mark comments as read" : "Не атрымалася пазначыць каментарыі як прачытаныя",
"Unable to load the comments list" : "Не ўдалося загрузіць спіс каментарыяў",
"No comments yet, start the conversation!" : "Пакуль няма каментарыяў, пачніце размову!",
"No more messages" : "Больш паведамленняў няма",
"Retry" : "Паўтарыць спробу",
"_1 new comment_::_{unread} new comments_" : ["1 новы каментарый","{unread} новыя каментарыі","{unread} новых каментарыяў","{unread} новых каментарыяў"],
"Comment" : "Каментарый",
"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" : "Падчас спробы стварэння каментарыя ўзнікла памылка"
},"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);"
}
@@ -16,5 +16,6 @@ return array(
'OCA\\ContactsInteraction\\Db\\RecentContact' => $baseDir . '/../lib/Db/RecentContact.php',
'OCA\\ContactsInteraction\\Db\\RecentContactMapper' => $baseDir . '/../lib/Db/RecentContactMapper.php',
'OCA\\ContactsInteraction\\Listeners\\ContactInteractionListener' => $baseDir . '/../lib/Listeners/ContactInteractionListener.php',
'OCA\\ContactsInteraction\\Listeners\\UserDeletedListener' => $baseDir . '/../lib/Listeners/UserDeletedListener.php',
'OCA\\ContactsInteraction\\Migration\\Version010000Date20200304152605' => $baseDir . '/../lib/Migration/Version010000Date20200304152605.php',
);
@@ -31,6 +31,7 @@ class ComposerStaticInitContactsInteraction
'OCA\\ContactsInteraction\\Db\\RecentContact' => __DIR__ . '/..' . '/../lib/Db/RecentContact.php',
'OCA\\ContactsInteraction\\Db\\RecentContactMapper' => __DIR__ . '/..' . '/../lib/Db/RecentContactMapper.php',
'OCA\\ContactsInteraction\\Listeners\\ContactInteractionListener' => __DIR__ . '/..' . '/../lib/Listeners/ContactInteractionListener.php',
'OCA\\ContactsInteraction\\Listeners\\UserDeletedListener' => __DIR__ . '/..' . '/../lib/Listeners/UserDeletedListener.php',
'OCA\\ContactsInteraction\\Migration\\Version010000Date20200304152605' => __DIR__ . '/..' . '/../lib/Migration/Version010000Date20200304152605.php',
);
@@ -9,11 +9,13 @@ declare(strict_types=1);
namespace OCA\ContactsInteraction\AppInfo;
use OCA\ContactsInteraction\Listeners\ContactInteractionListener;
use OCA\ContactsInteraction\Listeners\UserDeletedListener;
use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\Contacts\Events\ContactInteractedWithEvent;
use OCP\User\Events\UserDeletedEvent;
class Application extends App implements IBootstrap {
public const APP_ID = 'contactsinteraction';
@@ -24,6 +26,7 @@ class Application extends App implements IBootstrap {
public function register(IRegistrationContext $context): void {
$context->registerEventListener(ContactInteractedWithEvent::class, ContactInteractionListener::class);
$context->registerEventListener(UserDeletedEvent::class, UserDeletedListener::class);
}
public function boot(IBootContext $context): void {
@@ -112,4 +112,14 @@ class RecentContactMapper extends QBMapper {
$delete->executeStatement();
}
public function deleteByUserId(string $uid): void {
$qb = $this->db->getQueryBuilder();
$delete = $qb
->delete($this->getTableName())
->where($qb->expr()->eq('actor_uid', $qb->createNamedParameter($uid)));
$delete->executeStatement();
}
}
@@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\ContactsInteraction\Listeners;
use OCA\ContactsInteraction\Db\RecentContactMapper;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\User\Events\UserDeletedEvent;
/**
* @template-implements IEventListener<Event|UserDeletedEvent>
*/
class UserDeletedListener implements IEventListener {
public function __construct(
private readonly RecentContactMapper $recentContactMapper,
) {
}
#[\Override]
public function handle(Event $event): void {
if (!($event instanceof UserDeletedEvent)) {
return;
}
$this->recentContactMapper->deleteByUserId($event->getUser()->getUID());
}
}
+21
View File
@@ -0,0 +1,21 @@
OC.L10N.register(
"dashboard",
{
"Dashboard" : "Панэль кіравання",
"Dashboard app" : "Праграма Панэль кіравання",
"Weather" : "Надвор'е",
"Status" : "Стан",
"Good morning" : "Добрай раніцы",
"Good morning, {name}" : "Добрай раніцы, {name}",
"Good afternoon" : "Добры дзень",
"Good afternoon, {name}" : "Добры дзень, {name}",
"Good evening" : "Добры вечар",
"Good evening, {name}" : "Добры вечар, {name}",
"Hello" : "Вітаем",
"Hello, {name}" : "Вітаем, {name}",
"Happy birthday 🥳🤩🎂🎉" : "З народзінамі 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "З народзінамі, {name} 🥳🤩🎂🎉",
"Customize" : "Дапасаваць",
"Edit widgets" : "Рэдагаваць віджэты"
},
"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);");
+19
View File
@@ -0,0 +1,19 @@
{ "translations": {
"Dashboard" : "Панэль кіравання",
"Dashboard app" : "Праграма Панэль кіравання",
"Weather" : "Надвор'е",
"Status" : "Стан",
"Good morning" : "Добрай раніцы",
"Good morning, {name}" : "Добрай раніцы, {name}",
"Good afternoon" : "Добры дзень",
"Good afternoon, {name}" : "Добры дзень, {name}",
"Good evening" : "Добры вечар",
"Good evening, {name}" : "Добры вечар, {name}",
"Hello" : "Вітаем",
"Hello, {name}" : "Вітаем, {name}",
"Happy birthday 🥳🤩🎂🎉" : "З народзінамі 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "З народзінамі, {name} 🥳🤩🎂🎉",
"Customize" : "Дапасаваць",
"Edit widgets" : "Рэдагаваць віджэты"
},"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
@@ -19,8 +19,8 @@ OC.L10N.register(
"Customize" : "Personalizar",
"Edit widgets" : "Editar widgets",
"Get more widgets from the App Store" : "Conseguir más widgets desde la tienda de Apps",
"Weather service" : "Servicio metereológico",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Por privacidad, los datos meteorológicos son solicitados por tu servidor Nextcloud en tu nombre de tal forma que el servicio no recibe información personal.",
"Weather service" : "Servicio meteorológico",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para su privacidad, los datos meteorológicos son solicitados por su servidor Nextcloud en su nombre, de tal forma que el servicio no reciba información personal.",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
+2 -2
View File
@@ -17,8 +17,8 @@
"Customize" : "Personalizar",
"Edit widgets" : "Editar widgets",
"Get more widgets from the App Store" : "Conseguir más widgets desde la tienda de Apps",
"Weather service" : "Servicio metereológico",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Por privacidad, los datos meteorológicos son solicitados por tu servidor Nextcloud en tu nombre de tal forma que el servicio no recibe información personal.",
"Weather service" : "Servicio meteorológico",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para su privacidad, los datos meteorológicos son solicitados por su servidor Nextcloud en su nombre, de tal forma que el servicio no reciba información personal.",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
+196
View File
@@ -267,6 +267,34 @@
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
@@ -363,6 +391,34 @@
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
@@ -427,6 +483,34 @@
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
@@ -499,6 +583,34 @@
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
},
@@ -591,6 +703,34 @@
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
@@ -663,6 +803,34 @@
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
},
@@ -755,6 +923,34 @@
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
+5 -1
View File
@@ -10,7 +10,7 @@
<name>WebDAV</name>
<summary>WebDAV endpoint</summary>
<description>WebDAV endpoint</description>
<version>1.34.0</version>
<version>1.34.2</version>
<licence>agpl</licence>
<author>owncloud.org</author>
<namespace>DAV</namespace>
@@ -30,6 +30,7 @@
<job>OCA\DAV\BackgroundJob\EventReminderJob</job>
<job>OCA\DAV\BackgroundJob\CalendarRetentionJob</job>
<job>OCA\DAV\BackgroundJob\PruneOutdatedSyncTokensJob</job>
<job>OCA\DAV\BackgroundJob\FederatedCalendarPeriodicSyncJob</job>
</background-jobs>
<repair-steps>
@@ -65,6 +66,8 @@
<command>OCA\DAV\Command\DeleteSubscription</command>
<command>OCA\DAV\Command\ExportCalendar</command>
<command>OCA\DAV\Command\FixCalendarSyncCommand</command>
<command>OCA\DAV\Command\GetAbsenceCommand</command>
<command>OCA\DAV\Command\ImportCalendar</command>
<command>OCA\DAV\Command\ListAddressbooks</command>
<command>OCA\DAV\Command\ListCalendarShares</command>
<command>OCA\DAV\Command\ListCalendars</command>
@@ -73,6 +76,7 @@
<command>OCA\DAV\Command\RemoveInvalidShares</command>
<command>OCA\DAV\Command\RetentionCleanupCommand</command>
<command>OCA\DAV\Command\SendEventReminders</command>
<command>OCA\DAV\Command\SetAbsenceCommand</command>
<command>OCA\DAV\Command\SyncBirthdayCalendar</command>
<command>OCA\DAV\Command\SyncSystemAddressBook</command>
</commands>
+10 -2
View File
@@ -10,6 +10,8 @@ use OC\KnownUser\KnownUserService;
use OCA\DAV\CalDAV\CalDavBackend;
use OCA\DAV\CalDAV\CalendarRoot;
use OCA\DAV\CalDAV\DefaultCalendarValidator;
use OCA\DAV\CalDAV\Federation\FederatedCalendarFactory;
use OCA\DAV\CalDAV\Federation\FederatedCalendarMapper;
use OCA\DAV\CalDAV\Proxy\ProxyMapper;
use OCA\DAV\CalDAV\Schedule\IMipPlugin;
use OCA\DAV\CalDAV\Security\RateLimitingPlugin;
@@ -29,6 +31,7 @@ use OCP\IRequest;
use OCP\ISession;
use OCP\IUserManager;
use OCP\IUserSession;
use OCP\L10N\IFactory as IL10NFactory;
use OCP\Security\Bruteforce\IThrottler;
use OCP\Security\ISecureRandom;
use OCP\Server;
@@ -61,6 +64,9 @@ $random = Server::get(ISecureRandom::class);
$logger = Server::get(LoggerInterface::class);
$dispatcher = Server::get(IEventDispatcher::class);
$config = Server::get(IConfig::class);
$l10nFactory = Server::get(IL10NFactory::class);
$davL10n = $l10nFactory->get('dav');
$federatedCalendarFactory = Server::get(FederatedCalendarFactory::class);
$calDavBackend = new CalDavBackend(
$db,
@@ -71,6 +77,8 @@ $calDavBackend = new CalDavBackend(
$dispatcher,
$config,
Server::get(\OCA\DAV\CalDAV\Sharing\Backend::class),
Server::get(FederatedCalendarMapper::class),
Server::get(\OCP\ICacheFactory::class),
true
);
@@ -81,7 +89,7 @@ $sendInvitations = Server::get(IConfig::class)->getAppValue('dav', 'sendInvitati
$principalCollection = new \Sabre\CalDAV\Principal\Collection($principalBackend);
$principalCollection->disableListing = !$debugging; // Disable listing
$addressBookRoot = new CalendarRoot($principalBackend, $calDavBackend, 'principals', $logger);
$addressBookRoot = new CalendarRoot($principalBackend, $calDavBackend, 'principals', $logger, $davL10n, $config, $federatedCalendarFactory);
$addressBookRoot->disableListing = !$debugging; // Disable listing
$nodes = [
@@ -96,7 +104,7 @@ $server->httpRequest->setUrl(Server::get(IRequest::class)->getRequestUri());
$server->setBaseUri($baseuri);
// Add plugins
$server->addPlugin(new MaintenancePlugin(Server::get(IConfig::class), \OC::$server->getL10N('dav')));
$server->addPlugin(new MaintenancePlugin(Server::get(IConfig::class), $davL10n));
$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend));
$server->addPlugin(new \Sabre\CalDAV\Plugin());
+1
View File
@@ -63,6 +63,7 @@ $cardDavBackend = new CardDavBackend(
Server::get(IUserManager::class),
Server::get(IEventDispatcher::class),
Server::get(\OCA\DAV\CardDAV\Sharing\Backend::class),
Server::get(IConfig::class),
);
$debugging = Server::get(IConfig::class)->getSystemValue('debug', false);
@@ -19,6 +19,8 @@ return array(
'OCA\\DAV\\BackgroundJob\\CleanupOrphanedChildrenJob' => $baseDir . '/../lib/BackgroundJob/CleanupOrphanedChildrenJob.php',
'OCA\\DAV\\BackgroundJob\\DeleteOutdatedSchedulingObjects' => $baseDir . '/../lib/BackgroundJob/DeleteOutdatedSchedulingObjects.php',
'OCA\\DAV\\BackgroundJob\\EventReminderJob' => $baseDir . '/../lib/BackgroundJob/EventReminderJob.php',
'OCA\\DAV\\BackgroundJob\\FederatedCalendarPeriodicSyncJob' => $baseDir . '/../lib/BackgroundJob/FederatedCalendarPeriodicSyncJob.php',
'OCA\\DAV\\BackgroundJob\\FederatedCalendarSyncJob' => $baseDir . '/../lib/BackgroundJob/FederatedCalendarSyncJob.php',
'OCA\\DAV\\BackgroundJob\\GenerateBirthdayCalendarBackgroundJob' => $baseDir . '/../lib/BackgroundJob/GenerateBirthdayCalendarBackgroundJob.php',
'OCA\\DAV\\BackgroundJob\\OutOfOfficeEventDispatcherJob' => $baseDir . '/../lib/BackgroundJob/OutOfOfficeEventDispatcherJob.php',
'OCA\\DAV\\BackgroundJob\\PruneOutdatedSyncTokensJob' => $baseDir . '/../lib/BackgroundJob/PruneOutdatedSyncTokensJob.php',
@@ -60,14 +62,33 @@ return array(
'OCA\\DAV\\CalDAV\\CalendarProvider' => $baseDir . '/../lib/CalDAV/CalendarProvider.php',
'OCA\\DAV\\CalDAV\\CalendarRoot' => $baseDir . '/../lib/CalDAV/CalendarRoot.php',
'OCA\\DAV\\CalDAV\\DefaultCalendarValidator' => $baseDir . '/../lib/CalDAV/DefaultCalendarValidator.php',
'OCA\\DAV\\CalDAV\\EmbeddedCalDavServer' => $baseDir . '/../lib/CalDAV/EmbeddedCalDavServer.php',
'OCA\\DAV\\CalDAV\\EventComparisonService' => $baseDir . '/../lib/CalDAV/EventComparisonService.php',
'OCA\\DAV\\CalDAV\\EventReader' => $baseDir . '/../lib/CalDAV/EventReader.php',
'OCA\\DAV\\CalDAV\\EventReaderRDate' => $baseDir . '/../lib/CalDAV/EventReaderRDate.php',
'OCA\\DAV\\CalDAV\\EventReaderRRule' => $baseDir . '/../lib/CalDAV/EventReaderRRule.php',
'OCA\\DAV\\CalDAV\\Export\\ExportService' => $baseDir . '/../lib/CalDAV/Export/ExportService.php',
'OCA\\DAV\\CalDAV\\Federation\\CalendarFederationConfig' => $baseDir . '/../lib/CalDAV/Federation/CalendarFederationConfig.php',
'OCA\\DAV\\CalDAV\\Federation\\CalendarFederationNotifier' => $baseDir . '/../lib/CalDAV/Federation/CalendarFederationNotifier.php',
'OCA\\DAV\\CalDAV\\Federation\\CalendarFederationProvider' => $baseDir . '/../lib/CalDAV/Federation/CalendarFederationProvider.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendar' => $baseDir . '/../lib/CalDAV/Federation/FederatedCalendar.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarAuth' => $baseDir . '/../lib/CalDAV/Federation/FederatedCalendarAuth.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarEntity' => $baseDir . '/../lib/CalDAV/Federation/FederatedCalendarEntity.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarFactory' => $baseDir . '/../lib/CalDAV/Federation/FederatedCalendarFactory.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarImpl' => $baseDir . '/../lib/CalDAV/Federation/FederatedCalendarImpl.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarMapper' => $baseDir . '/../lib/CalDAV/Federation/FederatedCalendarMapper.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarSyncService' => $baseDir . '/../lib/CalDAV/Federation/FederatedCalendarSyncService.php',
'OCA\\DAV\\CalDAV\\Federation\\FederationSharingService' => $baseDir . '/../lib/CalDAV/Federation/FederationSharingService.php',
'OCA\\DAV\\CalDAV\\Federation\\Protocol\\CalendarFederationProtocolV1' => $baseDir . '/../lib/CalDAV/Federation/Protocol/CalendarFederationProtocolV1.php',
'OCA\\DAV\\CalDAV\\Federation\\Protocol\\CalendarProtocolParseException' => $baseDir . '/../lib/CalDAV/Federation/Protocol/CalendarProtocolParseException.php',
'OCA\\DAV\\CalDAV\\Federation\\Protocol\\ICalendarFederationProtocol' => $baseDir . '/../lib/CalDAV/Federation/Protocol/ICalendarFederationProtocol.php',
'OCA\\DAV\\CalDAV\\Federation\\RemoteUserCalendarHome' => $baseDir . '/../lib/CalDAV/Federation/RemoteUserCalendarHome.php',
'OCA\\DAV\\CalDAV\\FreeBusy\\FreeBusyGenerator' => $baseDir . '/../lib/CalDAV/FreeBusy/FreeBusyGenerator.php',
'OCA\\DAV\\CalDAV\\ICSExportPlugin\\ICSExportPlugin' => $baseDir . '/../lib/CalDAV/ICSExportPlugin/ICSExportPlugin.php',
'OCA\\DAV\\CalDAV\\IRestorable' => $baseDir . '/../lib/CalDAV/IRestorable.php',
'OCA\\DAV\\CalDAV\\Import\\ImportService' => $baseDir . '/../lib/CalDAV/Import/ImportService.php',
'OCA\\DAV\\CalDAV\\Import\\TextImporter' => $baseDir . '/../lib/CalDAV/Import/TextImporter.php',
'OCA\\DAV\\CalDAV\\Import\\XmlImporter' => $baseDir . '/../lib/CalDAV/Import/XmlImporter.php',
'OCA\\DAV\\CalDAV\\Integration\\ExternalCalendar' => $baseDir . '/../lib/CalDAV/Integration/ExternalCalendar.php',
'OCA\\DAV\\CalDAV\\Integration\\ICalendarProvider' => $baseDir . '/../lib/CalDAV/Integration/ICalendarProvider.php',
'OCA\\DAV\\CalDAV\\InvitationResponse\\InvitationResponseServer' => $baseDir . '/../lib/CalDAV/InvitationResponse/InvitationResponseServer.php',
@@ -112,6 +133,8 @@ return array(
'OCA\\DAV\\CalDAV\\Sharing\\Backend' => $baseDir . '/../lib/CalDAV/Sharing/Backend.php',
'OCA\\DAV\\CalDAV\\Sharing\\Service' => $baseDir . '/../lib/CalDAV/Sharing/Service.php',
'OCA\\DAV\\CalDAV\\Status\\StatusService' => $baseDir . '/../lib/CalDAV/Status/StatusService.php',
'OCA\\DAV\\CalDAV\\SyncService' => $baseDir . '/../lib/CalDAV/SyncService.php',
'OCA\\DAV\\CalDAV\\SyncServiceResult' => $baseDir . '/../lib/CalDAV/SyncServiceResult.php',
'OCA\\DAV\\CalDAV\\TimeZoneFactory' => $baseDir . '/../lib/CalDAV/TimeZoneFactory.php',
'OCA\\DAV\\CalDAV\\TimezoneService' => $baseDir . '/../lib/CalDAV/TimezoneService.php',
'OCA\\DAV\\CalDAV\\TipBroker' => $baseDir . '/../lib/CalDAV/TipBroker.php',
@@ -164,6 +187,8 @@ return array(
'OCA\\DAV\\Command\\DeleteSubscription' => $baseDir . '/../lib/Command/DeleteSubscription.php',
'OCA\\DAV\\Command\\ExportCalendar' => $baseDir . '/../lib/Command/ExportCalendar.php',
'OCA\\DAV\\Command\\FixCalendarSyncCommand' => $baseDir . '/../lib/Command/FixCalendarSyncCommand.php',
'OCA\\DAV\\Command\\GetAbsenceCommand' => $baseDir . '/../lib/Command/GetAbsenceCommand.php',
'OCA\\DAV\\Command\\ImportCalendar' => $baseDir . '/../lib/Command/ImportCalendar.php',
'OCA\\DAV\\Command\\ListAddressbooks' => $baseDir . '/../lib/Command/ListAddressbooks.php',
'OCA\\DAV\\Command\\ListCalendarShares' => $baseDir . '/../lib/Command/ListCalendarShares.php',
'OCA\\DAV\\Command\\ListCalendars' => $baseDir . '/../lib/Command/ListCalendars.php',
@@ -172,6 +197,7 @@ return array(
'OCA\\DAV\\Command\\RemoveInvalidShares' => $baseDir . '/../lib/Command/RemoveInvalidShares.php',
'OCA\\DAV\\Command\\RetentionCleanupCommand' => $baseDir . '/../lib/Command/RetentionCleanupCommand.php',
'OCA\\DAV\\Command\\SendEventReminders' => $baseDir . '/../lib/Command/SendEventReminders.php',
'OCA\\DAV\\Command\\SetAbsenceCommand' => $baseDir . '/../lib/Command/SetAbsenceCommand.php',
'OCA\\DAV\\Command\\SyncBirthdayCalendar' => $baseDir . '/../lib/Command/SyncBirthdayCalendar.php',
'OCA\\DAV\\Command\\SyncSystemAddressBook' => $baseDir . '/../lib/Command/SyncSystemAddressBook.php',
'OCA\\DAV\\Comments\\CommentNode' => $baseDir . '/../lib/Comments/CommentNode.php',
@@ -213,6 +239,8 @@ return array(
'OCA\\DAV\\Connector\\Sabre\\Node' => $baseDir . '/../lib/Connector/Sabre/Node.php',
'OCA\\DAV\\Connector\\Sabre\\ObjectTree' => $baseDir . '/../lib/Connector/Sabre/ObjectTree.php',
'OCA\\DAV\\Connector\\Sabre\\Principal' => $baseDir . '/../lib/Connector/Sabre/Principal.php',
'OCA\\DAV\\Connector\\Sabre\\PropFindMonitorPlugin' => $baseDir . '/../lib/Connector/Sabre/PropFindMonitorPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin' => $baseDir . '/../lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\PropfindCompressionPlugin' => $baseDir . '/../lib/Connector/Sabre/PropfindCompressionPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\PublicAuth' => $baseDir . '/../lib/Connector/Sabre/PublicAuth.php',
'OCA\\DAV\\Connector\\Sabre\\QuotaPlugin' => $baseDir . '/../lib/Connector/Sabre/QuotaPlugin.php',
@@ -234,6 +262,7 @@ return array(
'OCA\\DAV\\DAV\\CustomPropertiesBackend' => $baseDir . '/../lib/DAV/CustomPropertiesBackend.php',
'OCA\\DAV\\DAV\\GroupPrincipalBackend' => $baseDir . '/../lib/DAV/GroupPrincipalBackend.php',
'OCA\\DAV\\DAV\\PublicAuth' => $baseDir . '/../lib/DAV/PublicAuth.php',
'OCA\\DAV\\DAV\\RemoteUserPrincipalBackend' => $baseDir . '/../lib/DAV/RemoteUserPrincipalBackend.php',
'OCA\\DAV\\DAV\\Sharing\\Backend' => $baseDir . '/../lib/DAV/Sharing/Backend.php',
'OCA\\DAV\\DAV\\Sharing\\IShareable' => $baseDir . '/../lib/DAV/Sharing/IShareable.php',
'OCA\\DAV\\DAV\\Sharing\\Plugin' => $baseDir . '/../lib/DAV/Sharing/Plugin.php',
@@ -295,6 +324,7 @@ return array(
'OCA\\DAV\\Listener\\BirthdayListener' => $baseDir . '/../lib/Listener/BirthdayListener.php',
'OCA\\DAV\\Listener\\CalendarContactInteractionListener' => $baseDir . '/../lib/Listener/CalendarContactInteractionListener.php',
'OCA\\DAV\\Listener\\CalendarDeletionDefaultUpdaterListener' => $baseDir . '/../lib/Listener/CalendarDeletionDefaultUpdaterListener.php',
'OCA\\DAV\\Listener\\CalendarFederationNotificationListener' => $baseDir . '/../lib/Listener/CalendarFederationNotificationListener.php',
'OCA\\DAV\\Listener\\CalendarObjectReminderUpdaterListener' => $baseDir . '/../lib/Listener/CalendarObjectReminderUpdaterListener.php',
'OCA\\DAV\\Listener\\CalendarPublicationListener' => $baseDir . '/../lib/Listener/CalendarPublicationListener.php',
'OCA\\DAV\\Listener\\CalendarShareUpdateListener' => $baseDir . '/../lib/Listener/CalendarShareUpdateListener.php',
@@ -302,6 +332,7 @@ return array(
'OCA\\DAV\\Listener\\ClearPhotoCacheListener' => $baseDir . '/../lib/Listener/ClearPhotoCacheListener.php',
'OCA\\DAV\\Listener\\DavAdminSettingsListener' => $baseDir . '/../lib/Listener/DavAdminSettingsListener.php',
'OCA\\DAV\\Listener\\OutOfOfficeListener' => $baseDir . '/../lib/Listener/OutOfOfficeListener.php',
'OCA\\DAV\\Listener\\SabrePluginAuthInitListener' => $baseDir . '/../lib/Listener/SabrePluginAuthInitListener.php',
'OCA\\DAV\\Listener\\SubscriptionListener' => $baseDir . '/../lib/Listener/SubscriptionListener.php',
'OCA\\DAV\\Listener\\TrustedServerRemovedListener' => $baseDir . '/../lib/Listener/TrustedServerRemovedListener.php',
'OCA\\DAV\\Listener\\UserEventsListener' => $baseDir . '/../lib/Listener/UserEventsListener.php',
@@ -350,6 +381,8 @@ return array(
'OCA\\DAV\\Migration\\Version1029Date20231004091403' => $baseDir . '/../lib/Migration/Version1029Date20231004091403.php',
'OCA\\DAV\\Migration\\Version1030Date20240205103243' => $baseDir . '/../lib/Migration/Version1030Date20240205103243.php',
'OCA\\DAV\\Migration\\Version1031Date20240610134258' => $baseDir . '/../lib/Migration/Version1031Date20240610134258.php',
'OCA\\DAV\\Migration\\Version1034Date20250605132605' => $baseDir . '/../lib/Migration/Version1034Date20250605132605.php',
'OCA\\DAV\\Migration\\Version1034Date20250813093701' => $baseDir . '/../lib/Migration/Version1034Date20250813093701.php',
'OCA\\DAV\\Model\\ExampleEvent' => $baseDir . '/../lib/Model/ExampleEvent.php',
'OCA\\DAV\\Paginate\\LimitedCopyIterator' => $baseDir . '/../lib/Paginate/LimitedCopyIterator.php',
'OCA\\DAV\\Paginate\\PaginateCache' => $baseDir . '/../lib/Paginate/PaginateCache.php',
@@ -365,6 +398,7 @@ return array(
'OCA\\DAV\\Search\\TasksSearchProvider' => $baseDir . '/../lib/Search/TasksSearchProvider.php',
'OCA\\DAV\\Server' => $baseDir . '/../lib/Server.php',
'OCA\\DAV\\ServerFactory' => $baseDir . '/../lib/ServerFactory.php',
'OCA\\DAV\\Service\\ASyncService' => $baseDir . '/../lib/Service/ASyncService.php',
'OCA\\DAV\\Service\\AbsenceService' => $baseDir . '/../lib/Service/AbsenceService.php',
'OCA\\DAV\\Service\\ExampleContactService' => $baseDir . '/../lib/Service/ExampleContactService.php',
'OCA\\DAV\\Service\\ExampleEventService' => $baseDir . '/../lib/Service/ExampleEventService.php',
@@ -34,6 +34,8 @@ class ComposerStaticInitDAV
'OCA\\DAV\\BackgroundJob\\CleanupOrphanedChildrenJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/CleanupOrphanedChildrenJob.php',
'OCA\\DAV\\BackgroundJob\\DeleteOutdatedSchedulingObjects' => __DIR__ . '/..' . '/../lib/BackgroundJob/DeleteOutdatedSchedulingObjects.php',
'OCA\\DAV\\BackgroundJob\\EventReminderJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/EventReminderJob.php',
'OCA\\DAV\\BackgroundJob\\FederatedCalendarPeriodicSyncJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/FederatedCalendarPeriodicSyncJob.php',
'OCA\\DAV\\BackgroundJob\\FederatedCalendarSyncJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/FederatedCalendarSyncJob.php',
'OCA\\DAV\\BackgroundJob\\GenerateBirthdayCalendarBackgroundJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/GenerateBirthdayCalendarBackgroundJob.php',
'OCA\\DAV\\BackgroundJob\\OutOfOfficeEventDispatcherJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/OutOfOfficeEventDispatcherJob.php',
'OCA\\DAV\\BackgroundJob\\PruneOutdatedSyncTokensJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/PruneOutdatedSyncTokensJob.php',
@@ -75,14 +77,33 @@ class ComposerStaticInitDAV
'OCA\\DAV\\CalDAV\\CalendarProvider' => __DIR__ . '/..' . '/../lib/CalDAV/CalendarProvider.php',
'OCA\\DAV\\CalDAV\\CalendarRoot' => __DIR__ . '/..' . '/../lib/CalDAV/CalendarRoot.php',
'OCA\\DAV\\CalDAV\\DefaultCalendarValidator' => __DIR__ . '/..' . '/../lib/CalDAV/DefaultCalendarValidator.php',
'OCA\\DAV\\CalDAV\\EmbeddedCalDavServer' => __DIR__ . '/..' . '/../lib/CalDAV/EmbeddedCalDavServer.php',
'OCA\\DAV\\CalDAV\\EventComparisonService' => __DIR__ . '/..' . '/../lib/CalDAV/EventComparisonService.php',
'OCA\\DAV\\CalDAV\\EventReader' => __DIR__ . '/..' . '/../lib/CalDAV/EventReader.php',
'OCA\\DAV\\CalDAV\\EventReaderRDate' => __DIR__ . '/..' . '/../lib/CalDAV/EventReaderRDate.php',
'OCA\\DAV\\CalDAV\\EventReaderRRule' => __DIR__ . '/..' . '/../lib/CalDAV/EventReaderRRule.php',
'OCA\\DAV\\CalDAV\\Export\\ExportService' => __DIR__ . '/..' . '/../lib/CalDAV/Export/ExportService.php',
'OCA\\DAV\\CalDAV\\Federation\\CalendarFederationConfig' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/CalendarFederationConfig.php',
'OCA\\DAV\\CalDAV\\Federation\\CalendarFederationNotifier' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/CalendarFederationNotifier.php',
'OCA\\DAV\\CalDAV\\Federation\\CalendarFederationProvider' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/CalendarFederationProvider.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendar' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/FederatedCalendar.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarAuth' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/FederatedCalendarAuth.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarEntity' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/FederatedCalendarEntity.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarFactory' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/FederatedCalendarFactory.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarImpl' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/FederatedCalendarImpl.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarMapper' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/FederatedCalendarMapper.php',
'OCA\\DAV\\CalDAV\\Federation\\FederatedCalendarSyncService' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/FederatedCalendarSyncService.php',
'OCA\\DAV\\CalDAV\\Federation\\FederationSharingService' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/FederationSharingService.php',
'OCA\\DAV\\CalDAV\\Federation\\Protocol\\CalendarFederationProtocolV1' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/Protocol/CalendarFederationProtocolV1.php',
'OCA\\DAV\\CalDAV\\Federation\\Protocol\\CalendarProtocolParseException' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/Protocol/CalendarProtocolParseException.php',
'OCA\\DAV\\CalDAV\\Federation\\Protocol\\ICalendarFederationProtocol' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/Protocol/ICalendarFederationProtocol.php',
'OCA\\DAV\\CalDAV\\Federation\\RemoteUserCalendarHome' => __DIR__ . '/..' . '/../lib/CalDAV/Federation/RemoteUserCalendarHome.php',
'OCA\\DAV\\CalDAV\\FreeBusy\\FreeBusyGenerator' => __DIR__ . '/..' . '/../lib/CalDAV/FreeBusy/FreeBusyGenerator.php',
'OCA\\DAV\\CalDAV\\ICSExportPlugin\\ICSExportPlugin' => __DIR__ . '/..' . '/../lib/CalDAV/ICSExportPlugin/ICSExportPlugin.php',
'OCA\\DAV\\CalDAV\\IRestorable' => __DIR__ . '/..' . '/../lib/CalDAV/IRestorable.php',
'OCA\\DAV\\CalDAV\\Import\\ImportService' => __DIR__ . '/..' . '/../lib/CalDAV/Import/ImportService.php',
'OCA\\DAV\\CalDAV\\Import\\TextImporter' => __DIR__ . '/..' . '/../lib/CalDAV/Import/TextImporter.php',
'OCA\\DAV\\CalDAV\\Import\\XmlImporter' => __DIR__ . '/..' . '/../lib/CalDAV/Import/XmlImporter.php',
'OCA\\DAV\\CalDAV\\Integration\\ExternalCalendar' => __DIR__ . '/..' . '/../lib/CalDAV/Integration/ExternalCalendar.php',
'OCA\\DAV\\CalDAV\\Integration\\ICalendarProvider' => __DIR__ . '/..' . '/../lib/CalDAV/Integration/ICalendarProvider.php',
'OCA\\DAV\\CalDAV\\InvitationResponse\\InvitationResponseServer' => __DIR__ . '/..' . '/../lib/CalDAV/InvitationResponse/InvitationResponseServer.php',
@@ -127,6 +148,8 @@ class ComposerStaticInitDAV
'OCA\\DAV\\CalDAV\\Sharing\\Backend' => __DIR__ . '/..' . '/../lib/CalDAV/Sharing/Backend.php',
'OCA\\DAV\\CalDAV\\Sharing\\Service' => __DIR__ . '/..' . '/../lib/CalDAV/Sharing/Service.php',
'OCA\\DAV\\CalDAV\\Status\\StatusService' => __DIR__ . '/..' . '/../lib/CalDAV/Status/StatusService.php',
'OCA\\DAV\\CalDAV\\SyncService' => __DIR__ . '/..' . '/../lib/CalDAV/SyncService.php',
'OCA\\DAV\\CalDAV\\SyncServiceResult' => __DIR__ . '/..' . '/../lib/CalDAV/SyncServiceResult.php',
'OCA\\DAV\\CalDAV\\TimeZoneFactory' => __DIR__ . '/..' . '/../lib/CalDAV/TimeZoneFactory.php',
'OCA\\DAV\\CalDAV\\TimezoneService' => __DIR__ . '/..' . '/../lib/CalDAV/TimezoneService.php',
'OCA\\DAV\\CalDAV\\TipBroker' => __DIR__ . '/..' . '/../lib/CalDAV/TipBroker.php',
@@ -179,6 +202,8 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Command\\DeleteSubscription' => __DIR__ . '/..' . '/../lib/Command/DeleteSubscription.php',
'OCA\\DAV\\Command\\ExportCalendar' => __DIR__ . '/..' . '/../lib/Command/ExportCalendar.php',
'OCA\\DAV\\Command\\FixCalendarSyncCommand' => __DIR__ . '/..' . '/../lib/Command/FixCalendarSyncCommand.php',
'OCA\\DAV\\Command\\GetAbsenceCommand' => __DIR__ . '/..' . '/../lib/Command/GetAbsenceCommand.php',
'OCA\\DAV\\Command\\ImportCalendar' => __DIR__ . '/..' . '/../lib/Command/ImportCalendar.php',
'OCA\\DAV\\Command\\ListAddressbooks' => __DIR__ . '/..' . '/../lib/Command/ListAddressbooks.php',
'OCA\\DAV\\Command\\ListCalendarShares' => __DIR__ . '/..' . '/../lib/Command/ListCalendarShares.php',
'OCA\\DAV\\Command\\ListCalendars' => __DIR__ . '/..' . '/../lib/Command/ListCalendars.php',
@@ -187,6 +212,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Command\\RemoveInvalidShares' => __DIR__ . '/..' . '/../lib/Command/RemoveInvalidShares.php',
'OCA\\DAV\\Command\\RetentionCleanupCommand' => __DIR__ . '/..' . '/../lib/Command/RetentionCleanupCommand.php',
'OCA\\DAV\\Command\\SendEventReminders' => __DIR__ . '/..' . '/../lib/Command/SendEventReminders.php',
'OCA\\DAV\\Command\\SetAbsenceCommand' => __DIR__ . '/..' . '/../lib/Command/SetAbsenceCommand.php',
'OCA\\DAV\\Command\\SyncBirthdayCalendar' => __DIR__ . '/..' . '/../lib/Command/SyncBirthdayCalendar.php',
'OCA\\DAV\\Command\\SyncSystemAddressBook' => __DIR__ . '/..' . '/../lib/Command/SyncSystemAddressBook.php',
'OCA\\DAV\\Comments\\CommentNode' => __DIR__ . '/..' . '/../lib/Comments/CommentNode.php',
@@ -228,6 +254,8 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Connector\\Sabre\\Node' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Node.php',
'OCA\\DAV\\Connector\\Sabre\\ObjectTree' => __DIR__ . '/..' . '/../lib/Connector/Sabre/ObjectTree.php',
'OCA\\DAV\\Connector\\Sabre\\Principal' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Principal.php',
'OCA\\DAV\\Connector\\Sabre\\PropFindMonitorPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/PropFindMonitorPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\PropfindCompressionPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/PropfindCompressionPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\PublicAuth' => __DIR__ . '/..' . '/../lib/Connector/Sabre/PublicAuth.php',
'OCA\\DAV\\Connector\\Sabre\\QuotaPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/QuotaPlugin.php',
@@ -249,6 +277,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\DAV\\CustomPropertiesBackend' => __DIR__ . '/..' . '/../lib/DAV/CustomPropertiesBackend.php',
'OCA\\DAV\\DAV\\GroupPrincipalBackend' => __DIR__ . '/..' . '/../lib/DAV/GroupPrincipalBackend.php',
'OCA\\DAV\\DAV\\PublicAuth' => __DIR__ . '/..' . '/../lib/DAV/PublicAuth.php',
'OCA\\DAV\\DAV\\RemoteUserPrincipalBackend' => __DIR__ . '/..' . '/../lib/DAV/RemoteUserPrincipalBackend.php',
'OCA\\DAV\\DAV\\Sharing\\Backend' => __DIR__ . '/..' . '/../lib/DAV/Sharing/Backend.php',
'OCA\\DAV\\DAV\\Sharing\\IShareable' => __DIR__ . '/..' . '/../lib/DAV/Sharing/IShareable.php',
'OCA\\DAV\\DAV\\Sharing\\Plugin' => __DIR__ . '/..' . '/../lib/DAV/Sharing/Plugin.php',
@@ -310,6 +339,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Listener\\BirthdayListener' => __DIR__ . '/..' . '/../lib/Listener/BirthdayListener.php',
'OCA\\DAV\\Listener\\CalendarContactInteractionListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarContactInteractionListener.php',
'OCA\\DAV\\Listener\\CalendarDeletionDefaultUpdaterListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarDeletionDefaultUpdaterListener.php',
'OCA\\DAV\\Listener\\CalendarFederationNotificationListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarFederationNotificationListener.php',
'OCA\\DAV\\Listener\\CalendarObjectReminderUpdaterListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarObjectReminderUpdaterListener.php',
'OCA\\DAV\\Listener\\CalendarPublicationListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarPublicationListener.php',
'OCA\\DAV\\Listener\\CalendarShareUpdateListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarShareUpdateListener.php',
@@ -317,6 +347,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Listener\\ClearPhotoCacheListener' => __DIR__ . '/..' . '/../lib/Listener/ClearPhotoCacheListener.php',
'OCA\\DAV\\Listener\\DavAdminSettingsListener' => __DIR__ . '/..' . '/../lib/Listener/DavAdminSettingsListener.php',
'OCA\\DAV\\Listener\\OutOfOfficeListener' => __DIR__ . '/..' . '/../lib/Listener/OutOfOfficeListener.php',
'OCA\\DAV\\Listener\\SabrePluginAuthInitListener' => __DIR__ . '/..' . '/../lib/Listener/SabrePluginAuthInitListener.php',
'OCA\\DAV\\Listener\\SubscriptionListener' => __DIR__ . '/..' . '/../lib/Listener/SubscriptionListener.php',
'OCA\\DAV\\Listener\\TrustedServerRemovedListener' => __DIR__ . '/..' . '/../lib/Listener/TrustedServerRemovedListener.php',
'OCA\\DAV\\Listener\\UserEventsListener' => __DIR__ . '/..' . '/../lib/Listener/UserEventsListener.php',
@@ -365,6 +396,8 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Migration\\Version1029Date20231004091403' => __DIR__ . '/..' . '/../lib/Migration/Version1029Date20231004091403.php',
'OCA\\DAV\\Migration\\Version1030Date20240205103243' => __DIR__ . '/..' . '/../lib/Migration/Version1030Date20240205103243.php',
'OCA\\DAV\\Migration\\Version1031Date20240610134258' => __DIR__ . '/..' . '/../lib/Migration/Version1031Date20240610134258.php',
'OCA\\DAV\\Migration\\Version1034Date20250605132605' => __DIR__ . '/..' . '/../lib/Migration/Version1034Date20250605132605.php',
'OCA\\DAV\\Migration\\Version1034Date20250813093701' => __DIR__ . '/..' . '/../lib/Migration/Version1034Date20250813093701.php',
'OCA\\DAV\\Model\\ExampleEvent' => __DIR__ . '/..' . '/../lib/Model/ExampleEvent.php',
'OCA\\DAV\\Paginate\\LimitedCopyIterator' => __DIR__ . '/..' . '/../lib/Paginate/LimitedCopyIterator.php',
'OCA\\DAV\\Paginate\\PaginateCache' => __DIR__ . '/..' . '/../lib/Paginate/PaginateCache.php',
@@ -380,6 +413,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Search\\TasksSearchProvider' => __DIR__ . '/..' . '/../lib/Search/TasksSearchProvider.php',
'OCA\\DAV\\Server' => __DIR__ . '/..' . '/../lib/Server.php',
'OCA\\DAV\\ServerFactory' => __DIR__ . '/..' . '/../lib/ServerFactory.php',
'OCA\\DAV\\Service\\ASyncService' => __DIR__ . '/..' . '/../lib/Service/ASyncService.php',
'OCA\\DAV\\Service\\AbsenceService' => __DIR__ . '/..' . '/../lib/Service/AbsenceService.php',
'OCA\\DAV\\Service\\ExampleContactService' => __DIR__ . '/..' . '/../lib/Service/ExampleContactService.php',
'OCA\\DAV\\Service\\ExampleEventService' => __DIR__ . '/..' . '/../lib/Service/ExampleEventService.php',
+2 -2
View File
@@ -281,7 +281,6 @@ OC.L10N.register(
"Failed to load availability" : "فشل في تحميل أوقات التواجد",
"Saved availability" : "تمّ حفظ أوقات التواجد",
"Failed to save availability" : "تعذّر حفظ أوقات التواجد",
"Time zone:" : "منطقة زمنية:",
"to" : "إلى",
"Delete slot" : "حذف الخانة الزمنية",
"No working hours set" : "لم يتم تحديد ساعات العمل",
@@ -321,6 +320,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "يرجى الاتصال بالمنظم مباشرةً",
"Are you accepting the invitation?" : "هل تقبل الدعوة؟",
"Tentative" : "مبدئي",
"Your attendance was updated successfully." : "حضورك تم تحديثه بنجاحٍ"
"Your attendance was updated successfully." : "حضورك تم تحديثه بنجاحٍ",
"Time zone:" : "منطقة زمنية:"
},
"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
@@ -279,7 +279,6 @@
"Failed to load availability" : "فشل في تحميل أوقات التواجد",
"Saved availability" : "تمّ حفظ أوقات التواجد",
"Failed to save availability" : "تعذّر حفظ أوقات التواجد",
"Time zone:" : "منطقة زمنية:",
"to" : "إلى",
"Delete slot" : "حذف الخانة الزمنية",
"No working hours set" : "لم يتم تحديد ساعات العمل",
@@ -319,6 +318,7 @@
"Please contact the organizer directly." : "يرجى الاتصال بالمنظم مباشرةً",
"Are you accepting the invitation?" : "هل تقبل الدعوة؟",
"Tentative" : "مبدئي",
"Your attendance was updated successfully." : "حضورك تم تحديثه بنجاحٍ"
"Your attendance was updated successfully." : "حضورك تم تحديثه بنجاحٍ",
"Time zone:" : "منطقة زمنية:"
},"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
@@ -186,7 +186,6 @@ OC.L10N.register(
"Failed to load availability" : "Nun se pue cargar la disponibilidá",
"Saved availability" : "Disponibilidá guardada",
"Failed to save availability" : "Nun se pue guardar la disponibilidá",
"Time zone:" : "Fusu horariu:",
"to" : "pa",
"Delete slot" : "Desaniciar la ralura",
"No working hours set" : "Nun s'afitó nenguna hora llaboral",
@@ -219,6 +218,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Ponte en contautu direutamente cola organización.",
"Are you accepting the invitation?" : "¿Aceptes la invitación?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "La to asistencia anovóse correutamente."
"Your attendance was updated successfully." : "La to asistencia anovóse correutamente.",
"Time zone:" : "Fusu horariu:"
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -184,7 +184,6 @@
"Failed to load availability" : "Nun se pue cargar la disponibilidá",
"Saved availability" : "Disponibilidá guardada",
"Failed to save availability" : "Nun se pue guardar la disponibilidá",
"Time zone:" : "Fusu horariu:",
"to" : "pa",
"Delete slot" : "Desaniciar la ralura",
"No working hours set" : "Nun s'afitó nenguna hora llaboral",
@@ -217,6 +216,7 @@
"Please contact the organizer directly." : "Ponte en contautu direutamente cola organización.",
"Are you accepting the invitation?" : "¿Aceptes la invitación?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "La to asistencia anovóse correutamente."
"Your attendance was updated successfully." : "La to asistencia anovóse correutamente.",
"Time zone:" : "Fusu horariu:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -182,7 +182,6 @@ OC.L10N.register(
"Failed to load availability" : "Неуспешно зареждане на наличност",
"Saved availability" : "Запазена наличност",
"Failed to save availability" : "Неуспешно записване на наличност",
"Time zone:" : "Часова зона",
"to" : "до",
"Delete slot" : "Изтриване на слот",
"No working hours set" : "Няма зададено работно време",
@@ -211,6 +210,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Моля, свържете се директно с организатора.",
"Are you accepting the invitation?" : "Приемате ли поканата?",
"Tentative" : "Несигурно",
"Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно."
"Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно.",
"Time zone:" : "Часова зона"
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -180,7 +180,6 @@
"Failed to load availability" : "Неуспешно зареждане на наличност",
"Saved availability" : "Запазена наличност",
"Failed to save availability" : "Неуспешно записване на наличност",
"Time zone:" : "Часова зона",
"to" : "до",
"Delete slot" : "Изтриване на слот",
"No working hours set" : "Няма зададено работно време",
@@ -209,6 +208,7 @@
"Please contact the organizer directly." : "Моля, свържете се директно с организатора.",
"Are you accepting the invitation?" : "Приемате ли поканата?",
"Tentative" : "Несигурно",
"Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно."
"Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно.",
"Time zone:" : "Часова зона"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -281,7 +281,6 @@ OC.L10N.register(
"Failed to load availability" : "No s'ha pogut carregar la disponibilitat",
"Saved availability" : "S'ha desat la disponibilitat",
"Failed to save availability" : "No s'ha pogut desar la disponibilitat",
"Time zone:" : "Fus horari:",
"to" : "a",
"Delete slot" : "Suprimeix la franja",
"No working hours set" : "No s'ha definit cap horari laboral",
@@ -314,6 +313,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Contacteu amb l'organització directament.",
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "S'ha actualitzat correctament l'assistència."
"Your attendance was updated successfully." : "S'ha actualitzat correctament l'assistència.",
"Time zone:" : "Fus horari:"
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -279,7 +279,6 @@
"Failed to load availability" : "No s'ha pogut carregar la disponibilitat",
"Saved availability" : "S'ha desat la disponibilitat",
"Failed to save availability" : "No s'ha pogut desar la disponibilitat",
"Time zone:" : "Fus horari:",
"to" : "a",
"Delete slot" : "Suprimeix la franja",
"No working hours set" : "No s'ha definit cap horari laboral",
@@ -312,6 +311,7 @@
"Please contact the organizer directly." : "Contacteu amb l'organització directament.",
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "S'ha actualitzat correctament l'assistència."
"Your attendance was updated successfully." : "S'ha actualitzat correctament l'assistència.",
"Time zone:" : "Fus horari:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -282,7 +282,6 @@ OC.L10N.register(
"Failed to load availability" : "Nepodařilo se načíst dostupnost",
"Saved availability" : "Uložena dostupnost",
"Failed to save availability" : "Nepodařilo se uložit dostupnost",
"Time zone:" : "Časové pásmo:",
"to" : "do",
"Delete slot" : "Smazat slot",
"No working hours set" : "Nenastaveny pracovní hodiny",
@@ -332,6 +331,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Kontaktujte organizátora přímo.",
"Are you accepting the invitation?" : "Přijímáte pozvání?",
"Tentative" : "Nezávazně",
"Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována."
"Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována.",
"Time zone:" : "Časové pásmo:"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
+2 -2
View File
@@ -280,7 +280,6 @@
"Failed to load availability" : "Nepodařilo se načíst dostupnost",
"Saved availability" : "Uložena dostupnost",
"Failed to save availability" : "Nepodařilo se uložit dostupnost",
"Time zone:" : "Časové pásmo:",
"to" : "do",
"Delete slot" : "Smazat slot",
"No working hours set" : "Nenastaveny pracovní hodiny",
@@ -330,6 +329,7 @@
"Please contact the organizer directly." : "Kontaktujte organizátora přímo.",
"Are you accepting the invitation?" : "Přijímáte pozvání?",
"Tentative" : "Nezávazně",
"Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována."
"Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována.",
"Time zone:" : "Časové pásmo:"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
}
+31 -31
View File
@@ -73,19 +73,19 @@ OC.L10N.register(
"Where: %s" : "Hvor: %s",
"%1$s via %2$s" : "%1$s via %2$s",
"In the past on %1$s for the entire day" : "Tidligere den %1$s for hele dagen",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Om et minut på%1$s for hele dagen","Om %n minutter den %1$s for hele dagen"],
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Om et minut på %1$s for hele dagen","Om %n minutter den %1$s for hele dagen"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Om en time på %1$s for hele dagen","Om %n timer den %1$s for hele dagen"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["I en dag på% 1 $s for hele dagen","Om %n dage den %1$s for hele dagen"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["I en uge på% 1 $s for hele dagen","Om %n uger den %1$s for hele dagen"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["I en måned på% 1 $s for hele dagen","Om %n måneder den %1$s for hele dagen"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["I et år på% 1 $s for hele dagen","Om %n år den %1$s for hele dagen"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["I en dag på %1$s for hele dagen","Om %n dage den %1$s for hele dagen"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["I en uge på %1$s for hele dagen","Om %n uger den %1$s for hele dagen"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["I en måned på %1$s for hele dagen","Om %n måneder den %1$s for hele dagen"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["I et år på %1$s for hele dagen","Om %n år den %1$s for hele dagen"],
"In the past on %1$s between %2$s - %3$s" : "Tidligere den %1$s mellem %2$s - %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["I et minut på% 1 $s mellem% 2 $s -% 3 $s","Om %n minutter den %1$s mellem %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["I en time på% 1 $s mellem% 2 $s -% 3 $s","Om %n timer den %1$s mellem %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["I en dag på% 1 $s mellem% 2 $s -% 3 $s","Om %n dage den %1$s mellem %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["I en uge på% 1 $s mellem% 2 $s -% 3 $s","Om %n uger den %1$s mellem %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["I en måned på% 1 $s mellem% 2 $s -% 3 $s","Om %n måneder den %1$s mellem %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["I et år på% 1 $s mellem% 2 $s -% 3 $s","Om %n år den %1$s mellem %2$s - %3$s"],
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["I et minut på %1$s mellem %2$s - %3$s","Om %n minutter den %1$s mellem %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["I en time på %1$s mellem %2$s - %3$s","Om %n timer den %1$s mellem %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["I en dag på %1$s mellem %2$s - %3$s","Om %n dage den %1$s mellem %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["I en uge på %1$s mellem %2$s - %3$s","Om %n uger den %1$s mellem %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["I en måned på %1$s mellem %2$s - %3$s","Om %n måneder den %1$s mellem %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["I et år på %1$s mellem %2$s - %3$s","Om %n år den %1$s mellem %2$s - %3$s"],
"Could not generate when statement" : "Kunne ikke generere when sætning",
"Every Day for the entire day" : "Hver dag hele dagen",
"Every Day for the entire day until %1$s" : "Hver dag hele dagen indtil %1$s",
@@ -123,26 +123,26 @@ OC.L10N.register(
"On specific dates for the entire day until %1$s" : "På specifikke datoer for hele dagen indtil %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "På specifikke datoer mellem %1$s - %2$s indtil %3$s",
"In the past on %1$s" : "Tidligere den %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["I et minut på% 1 $s","Om %n minutter den %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["I en time på% 1 $s","Om %n timer den %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["I en dag på% 1 $s","Om %n dage den %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["I en uge på% 1 $s","Om %n uger den %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["I en måned på% 1 $s","Om %n måneder den %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["I et år på% 1 $s","Om %n år den %1$s"],
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["I et minut på %1$s","Om %n minutter den %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["I en time på %1$s","Om %n timer den %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["I en dag på %1$s","Om %n dage den %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["I en uge på %1$s","Om %n uger den %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["I en måned på %1$s","Om %n måneder den %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["I et år på %1$s","Om %n år den %1$s"],
"In the past on %1$s then on %2$s" : "Tidligere på %1$s derefter den %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["I et minut på% 1 $s så på% 2 $s","Om %n minutter den %1$s derefter den %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["I en time på% 1 $s så på% 2 $s","Om %n timer den %1$s derefter den %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["I en dag på% 1 $s så på% 2 $s","Om %n dage den %1$s derefter den %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["I en uge på% 1 $s så på% 2 $s","Om %n uger den %1$s derefter den %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["I en måned på% 1 $s så på% 2 $s","Om %n måneder den %1$s derefter den %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["I et år på% 1 $s så på% 2 $s","Om %n år den %1$s derefter den %2$s"],
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["I et minut på %1$s så på %2$s","Om %n minutter den %1$s derefter den %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["I en time på %1$s så på %2$s","Om %n timer den %1$s derefter den %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["I en dag på %1$s så på %2$s","Om %n dage den %1$s derefter den %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["I en uge på %1$s så på %2$s","Om %n uger den %1$s derefter den %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["I en måned på %1$s så på %2$s","Om %n måneder den %1$s derefter den %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["I et år på %1$s så på %2$s","Om %n år den %1$s derefter den %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "Tidligere den %1$s derefter den %2$s og %3$s",
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["I et minut på% 1 $s så på% 2 $s og% 3 $s","Om %n minutter den %1$s derefter den %2$s og %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["I en time på% 1 $s så på% 2 $s og% 3 $s","Om %n timer den %1$s derefter den %2$s og %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["I en dag på% 1 $s så på% 2 $s og% 3 $s","Om %n dage den %1$s derefter den %2$s og %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på% 1 $s så på% 2 $s og% 3 $s","Om %n uger den %1$s derefter den %2$s og %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på% 1 $s så på% 2 $s og% 3 $s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på% 1 $s så på% 2 $s og% 3 $s","Om %n år den %1$s derefter den %2$s og %3$s"],
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["I et minut på %1$s så på %2$s og %3$s","Om %n minutter den %1$s derefter den %2$s og %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["I en time på %1$s så på %2$s og %3$s","Om %n timer den %1$s derefter den %2$s og %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["I en dag på %1$s så på %2$s og %3$s","Om %n dage den %1$s derefter den %2$s og %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på %1$s så på %2$s og %3$s","Om %n uger den %1$s derefter den %2$s og %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på %1$s så på %2$s og %3$s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på %1$s så på %2$s og %3$s","Om %n år den %1$s derefter den %2$s og %3$s"],
"Could not generate next recurrence statement" : "Kunne ikke generere næste gentagelseserklæring",
"Cancelled: %1$s" : "Annullerede: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" er blevet annulleret",
@@ -281,7 +281,6 @@ OC.L10N.register(
"Failed to load availability" : "Kunne ikke indlæse tilgængelighed",
"Saved availability" : "Gemt tilgængelighed",
"Failed to save availability" : "Kunne ikke gemme tilgængelighed",
"Time zone:" : "Tidszone:",
"to" : "til",
"Delete slot" : "Slet slot",
"No working hours set" : "Arbejdstider er ikke sat",
@@ -321,6 +320,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Kontakt venligst arrangøren direkte.",
"Are you accepting the invitation?" : "Accepter du invitationen?",
"Tentative" : "Foreløbig",
"Your attendance was updated successfully." : "Dit tilstedeværelse blev opdateret."
"Your attendance was updated successfully." : "Dit tilstedeværelse blev opdateret.",
"Time zone:" : "Tidszone:"
},
"nplurals=2; plural=(n != 1);");
+31 -31
View File
@@ -71,19 +71,19 @@
"Where: %s" : "Hvor: %s",
"%1$s via %2$s" : "%1$s via %2$s",
"In the past on %1$s for the entire day" : "Tidligere den %1$s for hele dagen",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Om et minut på%1$s for hele dagen","Om %n minutter den %1$s for hele dagen"],
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Om et minut på %1$s for hele dagen","Om %n minutter den %1$s for hele dagen"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Om en time på %1$s for hele dagen","Om %n timer den %1$s for hele dagen"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["I en dag på% 1 $s for hele dagen","Om %n dage den %1$s for hele dagen"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["I en uge på% 1 $s for hele dagen","Om %n uger den %1$s for hele dagen"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["I en måned på% 1 $s for hele dagen","Om %n måneder den %1$s for hele dagen"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["I et år på% 1 $s for hele dagen","Om %n år den %1$s for hele dagen"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["I en dag på %1$s for hele dagen","Om %n dage den %1$s for hele dagen"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["I en uge på %1$s for hele dagen","Om %n uger den %1$s for hele dagen"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["I en måned på %1$s for hele dagen","Om %n måneder den %1$s for hele dagen"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["I et år på %1$s for hele dagen","Om %n år den %1$s for hele dagen"],
"In the past on %1$s between %2$s - %3$s" : "Tidligere den %1$s mellem %2$s - %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["I et minut på% 1 $s mellem% 2 $s -% 3 $s","Om %n minutter den %1$s mellem %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["I en time på% 1 $s mellem% 2 $s -% 3 $s","Om %n timer den %1$s mellem %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["I en dag på% 1 $s mellem% 2 $s -% 3 $s","Om %n dage den %1$s mellem %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["I en uge på% 1 $s mellem% 2 $s -% 3 $s","Om %n uger den %1$s mellem %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["I en måned på% 1 $s mellem% 2 $s -% 3 $s","Om %n måneder den %1$s mellem %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["I et år på% 1 $s mellem% 2 $s -% 3 $s","Om %n år den %1$s mellem %2$s - %3$s"],
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["I et minut på %1$s mellem %2$s - %3$s","Om %n minutter den %1$s mellem %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["I en time på %1$s mellem %2$s - %3$s","Om %n timer den %1$s mellem %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["I en dag på %1$s mellem %2$s - %3$s","Om %n dage den %1$s mellem %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["I en uge på %1$s mellem %2$s - %3$s","Om %n uger den %1$s mellem %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["I en måned på %1$s mellem %2$s - %3$s","Om %n måneder den %1$s mellem %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["I et år på %1$s mellem %2$s - %3$s","Om %n år den %1$s mellem %2$s - %3$s"],
"Could not generate when statement" : "Kunne ikke generere when sætning",
"Every Day for the entire day" : "Hver dag hele dagen",
"Every Day for the entire day until %1$s" : "Hver dag hele dagen indtil %1$s",
@@ -121,26 +121,26 @@
"On specific dates for the entire day until %1$s" : "På specifikke datoer for hele dagen indtil %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "På specifikke datoer mellem %1$s - %2$s indtil %3$s",
"In the past on %1$s" : "Tidligere den %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["I et minut på% 1 $s","Om %n minutter den %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["I en time på% 1 $s","Om %n timer den %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["I en dag på% 1 $s","Om %n dage den %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["I en uge på% 1 $s","Om %n uger den %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["I en måned på% 1 $s","Om %n måneder den %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["I et år på% 1 $s","Om %n år den %1$s"],
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["I et minut på %1$s","Om %n minutter den %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["I en time på %1$s","Om %n timer den %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["I en dag på %1$s","Om %n dage den %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["I en uge på %1$s","Om %n uger den %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["I en måned på %1$s","Om %n måneder den %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["I et år på %1$s","Om %n år den %1$s"],
"In the past on %1$s then on %2$s" : "Tidligere på %1$s derefter den %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["I et minut på% 1 $s så på% 2 $s","Om %n minutter den %1$s derefter den %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["I en time på% 1 $s så på% 2 $s","Om %n timer den %1$s derefter den %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["I en dag på% 1 $s så på% 2 $s","Om %n dage den %1$s derefter den %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["I en uge på% 1 $s så på% 2 $s","Om %n uger den %1$s derefter den %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["I en måned på% 1 $s så på% 2 $s","Om %n måneder den %1$s derefter den %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["I et år på% 1 $s så på% 2 $s","Om %n år den %1$s derefter den %2$s"],
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["I et minut på %1$s så på %2$s","Om %n minutter den %1$s derefter den %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["I en time på %1$s så på %2$s","Om %n timer den %1$s derefter den %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["I en dag på %1$s så på %2$s","Om %n dage den %1$s derefter den %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["I en uge på %1$s så på %2$s","Om %n uger den %1$s derefter den %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["I en måned på %1$s så på %2$s","Om %n måneder den %1$s derefter den %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["I et år på %1$s så på %2$s","Om %n år den %1$s derefter den %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "Tidligere den %1$s derefter den %2$s og %3$s",
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["I et minut på% 1 $s så på% 2 $s og% 3 $s","Om %n minutter den %1$s derefter den %2$s og %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["I en time på% 1 $s så på% 2 $s og% 3 $s","Om %n timer den %1$s derefter den %2$s og %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["I en dag på% 1 $s så på% 2 $s og% 3 $s","Om %n dage den %1$s derefter den %2$s og %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på% 1 $s så på% 2 $s og% 3 $s","Om %n uger den %1$s derefter den %2$s og %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på% 1 $s så på% 2 $s og% 3 $s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på% 1 $s så på% 2 $s og% 3 $s","Om %n år den %1$s derefter den %2$s og %3$s"],
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["I et minut på %1$s så på %2$s og %3$s","Om %n minutter den %1$s derefter den %2$s og %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["I en time på %1$s så på %2$s og %3$s","Om %n timer den %1$s derefter den %2$s og %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["I en dag på %1$s så på %2$s og %3$s","Om %n dage den %1$s derefter den %2$s og %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på %1$s så på %2$s og %3$s","Om %n uger den %1$s derefter den %2$s og %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på %1$s så på %2$s og %3$s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på %1$s så på %2$s og %3$s","Om %n år den %1$s derefter den %2$s og %3$s"],
"Could not generate next recurrence statement" : "Kunne ikke generere næste gentagelseserklæring",
"Cancelled: %1$s" : "Annullerede: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" er blevet annulleret",
@@ -279,7 +279,6 @@
"Failed to load availability" : "Kunne ikke indlæse tilgængelighed",
"Saved availability" : "Gemt tilgængelighed",
"Failed to save availability" : "Kunne ikke gemme tilgængelighed",
"Time zone:" : "Tidszone:",
"to" : "til",
"Delete slot" : "Slet slot",
"No working hours set" : "Arbejdstider er ikke sat",
@@ -319,6 +318,7 @@
"Please contact the organizer directly." : "Kontakt venligst arrangøren direkte.",
"Are you accepting the invitation?" : "Accepter du invitationen?",
"Tentative" : "Foreløbig",
"Your attendance was updated successfully." : "Dit tilstedeværelse blev opdateret."
"Your attendance was updated successfully." : "Dit tilstedeværelse blev opdateret.",
"Time zone:" : "Tidszone:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -283,7 +283,6 @@ OC.L10N.register(
"Failed to load availability" : "Verfügbarkeit konnte nicht geladen werden",
"Saved availability" : "Verfügbarkeit gespeichert",
"Failed to save availability" : "Verfügbarkeit konnte nicht gespeichert werden",
"Time zone:" : "Zeitzone:",
"to" : "bis",
"Delete slot" : "Slot löschen",
"No working hours set" : "Keine Arbeitszeiten konfiguriert",
@@ -333,6 +332,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert."
"Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert.",
"Time zone:" : "Zeitzone:"
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -281,7 +281,6 @@
"Failed to load availability" : "Verfügbarkeit konnte nicht geladen werden",
"Saved availability" : "Verfügbarkeit gespeichert",
"Failed to save availability" : "Verfügbarkeit konnte nicht gespeichert werden",
"Time zone:" : "Zeitzone:",
"to" : "bis",
"Delete slot" : "Slot löschen",
"No working hours set" : "Keine Arbeitszeiten konfiguriert",
@@ -331,6 +330,7 @@
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert."
"Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert.",
"Time zone:" : "Zeitzone:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -283,7 +283,6 @@ OC.L10N.register(
"Failed to load availability" : "Verfügbarkeit konnte nicht geladen werden",
"Saved availability" : "Verfügbarkeit gespeichert",
"Failed to save availability" : "Verfügbarkeit konnte nicht gespeichert werden",
"Time zone:" : "Zeitzone:",
"to" : "bis",
"Delete slot" : "Zeitfenster löschen",
"No working hours set" : "Keine Arbeitszeiten konfiguriert",
@@ -333,6 +332,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert."
"Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert.",
"Time zone:" : "Zeitzone:"
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -281,7 +281,6 @@
"Failed to load availability" : "Verfügbarkeit konnte nicht geladen werden",
"Saved availability" : "Verfügbarkeit gespeichert",
"Failed to save availability" : "Verfügbarkeit konnte nicht gespeichert werden",
"Time zone:" : "Zeitzone:",
"to" : "bis",
"Delete slot" : "Zeitfenster löschen",
"No working hours set" : "Keine Arbeitszeiten konfiguriert",
@@ -331,6 +330,7 @@
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert."
"Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert.",
"Time zone:" : "Zeitzone:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -283,7 +283,6 @@ OC.L10N.register(
"Failed to load availability" : "Failed to load availability",
"Saved availability" : "Saved availability",
"Failed to save availability" : "Failed to save availability",
"Time zone:" : "Time zone:",
"to" : "to",
"Delete slot" : "Delete slot",
"No working hours set" : "No working hours set",
@@ -333,6 +332,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Please contact the organiser directly.",
"Are you accepting the invitation?" : "Are you accepting the invitation?",
"Tentative" : "Tentative",
"Your attendance was updated successfully." : "Your attendance was updated successfully."
"Your attendance was updated successfully." : "Your attendance was updated successfully.",
"Time zone:" : "Time zone:"
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -281,7 +281,6 @@
"Failed to load availability" : "Failed to load availability",
"Saved availability" : "Saved availability",
"Failed to save availability" : "Failed to save availability",
"Time zone:" : "Time zone:",
"to" : "to",
"Delete slot" : "Delete slot",
"No working hours set" : "No working hours set",
@@ -331,6 +330,7 @@
"Please contact the organizer directly." : "Please contact the organiser directly.",
"Are you accepting the invitation?" : "Are you accepting the invitation?",
"Tentative" : "Tentative",
"Your attendance was updated successfully." : "Your attendance was updated successfully."
"Your attendance was updated successfully." : "Your attendance was updated successfully.",
"Time zone:" : "Time zone:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+93 -69
View File
@@ -10,8 +10,8 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "Usted eliminó el calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
"You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
"{actor} restored calendar {calendar}" : "{actor} ha restablecido el calendario {calendar}",
"You restored calendar {calendar}" : "Has restablecido el calendario {calendar}",
"{actor} restored calendar {calendar}" : "{actor} ha restaurado el calendario {calendar}",
"You restored calendar {calendar}" : "Ud. ha restaurado el calendario {calendar}",
"You shared calendar {calendar} as public link" : "Has compartido el calendario {calendar} con un enlace público",
"You removed public link for calendar {calendar}" : "Has eliminado el enlace público al calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} compartió el calendario {calendar} con usted",
@@ -33,22 +33,22 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Has movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restablecido el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Has reestablecido el evento {event} del calendario {calendar}",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Ud. ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restaurado el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Ud. ha restaurado el evento {event} del calendario {calendar}",
"Busy" : "Ocupado",
"{actor} created to-do {todo} in list {calendar}" : "{actor} ha creado la tarea {todo} en la lista {calendar}",
"You created to-do {todo} in list {calendar}" : "Has creado la tarea {todo} en la lista {calendar}",
"You created to-do {todo} in list {calendar}" : "Ud. ha creado la tarea {todo} en la lista {calendar}",
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha eliminado la tarea{todo} de la lista {calendar}",
"You deleted to-do {todo} from list {calendar}" : "Has eliminado la tarea {todo} de la lista {calendar}",
"You deleted to-do {todo} from list {calendar}" : "Ud. ha eliminado la tarea {todo} de la lista {calendar}",
"{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualizado la tarea {todo} en la lista {calendar}",
"You updated to-do {todo} in list {calendar}" : "Has actualizado la tarea {todo} en la lista {calendar}",
"You updated to-do {todo} in list {calendar}" : "Ud. ha actualizado la tarea {todo} en la lista {calendar}",
"{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resuelto la tarea {todo} de la lista {calendar}",
"You solved to-do {todo} in list {calendar}" : "Has resuelto la tarea {todo} de la lista {calendar}",
"You solved to-do {todo} in list {calendar}" : "Ud. ha resuelto la tarea {todo} de la lista {calendar}",
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} ha reabierto la tarea {todo} en la lista {calendar}",
"You reopened to-do {todo} in list {calendar}" : "Has reabierto la tarea {todo} en la lista {calendar}",
"You reopened to-do {todo} in list {calendar}" : "Ud. ha reabierto la tarea {todo} en la lista {calendar}",
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha movido la tarea {todo} de la lista {sourceCalendar} a la lista{targetCalendar}",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Has movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Ud. ha movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendario, contactos y tareas",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado.",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
@@ -72,7 +72,7 @@ OC.L10N.register(
"Description: %s" : "Descripción: %s",
"Where: %s" : "Lugar: %s",
"%1$s via %2$s" : "%1$s vía %2$s",
"In the past on %1$s for the entire day" : "En el pasado el %1$sdurante todo el día",
"In the past on %1$s for the entire day" : "En el pasado el %1$s durante todo el día",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["En un minuto el %1$s durante todo el día","En %n minutos el %1$s durante todo el día","En %n minutos el %1$s durante todo el día"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["En una hora el %1$s durante todo el día","En %n horas el %1$s durante todo el día","En %n horas el %1$s durante todo el día"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["En un día el %1$s durante todo el día","En %n días el %1$s durante todo el día","En %n días el %1$s durante todo el día"],
@@ -86,42 +86,42 @@ OC.L10N.register(
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["En una semana el %1$s entre %2$s - %3$s","En %n semanas el %1$s entre %2$s - %3$s","En %n semanas el %1$s entre %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["En un mes el %1$s entre %2$s - %3$s","En %n meses el l%1$s entre %2$s - %3$s ","En %n meses el %1$s entre %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["En un año el %1$s entre %2$s - %3$s","En %n años el %1$s entre %2$s - %3$s","En %n años el %1$s entre %2$s - %3$s"],
"Could not generate when statement" : "No se ha podido general la declaración de cuándo",
"Every Day for the entire day" : "Todos los días durante todo el día",
"Every Day for the entire day until %1$s" : "Cada day todo el día hasta el %1$s",
"Could not generate when statement" : "No se pudo generar la declaración de cuándo",
"Every Day for the entire day" : "Todos los días, durante todo el día",
"Every Day for the entire day until %1$s" : "Cada día, todo el día hasta el %1$s",
"Every Day between %1$s - %2$s" : "Todos los días entre %1$s - %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Todos los días entre %1$s - %2$s hasta %3$s",
"Every %1$d Days for the entire day" : "Cada %1$d días todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días todo el día hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días todo el día hasta el %2$s",
"Every %1$d Days for the entire day" : "Cada %1$d días, durante todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días, durante todo el día, hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días, entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días, entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia del evento",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s, durante todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días, durante todo el día, hasta el %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Cada semana el %1$s entre %2$s y %3$s",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Cada semana el %1$s entre %2$s y %3$s hasta el %4$s",
"Every %1$d Weeks on %2$s for the entire day" : "Cada %1$d semanas el %2$s todo el día",
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Cada %1$d semanas el %2$s durante todo el día hasta %3$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Cada %1$d semanas el %2$s entre %3$s - %4$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Cada %1$d semanas el %2$s entre %3$s - %4$s hasta %5$s",
"Every Month on the %1$s for the entire day" : "Cada mes el día %1$s durante todo el día",
"Every Month on the %1$s for the entire day" : "Cada mes el día %1$s, durante todo el día",
"Every Month on the %1$s for the entire day until %2$s" : "Cada mes el día %1$s durante todo el día hasta %2$s",
"Every Month on the %1$s between %2$s - %3$s" : "Cada mes el día %1$s entre %2$s - %3$s",
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "Cada mes el día %1$s entre %2$s - %3$s hasta %4$s",
"Every %1$d Months on the %2$s for the entire day" : "Cada %1$d meses el día %2$s durante todo el día",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Cada %1$d meses el día %2$s durante todo el día hasta %3$s",
"Every %1$d Months on the %2$s for the entire day" : "Cada %1$d meses el día %2$s, durante todo el día",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Cada %1$d meses el día %2$s, durante todo el día hasta %3$s",
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Cada %1$d meses el día %2$s entre %3$s - %4$s",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Cada %1$d meses el día %2$s entre %3$s - %4$s hasta %5$s",
"Every Year in %1$s on the %2$s for the entire day" : "Cada año en %1$s el día %2$s durante todo el día",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Cada año en %1$s el día %2$s durante todo el día hasta %3$s",
"Every Year in %1$s on the %2$s for the entire day" : "Cada año en %1$s el día %2$s, durante todo el día",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Cada año en %1$s el día %2$s, durante todo el día, hasta %3$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Cada año en %1$s el día %2$s entre %3$s - %4$s.",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Cada año en %1$s el día %2$s entre %3$s - %4$s hasta %5$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Cada %1$d años en %2$s el día %3$s durante todo el día",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Cada %1$d años en %2$s el día %3$s durante todo el día hasta %4$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Cada %1$d años en %2$s el día %3$s, durante todo el día",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Cada %1$d años en %2$s el día %3$s, durante todo el día, hasta %4$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Cada %1$d años en %2$s el día %3$s entre %4$s - %5$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Cada %1$d años en %2$s el día %3$s entre %4$s - %5$s hasta %6$s",
"On specific dates for the entire day until %1$s" : "En fechas concretas durante todo el día hasta %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "En fechas concretas entre %1$s - %2$s hasta %3$s",
"On specific dates for the entire day until %1$s" : "En fechas específicas, durante todo el día, hasta %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "En fechas específicas entre %1$s - %2$s hasta %3$s",
"In the past on %1$s" : "En el pasado el %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["En un minuto el %1$s","En %n minutos el %1$s","En %n minutos el %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["En una hora el %1$s","En %n horas el %1$s","En %n horas el %1$s"],
@@ -143,7 +143,7 @@ OC.L10N.register(
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["En una semana el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["En un mes el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["En un año el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s"],
"Could not generate next recurrence statement" : "No se ha podido generar la descripción de la siguiente repetición",
"Could not generate next recurrence statement" : "No se ha podido generar la declaración de la siguiente recurrencia",
"Cancelled: %1$s" : "Cancelado: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" ha sido cancelada",
"Re: %1$s" : "Re: %1$s",
@@ -185,49 +185,51 @@ OC.L10N.register(
"October" : "Octubre",
"November" : "Noviembre",
"December" : "Diciembre",
"First" : "Primera",
"First" : "Primero",
"Second" : "Segundo",
"Third" : "Tercero",
"Fourth" : "Cuarto",
"Last" : "Última",
"Fifth" : "Quinto",
"Last" : "Último",
"Second Last" : "Penúltima",
"Third Last" : "Antepenúltima",
"Fourth Last" : "Cuarta última",
"Fourth Last" : "Ante antepenúltimo",
"Fifth Last" : "Quinto último",
"Contacts" : "Contactos",
"{actor} created address book {addressbook}" : "{actor} ha creado la libreta de direcciones {addressbook}",
"You created address book {addressbook}" : "Has creado la libreta de direcciones {addressbook}",
"You created address book {addressbook}" : "Ud. ha creado la libreta de direcciones {addressbook}",
"{actor} deleted address book {addressbook}" : "{actor} ha eliminado la libreta de direcciones {addressbook}",
"You deleted address book {addressbook}" : "Has eliminado la libreta de direcciones {addressbook}",
"You deleted address book {addressbook}" : "Ud. ha eliminado la libreta de direcciones {addressbook}",
"{actor} updated address book {addressbook}" : "{actor} ha actualizado la libreta de direcciones {addressbook}",
"You updated address book {addressbook}" : "Has actualizado la libreta de direcciones {addressbook}",
"You updated address book {addressbook}" : "Ud. ha actualizado la libreta de direcciones {addressbook}",
"{actor} shared address book {addressbook} with you" : "{actor} ha compartido la libreta de direcciones {addressbook} contigo",
"You shared address book {addressbook} with {user}" : "Has compartido la libreta de direcciones {addressbook} con {user}",
"You shared address book {addressbook} with {user}" : "Ud. ha compartido la libreta de direcciones {addressbook} con {user}",
"{actor} shared address book {addressbook} with {user}" : "{actor} ha compartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from you" : "{actor} ha descompartido la libreta de direcciones {addressbook} contigo",
"You unshared address book {addressbook} from {user}" : "Has descompartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} ha descompartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} ha descompartido la libreta de direcciones {addressbook} con ellos mismos",
"You shared address book {addressbook} with group {group}" : "Has compartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from you" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con Ud.",
"You unshared address book {addressbook} from {user}" : "Ud. ha dejado de compartir la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} dejó de compartir su propia libreta de direcciones {addressbook}",
"You shared address book {addressbook} with group {group}" : "Ud. ha compartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} shared address book {addressbook} with group {group}" : "{actor} ha compartido la libreta de direcciones {addressbook} con el grupo {group}",
"You unshared address book {addressbook} from group {group}" : "Has descompartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from group {group}" : "{actor} ha descompartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} created contact {card} in address book {addressbook}" : "{actor} ha creado el contacto {card} en la libreta de direcciones {addressbook}",
"You created contact {card} in address book {addressbook}" : "Has creado un contacto {card} en la libreta de direcciones {addressbook}",
"You unshared address book {addressbook} from group {group}" : "Ud. ha dejado de compartir la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from group {group}" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} created contact {card} in address book {addressbook}" : "{actor} ha creado el contacto {card} en la libreta de direcciones {addressbook}",
"You created contact {card} in address book {addressbook}" : "Ud. ha creado un contacto {card} en la libreta de direcciones {addressbook}",
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} ha eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"You deleted contact {card} from address book {addressbook}" : "Has eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"You deleted contact {card} from address book {addressbook}" : "Ud. ha eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"{actor} updated contact {card} in address book {addressbook}" : "{actor} ha actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"You updated contact {card} in address book {addressbook}" : "Has actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Se ha modificado un <strong>contacto</strong> o una <strong>libreta de direcciones</strong> ",
"You updated contact {card} in address book {addressbook}" : "Ud. ha actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Se ha modificado un <strong>contacto</strong> o una <strong>libreta de direcciones</strong>",
"Accounts" : "Cuentas",
"System address book which holds all accounts" : "Libretas de direcciones del sistema que contienen todas las cuentas",
"System address book which holds all accounts" : "Libreta de direcciones del sistema que contiene todas las cuentas",
"File is not updatable: %1$s" : "El archivo no se puede actualizar: %1$s",
"Failed to get storage for file" : "Error al obtener almacenamiento para el archivo",
"Could not write to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema.",
"Failed to get storage for file" : "Error al obtener datos de almacenamiento para el archivo",
"Could not write to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema",
"Could not write file contents" : "No se han podido escribir los contenidos del archivo",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error al copiar el archivo al destino (copiado: %1$s, tamaño esperado: %2$s)",
"Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Se esperaba un tamaño de archivo de %1$s pero se leyó (desde el cliente Nextcloud) y se escribió (en el almacenamiento Nextcloud) %2$s. Podría ser un problema de red en el lado del envío o un problema de escritura en el almacenamiento en el lado del servidor.",
"Could not rename part file to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema.",
"Could not rename part file to final file, canceled by hook" : "No se pudo renombrar del archivo parcial como el archivo final, cancelado por el sistema.",
"Could not rename part file to final file" : "No se ha podido renombrar el archivo parcial como el archivo final",
"Failed to check file size: %1$s" : "Fallo al comprobar el tamaño del archivo: %1$s",
"Could not open file: %1$s, file does seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo existe",
@@ -248,51 +250,70 @@ OC.L10N.register(
"Completed on %s" : "Completado el %s",
"Due on %s by %s" : "Finaliza el %s por %s",
"Due on %s" : "Finaliza el %s",
"Welcome to Nextcloud Calendar!\n\nThis is a sample event - explore the flexibility of planning with Nextcloud Calendar by making any edits you want!\n\nWith Nextcloud Calendar, you can:\n- Create, edit, and manage events effortlessly.\n- Create multiple calendars and share them with teammates, friends, or family.\n- Check availability and display your busy times to others.\n- Seamlessly integrate with apps and devices via CalDAV.\n- Customize your experience: schedule recurring events, adjust notifications and other settings." : "¡Bienvenido a Nextcloud Calendar!\n\nEste es un evento de ejemplo - ¡explore la flexibilidad de planear con Nextcloud Calendar editando cuantas veces quiera!\n\nCon Nextcloud Calendar, podrá:\n- Crear, editar, y administrar eventos fácilmente.\n- Crear múltiples calendarios y compartirlos con su equipo de trabajo, amigos, o su familia.\n- Verificar la disponibilidad y mostrar sus tiempos de ocupado a otros.\n- Se integra de manera transparente con otras apps y dispositivos via CalDAV.\n- Personalice su experiencia: Programe eventos recurrentes, ajuste las notificaciones, así como otros ajustes.",
"Example event - open me!" : "Evento de ejemplo - ¡ábralo!",
"System Address Book" : "Libreta de Direcciones del Sistema",
"The system address book contains contact information for all users in your instance." : "La libreta de direcciones del sistema contiene la información de contacto de todos los usuarios de su instancia.",
"Enable System Address Book" : "Habilitar la Libreta de Direcciones del Sistema",
"DAV system address book" : "Libreta de direcciónes DAV del sistema",
"No outstanding DAV system address book sync." : "No hay una sincronización pendiente en la libreta de direcciones DAV del sistema.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "La sincronización DAV de la libreta de direcciones del sistema no se ha ejecutado ya que su instancia tiene más de 1000 usuarios o por que ha ocurrido un error. Por favor, ejecútela manualmente llamando al comando: \"occ dav:sync-system-addressbook\".",
"WebDAV endpoint" : "Endpoint WebDAV",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "No se pudo verificar si su servidor web está adecuadamente configurado para permitir la sincronización de archivos a través de WebDAV. Por favor, verifique manualmente.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Su servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Su servidor web está adecuadamente configurado para permitir la sincronización de archivos a través de WebDAV.",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Migrated calendar (%1$s)" : "Se migró el calendario (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Ausencia guardada",
"Failed to save your absence settings" : "Error al guardar tus ajustes de ausencia",
"Failed to save your absence settings" : "Error al guardar sus ajustes de ausencia",
"Absence cleared" : "Ausencia limpiada",
"Failed to clear your absence settings" : "Error al borrar tus ajustes de ausencia",
"Failed to clear your absence settings" : "Error al borrar sus ajustes de ausencia",
"First day" : "Primer día",
"Last day (inclusive)" : "Último día (incluido)",
"Out of office replacement (optional)" : "Sustituto durante vacaciones/ausencia (opcional)",
"Name of the replacement" : "Nombre del sustituto",
"No results." : "Sin resultados.",
"Start typing." : "Empieza a escribir.",
"Start typing." : "Empiece a escribir.",
"Short absence status" : "Estado de ausencia corta",
"Long absence Message" : "Mensaje en ausencia larga",
"Long absence Message" : "Mensaje de ausencia larga",
"Save" : "Guardar",
"Disable absence" : "Deshabilitar ausencia",
"Failed to load availability" : "No se ha podido cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
"Failed to save availability" : "No se ha podido guardar la disponibilidad",
"Time zone:" : "Zona horaria:",
"to" : "para",
"Delete slot" : "Eliminar espacio",
"No working hours set" : "No se han establecido horas de funcionamiento",
"Add slot" : "Añadir espacio",
"Delete slot" : "Eliminar franja de tiempo",
"No working hours set" : "No se han establecido horas laborales",
"Add slot" : "Añadir franja horaria",
"Weekdays" : "Días de semana",
"Pick a start time for {dayName}" : "Elija una hora de inicio para {dayName}",
"Pick a end time for {dayName}" : "Elija una hora fin para {dayName}",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" cuando no esté disponible para silenciar todas las notificaciones.",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" fuera de las horas de disponibilidad para silenciar todas las notificaciones.",
"Cancel" : "Cancelar",
"Import" : "Importar",
"Error while saving settings" : "Error al guardar los ajustes",
"Reset to default" : "Reestablecer a predeterminado",
"Contact reset successfully" : "El contacto fue restablecido exitosamente",
"Error while resetting contact" : "Error al restablecer el contacto",
"Contact imported successfully" : "El contacto se importó exitosamente",
"Error while importing contact" : "Error al importar el contacto",
"Import contact" : "Importar contacto",
"Reset to default" : "Restablecer a predeterminado",
"Import contacts" : "Importar contactos",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importar un nuevo archivo .vcf eliminará el contacto predeterminado existente y lo reemplazará con el nuevo. ¿Desea continuar?",
"Failed to save example event creation setting" : "Fallo al guardar el ajuste de creación de evento de ejemplo",
"Failed to upload the example event" : "Fallo al cargar el evento de ejemplo",
"Custom example event was saved successfully" : "El evento de ejemplo personalizado se guardó exitosamente",
"Failed to delete the custom example event" : "Fallo al guardar el evento de ejemplo personalizado",
"Custom example event was deleted successfully" : "El evento de ejemplo personalizado se eliminó exitosamente",
"Import calendar event" : "Importar evento del calendario",
"Uploading a new event will overwrite the existing one." : "Cargar un evento nuevo sobrescribirá el existente. ",
"Upload event" : "Cargar evento",
"Availability" : "Disponibilidad",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configura sus horas laborales, otras personas verán cuando está fuera de la oficina cuando agenden una reunión.",
"Absence" : "Ausencia",
"Configure your next absence period." : "Configura el siguiente periodo en que estarás ausente",
"Configure your next absence period." : "Configure el siguiente periodo en que estará ausente",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instale también la {calendarappstoreopen}app de Calendario{linkclose} o {calendardocopen}conecte su escritorio y móvil para sincronizar ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Por favor, asegúrese de configurar correctamente {emailopen}el servidor web{linkclose}",
"Calendar server" : "Servidor de calendario",
@@ -305,10 +326,13 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Enviar recordatorio también a los usuarios con los que se comparte el calendario",
"Reminders are always sent to organizers and attendees." : "Los recordatorios siempre se envían a los organizadores y asistentes.",
"Enable notifications for events via push" : "Activar notificaciones push para eventos",
"Example content" : "Contenido de ejemplo",
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "El contenido de ejemplo sirve para mostrar las características de Nextcloud. Se proporciona un contenido predeterminado con Nextcloud, y puede ser reemplazado por un contenido personalizado.",
"There was an error updating your attendance status." : "Ha habido un error al actualizar tu estado de asistencia.",
"Please contact the organizer directly." : "Por favor, contacta directamente con el organizador.",
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito."
"Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito.",
"Time zone:" : "Zona horaria:"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+93 -69
View File
@@ -8,8 +8,8 @@
"You deleted calendar {calendar}" : "Usted eliminó el calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
"You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
"{actor} restored calendar {calendar}" : "{actor} ha restablecido el calendario {calendar}",
"You restored calendar {calendar}" : "Has restablecido el calendario {calendar}",
"{actor} restored calendar {calendar}" : "{actor} ha restaurado el calendario {calendar}",
"You restored calendar {calendar}" : "Ud. ha restaurado el calendario {calendar}",
"You shared calendar {calendar} as public link" : "Has compartido el calendario {calendar} con un enlace público",
"You removed public link for calendar {calendar}" : "Has eliminado el enlace público al calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} compartió el calendario {calendar} con usted",
@@ -31,22 +31,22 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Has movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restablecido el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Has reestablecido el evento {event} del calendario {calendar}",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Ud. ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restaurado el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Ud. ha restaurado el evento {event} del calendario {calendar}",
"Busy" : "Ocupado",
"{actor} created to-do {todo} in list {calendar}" : "{actor} ha creado la tarea {todo} en la lista {calendar}",
"You created to-do {todo} in list {calendar}" : "Has creado la tarea {todo} en la lista {calendar}",
"You created to-do {todo} in list {calendar}" : "Ud. ha creado la tarea {todo} en la lista {calendar}",
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha eliminado la tarea{todo} de la lista {calendar}",
"You deleted to-do {todo} from list {calendar}" : "Has eliminado la tarea {todo} de la lista {calendar}",
"You deleted to-do {todo} from list {calendar}" : "Ud. ha eliminado la tarea {todo} de la lista {calendar}",
"{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualizado la tarea {todo} en la lista {calendar}",
"You updated to-do {todo} in list {calendar}" : "Has actualizado la tarea {todo} en la lista {calendar}",
"You updated to-do {todo} in list {calendar}" : "Ud. ha actualizado la tarea {todo} en la lista {calendar}",
"{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resuelto la tarea {todo} de la lista {calendar}",
"You solved to-do {todo} in list {calendar}" : "Has resuelto la tarea {todo} de la lista {calendar}",
"You solved to-do {todo} in list {calendar}" : "Ud. ha resuelto la tarea {todo} de la lista {calendar}",
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} ha reabierto la tarea {todo} en la lista {calendar}",
"You reopened to-do {todo} in list {calendar}" : "Has reabierto la tarea {todo} en la lista {calendar}",
"You reopened to-do {todo} in list {calendar}" : "Ud. ha reabierto la tarea {todo} en la lista {calendar}",
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha movido la tarea {todo} de la lista {sourceCalendar} a la lista{targetCalendar}",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Has movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Ud. ha movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendario, contactos y tareas",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado.",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
@@ -70,7 +70,7 @@
"Description: %s" : "Descripción: %s",
"Where: %s" : "Lugar: %s",
"%1$s via %2$s" : "%1$s vía %2$s",
"In the past on %1$s for the entire day" : "En el pasado el %1$sdurante todo el día",
"In the past on %1$s for the entire day" : "En el pasado el %1$s durante todo el día",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["En un minuto el %1$s durante todo el día","En %n minutos el %1$s durante todo el día","En %n minutos el %1$s durante todo el día"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["En una hora el %1$s durante todo el día","En %n horas el %1$s durante todo el día","En %n horas el %1$s durante todo el día"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["En un día el %1$s durante todo el día","En %n días el %1$s durante todo el día","En %n días el %1$s durante todo el día"],
@@ -84,42 +84,42 @@
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["En una semana el %1$s entre %2$s - %3$s","En %n semanas el %1$s entre %2$s - %3$s","En %n semanas el %1$s entre %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["En un mes el %1$s entre %2$s - %3$s","En %n meses el l%1$s entre %2$s - %3$s ","En %n meses el %1$s entre %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["En un año el %1$s entre %2$s - %3$s","En %n años el %1$s entre %2$s - %3$s","En %n años el %1$s entre %2$s - %3$s"],
"Could not generate when statement" : "No se ha podido general la declaración de cuándo",
"Every Day for the entire day" : "Todos los días durante todo el día",
"Every Day for the entire day until %1$s" : "Cada day todo el día hasta el %1$s",
"Could not generate when statement" : "No se pudo generar la declaración de cuándo",
"Every Day for the entire day" : "Todos los días, durante todo el día",
"Every Day for the entire day until %1$s" : "Cada día, todo el día hasta el %1$s",
"Every Day between %1$s - %2$s" : "Todos los días entre %1$s - %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Todos los días entre %1$s - %2$s hasta %3$s",
"Every %1$d Days for the entire day" : "Cada %1$d días todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días todo el día hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días todo el día hasta el %2$s",
"Every %1$d Days for the entire day" : "Cada %1$d días, durante todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días, durante todo el día, hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días, entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días, entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia del evento",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s, durante todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días, durante todo el día, hasta el %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Cada semana el %1$s entre %2$s y %3$s",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Cada semana el %1$s entre %2$s y %3$s hasta el %4$s",
"Every %1$d Weeks on %2$s for the entire day" : "Cada %1$d semanas el %2$s todo el día",
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Cada %1$d semanas el %2$s durante todo el día hasta %3$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Cada %1$d semanas el %2$s entre %3$s - %4$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Cada %1$d semanas el %2$s entre %3$s - %4$s hasta %5$s",
"Every Month on the %1$s for the entire day" : "Cada mes el día %1$s durante todo el día",
"Every Month on the %1$s for the entire day" : "Cada mes el día %1$s, durante todo el día",
"Every Month on the %1$s for the entire day until %2$s" : "Cada mes el día %1$s durante todo el día hasta %2$s",
"Every Month on the %1$s between %2$s - %3$s" : "Cada mes el día %1$s entre %2$s - %3$s",
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "Cada mes el día %1$s entre %2$s - %3$s hasta %4$s",
"Every %1$d Months on the %2$s for the entire day" : "Cada %1$d meses el día %2$s durante todo el día",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Cada %1$d meses el día %2$s durante todo el día hasta %3$s",
"Every %1$d Months on the %2$s for the entire day" : "Cada %1$d meses el día %2$s, durante todo el día",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Cada %1$d meses el día %2$s, durante todo el día hasta %3$s",
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Cada %1$d meses el día %2$s entre %3$s - %4$s",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Cada %1$d meses el día %2$s entre %3$s - %4$s hasta %5$s",
"Every Year in %1$s on the %2$s for the entire day" : "Cada año en %1$s el día %2$s durante todo el día",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Cada año en %1$s el día %2$s durante todo el día hasta %3$s",
"Every Year in %1$s on the %2$s for the entire day" : "Cada año en %1$s el día %2$s, durante todo el día",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Cada año en %1$s el día %2$s, durante todo el día, hasta %3$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Cada año en %1$s el día %2$s entre %3$s - %4$s.",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Cada año en %1$s el día %2$s entre %3$s - %4$s hasta %5$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Cada %1$d años en %2$s el día %3$s durante todo el día",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Cada %1$d años en %2$s el día %3$s durante todo el día hasta %4$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Cada %1$d años en %2$s el día %3$s, durante todo el día",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Cada %1$d años en %2$s el día %3$s, durante todo el día, hasta %4$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Cada %1$d años en %2$s el día %3$s entre %4$s - %5$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Cada %1$d años en %2$s el día %3$s entre %4$s - %5$s hasta %6$s",
"On specific dates for the entire day until %1$s" : "En fechas concretas durante todo el día hasta %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "En fechas concretas entre %1$s - %2$s hasta %3$s",
"On specific dates for the entire day until %1$s" : "En fechas específicas, durante todo el día, hasta %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "En fechas específicas entre %1$s - %2$s hasta %3$s",
"In the past on %1$s" : "En el pasado el %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["En un minuto el %1$s","En %n minutos el %1$s","En %n minutos el %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["En una hora el %1$s","En %n horas el %1$s","En %n horas el %1$s"],
@@ -141,7 +141,7 @@
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["En una semana el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["En un mes el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["En un año el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s"],
"Could not generate next recurrence statement" : "No se ha podido generar la descripción de la siguiente repetición",
"Could not generate next recurrence statement" : "No se ha podido generar la declaración de la siguiente recurrencia",
"Cancelled: %1$s" : "Cancelado: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" ha sido cancelada",
"Re: %1$s" : "Re: %1$s",
@@ -183,49 +183,51 @@
"October" : "Octubre",
"November" : "Noviembre",
"December" : "Diciembre",
"First" : "Primera",
"First" : "Primero",
"Second" : "Segundo",
"Third" : "Tercero",
"Fourth" : "Cuarto",
"Last" : "Última",
"Fifth" : "Quinto",
"Last" : "Último",
"Second Last" : "Penúltima",
"Third Last" : "Antepenúltima",
"Fourth Last" : "Cuarta última",
"Fourth Last" : "Ante antepenúltimo",
"Fifth Last" : "Quinto último",
"Contacts" : "Contactos",
"{actor} created address book {addressbook}" : "{actor} ha creado la libreta de direcciones {addressbook}",
"You created address book {addressbook}" : "Has creado la libreta de direcciones {addressbook}",
"You created address book {addressbook}" : "Ud. ha creado la libreta de direcciones {addressbook}",
"{actor} deleted address book {addressbook}" : "{actor} ha eliminado la libreta de direcciones {addressbook}",
"You deleted address book {addressbook}" : "Has eliminado la libreta de direcciones {addressbook}",
"You deleted address book {addressbook}" : "Ud. ha eliminado la libreta de direcciones {addressbook}",
"{actor} updated address book {addressbook}" : "{actor} ha actualizado la libreta de direcciones {addressbook}",
"You updated address book {addressbook}" : "Has actualizado la libreta de direcciones {addressbook}",
"You updated address book {addressbook}" : "Ud. ha actualizado la libreta de direcciones {addressbook}",
"{actor} shared address book {addressbook} with you" : "{actor} ha compartido la libreta de direcciones {addressbook} contigo",
"You shared address book {addressbook} with {user}" : "Has compartido la libreta de direcciones {addressbook} con {user}",
"You shared address book {addressbook} with {user}" : "Ud. ha compartido la libreta de direcciones {addressbook} con {user}",
"{actor} shared address book {addressbook} with {user}" : "{actor} ha compartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from you" : "{actor} ha descompartido la libreta de direcciones {addressbook} contigo",
"You unshared address book {addressbook} from {user}" : "Has descompartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} ha descompartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} ha descompartido la libreta de direcciones {addressbook} con ellos mismos",
"You shared address book {addressbook} with group {group}" : "Has compartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from you" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con Ud.",
"You unshared address book {addressbook} from {user}" : "Ud. ha dejado de compartir la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} dejó de compartir su propia libreta de direcciones {addressbook}",
"You shared address book {addressbook} with group {group}" : "Ud. ha compartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} shared address book {addressbook} with group {group}" : "{actor} ha compartido la libreta de direcciones {addressbook} con el grupo {group}",
"You unshared address book {addressbook} from group {group}" : "Has descompartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from group {group}" : "{actor} ha descompartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} created contact {card} in address book {addressbook}" : "{actor} ha creado el contacto {card} en la libreta de direcciones {addressbook}",
"You created contact {card} in address book {addressbook}" : "Has creado un contacto {card} en la libreta de direcciones {addressbook}",
"You unshared address book {addressbook} from group {group}" : "Ud. ha dejado de compartir la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from group {group}" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} created contact {card} in address book {addressbook}" : "{actor} ha creado el contacto {card} en la libreta de direcciones {addressbook}",
"You created contact {card} in address book {addressbook}" : "Ud. ha creado un contacto {card} en la libreta de direcciones {addressbook}",
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} ha eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"You deleted contact {card} from address book {addressbook}" : "Has eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"You deleted contact {card} from address book {addressbook}" : "Ud. ha eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"{actor} updated contact {card} in address book {addressbook}" : "{actor} ha actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"You updated contact {card} in address book {addressbook}" : "Has actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Se ha modificado un <strong>contacto</strong> o una <strong>libreta de direcciones</strong> ",
"You updated contact {card} in address book {addressbook}" : "Ud. ha actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Se ha modificado un <strong>contacto</strong> o una <strong>libreta de direcciones</strong>",
"Accounts" : "Cuentas",
"System address book which holds all accounts" : "Libretas de direcciones del sistema que contienen todas las cuentas",
"System address book which holds all accounts" : "Libreta de direcciones del sistema que contiene todas las cuentas",
"File is not updatable: %1$s" : "El archivo no se puede actualizar: %1$s",
"Failed to get storage for file" : "Error al obtener almacenamiento para el archivo",
"Could not write to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema.",
"Failed to get storage for file" : "Error al obtener datos de almacenamiento para el archivo",
"Could not write to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema",
"Could not write file contents" : "No se han podido escribir los contenidos del archivo",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error al copiar el archivo al destino (copiado: %1$s, tamaño esperado: %2$s)",
"Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Se esperaba un tamaño de archivo de %1$s pero se leyó (desde el cliente Nextcloud) y se escribió (en el almacenamiento Nextcloud) %2$s. Podría ser un problema de red en el lado del envío o un problema de escritura en el almacenamiento en el lado del servidor.",
"Could not rename part file to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema.",
"Could not rename part file to final file, canceled by hook" : "No se pudo renombrar del archivo parcial como el archivo final, cancelado por el sistema.",
"Could not rename part file to final file" : "No se ha podido renombrar el archivo parcial como el archivo final",
"Failed to check file size: %1$s" : "Fallo al comprobar el tamaño del archivo: %1$s",
"Could not open file: %1$s, file does seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo existe",
@@ -246,51 +248,70 @@
"Completed on %s" : "Completado el %s",
"Due on %s by %s" : "Finaliza el %s por %s",
"Due on %s" : "Finaliza el %s",
"Welcome to Nextcloud Calendar!\n\nThis is a sample event - explore the flexibility of planning with Nextcloud Calendar by making any edits you want!\n\nWith Nextcloud Calendar, you can:\n- Create, edit, and manage events effortlessly.\n- Create multiple calendars and share them with teammates, friends, or family.\n- Check availability and display your busy times to others.\n- Seamlessly integrate with apps and devices via CalDAV.\n- Customize your experience: schedule recurring events, adjust notifications and other settings." : "¡Bienvenido a Nextcloud Calendar!\n\nEste es un evento de ejemplo - ¡explore la flexibilidad de planear con Nextcloud Calendar editando cuantas veces quiera!\n\nCon Nextcloud Calendar, podrá:\n- Crear, editar, y administrar eventos fácilmente.\n- Crear múltiples calendarios y compartirlos con su equipo de trabajo, amigos, o su familia.\n- Verificar la disponibilidad y mostrar sus tiempos de ocupado a otros.\n- Se integra de manera transparente con otras apps y dispositivos via CalDAV.\n- Personalice su experiencia: Programe eventos recurrentes, ajuste las notificaciones, así como otros ajustes.",
"Example event - open me!" : "Evento de ejemplo - ¡ábralo!",
"System Address Book" : "Libreta de Direcciones del Sistema",
"The system address book contains contact information for all users in your instance." : "La libreta de direcciones del sistema contiene la información de contacto de todos los usuarios de su instancia.",
"Enable System Address Book" : "Habilitar la Libreta de Direcciones del Sistema",
"DAV system address book" : "Libreta de direcciónes DAV del sistema",
"No outstanding DAV system address book sync." : "No hay una sincronización pendiente en la libreta de direcciones DAV del sistema.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "La sincronización DAV de la libreta de direcciones del sistema no se ha ejecutado ya que su instancia tiene más de 1000 usuarios o por que ha ocurrido un error. Por favor, ejecútela manualmente llamando al comando: \"occ dav:sync-system-addressbook\".",
"WebDAV endpoint" : "Endpoint WebDAV",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "No se pudo verificar si su servidor web está adecuadamente configurado para permitir la sincronización de archivos a través de WebDAV. Por favor, verifique manualmente.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Su servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Su servidor web está adecuadamente configurado para permitir la sincronización de archivos a través de WebDAV.",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Migrated calendar (%1$s)" : "Se migró el calendario (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Ausencia guardada",
"Failed to save your absence settings" : "Error al guardar tus ajustes de ausencia",
"Failed to save your absence settings" : "Error al guardar sus ajustes de ausencia",
"Absence cleared" : "Ausencia limpiada",
"Failed to clear your absence settings" : "Error al borrar tus ajustes de ausencia",
"Failed to clear your absence settings" : "Error al borrar sus ajustes de ausencia",
"First day" : "Primer día",
"Last day (inclusive)" : "Último día (incluido)",
"Out of office replacement (optional)" : "Sustituto durante vacaciones/ausencia (opcional)",
"Name of the replacement" : "Nombre del sustituto",
"No results." : "Sin resultados.",
"Start typing." : "Empieza a escribir.",
"Start typing." : "Empiece a escribir.",
"Short absence status" : "Estado de ausencia corta",
"Long absence Message" : "Mensaje en ausencia larga",
"Long absence Message" : "Mensaje de ausencia larga",
"Save" : "Guardar",
"Disable absence" : "Deshabilitar ausencia",
"Failed to load availability" : "No se ha podido cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
"Failed to save availability" : "No se ha podido guardar la disponibilidad",
"Time zone:" : "Zona horaria:",
"to" : "para",
"Delete slot" : "Eliminar espacio",
"No working hours set" : "No se han establecido horas de funcionamiento",
"Add slot" : "Añadir espacio",
"Delete slot" : "Eliminar franja de tiempo",
"No working hours set" : "No se han establecido horas laborales",
"Add slot" : "Añadir franja horaria",
"Weekdays" : "Días de semana",
"Pick a start time for {dayName}" : "Elija una hora de inicio para {dayName}",
"Pick a end time for {dayName}" : "Elija una hora fin para {dayName}",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" cuando no esté disponible para silenciar todas las notificaciones.",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" fuera de las horas de disponibilidad para silenciar todas las notificaciones.",
"Cancel" : "Cancelar",
"Import" : "Importar",
"Error while saving settings" : "Error al guardar los ajustes",
"Reset to default" : "Reestablecer a predeterminado",
"Contact reset successfully" : "El contacto fue restablecido exitosamente",
"Error while resetting contact" : "Error al restablecer el contacto",
"Contact imported successfully" : "El contacto se importó exitosamente",
"Error while importing contact" : "Error al importar el contacto",
"Import contact" : "Importar contacto",
"Reset to default" : "Restablecer a predeterminado",
"Import contacts" : "Importar contactos",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importar un nuevo archivo .vcf eliminará el contacto predeterminado existente y lo reemplazará con el nuevo. ¿Desea continuar?",
"Failed to save example event creation setting" : "Fallo al guardar el ajuste de creación de evento de ejemplo",
"Failed to upload the example event" : "Fallo al cargar el evento de ejemplo",
"Custom example event was saved successfully" : "El evento de ejemplo personalizado se guardó exitosamente",
"Failed to delete the custom example event" : "Fallo al guardar el evento de ejemplo personalizado",
"Custom example event was deleted successfully" : "El evento de ejemplo personalizado se eliminó exitosamente",
"Import calendar event" : "Importar evento del calendario",
"Uploading a new event will overwrite the existing one." : "Cargar un evento nuevo sobrescribirá el existente. ",
"Upload event" : "Cargar evento",
"Availability" : "Disponibilidad",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configura sus horas laborales, otras personas verán cuando está fuera de la oficina cuando agenden una reunión.",
"Absence" : "Ausencia",
"Configure your next absence period." : "Configura el siguiente periodo en que estarás ausente",
"Configure your next absence period." : "Configure el siguiente periodo en que estará ausente",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instale también la {calendarappstoreopen}app de Calendario{linkclose} o {calendardocopen}conecte su escritorio y móvil para sincronizar ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Por favor, asegúrese de configurar correctamente {emailopen}el servidor web{linkclose}",
"Calendar server" : "Servidor de calendario",
@@ -303,10 +324,13 @@
"Send reminder notifications to calendar sharees as well" : "Enviar recordatorio también a los usuarios con los que se comparte el calendario",
"Reminders are always sent to organizers and attendees." : "Los recordatorios siempre se envían a los organizadores y asistentes.",
"Enable notifications for events via push" : "Activar notificaciones push para eventos",
"Example content" : "Contenido de ejemplo",
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "El contenido de ejemplo sirve para mostrar las características de Nextcloud. Se proporciona un contenido predeterminado con Nextcloud, y puede ser reemplazado por un contenido personalizado.",
"There was an error updating your attendance status." : "Ha habido un error al actualizar tu estado de asistencia.",
"Please contact the organizer directly." : "Por favor, contacta directamente con el organizador.",
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito."
"Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito.",
"Time zone:" : "Zona horaria:"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -2
View File
@@ -176,7 +176,6 @@ OC.L10N.register(
"Failed to load availability" : "Error al cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
"Failed to save availability" : "Error al guardar la disponibilidad",
"Time zone:" : "Zona horaria:",
"to" : "para",
"Delete slot" : "Eliminar ranura",
"No working hours set" : "No se han establecido horas de trabajo",
@@ -203,6 +202,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Por favor, contacta directamente al organizador.",
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
"Tentative" : "Tentativo",
"Your attendance was updated successfully." : "Tu asistencia se actualizó correctamente."
"Your attendance was updated successfully." : "Tu asistencia se actualizó correctamente.",
"Time zone:" : "Zona horaria:"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -2
View File
@@ -174,7 +174,6 @@
"Failed to load availability" : "Error al cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
"Failed to save availability" : "Error al guardar la disponibilidad",
"Time zone:" : "Zona horaria:",
"to" : "para",
"Delete slot" : "Eliminar ranura",
"No working hours set" : "No se han establecido horas de trabajo",
@@ -201,6 +200,7 @@
"Please contact the organizer directly." : "Por favor, contacta directamente al organizador.",
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
"Tentative" : "Tentativo",
"Your attendance was updated successfully." : "Tu asistencia se actualizó correctamente."
"Your attendance was updated successfully." : "Tu asistencia se actualizó correctamente.",
"Time zone:" : "Zona horaria:"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -2
View File
@@ -211,7 +211,6 @@ OC.L10N.register(
"Failed to load availability" : "No se pudo cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
"Failed to save availability" : "No se pudo guardar la disponibilidad",
"Time zone:" : "Zona horaria:",
"to" : "para",
"Delete slot" : "Eliminar ranura",
"No working hours set" : "No se han establecido las horas de trabajo",
@@ -244,6 +243,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Por favor, contacte al organizador directamente.",
"Are you accepting the invitation?" : "¿Acepta la invitación?",
"Tentative" : "Tentativo",
"Your attendance was updated successfully." : "Su asistencia se actualizó correctamente."
"Your attendance was updated successfully." : "Su asistencia se actualizó correctamente.",
"Time zone:" : "Zona horaria:"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -2
View File
@@ -209,7 +209,6 @@
"Failed to load availability" : "No se pudo cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
"Failed to save availability" : "No se pudo guardar la disponibilidad",
"Time zone:" : "Zona horaria:",
"to" : "para",
"Delete slot" : "Eliminar ranura",
"No working hours set" : "No se han establecido las horas de trabajo",
@@ -242,6 +241,7 @@
"Please contact the organizer directly." : "Por favor, contacte al organizador directamente.",
"Are you accepting the invitation?" : "¿Acepta la invitación?",
"Tentative" : "Tentativo",
"Your attendance was updated successfully." : "Su asistencia se actualizó correctamente."
"Your attendance was updated successfully." : "Su asistencia se actualizó correctamente.",
"Time zone:" : "Zona horaria:"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

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