Compare commits

...

313 Commits

Author SHA1 Message Date
Ferdinand Thiessen 691aedd13e fix(db): set session timezone to UTC
Some (well all except sqlite) database platforms support timezone
configuration. The problem is that we expect everything in UTC,
but some servers might have set some different default (e.g. in database
configuration or even just because of `TZ` environment variable).

This causes incorrect values when expecting `NOW()` to return the
current time in UTC.

For PHP we already enforce UTC as timezone, this PR adds a middleware
that enforces UTC also as the database connection / session timezone.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-01 13:47:03 +02:00
Joas Schilling 530b635cea Merge pull request #58986 from nextcloud/Jerome-Herbinet-activity_use_cached_mountpoints_flag_retroactivity_notice
activity_use_cached_mountpoints flag retroactivity notice
2026-04-01 08:03:38 +02:00
Nextcloud bot 84112d8fc7 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-01 00:19:19 +00:00
Ferdinand Thiessen f6379da3a1 Merge pull request #59294 from nextcloud/dragDropDirCreate
fix(filesDrop): drag-and-drop folder upload
2026-04-01 01:30:48 +02:00
github-actions[bot] 560ea9abe7 Merge pull request #59363 from nextcloud/dependabot/github_actions/github-actions-38c73435d9
chore(deps): Bump the github-actions group with 7 updates
2026-03-31 23:22:03 +00:00
Ferdinand Thiessen 047a758a31 Merge pull request #58786 from nextcloud/fix/templates_enabled
fix(files): only disable template creation when both skeleton directories are empty
2026-04-01 00:40:25 +02:00
nextcloud-command d5cc1ad2ca chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-31 22:21:32 +00:00
dependabot[bot] 36e4de2552 chore(deps): Bump the github-actions group with 7 updates
Bumps the github-actions group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [dorny/paths-filter](https://github.com/dorny/paths-filter) | `3.0.2` | `4.0.1` |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.36.0` | `2.37.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.32.4` | `4.35.1` |
| [actions/setup-node](https://github.com/actions/setup-node) | `6.2.0` | `6.3.0` |
| [cypress-io/github-action](https://github.com/cypress-io/github-action) | `7.1.5` | `7.1.9` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.5.2` | `6.0.0` |
| [LizardByte/actions](https://github.com/lizardbyte/actions) | `2026.227.200013` | `2026.328.161128` |


Updates `dorny/paths-filter` from 3.0.2 to 4.0.1
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dorny/paths-filter/compare/de90cc6fb38fc0963ad72b210f1f284cd68cea36...fbd0ab8f3e69293af611ebaee6363fc25e6d187d)

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

Updates `github/codeql-action` from 4.32.4 to 4.35.1
- [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/89a39a4e59826350b863aa6b6252a07ad50cf83e...c10b8064de6f491fea524254123dbe5e09572f13)

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

Updates `cypress-io/github-action` from 7.1.5 to 7.1.9
- [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/bc22e01685c56e89e7813fd8e26f33dc47f87e15...783cb3f07983868532cabaedaa1e6c00ff4786a8)

Updates `codecov/codecov-action` from 5.5.2 to 6.0.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/671740ac38dd9b0130fbe1cec585b89eea48d3de...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)

Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)

---
updated-dependencies:
- dependency-name: dorny/paths-filter
  dependency-version: 4.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: shivammathur/setup-php
  dependency-version: 2.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.35.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2026.328.161128
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 22:18:07 +00:00
Git'Fellow 5a9fa36bb1 fix(filesDrop): drag-and-drop folder upload directories
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-04-01 00:13:53 +02:00
Ferdinand Thiessen 9e9cccd9ec Merge pull request #58903 from nextcloud/chore/noid/update-workflows
chore(workflows): remove cypress cloud
2026-03-31 23:36:53 +02:00
Ferdinand Thiessen 533125defc Merge pull request #59342 from nextcloud/ci/cypress-contributors
ci(cypress): allow running on forks by removing Cypress cloud
2026-03-31 15:59:21 +02:00
Ferdinand Thiessen 6ba57a70a9 Merge pull request #59311 from nextcloud/jtr/feat-reminders-utc-headers
feat(files_reminders): add explicit UTC indicators to `list` command headers
2026-03-31 15:43:47 +02:00
Ferdinand Thiessen 266dfbce24 Merge pull request #58970 from nextcloud/fix/sftp-mtime
fix: manually set modified time to SFTP files after editing
2026-03-31 13:39:47 +02:00
Joas Schilling 820e0915e9 Merge pull request #59299 from AlessioDiPretoroAsdea/fix/suggestion-ticket-59266
dav: Fix fatal error when ORGANIZER is missing in CalDAV schedule
2026-03-31 13:30:14 +02:00
Stephan Orbaugh 22c75f5b25 Merge pull request #59317 from psimaker/fix/weather-status-missing-codes
fix(weather_status): add all missing met.no symbol codes to weatherOptions
2026-03-31 12:59:45 +02:00
Ferdinand Thiessen 0cd74df34e chore: update psalm baseline
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-31 12:36:06 +02:00
Hendrik Leidinger 6e88edb0a6 fix: make psalm and rector happy
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
2026-03-31 12:35:09 +02:00
Hendrik Leidinger 33e35afad2 fix: modified touch function of the SFTP storage to update mtimes instead
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
2026-03-31 12:35:08 +02:00
Hendrik Leidinger 6d26c71b48 fix: manually set modified time to SFTP files after editing
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
2026-03-31 12:35:08 +02:00
psimaker 19b0c911aa chore(weather_status): compile frontend assets
Signed-off-by: psimaker <psimaker@users.noreply.github.com>
2026-03-31 12:23:55 +02:00
psimaker af8cb33a40 fix(weather_status): add all missing met.no symbol codes to weatherOptions
Signed-off-by: psimaker <psimaker@users.noreply.github.com>
2026-03-31 12:12:33 +02:00
Ferdinand Thiessen d6e6525861 ci(cypress): allow running on forks by removing Cypress cloud
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-31 12:01:11 +02:00
Joas Schilling 5acf3878f3 Merge pull request #59318 from nextcloud/jtr/ci-perf-lint-php-cs-changes-bypass
ci: stop running `lint` in `lint-php-cs` unconditionally even if no changes
2026-03-31 11:56:26 +02:00
Joas Schilling 810d8b4c98 Merge pull request #59319 from nextcloud/jtr/ci-perf-static-code-analysis-changes-check
ci: add path filtering to static-code-analysis workflow
2026-03-31 11:55:19 +02:00
Nextcloud bot 32a264842f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-31 00:19:16 +00:00
AlessioDiPretoroAsdea 85b851a7df fix(dav): Avoid fatal error for events without an organizer
Signed-off-by: AlessioDiPretoroAsdea <alessio.dipretoro@asdeahw.net>
2026-03-30 14:22:56 -04:00
Josh 330ae40ecf ci: add path filtering to static-code-analysis workflow
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-30 12:56:55 -04:00
Josh b400f1b93b ci: stop running lint in lint-php-cs unconditionally even if no changes
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-30 12:31:49 -04:00
Robin Appelman 78513504ca Merge pull request #59202 from nextcloud/encp-cache-key-validation
fix: cache validation of system keys
2026-03-30 17:52:31 +02:00
Josh d89da91a56 feat(files_reminders): add explicit UTC indicators to list command headers
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-30 10:42:35 -04:00
Côme Chilliet 7040916f96 Merge pull request #59222 from nextcloud/artonge/fix/systemtag_user_context
feat(systemtag): Add $user context to create and update tag
2026-03-30 16:33:52 +02:00
Salvatore Martire 9756097e28 Merge pull request #59252 from nextcloud/fix/move-with-unjailed-source-path
fix: use unjailed source path when moving jailed files
2026-03-30 15:42:49 +02:00
Oleksandr Piskun 5ce08e9704 Merge pull request #58376 from nextcloud/feat/taskprocessing/keda-autoscaler
feat(taskprocessing): Add queue_stats API endpoint for external autoscalers
2026-03-30 16:27:54 +03:00
Oleksander Piskun f573285040 feat(taskprocessing): Add queue_stats API endpoint for external autoscalers
Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
2026-03-30 12:03:19 +00:00
Joas Schilling b119cace4f Merge pull request #59303 from nextcloud/bugfix/noid/dont-redirect-on-error
fix(sharing): Don't redirect when accepting a share failed
2026-03-30 13:12:48 +02:00
Joas Schilling 2c560b0837 fix(sharing): Don't redirect when accepting a share failed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-30 12:07:42 +02:00
Côme Chilliet 4e0217ef13 chore(tests): Fix bogus parameter passed by tests to createTag
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-30 11:38:15 +02:00
Côme Chilliet 17d60a4af0 Merge pull request #59204 from nextcloud/jtr/feat-external-s3-auth-fields
feat(files_external/s3): make some auth labels clearer
2026-03-30 11:24:23 +02:00
Côme Chilliet 3a5c445c78 Merge pull request #59261 from nextcloud/feat/config/sensitive-values/sentry-csp-report-url
feat(config): add Sentry CSP Report URL to sensitive values
2026-03-30 10:15:02 +02:00
Git'Fellow 04ee3aff1a Merge pull request #59270 from nextcloud/ensureValueOneParallel
fix(chunkedUploads): Ensure max parallel count is at least 1
2026-03-30 10:11:27 +02:00
Louis Chmn 3aa2e130cd feat(systemtag): Add $user context to create and update tag
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-03-30 09:54:54 +02:00
Nextcloud bot b71661a38b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-30 00:29:17 +00:00
Git'Fellow 5b86c7a402 docs: Add a note to documentation
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-03-29 15:02:43 +02:00
Nextcloud bot e2dc439c71 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-29 00:33:57 +00:00
Josh c86e2d1e67 test: add coverage for ChunkedUploadConfig
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-27 23:44:45 -04:00
Nextcloud bot f5faddaf31 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-28 00:30:27 +00:00
Git'Fellow 99a26b0a97 fix(chunkedUploads): Ensure max parallel count is at least 1
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-03-27 18:57:19 +01:00
Andy Scherzinger aaf2ded381 Merge pull request #59240 from nextcloud/hskpng/code-owners
docs: update CODEOWNERS with new assignments
2026-03-27 18:48:53 +01:00
Joda Stößer c8dbc73017 fix(config): correct indentation for Sentry CSP Report URL
Signed-off-by: Joda Stößer <git@simjo.st>
2026-03-27 16:11:28 +01:00
Joda Stößer a71584ee96 feat(config): add Sentry CSP Report URL to sensitive values
Signed-off-by: Joda Stößer <git@simjo.st>
2026-03-27 16:01:41 +01:00
Salvatore Martire bf24b24841 fix: use unjailed source path when moving jailed files
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-03-27 14:30:46 +01:00
Nextcloud bot f8cc0adefb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-27 00:29:10 +00:00
Robin Appelman d1fd735698 Merge pull request #57374 from nextcloud/rename-dav-permissions
fix: allow renaming files with just update permissions
2026-03-26 22:12:28 +01:00
Robin Appelman 1e2f273c09 test: adjust tests to caching of key validation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 21:13:18 +01:00
Robin Appelman 9b504039f4 fix: cache validation of system keys
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 21:12:05 +01:00
Arthur Schiwon 0ff7ad3535 docs: update CODEOWNERS with new assignments
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-26 21:06:50 +01:00
nextcloud-command 8f7b0b4264 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-26 18:18:56 +01:00
Robin Appelman c08592de28 fix: properly expose rename permissions over dav
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 18:18:55 +01:00
Robin Appelman 005b2b04e8 fix: update rename permissions check in files ui
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 17:10:03 +01:00
Robin Appelman 63a4778744 fix: allow renaming files with just update permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 17:10:01 +01:00
Côme Chilliet ca245b4cc6 Merge pull request #58896 from nextcloud/fix/fix-tags-user-event
fix: Fix user in Tags class, do not depend upon session
2026-03-26 17:06:27 +01:00
Louis 309d12abe1 Merge pull request #58990 from mosi-kha/fix/group-displayname-event-oldvalue
fix(group): pass previous display name in GroupChangedEvent
2026-03-26 16:07:50 +01:00
Kate 7e9e1269a0 Merge pull request #59218 from nextcloud/feat/audit-log-ai-config-changes 2026-03-26 12:22:37 +01:00
Marcel Klehr 861f9bdb31 fix(settings): Check all values first, then apply them
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-26 11:32:42 +01:00
Marcel Klehr a375265111 fix(settings): Throw JSON errors and return 400 status if JSON encode fails
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-26 11:03:31 +01:00
Marcel Klehr 7fe3d1c6a0 feat(settings): Log AI config changes to audit log
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-26 10:50:01 +01:00
Kate 0cf140e903 Merge pull request #58761 from nextcloud/feat/1700/limit-recent-files 2026-03-26 09:05:14 +01:00
github-actions[bot] 3d27f8d288 Merge pull request #59207 from nextcloud/dependabot/npm_and_yarn/multi-bf05dc1ecf
chore(deps): Bump picomatch
2026-03-26 02:18:48 +00:00
Nextcloud bot 52dac4be2b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-26 00:19:23 +00:00
dependabot[bot] 252e24b83d chore(deps): Bump picomatch
Bumps  and [picomatch](https://github.com/micromatch/picomatch). These dependencies needed to be updated together.

Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 22:31:46 +00:00
Josh b7bdd76731 feat(files_external/s3): rename legacy signature (v2) for clarity
Avoid the use of "authentication" here since this is really about signing compatibility, not the source of credentials. Also prefix with "Use" for UI consistency.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-25 16:21:35 -04:00
Josh 00100427be feat(files_external/s3): Adjust auth meth/parameter field names
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-25 16:10:35 -04:00
Ferdinand Thiessen 2ae66ff888 Merge pull request #59043 from nextcloud/jtr/chore-trashbin-drop-abortOperation-usage
chore(trashbin): deprecate abortOperation on BeforeNodeRestoredEvent / switch to AbortedEventException
2026-03-25 18:14:59 +01:00
Cristian Scheid 6594d54476 feat(recent-search): pass recent_limit config value to getRecentSearch function
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-25 13:53:26 -03:00
Joas Schilling 9b125a7605 Merge pull request #59179 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2026-03-25 07:35:57 +01:00
nextcloud-command eb06a5628f fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2026-03-25 03:12:18 +00:00
Nextcloud bot 2a5e57d2f4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-25 00:19:21 +00:00
Cristian Scheid 9b605de474 refactor(recent-files): move recent limit to app-scoped config
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 20:44:22 -03:00
Cristian Scheid 48ce8c3fa1 refactor(recent-files): remove user config from frontend files
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:38:53 -03:00
Cristian Scheid 3925176b49 refactor(files-settings): remove recent file settings section
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid 981978d960 feat(recent-files): handle invalid config when only min or max are set for recent files limit
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid 282e6b707a feat(file-info): encapsulate logic to get last activity in getLastActivity function
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid 5bcac61c73 refactor(recent-search): use order by fields to determine extended cache join and cast config limit to number
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid 8225ab726f feat(recent-files): add nc:last_activity property to allow sorting by max between upload_time and mtime
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid 62f3ea390e feat(recent-files): add recent_files_limit config on files settings
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
John Molakvoæ d677a3a5e2 Merge pull request #59089 from nextcloud/fix/expand-theming-capabilities 2026-03-24 17:45:07 +01:00
skjnldsv 04d9f79985 chore: openapi conf update
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2026-03-24 15:24:18 +01:00
John Molakvoæ 8fa69c1c29 fix(theming): deprecation message
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2026-03-24 15:24:18 +01:00
skjnldsv f2c73ebffd fix(theming): deprecate OCA.Theming and move to capabilities
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2026-03-24 15:24:18 +01:00
Côme Chilliet 5a7d38b22c Merge pull request #59159 from nextcloud/fix/remove-static-vars-batch
Remove static vars, first batch
2026-03-24 14:20:10 +01:00
Nextcloud bot e4c2a1d218 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-24 00:19:16 +00:00
Côme Chilliet e367c5a928 chore: update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:31 +01:00
Côme Chilliet 5c935429ef fix: Remove a static var usage in encryption application
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:31 +01:00
Côme Chilliet c88a1d3961 fix: Remove static vars usage in user_ldap
There are still some left, harder to remove.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:31 +01:00
Côme Chilliet 9b84a0ec19 fix: Remove unused static var and method in files application
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:30 +01:00
Côme Chilliet b256928385 fix: Remove use of static vars in dav application
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:30 +01:00
Daniel 8032ad83b3 Merge pull request #59147 from nextcloud/fix/use-fqdn-for-dns-pinning
fix(DnsPinning): Ensure to always lookup based on FQDN
2026-03-23 16:36:38 +01:00
Côme Chilliet 6b49aa792b chore: Remove types from const properties for PHP 8.2 compatibility
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:36:01 +01:00
Côme Chilliet cd2d09de64 fix: Remove static vars from core classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:34:54 +01:00
Côme Chilliet 2c068f3683 fix: Remove static vars from applications
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:34:20 +01:00
Côme Chilliet 1398c598cf fix: Remove static vars from user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:34:01 +01:00
Côme Chilliet 614afec231 fix: Remove static var in AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:33:29 +01:00
Côme Chilliet 3fcb3a962d fix: Remove useless static property in OCP\Util
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:33:15 +01:00
Côme Chilliet 5961eba6a1 fix: Remove static var in NaturalSort
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:19:59 +01:00
Arthur Schiwon 6f7961f5ce Merge pull request #59142 from nextcloud/fix/caldav_search_for_uri
fix(ICalendar): allow to search for event URI
2026-03-23 14:56:57 +01:00
Côme Chilliet 69db28c7ec Merge pull request #59079 from nextcloud/fix/do-not-store-auth-code
fix(oauth2): Do not store the code in throttle metadata
2026-03-23 10:31:51 +01:00
Kate 18f03f69b4 Merge pull request #59151 from nextcloud/automated/noid/rector-changes 2026-03-23 10:23:51 +01:00
Jonas f34513d8ad fix(ICalendar): allow to search for event URI
Signed-off-by: Jonas <jonas@freesources.org>
2026-03-23 10:22:03 +01:00
Nextcloud bot 9beed5c8fe fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-23 00:19:29 +00:00
github-actions[bot] 50c37e300c Merge pull request #59118 from nextcloud/dependabot/npm_and_yarn/jsdom-29.0.1
chore(deps-dev): Bump jsdom from 29.0.0 to 29.0.1
2026-03-23 00:19:37 +01:00
github-actions[bot] 730db45c26 Merge pull request #59115 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.9
chore(deps-dev): Bump rector/rector from 2.3.8 to 2.3.9 in /vendor-bin/rector
2026-03-23 00:18:21 +01:00
github-actions[bot] eec757fc2e Merge pull request #59117 from nextcloud/dependabot/npm_and_yarn/stylelint-17.5.0
chore(deps-dev): Bump stylelint from 17.4.0 to 17.5.0
2026-03-23 00:17:50 +01:00
David Dreschner 5bc0ba6a51 fix(DnsPinning): Ensure to always lookup based on FQDN
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
2026-03-22 20:34:55 +01:00
nextcloud-command 1ed0769d4c refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-03-22 14:45:16 +00:00
Andy Scherzinger cde3780f01 Merge pull request #59120 from nextcloud/dependabot/npm_and_yarn/cypress-split-1.24.31
chore(deps-dev): Bump cypress-split from 1.24.28 to 1.24.31
2026-03-22 14:45:14 +01:00
Andy Scherzinger 4a88f9316b Merge pull request #58739 from chandrika1993/fix/issue-50502
fix(settings): correctly detect Chrome on Android in devices & sessions
2026-03-22 10:24:09 +01:00
Nextcloud bot e17f7aa92d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-22 00:19:11 +00:00
Ferdinand Thiessen 9d8bab02fc Merge pull request #59141 from nextcloud/jtr/chore-EventSource-drop-legacy-IE-inline-fallback
chore(EventSource): drop no longer needed legacy fallback
2026-03-21 22:47:14 +01:00
Josh 8bd63c5fe2 chore(Trashbin): hello lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh e53c124ecc chore(trashbin): drop unused use statements from SyncLivePhotosListener
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh 5f658d9eae chore(Trashbin): add AbortedEventException use
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh bd0784e056 refactor(Trashbin): switch to AbortedEventException usage in restore
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh 23569000a8 chore(trashbin): switch SyncLivePhotosListener to AbortedEventException
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh 4b2a77b1ff chore(trashbin): refactor deprecated abortOperation to use AbortedEventException
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
nextcloud-command 6346b9c884 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-21 14:31:28 +00:00
Josh 6a88c86a54 chore(EventSource): add typing
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 09:38:37 -04:00
Josh 9da1e46def chore(EventSource): drop legacy fallback note from IEventSource
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 09:36:35 -04:00
Josh 24550e5aac chore(EventSource): drop legacy server-side fallback
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 09:18:06 -04:00
Josh 1c1bd469b8 chore(EventSource): drop client-side fallback
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 09:14:35 -04:00
dependabot[bot] fafc55c039 chore(deps-dev): Bump cypress-split from 1.24.28 to 1.24.31
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.28 to 1.24.31.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.28...v1.24.31)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 02:09:35 +00:00
dependabot[bot] f5040be492 chore(deps-dev): Bump jsdom from 29.0.0 to 29.0.1
Bumps [jsdom](https://github.com/jsdom/jsdom) from 29.0.0 to 29.0.1.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](https://github.com/jsdom/jsdom/compare/v29.0.0...v29.0.1)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 29.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 02:08:29 +00:00
dependabot[bot] ce009c4f95 chore(deps-dev): Bump stylelint from 17.4.0 to 17.5.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 17.4.0 to 17.5.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/17.4.0...17.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 02:08:00 +00:00
dependabot[bot] c1251e0292 chore(deps-dev): Bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.3.8 to 2.3.9.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.3.8...2.3.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 02:03:39 +00:00
Nextcloud bot 753e6ee442 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-21 00:19:26 +00:00
github-actions[bot] df0f570802 Merge pull request #59111 from nextcloud/dependabot/npm_and_yarn/flatted-3.4.2
chore(deps-dev): Bump flatted from 3.3.3 to 3.4.2
2026-03-20 15:48:13 +01:00
github-actions[bot] c107cd4555 Merge pull request #59022 from nextcloud/dependabot/npm_and_yarn/fast-xml-parser-5.5.6
chore(deps): Bump fast-xml-parser from 5.4.1 to 5.5.6
2026-03-20 14:29:12 +01:00
Chandrika Mohan 38278d172f fix(settings): correctly detect Chrome on Android in devices & sessions
Signed-off-by: Chandrika Mohan <chandrikalov@gmail.com>

common logic to detect ua

Signed-off-by: Chandrika Mohan <chandrikalov@gmail.com>
2026-03-20 14:08:15 +01:00
dependabot[bot] 7df1d3683d chore(deps): Bump fast-xml-parser from 5.4.1 to 5.5.6
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.4.1 to 5.5.6.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.4.1...v5.5.6)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 13:04:29 +00:00
dependabot[bot] 4ac7bec175 chore(deps-dev): Bump flatted from 3.3.3 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 12:57:30 +00:00
github-actions[bot] 1493d30f14 Merge pull request #59093 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/fast-xml-parser-5.5.7
chore(deps): Bump fast-xml-parser from 5.5.6 to 5.5.7 in /build/frontend-legacy
2026-03-20 13:56:06 +01:00
nextcloud-command b59fcd4c32 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-20 10:53:13 +00:00
dependabot[bot] 9fee8d4dfe chore(deps): Bump fast-xml-parser in /build/frontend-legacy
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.5.6 to 5.5.7.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.5.6...v5.5.7)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 11:27:03 +01:00
Joas Schilling 7434af87c2 Merge pull request #59104 from nextcloud/automated/noid/master-update-ca-cert-bundle
[master] fix(security): Update CA certificate bundle
2026-03-20 07:44:11 +01:00
nextcloud-command 784a2adb87 fix(security): Update CA certificate bundle
Signed-off-by: GitHub <noreply@github.com>
2026-03-20 03:07:44 +00:00
Nextcloud bot d0c63a1753 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-20 00:19:49 +00:00
F. E Noel Nfebe 5e93c58795 Merge pull request #58226 from nextcloud/fix/password-state-management
fix(sharing): Prevent empty password when checkbox is enabled
2026-03-19 20:23:54 +01:00
Jonas 7cdbb38d52 Merge pull request #58834 from nextcloud/feat/translucent_selection_color
feat(theming): use translucent color for text selection
2026-03-19 18:41:28 +01:00
github-actions[bot] 28bb7305c0 Merge pull request #58767 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/marked-17.0.4
chore(deps): Bump marked from 17.0.3 to 17.0.4 in /build/frontend-legacy
2026-03-19 16:32:11 +01:00
nextcloud-command c5e9a1598a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-19 15:31:30 +00:00
nfebe e7f8950d65 fix(sharing): Prevent generated password from overwriting user input
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-03-19 15:39:35 +01:00
nfebe 0cb96fb77d fix(sharing): Prevent empty password when checkbox is enabled
Set passwordProtectedState explicitly when initializing shares with
default passwords. This ensures the checkbox state is tracked
independently of the password value, preventing it from unchecking
when the password field is cleared.

Also block saving new shares when password protection is enabled but
no password is entered, regardless of enforcement settings.

Added passWithNoTests to vitest configs to handle Vue 2/3 dual
frontend test runs gracefully.

Fixes: #57732, #57011
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-03-19 15:39:35 +01:00
Marcel Klehr 9e7e32f0c7 Merge pull request #59015 from nextcloud/copilot/add-taskprocessing-worker-command
feat(taskprocessing): add worker command for synchronous task processing
2026-03-19 15:33:21 +01:00
Côme Chilliet 5c1b58c380 fix(oauth2): Do not store the code in throttle metadata
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-19 14:40:12 +01:00
David Dreschner 9e65c597fe Merge pull request #58897 from nextcloud/feat/add-shared-calendar-api
feat(CalDAV): Add function to get the token of a publicly shared calendar
2026-03-19 14:25:27 +01:00
nextcloud-command f4c6b26e7b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-19 13:16:32 +00:00
dependabot[bot] e045bb9f2b chore(deps): Bump marked from 17.0.3 to 17.0.4 in /build/frontend-legacy
Bumps [marked](https://github.com/markedjs/marked) from 17.0.3 to 17.0.4.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.3...v17.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-19 14:08:33 +01:00
David Dreschner 7c61e06b74 feat(CalDAV): Add function to get the token of a publicly shared calendar
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
2026-03-19 13:55:39 +01:00
Ferdinand Thiessen e4ab89d5b2 Merge pull request #59065 from nextcloud/fix/noid/phpunit-deprecations
fix(phpunit): migrate from deprecated syntax for PHPUnit 11.1
2026-03-19 12:05:39 +01:00
Marcel Klehr a51d74407a fix: Apply suggestions from code review
Co-authored-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 11:14:26 +01:00
Marcel Klehr ad5e709f7f chore: Address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] b1517d8938 test(taskprocessing): fix broken multi-type assertions and add starvation-prevention test
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] 549b081f2f fix: Fix task type starvation: collect all eligible task types then pick the oldest task
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] e46b967b53 fix: Fix task type starvation in WorkerCommand::processNextTask by shuffling providers
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] de9852eca4 fix: Fix Task mock error: use real Task instances; run autoloaderchecker
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] 9cc334312b feat(taskprocessing): Add --taskTypes whitelist option to taskprocessing:worker command
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] 118ca6a94b feat(taskprocessing): Add worker command with tests and registration
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
Kate 95f22bc48d Merge pull request #59029 from nextcloud/fix/58913/bg-job-argument-type-text 2026-03-19 11:01:57 +01:00
John Molakvoæ 7cb4b4bbdb Merge pull request #54542 from nextcloud/54088-providePermissionsAndOwnerIdInPut 2026-03-19 10:59:10 +01:00
Maksim Sukharev 2c68e65e19 fix(phpunit): migrate from deprecated syntax for PHPUnit 11.1
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-03-19 10:53:56 +01:00
John Molakvoæ 3d0234bb2e Merge branch 'master' into 54088-providePermissionsAndOwnerIdInPut
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2026-03-19 09:13:45 +01:00
github-actions[bot] e01440af96 Merge pull request #58920 from nextcloud/dependabot/npm_and_yarn/eslint-plugin-cypress-6.2.0
chore(deps-dev): Bump eslint-plugin-cypress from 6.1.0 to 6.2.0
2026-03-19 07:57:07 +00:00
github-actions[bot] b5d8a97128 Merge pull request #59023 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/fast-xml-parser-5.5.6
chore(deps): Bump fast-xml-parser from 5.4.1 to 5.5.6 in /build/frontend-legacy
2026-03-19 00:44:59 +00:00
Nextcloud bot 0af21b72ae fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-19 00:20:27 +00:00
nextcloud-command 7eedf9c713 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-19 00:38:47 +01:00
dependabot[bot] 85f9a593a4 chore(deps): Bump fast-xml-parser in /build/frontend-legacy
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.4.1 to 5.5.6.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.4.1...v5.5.6)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-19 00:38:47 +01:00
github-actions[bot] 97ceffcbb4 Merge pull request #58926 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/password-confirmation-6.0.3
chore(deps): Bump @nextcloud/password-confirmation from 6.0.2 to 6.0.3 in /build/frontend-legacy
2026-03-18 23:55:27 +01:00
nextcloud-command 43c8d2de30 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-18 21:55:03 +00:00
dependabot[bot] bf58238b5f chore(deps): Bump @nextcloud/password-confirmation
Bumps [@nextcloud/password-confirmation](https://github.com/nextcloud-libraries/nextcloud-password-confirmation) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/compare/v6.0.2...6.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 21:23:15 +00:00
dependabot[bot] 82ee720335 chore(deps-dev): Bump eslint-plugin-cypress from 6.1.0 to 6.2.0
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.1.0...v6.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 21:22:34 +00:00
github-actions[bot] 7af11b4315 Merge pull request #58763 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.23
chore(deps-dev): Bump @zip.js/zip.js from 2.8.21 to 2.8.23
2026-03-18 22:19:57 +01:00
github-actions[bot] f20789fb9d Merge pull request #58919 from nextcloud/dependabot/npm_and_yarn/vitest-17a571e09b
chore(deps-dev): Bump the vitest group across 2 directories with 3 updates
2026-03-18 21:06:02 +00:00
Maksim Sukharev 0c5feae8d0 chore: recompile autoload files
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-03-18 15:50:38 +01:00
Maksim Sukharev f01ba2de0f fix(bg_jobs): store job argument as a text, increase length cap from 4000 to 32000
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-03-18 15:50:38 +01:00
Ferdinand Thiessen 35606bc6bd Merge pull request #59033 from nextcloud/fix/files-external-issues
fix(files_external): properly handle API errors
2026-03-18 15:10:22 +01:00
Ferdinand Thiessen a24fc77bcf chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-18 14:14:31 +01:00
Arthur Schiwon 3be8a652bc Merge pull request #59025 from nextcloud/perf/noid/ldap-displayname-from-db
fix(LDAP): use displayname from DB, before reaching out to LDAP
2026-03-18 13:51:56 +01:00
Ferdinand Thiessen 1688dff259 fix(files_external): properly handle API errors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-18 12:13:50 +01:00
Arthur Schiwon badd759ff1 ci: update psalm baseline
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-18 11:41:25 +01:00
Arthur Schiwon 0ace547307 fix(LDAP): do not use count() inside a loop
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-18 11:34:35 +01:00
Arthur Schiwon 1c01895796 fix(LDAP): use displayname from DB, before reaching out to LDAP
As we do it with other information of the user, we now use the known value
of a users displayname, and leave the updating to the background job. This
improves performance of user facing actions where the display name is
required and reduces queries to the LDAP server that are typically more
expensive.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-18 11:34:35 +01:00
Joas Schilling 44175e3cdb Merge pull request #58998 from nextcloud/bugfix/noid/dont-count-mentions-in-markdown-code
fix(comments): Correctly treat end of message as end of code block/in…
2026-03-18 10:35:29 +01:00
Benjamin Gaussorgues 1b504bf4ec Merge pull request #58863 from nextcloud/fix/annotation-attributes-fix 2026-03-18 08:46:31 +01:00
Ferdinand Thiessen 22976d20d5 Merge pull request #59008 from nextcloud/federated-sharing-check
fix: provide `canDownload` helper for shares and use it where appropriate
2026-03-17 22:57:14 +01:00
Anna 294e5397f3 Merge pull request #58975 from nextcloud/enh/42157/hid-warning
fix(initializeSession): only log HMAC problem to critical logs if indeed critical
2026-03-17 19:17:55 +01:00
Jonas db3ff20ce9 fix(theming): move text selection text color into variable
Signed-off-by: Jonas <jonas@freesources.org>
2026-03-17 19:06:41 +01:00
Jonas 3f27ba3aac feat(theming): use translucent color for text selection
Keeps old design with stronger constrast between background color and
background for high contrast themes.

Fixes: #55508

Signed-off-by: Jonas <jonas@freesources.org>
2026-03-17 19:05:56 +01:00
Jonas b96083862b Merge pull request #58830 from nextcloud/feat/color_mark_css_variable
feat(theming): add `--color-mark` CSS variable for highlighted text
2026-03-17 19:04:13 +01:00
Côme Chilliet fee637ca12 Merge pull request #59006 from nextcloud/fix/fix-ldap-renewpassword-parameters
fix: Add missing Attribute and fix parameter type in renewpassword route
2026-03-17 18:18:53 +01:00
Kate 2351df0172 Merge pull request #58960 from nextcloud/automated/noid/rector-changes 2026-03-17 18:07:29 +01:00
Jonas 39a0545c53 feat(theming): add --color-mark CSS variable for highlighted text
Required for nextcloud/text#8309

Signed-off-by: Jonas <jonas@freesources.org>
2026-03-17 18:04:21 +01:00
Ferdinand Thiessen df15699a31 Merge pull request #59004 from nextcloud/fix/mail_admin_check
fix(admin): use correct delegation class
2026-03-17 17:58:13 +01:00
Ferdinand Thiessen 7f8f86ab9a fix: use canDownload for permissions on federated shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-17 17:22:57 +01:00
Benjamin Gaussorgues a1c72a25c2 Merge pull request #58914 from nextcloud/chore/ncignore-tweaks 2026-03-17 17:02:22 +01:00
Ferdinand Thiessen 08495bfc0e feat(share): provide canDownload getter on the share
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-17 17:01:58 +01:00
Côme Chilliet 77b0d6cbbc fix: Add missing Attribute and fix parameter type in renewpassword route
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-17 16:58:34 +01:00
Benjamin Gaussorgues aaab13c7ca fix(admin): use correct delegation class
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-17 16:49:44 +01:00
Andy Scherzinger 3961a8be67 Merge pull request #59000 from nextcloud/bugfix/noid/enable-onetime-qrcode-for-34
feat(qrcode): Enable one-time QR codes by default for 34
2026-03-17 15:37:12 +01:00
Joas Schilling fe89541be3 fix(comments): Correctly treat end of message as end of code block/inline
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-17 15:34:47 +01:00
Joas Schilling 7e5a690a67 fix(qrcode): Enable one-time QR codes by default for 34
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-17 12:54:36 +01:00
Ferdinand Thiessen 5a1c233de9 Merge pull request #58611 from nextcloud/fix/files-snowflake
fix(files): correctly handle nodes with snowflake ids
2026-03-17 12:54:09 +01:00
Simon L. d3faa4247d fix(initializeSession): only log HMAC problem to critical logs if indeed critical
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-03-17 11:46:41 +01:00
Kate f6d2e6219a Merge pull request #58979 from nextcloud/chore/hide_avail_space 2026-03-17 11:41:59 +01:00
mostafa 3d6d38a2fb fix(group): pass previous display name in GroupChangedEvent
Signed-off-by: mostafa <mostafakhaki00@gmail.com>
2026-03-17 09:16:30 +00:00
Kate acbc10cc8c Merge pull request #58887 from nextcloud/fix/sharee-userid-config-key-inconsistency 2026-03-17 10:11:02 +01:00
Côme Chilliet b4f859b0ec Merge pull request #58870 from nextcloud/jtr/chore-root-htaccess-drop-noop-qsa
chore(.htaccess): 🧹 drop no-op QSA flag from RewriteRules
2026-03-17 10:07:41 +01:00
Jérôme Herbinet b964ca5394 feat(doc): activity_use_cached_mountpoints flag retroactivity notice
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2026-03-17 09:37:37 +01:00
Nextcloud bot 438f942081 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-17 00:19:33 +00:00
nextcloud-command 99a20afa8a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-16 18:48:28 +00:00
Ferdinand Thiessen 6dfeeffe20 test(cypress): retry if failed on first try
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 19:39:51 +01:00
Ferdinand Thiessen 5830b0a0af fix(files): adjust files store for Snowflake IDs
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 19:39:37 +01:00
Ferdinand Thiessen 0787185967 fix(files): correctly handle nodes with snowflake ids
We introduced `id` instead of `fileid` to be always of type `string` to
allow snow flake ids. So we need to check the new attribute instead of
the legacy one.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 18:47:30 +01:00
Joas Schilling c826288435 Merge pull request #58974 from nextcloud/bugfix/noid/dont-count-mentions-in-markdown-code
fix(comments): Don't return mentions in markdown code (by default)
2026-03-16 15:33:43 +01:00
Benjamin Gaussorgues 24ce01d8f5 chore(quota): hide available space from error
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-16 14:49:11 +01:00
Joas Schilling 11959a1359 fix(comments): Don't return mentions in markdown code (by default)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 11:49:07 +01:00
Joas Schilling b17d5180b2 Merge pull request #58959 from nextcloud/bugfix/spreed-16678/load-custom-app-order-earlier
fix(apporder): Load custom app order before resolving closures
2026-03-16 11:37:43 +01:00
Joas Schilling 46f61ca5e5 Merge pull request #58967 from nextcloud/bump/lognormalizer
build(deps): bump nextcloud/lognormalizer from 3.0.0 to 3.0.1
2026-03-16 10:12:25 +01:00
Joas Schilling f722f4648e build(deps): bump nextcloud/lognormalizer from 3.0.0 to 3.0.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 09:18:13 +01:00
Andy Scherzinger 91cfd7aded Merge pull request #58964 from nextcloud/automated/noid/-update-min-supported-desktop-version
chore: Update minimum supported desktop version to 3.1.81
2026-03-16 08:47:28 +01:00
Andy Scherzinger b865115cc8 Merge pull request #58966 from nextcloud/bugfix/noid/fix-SPDX-header
chore: Fix SPDX header
2026-03-16 08:47:04 +01:00
Joas Schilling 5f80f26799 chore: Fix SPDX header
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 08:38:16 +01:00
nextcloud-command bb4c9ecc0e chore: Update minimum supported desktop version
Signed-off-by: GitHub <noreply@github.com>
2026-03-16 00:46:58 +00:00
github-actions[bot] e48685600e Merge pull request #58483 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/paths-3.1.0
chore(deps): Bump @nextcloud/paths from 3.0.0 to 3.1.0 in /build/frontend-legacy
2026-03-16 00:37:53 +00:00
Ferdinand Thiessen cec23a0d83 test(cypress): clear state before user tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 01:22:45 +01:00
Nextcloud bot 1fdb54bdf5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-16 00:20:15 +00:00
nextcloud-command 2dbd9dd381 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 23:52:06 +00:00
dependabot[bot] c968f1f3b3 chore(deps): Bump @nextcloud/paths from 3.0.0 to 3.1.0 in /build/frontend-legacy
Dependabot couldn't find the original pull request head commit, 7677d40c0b7896a45c8a5423e0851e4a4d0b4a10.
2026-03-15 23:49:49 +00:00
github-actions[bot] 7f6f29ea32 Merge pull request #58921 from nextcloud/dependabot/npm_and_yarn/nextcloud/password-confirmation-6.0.3
chore(deps): Bump @nextcloud/password-confirmation from 6.0.2 to 6.0.3
2026-03-15 20:53:37 +00:00
nextcloud-command 72cf9e01b6 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 18:43:59 +00:00
dependabot[bot] 93568366f4 chore(deps): Bump @nextcloud/password-confirmation from 6.0.2 to 6.0.3
Bumps [@nextcloud/password-confirmation](https://github.com/nextcloud-libraries/nextcloud-password-confirmation) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/compare/v6.0.2...6.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 18:29:46 +00:00
github-actions[bot] 8ec12f3446 Merge pull request #58958 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/vue-8.37.0
chore(deps): Bump @nextcloud/vue from 8.36.0 to 8.37.0 in /build/frontend-legacy
2026-03-15 18:04:14 +00:00
nextcloud-command c2ab8a3e8c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 17:47:35 +00:00
nextcloud-command 5eec4fd69c refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-03-15 14:53:03 +00:00
Joas Schilling 58619b2a68 fix(apporder): Load custom app order before resolving closures
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-15 15:31:40 +01:00
dependabot[bot] 6791e95312 chore(deps): Bump @nextcloud/vue in /build/frontend-legacy
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.36.0 to 8.37.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.37.0/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.36.0...v8.37.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 14:26:23 +00:00
dependabot[bot] 649f333c89 chore(deps-dev): Bump the vitest group across 2 directories with 3 updates
Bumps the vitest group with 1 update in the / directory: [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul).
Bumps the vitest group with 2 updates in the /build/frontend-legacy directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).


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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 14:24:48 +00:00
github-actions[bot] 52801b995c Merge pull request #58953 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.40
chore(deps): Bump libphonenumber-js from 1.12.38 to 1.12.40 in /build/frontend-legacy
2026-03-15 13:07:28 +00:00
github-actions[bot] 8e6ce46485 Merge pull request #58952 from nextcloud/dependabot/npm_and_yarn/jsdom-29.0.0
chore(deps-dev): Bump jsdom from 28.1.0 to 29.0.0
2026-03-15 13:50:54 +01:00
nextcloud-command 2997b0a53c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 12:15:38 +00:00
Andy Scherzinger 529b30eb04 Merge pull request #58922 from nextcloud/dependabot/npm_and_yarn/cypress-15.12.0
chore(deps-dev): Bump cypress from 15.11.0 to 15.12.0
2026-03-15 13:09:45 +01:00
dependabot[bot] 1e40bd0d33 chore(deps): Bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.38 to 1.12.40.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.38...v1.12.40)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 11:10:26 +00:00
dependabot[bot] e961190912 chore(deps-dev): Bump jsdom from 28.1.0 to 29.0.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 28.1.0 to 29.0.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/v28.1.0...v29.0.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 29.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 11:10:04 +00:00
github-actions[bot] 4da2a1e2e1 Merge pull request #58775 from nextcloud/dependabot/npm_and_yarn/dompurify-3.3.2
chore(deps): Bump dompurify from 3.3.1 to 3.3.3
2026-03-15 06:16:57 +00:00
Nextcloud bot a10204b11b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-15 00:19:16 +00:00
nextcloud-command fceece9ba8 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 00:07:47 +00:00
dependabot[bot] a2144ab2f2 chore(deps): Bump dompurify from 3.3.1 to 3.3.2
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.3.1...3.3.2)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 23:49:35 +00:00
Andy Scherzinger 3130722a21 Merge pull request #58924 from nextcloud/dependabot/npm_and_yarn/vue-3.5.30
chore(deps): Bump vue from 3.5.29 to 3.5.30
2026-03-14 15:18:25 +01:00
nextcloud-command e1171b0e61 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-14 13:31:18 +00:00
dependabot[bot] db4a46da09 chore(deps): Bump vue from 3.5.29 to 3.5.30
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 13:21:25 +00:00
github-actions[bot] 168259039e Merge pull request #58923 from nextcloud/dependabot/npm_and_yarn/sass-1.98.0
chore(deps-dev): Bump sass from 1.97.3 to 1.98.0
2026-03-14 13:47:46 +01:00
github-actions[bot] 76e4788ec1 Merge pull request #58944 from nextcloud/dependabot/npm_and_yarn/multi-7f7c85af6b
chore(deps): Bump undici
2026-03-14 13:47:01 +01:00
dependabot[bot] 53069c770d chore(deps): Bump undici
Bumps  and [undici](https://github.com/nodejs/undici). These dependencies needed to be updated together.

Updates `undici` from 7.21.0 to 7.24.2
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.21.0...v7.24.2)

Updates `undici` from 6.23.0 to 6.24.1
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.21.0...v7.24.2)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.2
  dependency-type: indirect
- dependency-name: undici
  dependency-version: 6.24.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 08:45:38 +00:00
github-actions[bot] 8e603a30ea Merge pull request #58925 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sass-1.98.0
chore(deps-dev): Bump sass from 1.97.3 to 1.98.0 in /build/frontend-legacy
2026-03-14 09:44:24 +01:00
dependabot[bot] f27cc2842a chore(deps-dev): Bump sass in /build/frontend-legacy
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.3 to 1.98.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.97.3...1.98.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 02:06:25 +00:00
dependabot[bot] 9cb220983a chore(deps-dev): Bump sass from 1.97.3 to 1.98.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.3 to 1.98.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.97.3...1.98.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 02:05:32 +00:00
dependabot[bot] 44c8dae987 chore(deps-dev): Bump cypress from 15.11.0 to 15.12.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.11.0 to 15.12.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.11.0...v15.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 02:05:18 +00:00
Nextcloud bot 38f79c031d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-14 00:19:08 +00:00
Côme Chilliet cc99dd8fd9 fix: Fix user in Tags class, do not depend upon session
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-13 15:13:40 +01:00
Benjamin Gaussorgues 232192c59c chore(build): update list of ignored files
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-13 13:10:07 +01:00
Daniel 98583d7ceb Merge pull request #58201 from nextcloud/fix/remove-deprecated-rfc7231-constant
fix: Remove deprecated RFC7231 constant to avoid warnings on PHP 8.5
2026-03-13 11:34:51 +01:00
David Dreschner 2bb9524c84 fix: Remove deprecated RFC7231 constant to avoid warnings on PHP 8.5
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
2026-03-13 10:43:38 +01:00
Sebastian Krupinski 201a97a4ed Merge pull request #57112 from nextcloud/feat/improve-calendar-migrator
feat: improve calendar migrator
2026-03-13 05:30:54 -04:00
Nextcloud bot 551973cb3e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-13 00:20:20 +00:00
Anna Larch a77040f41e chore(workflows): remove cypress cloud
and allow regular cypress tests to run on forks (no secret leaked)
add consistent gating
 for changes
remove empty matrix option
skip performance workflow on forks without it looking like it's failing

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-03-12 20:26:51 +01:00
SebastianKrupinski f4feec424c feat: improve calendar migrator
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-03-12 12:43:15 -04:00
Louis 56dcfc4b86 Merge pull request #45036 from iLinaza/fix/45034-clear-cached-user-groups-on-pre-hooks
fix(usergroups): clear cached user groups on pre hooks
2026-03-12 16:03:44 +01:00
Benjamin Gaussorgues 7a96dbc20c Merge pull request #58875 from nextcloud/chore/update-ignred-files 2026-03-12 15:35:49 +01:00
nfebe 25e7dd799e fix(sharing): Align userid config key in UserPlugin with Manager
UserPlugin reads `shareapi_restrict_user_enumeration_full_match_userid`
(no underscore) while Manager.php and the frontend both use
`shareapi_restrict_user_enumeration_full_match_user_id` (with underscore).

This mismatch causes the "disable exact match by user ID" admin setting
to have no effect on actual sharee search results.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-03-12 13:19:09 +01:00
Benjamin Gaussorgues 8c6d314b0e Merge pull request #58798 from AIlkiv/fix-UserMountCache-for-postgresql 2026-03-12 12:11:29 +01:00
Kate ddf79066b9 Merge pull request #58689 from nextcloud/fix/federated-reshare 2026-03-12 12:01:24 +01:00
Sebastian Krupinski ed3a230403 Merge pull request #58679 from nextcloud/feat/add-default-reminder-setting-caldav
feat: add default reminder setting caldav
2026-03-12 06:26:12 -04:00
provokateurin 5dbbe2ccf9 fix(dav): Use share initiator to get the share node, because the owner might on another server
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-03-12 10:31:25 +01:00
provokateurin 045ad43237 fix(federatedfilesharing): Do not set the share id for an existing share
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-03-12 10:31:25 +01:00
Carl Schwan 83956e9f04 Merge pull request #58854 from nextcloud/jtr/refactor-View-getLocalFile
refactor(view): `getLocalFile` path handling
2026-03-12 10:05:19 +01:00
Kate c8380b1b62 Merge pull request #58869 from nextcloud/fix/pwd-confirmation 2026-03-12 09:54:15 +01:00
Nextcloud bot 5ff62d5baf fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-12 00:19:26 +00:00
Josh eb5a9085ee Merge pull request #58855 from nextcloud/jtr/test-drop-testTouchFloat
tests - Fix `Implicit conversion from float 500.5 to int loses precision` in ViewTest
2026-03-11 15:07:57 -04:00
Benjamin Gaussorgues 3904da98e6 Merge pull request #58864 from nextcloud/fix/cached_exporter_hardening 2026-03-11 18:30:22 +01:00
Benjamin Gaussorgues e07be2b189 chore(buuld): update list of ignored files
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-11 17:50:11 +01:00
Grigory Vodyanov e3c2920c18 feat: add default reminder setting caldav
Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
2026-03-11 12:45:04 -04:00
Côme Chilliet 9b54383532 Merge pull request #58835 from nextcloud/chore/fix-merge-leftover
Remove leftover useless path assignements in View
2026-03-11 16:52:55 +01:00
Côme Chilliet e03d825062 chore: Update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 16:23:21 +01:00
Josh 7dfcf5afad chore(.htaccess): drop no-op QSA flag from RewriteRules
- For Apache `RewriteRule`, if the substitution (right side) has no `?` query part, the original query string is already preserved by default.
- So `QSA` adds nothing in these rules.

Note for the future: QSA will be needed if we ever add a query string on the right (substitution) side. We don't currently so this is just noise in the htaccess rules.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-11 10:57:53 -04:00
Ferdinand Thiessen 9b54b06de5 fix(SecurityMiddleware): return header to distinguish error type
Currently we return a 403 (Forbidden) when the password confirmation
failed - which itself seems to be inappropriate as its basically a login
failing so a 401 (not authorized) is more appropriate.

This is especially a problem because APIs might return 403 internally
for good reason (e.g. user missing permission) but 401 would not be a
problem.

But as this is a breaking change so my solution to be able to
distinguish API error from password confirmation error is:

Add a header inside the response that marks failed password confirmation
`X-NC-Auth-NotConfirmed`.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-11 15:11:29 +01:00
Côme Chilliet 504dc5142e chore: Un-deprecate IControllerMethodReflector as it’s now useful for attributes as well
It should be extended later to add methods to get attributes from
 reflection, and maybe a getter to the reflectionMethod object to avoid
 middlewares building their own.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 14:43:50 +01:00
Côme Chilliet d68face43f chore: Move away from deprecated method in TwoFactorMiddleware
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 14:39:40 +01:00
Côme Chilliet 91334643dc fix(tests): Adapt Middleware tests to API change
Removed a few tests rendered obsolete by the refactoring.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 14:27:45 +01:00
Benjamin Gaussorgues 509784cff2 chore(metrics): harden Cached exporter
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-11 13:01:21 +01:00
Côme Chilliet 447ee17759 fix: Remove code duplication by using the new method
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 11:36:01 +01:00
Côme Chilliet bd343a6e9e fix: Fix AuthorizedAdminSetting attribute behavior
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 11:25:31 +01:00
Côme Chilliet 520878338f fix: Move hasAnnotationOrAttribute to the reflector
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 11:16:26 +01:00
Josh 8895970019 test(ViewTest): disable Nextcloud not PHP - drop testTouchFloat()
Our interface contract (and implementations) in IStorage are:
`public function touch(string $path, ?int $mtime = null): bool {`

This wasn't always the case but it is today, so testTouchFloat() no longer makes sense; it's not testing our code, just PHP.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-10 22:12:42 -04:00
Josh 0a7420d0a4 chore(View): fixup for php-cs
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-10 21:40:44 -04:00
Josh 14e837ce11 refactor(View): add typing to getAbsolutePath and clarify contract
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-10 19:42:16 -04:00
Josh af78da59bc refactor(View): improve readability of getLocalFile and resolvePath
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-10 19:21:47 -04:00
Côme Chilliet b0240a43af chore: Remove other useless assignment of 'path' key for FileInfo
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-10 15:12:06 +01:00
Côme Chilliet 347d786a14 chore: Remove useless assignement
Because of the order we merged PRs, this line was not removed while the
 value is not used anymore, let’s cleanup.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-10 15:09:54 +01:00
ailkiv e958fa0113 fix: PostgreSQL transaction aborts when caching user mounts
Signed-off-by: ailkiv <a.ilkiv.ye@gmail.com>
2026-03-09 10:02:40 +00:00
Benjamin Frueh 4b203e5f7b fix: only skip template initialization when both skeletondirectory and templatedirectory are empty
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2026-03-08 00:12:56 +01:00
dependabot[bot] 629740d935 chore(deps-dev): Bump @zip.js/zip.js from 2.8.21 to 2.8.23
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.21 to 2.8.23.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.21...v2.8.23)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-07 02:05:10 +00:00
Côme Chilliet 842f3a44cb Merge branch 'master' into fix/45034-clear-cached-user-groups-on-pre-hooks
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2026-03-05 16:00:17 +01:00
Salvatore Martire 101819821a feat: add oc-ownerid and oc-permissions headers on PUT DAV requests
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-09 10:47:57 +01:00
Salvatore Martire 62ab29960f refactor: extract logic to hide mounts and share information
The permission string for directories and files can contain M or S
depending if they are respectively coming from a mount or a share. This
information is not to be disclosed when the share is a public one.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-09 10:47:57 +01:00
iLinaza d33cac0a2f fix: #45034 clear cached user groups on pre hooks
Signed-off-by: iLinaza <i.linaza@gmail.com>
2024-04-25 16:49:56 +02:00
1336 changed files with 14260 additions and 13040 deletions
+3 -3
View File
@@ -24,7 +24,7 @@ package.json @nextcloud/server-dependabot @next
package-lock.json @nextcloud/server-dependabot
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @samin-z
/apps/cloud_federation_api/appinfo/info.xml @nfebe @mejo-
/apps/comments/appinfo/info.xml @edward-ly @sorbaugh
/apps/contactsinteraction/appinfo/info.xml @kesselb @SebastianKrupinski
@@ -46,12 +46,12 @@ package-lock.json @nextcloud/server-dependabot
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
/apps/settings/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/settings/appinfo/info.xml @hweihwang @sorbaugh
/apps/sharebymail/appinfo/info.xml @Altahrim @skjnldsv
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
/apps/twofactor_backupcodes/appinfo/info.xml @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/updatenotification/appinfo/info.xml @enjeck @sorbaugh
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
/apps/weather_status/appinfo/info.xml @julien-nc @juliusknorr
+7 -4
View File
@@ -20,7 +20,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -58,7 +58,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -74,6 +74,9 @@ jobs:
autocheckers:
runs-on: ubuntu-latest-low
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.2']
@@ -88,7 +91,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -125,4 +128,4 @@ jobs:
steps:
- name: Summary status
run: if ${{ needs.autocheckers.result != 'success' || (needs.changes.outputs.src != 'false' && needs.autoloader.result != 'success') }}; then exit 1; fi
run: if ${{ needs.changes.outputs.src != 'false' && (needs.autocheckers.result != 'success' || needs.autoloader.result != 'success') }}; then exit 1; fi
@@ -21,7 +21,7 @@ jobs:
steps:
- name: Check requirement
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
+2 -2
View File
@@ -37,13 +37,13 @@ jobs:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
with:
category: "/language:${{matrix.language}}"
+1 -1
View File
@@ -124,7 +124,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
+30 -19
View File
@@ -14,6 +14,7 @@ jobs:
runs-on: ubuntu-latest
permissions:
contents: none
pull-requests: read
# On pull requests and if the comment starts with `/update-3rdparty`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/update-3rdparty')
@@ -27,8 +28,25 @@ jobs:
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
# issue_comment events carry no pull_request context in their payload, so we
# must fetch the PR via the API. This also gives us base.ref for free, avoiding
# a second API call. The GITHUB_TOKEN needs pull-requests:read (granted above).
- name: Get pull request metadata
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
id: get-pr
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const pull = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
});
core.setOutput('head_repo', pull.data.head.repo?.full_name ?? '');
core.setOutput('base_ref', pull.data.base.ref);
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
if: steps.get-pr.outputs.head_repo != github.repository
run: |
echo 'Can not execute /update-3rdparty on forks'
exit 1
@@ -46,24 +64,17 @@ jobs:
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping pull 3rdparty command');
}
}
run: |
base_ref="${{ steps.get-pr.outputs.base_ref }}"
if [[ "$base_ref" == "main" || "$base_ref" == "master" ]]; then
echo "server_ref=master" >> "$GITHUB_ENV"
echo "Setting server_ref to master"
elif [[ "$base_ref" =~ ^stable[0-9]+$ ]]; then
echo "server_ref=$base_ref" >> "$GITHUB_ENV"
echo "Setting server_ref to $base_ref"
else
echo "Not based on master/main/stable*, so skipping pull 3rdparty command"
fi
- name: Setup git
run: |
+3 -14
View File
@@ -41,12 +41,6 @@ jobs:
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run cypress on forks'
exit 1
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
@@ -72,7 +66,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -160,7 +154,7 @@ jobs:
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
@@ -171,15 +165,11 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@bc22e01685c56e89e7813fd8e26f33dc47f87e15 # v7.1.5
uses: cypress-io/github-action@783cb3f07983868532cabaedaa1e6c00ff4786a8 # v7.1.9
with:
# We already installed the dependencies in the init job
install: false
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
# cypress env
ci-build-id: ${{ matrix.use-cypress-cloud && format('{0}-{1}', github.sha, github.run_number) || '' }}
tag: ${{ matrix.use-cypress-cloud && github.event_name || '' }}
env:
# Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }}
@@ -188,7 +178,6 @@ jobs:
# Needed for some specific code workarounds
TESTING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
SPLIT: ${{ matrix.total-containers }}
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
SPLIT_RANDOM_SEED: ${{ github.run_id }}
+3 -3
View File
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -81,7 +81,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@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -115,7 +115,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
+5 -5
View File
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -80,7 +80,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -115,7 +115,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3
@@ -169,7 +169,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -197,7 +197,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3
+4 -4
View File
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -73,11 +73,11 @@ jobs:
- name: Set up sftpd
run: |
sudo mkdir /tmp/sftp
sudo chown -R 0777 /tmp/sftp
sudo chmod -R 0777 /tmp/sftp
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@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -104,7 +104,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
+3 -3
View File
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -81,7 +81,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -116,7 +116,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-smb
+3 -3
View File
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -76,7 +76,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -108,7 +108,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
+3 -3
View File
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -70,7 +70,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -97,7 +97,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-generic
@@ -73,7 +73,7 @@ jobs:
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: 8.2
+57 -57
View File
@@ -19,7 +19,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -52,69 +52,69 @@ jobs:
name: ${{ matrix.service }} (${{ matrix.endpoint }} endpoint) php${{ matrix.php-versions }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@70bb8d394d1c92f6113aeec6ae9cc959a5763d15 # v2026.227.200013
with:
python-version: '2.7'
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@0affa4f7bcb27562658960eee840eff8ff844578 # v2026.328.161128
with:
python-version: '2.7'
- name: Set up CalDAVTester
run: |
git clone --depth=1 https://github.com/apple/ccs-caldavtester.git CalDAVTester
git clone --depth=1 https://github.com/apple/ccs-pycalendar.git pycalendar
- name: Set up CalDAVTester
run: |
git clone --depth=1 https://github.com/apple/ccs-caldavtester.git CalDAVTester
git clone --depth=1 https://github.com/apple/ccs-pycalendar.git pycalendar
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
# disable the trashbin, so recurrent deletion of the same object works
./occ config:app:set dav calendarRetentionObligation --value=0
# Prepare users
OC_PASS=user01 ./occ user:add --password-from-env user01
OC_PASS=user02 ./occ user:add --password-from-env user02
# Prepare calendars
./occ dav:create-calendar user01 calendar
./occ dav:create-calendar user01 shared
./occ dav:create-calendar user02 calendar
# Prepare address books
./occ dav:create-addressbook user01 addressbook
./occ dav:create-addressbook user02 addressbook
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
# disable the trashbin, so recurrent deletion of the same object works
./occ config:app:set dav calendarRetentionObligation --value=0
# Prepare users
OC_PASS=user01 ./occ user:add --password-from-env user01
OC_PASS=user02 ./occ user:add --password-from-env user02
# Prepare calendars
./occ dav:create-calendar user01 calendar
./occ dav:create-calendar user01 shared
./occ dav:create-calendar user02 calendar
# Prepare address books
./occ dav:create-addressbook user01 addressbook
./occ dav:create-addressbook user02 addressbook
- name: Run Nextcloud
run: |
php -S localhost:8888 &
- name: Run Nextcloud
run: |
php -S localhost:8888 &
- name: Run CalDAVTester
run: |
cp "apps/dav/tests/testsuits/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/testsuits/caldavtest/serverinfo.xml"
pushd CalDAVTester
PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
"${{ matrix.service }}/current-user-principal.xml" \
"${{ matrix.service }}/sync-report.xml" \
${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
popd
- name: Run CalDAVTester
run: |
cp "apps/dav/tests/testsuits/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/testsuits/caldavtest/serverinfo.xml"
pushd CalDAVTester
PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
"${{ matrix.service }}/current-user-principal.xml" \
"${{ matrix.service }}/sync-report.xml" \
${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
popd
- name: Print Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
- name: Print Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
caldav-integration-summary:
permissions:
+2 -2
View File
@@ -19,7 +19,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -58,7 +58,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
+2 -3
View File
@@ -19,7 +19,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -82,7 +82,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -95,7 +95,6 @@ jobs:
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: Set up Nextcloud
+2 -2
View File
@@ -25,7 +25,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -121,7 +121,7 @@ jobs:
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
+2 -2
View File
@@ -28,7 +28,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+5 -2
View File
@@ -25,7 +25,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -44,6 +44,9 @@ jobs:
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: php-cs
steps:
@@ -53,7 +56,7 @@ jobs:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: 8.2
+2 -2
View File
@@ -23,7 +23,7 @@ jobs:
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -58,7 +58,7 @@ jobs:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
+44 -1
View File
@@ -18,9 +18,37 @@ concurrency:
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- '**.css'
- '**.scss'
- '**.vue'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: stylelint
steps:
@@ -37,7 +65,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -51,3 +79,18 @@ jobs:
- name: Lint
run: npm run stylelint
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: stylelint
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
+2 -2
View File
@@ -29,7 +29,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -71,7 +71,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+3 -6
View File
@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -70,7 +70,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -83,14 +83,11 @@ jobs:
run: |
npm ci
# - name: Test
# run: npm run test --if-present
- name: Test and process coverage
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./coverage/lcov.info,./coverage/legacy/lcov.info
+2 -2
View File
@@ -28,7 +28,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+1 -1
View File
@@ -49,7 +49,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+3 -3
View File
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -85,7 +85,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -117,7 +117,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-azure
+3 -4
View File
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -86,7 +86,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -111,7 +111,6 @@ jobs:
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
@@ -123,7 +122,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-s3
+3 -3
View File
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -83,7 +83,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -113,7 +113,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-swift
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'
+8 -7
View File
@@ -15,7 +15,13 @@ jobs:
performance-testing:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
# Skip entirely on fork PRs so the job result is 'skipped' rather than
# 'failure'. The profiler action uses github.event.pull_request.head.repo.clone_url
# and GITHUB_TOKEN in ways that do not work reliably from forks, and a
# clean skip is far less confusing for contributors than a mid-run error.
if: >-
github.repository_owner != 'nextcloud-gmbh' &&
github.event.pull_request.head.repo.full_name == github.repository
permissions:
pull-requests: write
@@ -28,11 +34,6 @@ jobs:
name: performance-${{ matrix.php-versions }}
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run performance tests on forks'
exit 1
- name: Checkout server before PR
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -42,7 +43,7 @@ jobs:
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
+1 -1
View File
@@ -56,4 +56,4 @@ jobs:
- name: PHPUnit
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness"
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure --exclude-group PRIMARY-s3 --exclude-group PRIMARY-swift --exclude-group Memcached --exclude-group Redis --exclude-group RoutingWeirdness"
+6 -3
View File
@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -98,7 +98,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -129,10 +129,13 @@ jobs:
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
env:
DB_ROOT_USER: root
DB_ROOT_PASS: rootpassword
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-mariadb
+3 -3
View File
@@ -28,7 +28,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -78,7 +78,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -104,7 +104,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-memcached
+3 -3
View File
@@ -28,7 +28,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -127,7 +127,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -162,7 +162,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-mysql
+6 -3
View File
@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -98,7 +98,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -129,10 +129,13 @@ jobs:
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
env:
DB_ROOT_USER: root
DB_ROOT_PASS: rootpassword
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-mysql
+3 -3
View File
@@ -30,7 +30,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -81,7 +81,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -110,7 +110,7 @@ jobs:
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -78,7 +78,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -104,7 +104,7 @@ jobs:
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: composer run test:db
run: composer run test:db -- --log-junit junit.xml
- name: S3 logs
if: always()
+3 -3
View File
@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -105,7 +105,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -132,7 +132,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-oci
+3 -3
View File
@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -98,7 +98,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -127,7 +127,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-postgres
+3 -3
View File
@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -81,7 +81,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -114,7 +114,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-sqlite
+1 -1
View File
@@ -37,7 +37,7 @@ jobs:
ref: ${{ github.event.repository.default_branch }}
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
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
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
with:
php-version: '8.2'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
+65 -11
View File
@@ -21,10 +21,35 @@ concurrency:
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
static-code-analysis:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -34,7 +59,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'
@@ -56,7 +81,8 @@ jobs:
static-code-analysis-security:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh' }}
permissions:
security-events: write
@@ -69,7 +95,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'
@@ -88,14 +114,15 @@ jobs:
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@89a39a4e59826350b863aa6b6252a07ad50cf83e # v3
uses: github/codeql-action/upload-sarif@c10b8064de6f491fea524254123dbe5e09572f13 # v3
with:
sarif_file: results.sarif
static-code-analysis-ocp:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -105,7 +132,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'
@@ -127,7 +154,8 @@ jobs:
static-code-analysis-ncu:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -137,7 +165,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'
@@ -155,7 +183,8 @@ jobs:
static-code-analysis-strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -165,7 +194,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -178,3 +207,28 @@ jobs:
- name: Psalm
run: composer run psalm:strict -- --threads=1 --monochrome --no-progress --output-format=github
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, static-code-analysis, static-code-analysis-security, static-code-analysis-ocp, static-code-analysis-ncu, static-code-analysis-strict]
if: always()
name: static-code-analysis-summary
steps:
- name: Summary status
run: |
if ${{ needs.changes.outputs.src != 'false' && (
needs.static-code-analysis-security.result != 'success' ||
(github.event_name != 'push' && (
needs.static-code-analysis.result != 'success' ||
needs.static-code-analysis-ocp.result != 'success' ||
needs.static-code-analysis-ncu.result != 'success' ||
needs.static-code-analysis-strict.result != 'success'
))
) }}; then
exit 1
fi
@@ -115,7 +115,7 @@ jobs:
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: "automated/noid/${{ matrix.branches }}-update-min-supported-desktop-version"
branch: "automated/noid/update-min-supported-desktop-version"
title: "chore: Update minimum supported desktop version to ${{ steps.extract-version.outputs.VERSION }}"
base: "master"
body: |
+3 -6
View File
@@ -129,11 +129,10 @@
## Rule: Map /remote* --> /remote.php* including the query string
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Is this even used anymore? Seems a relic from <NC12
##
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^remote/(.*) remote.php [L]
##
## Rule: Prevent access to non-public files
@@ -148,21 +147,19 @@
## - Intentionally excludes URIs used for HTTPS certificate verifications
## - RFC 8555 / ACME HTTP Challenges (acme-challenge)
## - File-based Validations (pki-validation)
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [L]
##
## Rule: Map the ocm-provider handling to our main frontend controller (/index.php)
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^ocm-provider/?$ index.php [L]
##
## Rule: Prevent access to more non-public files
+35
View File
@@ -4,6 +4,7 @@
# Global exclude
.editorconfig
.envrc
.git
.git-blame-ignore-revs
.gitattributes
@@ -11,12 +12,44 @@
.gitignore
.gitmodules
.idea
.jshint
.jshintrc
.l10nignore
.mailmap
.nextcloudignore
.noopenapi
.npmignore
.php-cs-fixer*
.pre-commit-config.yaml
.tag
.tx
CHANGELOG.md
CODE_OF_CONDUCT.md
COPYING-README
DESIGN.md
Makefile
README.md
SECURITY.md
codecov.yml
cs-fixer
csfixer
custom.d.ts
cypress
cypress.config.ts
eslint.config.js
flake.lock
flake.nix
openapi-extractor
phpunit
psalm
psalm*.xml
rector
stylelint.config.js
tests
tsconfig.json
vite.config.ts
vitest.config.ts
window.d.ts
# Server specific
/.devcontainer
@@ -27,3 +60,5 @@ tests
/config/config.php
/contribute
/data
/openapi.json
/vendor-bin
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "নিরীক্ষা",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "নেক্সটক্লাউডের নিরীক্ষামূলক সক্ষমতা প্রদান করে যেমন লগিং ফাইল অ্যাক্সেস বা অন্য কোনো জরুরী পদক্ষেপসমূহ"
},
"nplurals=2; plural=(n != 1);");
+5
View File
@@ -0,0 +1,5 @@
{ "translations": {
"Auditing / Logging" : "নিরীক্ষা",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "নেক্সটক্লাউডের নিরীক্ষামূলক সক্ষমতা প্রদান করে যেমন লগিং ফাইল অ্যাক্সেস বা অন্য কোনো জরুরী পদক্ষেপসমূহ"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+1 -1
View File
@@ -32,6 +32,6 @@ OC.L10N.register(
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
"Write a comment …" : "Einen Kommentar schreiben …"
},
"nplurals=2; plural=(n != 1);");
+1 -1
View File
@@ -30,6 +30,6 @@
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
"Write a comment …" : "Einen Kommentar schreiben …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+1 -1
View File
@@ -32,6 +32,6 @@ OC.L10N.register(
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Schreiben Sie einen Kommentar …"
"Write a comment …" : "Einen Kommentar schreiben …"
},
"nplurals=2; plural=(n != 1);");
+1 -1
View File
@@ -30,6 +30,6 @@
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Schreiben Sie einen Kommentar …"
"Write a comment …" : "Einen Kommentar schreiben …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+9 -1
View File
@@ -10,20 +10,28 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} pakomentavo {file}",
"<strong>Comments</strong> for files" : "Failų <strong>komentarai</strong>",
"Files" : "Failai",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Buvote paminėtas „{file}“, komentare, kuris buvo parašytas iš paskyros, kuri vėliau buvo ištrinta.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} minėjo jus \"{file}\" komentare",
"Files app plugin to add comments to files" : "Failų programėlės įskiepis, skirtas prie failų pridėti komentarus",
"Edit comment" : "Taisyti komentarą",
"Delete comment" : "Ištrinti komentarą",
"Cancel edit" : "Atsisakyti taisymo",
"New comment" : "Naujas komentaras",
"Write a comment …" : "Rašyti komentarą ...",
"Post comment" : "Paskelbti komentarą",
"@ for mentions, : for emoji, / for smart picker" : "@ paminėjimams, : jaustukams, / išmaniajam rinkikliui",
"Could not reload comments" : "Nepavyko įkelti komentarų iš naujo",
"Failed to mark comments as read" : "Nepavyko pažymėti komentarų kaip perskaitytų",
"Unable to load the comments list" : "Nepavyko įkelti komentarų sąrašo",
"No comments yet, start the conversation!" : "Komentarų kol kas nėra, pradėkite pokalbį!",
"No more messages" : "Daugiau jokių pranešimų",
"Retry" : "Bandyti dar kartą",
"_1 new comment_::_{unread} new comments_" : ["1 neskaitytas komentaras","{unread} neskaityti komentarai","{unread} neskaitytų komentarų","{unread} neskaitytas komentaras"],
"Comment" : "Komentaras",
"An error occurred while trying to edit the comment" : "Bandant taisyti komentarą, įvyko klaida",
"Comment deleted" : "Komentaras ištrintas",
"An error occurred while trying to delete the comment" : "Bandant ištrinti komentarą, įvyko klaida",
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida"
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida",
"Write a comment …" : "Rašyti komentarą..."
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
+9 -1
View File
@@ -8,20 +8,28 @@
"{author} commented on {file}" : "{author} pakomentavo {file}",
"<strong>Comments</strong> for files" : "Failų <strong>komentarai</strong>",
"Files" : "Failai",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Buvote paminėtas „{file}“, komentare, kuris buvo parašytas iš paskyros, kuri vėliau buvo ištrinta.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} minėjo jus \"{file}\" komentare",
"Files app plugin to add comments to files" : "Failų programėlės įskiepis, skirtas prie failų pridėti komentarus",
"Edit comment" : "Taisyti komentarą",
"Delete comment" : "Ištrinti komentarą",
"Cancel edit" : "Atsisakyti taisymo",
"New comment" : "Naujas komentaras",
"Write a comment …" : "Rašyti komentarą ...",
"Post comment" : "Paskelbti komentarą",
"@ for mentions, : for emoji, / for smart picker" : "@ paminėjimams, : jaustukams, / išmaniajam rinkikliui",
"Could not reload comments" : "Nepavyko įkelti komentarų iš naujo",
"Failed to mark comments as read" : "Nepavyko pažymėti komentarų kaip perskaitytų",
"Unable to load the comments list" : "Nepavyko įkelti komentarų sąrašo",
"No comments yet, start the conversation!" : "Komentarų kol kas nėra, pradėkite pokalbį!",
"No more messages" : "Daugiau jokių pranešimų",
"Retry" : "Bandyti dar kartą",
"_1 new comment_::_{unread} new comments_" : ["1 neskaitytas komentaras","{unread} neskaityti komentarai","{unread} neskaitytų komentarų","{unread} neskaitytas komentaras"],
"Comment" : "Komentaras",
"An error occurred while trying to edit the comment" : "Bandant taisyti komentarą, įvyko klaida",
"Comment deleted" : "Komentaras ištrintas",
"An error occurred while trying to delete the comment" : "Bandant ištrinti komentarą, įvyko klaida",
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida"
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida",
"Write a comment …" : "Rašyti komentarą..."
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
}
+2 -2
View File
@@ -10,14 +10,14 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} reageerde op {file}",
"<strong>Comments</strong> for files" : "<strong>Reacties</strong> voor bestanden",
"Files" : "Bestanden",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Je werd genoemd op \"{file}\", in een opmerking van een account dat intussen is verwijderd",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Je werd genoemd op \"{file}\", in een reactie van een account dat intussen is verwijderd",
"{user} mentioned you in a comment on \"{file}\"" : "{user} noemde jou in een reactie op \"{file}\"",
"Files app plugin to add comments to files" : "Bestanden app plugin om reacties aan bestanden toe te voegen",
"Edit comment" : "Reactie bewerken",
"Delete comment" : "Reactie verwijderen",
"Cancel edit" : "Bewerking annuleren",
"New comment" : "Nieuwe reactie",
"Write a comment …" : "Schrijf een commentaar …",
"Write a comment …" : "Schrijf een reactie …",
"Post comment" : "Reactie plaatsen",
"@ for mentions, : for emoji, / for smart picker" : "@ voor vermeldingen, : voor emoji, / voor Smart Picker",
"Could not reload comments" : "Kon reactie niet opnieuw laden",
+2 -2
View File
@@ -8,14 +8,14 @@
"{author} commented on {file}" : "{author} reageerde op {file}",
"<strong>Comments</strong> for files" : "<strong>Reacties</strong> voor bestanden",
"Files" : "Bestanden",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Je werd genoemd op \"{file}\", in een opmerking van een account dat intussen is verwijderd",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Je werd genoemd op \"{file}\", in een reactie van een account dat intussen is verwijderd",
"{user} mentioned you in a comment on \"{file}\"" : "{user} noemde jou in een reactie op \"{file}\"",
"Files app plugin to add comments to files" : "Bestanden app plugin om reacties aan bestanden toe te voegen",
"Edit comment" : "Reactie bewerken",
"Delete comment" : "Reactie verwijderen",
"Cancel edit" : "Bewerking annuleren",
"New comment" : "Nieuwe reactie",
"Write a comment …" : "Schrijf een commentaar …",
"Write a comment …" : "Schrijf een reactie …",
"Post comment" : "Reactie plaatsen",
"@ for mentions, : for emoji, / for smart picker" : "@ voor vermeldingen, : voor emoji, / voor Smart Picker",
"Could not reload comments" : "Kon reactie niet opnieuw laden",
+3 -1
View File
@@ -2,6 +2,8 @@ OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "Paskiausiai susisiekta",
"Contacts Interaction" : "Sąveika su adresatais"
"Contacts Interaction" : "Sąveika su adresatais",
"Manages interaction between accounts and contacts" : "Tvarko sąveiką tarp paskyrų ir kontaktų",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Rinkti duomenis apie klientų ir kontaktų sąveiką ir pateikti adresų knygą duomenims"
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
+3 -1
View File
@@ -1,5 +1,7 @@
{ "translations": {
"Recently contacted" : "Paskiausiai susisiekta",
"Contacts Interaction" : "Sąveika su adresatais"
"Contacts Interaction" : "Sąveika su adresatais",
"Manages interaction between accounts and contacts" : "Tvarko sąveiką tarp paskyrų ir kontaktų",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Rinkti duomenis apie klientų ir kontaktų sąveiką ir pateikti adresų knygą duomenims"
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
}
+2
View File
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Skydelis",
"Dashboard app" : "Skydelio programėlė",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Pradėkite dieną informuotai\n\n„Nextcloud“ ataskaitų sritis yra jūsų dienos atspirties taškas, kuriame pateikiama artėjančių susitikimų, skubių el. laiškų, pokalbių žinučių, gaunamų bilietų, naujausių tviterio žinučių ir daug daugiau apžvalga! Žmonės gali pridėti norimus valdiklius ir pakeisti foną pagal savo skonį.",
"Weather" : "Orai",
"Status" : "Būsena",
"Good morning" : "Labas rytas",
@@ -19,6 +20,7 @@ OC.L10N.register(
"Edit widgets" : "Taisyti valdiklius",
"Get more widgets from the App Store" : "Parsisiųsti įskiepių iš App Store",
"Weather service" : "Orų tarnyba",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Dėl jūsų privatumo, {productName} serveris jūsų vardu užklausė orų duomenis, todėl orų tarnyba negauna jokios asmeninės informacijos.",
"Weather data from Met.no" : "Orų duomenys iš Met.no",
"geocoding with Nominatim" : "geografinis kodavimas naudojant Nominatim",
"elevation data from OpenTopoData" : "aukščio duomenys iš OpenTopoData"
+2
View File
@@ -1,6 +1,7 @@
{ "translations": {
"Dashboard" : "Skydelis",
"Dashboard app" : "Skydelio programėlė",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Pradėkite dieną informuotai\n\n„Nextcloud“ ataskaitų sritis yra jūsų dienos atspirties taškas, kuriame pateikiama artėjančių susitikimų, skubių el. laiškų, pokalbių žinučių, gaunamų bilietų, naujausių tviterio žinučių ir daug daugiau apžvalga! Žmonės gali pridėti norimus valdiklius ir pakeisti foną pagal savo skonį.",
"Weather" : "Orai",
"Status" : "Būsena",
"Good morning" : "Labas rytas",
@@ -17,6 +18,7 @@
"Edit widgets" : "Taisyti valdiklius",
"Get more widgets from the App Store" : "Parsisiųsti įskiepių iš App Store",
"Weather service" : "Orų tarnyba",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Dėl jūsų privatumo, {productName} serveris jūsų vardu užklausė orų duomenis, todėl orų tarnyba negauna jokios asmeninės informacijos.",
"Weather data from Met.no" : "Orų duomenys iš Met.no",
"geocoding with Nominatim" : "geografinis kodavimas naudojant Nominatim",
"elevation data from OpenTopoData" : "aukščio duomenys iš OpenTopoData"
+1 -1
View File
@@ -19,7 +19,7 @@ OC.L10N.register(
"Customize" : "Aanpassen",
"Edit widgets" : "Widgets bewerken",
"Get more widgets from the App Store" : "Haal meer widgets op uit de App Store",
"Weather service" : "Weerberichten",
"Weather service" : "Weer dienst",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Voor je privacy worden de weergegevens namens jou opgevraagd door je {productName} server, zodat de weer dienst geen persoonlijke informatie ontvangt.",
"Weather data from Met.no" : "Weerbericht via Met.no",
"geocoding with Nominatim" : "geocoding met Nominatim",
+1 -1
View File
@@ -17,7 +17,7 @@
"Customize" : "Aanpassen",
"Edit widgets" : "Widgets bewerken",
"Get more widgets from the App Store" : "Haal meer widgets op uit de App Store",
"Weather service" : "Weerberichten",
"Weather service" : "Weer dienst",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Voor je privacy worden de weergegevens namens jou opgevraagd door je {productName} server, zodat de weer dienst geen persoonlijke informatie ontvangt.",
"Weather data from Met.no" : "Weerbericht via Met.no",
"geocoding with Nominatim" : "geocoding met Nominatim",
+1 -1
View File
@@ -10,7 +10,7 @@
<name>WebDAV</name>
<summary>WebDAV endpoint</summary>
<description>WebDAV endpoint</description>
<version>1.37.0</version>
<version>1.38.0</version>
<licence>agpl</licence>
<author>owncloud.org</author>
<namespace>DAV</namespace>
+1 -2
View File
@@ -92,7 +92,6 @@ $server = $serverFactory->createServer(
}
$share = $authBackend->getShare();
$owner = $share->getShareOwner();
$isReadable = $share->getPermissions() & Constants::PERMISSION_READ;
$fileId = $share->getNodeId();
@@ -107,7 +106,7 @@ $server = $serverFactory->createServer(
Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
$rootFolder = Server::get(IRootFolder::class);
$userFolder = $rootFolder->getUserFolder($owner);
$userFolder = $rootFolder->getUserFolder($share->getSharedBy());
$node = $userFolder->getFirstNodeById($fileId);
if (!$node) {
throw new \Sabre\DAV\Exception\NotFound();
+1 -2
View File
@@ -99,7 +99,6 @@ $server = $serverFactory->createServer(true, $baseuri, $requestUri, $authPlugin,
}
$share = $authBackend->getShare();
$owner = $share->getShareOwner();
$isReadable = $share->getPermissions() & Constants::PERMISSION_READ;
$fileId = $share->getNodeId();
@@ -135,7 +134,7 @@ $server = $serverFactory->createServer(true, $baseuri, $requestUri, $authPlugin,
Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
$rootFolder = Server::get(IRootFolder::class);
$userFolder = $rootFolder->getUserFolder($owner);
$userFolder = $rootFolder->getUserFolder($share->getSharedBy());
$node = $userFolder->getFirstNodeById($fileId);
if (!$node) {
throw new NotFound();
@@ -210,6 +210,7 @@ return array(
'OCA\\DAV\\ConfigLexicon' => $baseDir . '/../lib/ConfigLexicon.php',
'OCA\\DAV\\Connector\\LegacyDAVACL' => $baseDir . '/../lib/Connector/LegacyDAVACL.php',
'OCA\\DAV\\Connector\\LegacyPublicAuth' => $baseDir . '/../lib/Connector/LegacyPublicAuth.php',
'OCA\\DAV\\Connector\\Sabre\\AddExtraHeadersPlugin' => $baseDir . '/../lib/Connector/Sabre/AddExtraHeadersPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\AnonymousOptionsPlugin' => $baseDir . '/../lib/Connector/Sabre/AnonymousOptionsPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\AppleQuirksPlugin' => $baseDir . '/../lib/Connector/Sabre/AppleQuirksPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\Auth' => $baseDir . '/../lib/Connector/Sabre/Auth.php',
@@ -389,6 +390,7 @@ return array(
'OCA\\DAV\\Migration\\Version1034Date20250605132605' => $baseDir . '/../lib/Migration/Version1034Date20250605132605.php',
'OCA\\DAV\\Migration\\Version1034Date20250813093701' => $baseDir . '/../lib/Migration/Version1034Date20250813093701.php',
'OCA\\DAV\\Migration\\Version1036Date20251202000000' => $baseDir . '/../lib/Migration/Version1036Date20251202000000.php',
'OCA\\DAV\\Migration\\Version1038Date20260302000000' => $baseDir . '/../lib/Migration/Version1038Date20260302000000.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',
@@ -225,6 +225,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\ConfigLexicon' => __DIR__ . '/..' . '/../lib/ConfigLexicon.php',
'OCA\\DAV\\Connector\\LegacyDAVACL' => __DIR__ . '/..' . '/../lib/Connector/LegacyDAVACL.php',
'OCA\\DAV\\Connector\\LegacyPublicAuth' => __DIR__ . '/..' . '/../lib/Connector/LegacyPublicAuth.php',
'OCA\\DAV\\Connector\\Sabre\\AddExtraHeadersPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/AddExtraHeadersPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\AnonymousOptionsPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/AnonymousOptionsPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\AppleQuirksPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/AppleQuirksPlugin.php',
'OCA\\DAV\\Connector\\Sabre\\Auth' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Auth.php',
@@ -404,6 +405,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Migration\\Version1034Date20250605132605' => __DIR__ . '/..' . '/../lib/Migration/Version1034Date20250605132605.php',
'OCA\\DAV\\Migration\\Version1034Date20250813093701' => __DIR__ . '/..' . '/../lib/Migration/Version1034Date20250813093701.php',
'OCA\\DAV\\Migration\\Version1036Date20251202000000' => __DIR__ . '/..' . '/../lib/Migration/Version1036Date20251202000000.php',
'OCA\\DAV\\Migration\\Version1038Date20260302000000' => __DIR__ . '/..' . '/../lib/Migration/Version1038Date20260302000000.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',
+1 -1
View File
@@ -228,8 +228,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "تعذر التحقُّق من إعداد خادم الويب عندك بالشكل الصحيح للسماح بمزامنة الملفات عبر WebDAV. يرجى التحقُّق يدوياً.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : " لم يتم تعيين السماح لخادمك السحابي بتزامن الملف، بسبب واجهة التأليف الموزع على الويب وتعيين الإصدار WebDAV غير متصلة.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "خادم الويب عندك مُهيّءٌ بالشكل الصحيح للسماح بمزامنة الملفات عبر WebDAV.",
"Migrated calendar (%1$s)" : "تقويم مُرحّل (%1$s)",
"Calendars including events, details and attendees" : "تحوي التقاويم الأحداث، و تفاصيلها، و الحُضُور",
"Migrated calendar (%1$s)" : "تقويم مُرحّل (%1$s)",
"Contacts and groups" : "جهات الاتصال والمجموعات",
"WebDAV" : "WebDAV",
"Absence saved" : "تمّ حفظ الغياب",
+1 -1
View File
@@ -226,8 +226,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "تعذر التحقُّق من إعداد خادم الويب عندك بالشكل الصحيح للسماح بمزامنة الملفات عبر WebDAV. يرجى التحقُّق يدوياً.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : " لم يتم تعيين السماح لخادمك السحابي بتزامن الملف، بسبب واجهة التأليف الموزع على الويب وتعيين الإصدار WebDAV غير متصلة.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "خادم الويب عندك مُهيّءٌ بالشكل الصحيح للسماح بمزامنة الملفات عبر WebDAV.",
"Migrated calendar (%1$s)" : "تقويم مُرحّل (%1$s)",
"Calendars including events, details and attendees" : "تحوي التقاويم الأحداث، و تفاصيلها، و الحُضُور",
"Migrated calendar (%1$s)" : "تقويم مُرحّل (%1$s)",
"Contacts and groups" : "جهات الاتصال والمجموعات",
"WebDAV" : "WebDAV",
"Absence saved" : "تمّ حفظ الغياب",
+1 -1
View File
@@ -169,8 +169,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Nun se pudo comprobar que'l sirvidor web se configurare afayadizamente pa permitir la configuración de ficheros per WebDAV. Compruébalo manualmente.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "El sirividor web nun ta configuráu afayadizamente pa permitir la sincronización de ficheros porque la interfaz WebDAV paez tar estropiada.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "El sirvidor web ta configuráu afayadizamente pa permitir la sincronización de ficheros per WebDAV.",
"Migrated calendar (%1$s)" : "Calendariu migráu (%1$s)",
"Calendars including events, details and attendees" : "Calendarios qu'inclúin eventos, detalles y asistentes",
"Migrated calendar (%1$s)" : "Calendariu migráu (%1$s)",
"Contacts and groups" : "Contautos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Guardóse l'ausencia",
+1 -1
View File
@@ -167,8 +167,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Nun se pudo comprobar que'l sirvidor web se configurare afayadizamente pa permitir la configuración de ficheros per WebDAV. Compruébalo manualmente.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "El sirividor web nun ta configuráu afayadizamente pa permitir la sincronización de ficheros porque la interfaz WebDAV paez tar estropiada.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "El sirvidor web ta configuráu afayadizamente pa permitir la sincronización de ficheros per WebDAV.",
"Migrated calendar (%1$s)" : "Calendariu migráu (%1$s)",
"Calendars including events, details and attendees" : "Calendarios qu'inclúin eventos, detalles y asistentes",
"Migrated calendar (%1$s)" : "Calendariu migráu (%1$s)",
"Contacts and groups" : "Contautos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Guardóse l'ausencia",
+1 -1
View File
@@ -165,8 +165,8 @@ OC.L10N.register(
"Due on %s" : "Краен срок на %s",
"WebDAV endpoint" : "WebDAV крайна точка",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Вашият уеб сървър все още не е удачно настроен да позволява синхронизация на файлове, защото WebDAV интерфейсът не работи.",
"Migrated calendar (%1$s)" : "Мигриран календар (%1$s)",
"Calendars including events, details and attendees" : "Календари, включително събития, подробности и участници",
"Migrated calendar (%1$s)" : "Мигриран календар (%1$s)",
"Contacts and groups" : "Контакти и групи",
"WebDAV" : "WebDAV",
"Absence saved" : "Отсъствието е запаметено",
+1 -1
View File
@@ -163,8 +163,8 @@
"Due on %s" : "Краен срок на %s",
"WebDAV endpoint" : "WebDAV крайна точка",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Вашият уеб сървър все още не е удачно настроен да позволява синхронизация на файлове, защото WebDAV интерфейсът не работи.",
"Migrated calendar (%1$s)" : "Мигриран календар (%1$s)",
"Calendars including events, details and attendees" : "Календари, включително събития, подробности и участници",
"Migrated calendar (%1$s)" : "Мигриран календар (%1$s)",
"Contacts and groups" : "Контакти и групи",
"WebDAV" : "WebDAV",
"Absence saved" : "Отсъствието е запаметено",
+1 -1
View File
@@ -228,8 +228,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "No s'ha pogut comprovar que el vostre servidor web estigui configurat correctament per a permetre la sincronització de fitxers mitjançant WebDAV. Comproveu-ho manualment.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "El vostre servidor web no està configurat correctament per a permetre la sincronització de fitxers perquè sembla que la interfície WebDAV no funciona correctament.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "El vostre servidor web està configurat correctament per a permetre la sincronització de fitxers mitjançant WebDAV.",
"Migrated calendar (%1$s)" : "Calendari migrat (%1$s)",
"Calendars including events, details and attendees" : "Calendaris amb esdeveniments, detalls i assistents",
"Migrated calendar (%1$s)" : "Calendari migrat (%1$s)",
"Contacts and groups" : "Contactes i grups",
"WebDAV" : "WebDAV",
"Absence saved" : "S'ha desat l'absència",
+1 -1
View File
@@ -226,8 +226,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "No s'ha pogut comprovar que el vostre servidor web estigui configurat correctament per a permetre la sincronització de fitxers mitjançant WebDAV. Comproveu-ho manualment.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "El vostre servidor web no està configurat correctament per a permetre la sincronització de fitxers perquè sembla que la interfície WebDAV no funciona correctament.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "El vostre servidor web està configurat correctament per a permetre la sincronització de fitxers mitjançant WebDAV.",
"Migrated calendar (%1$s)" : "Calendari migrat (%1$s)",
"Calendars including events, details and attendees" : "Calendaris amb esdeveniments, detalls i assistents",
"Migrated calendar (%1$s)" : "Calendari migrat (%1$s)",
"Contacts and groups" : "Contactes i grups",
"WebDAV" : "WebDAV",
"Absence saved" : "S'ha desat l'absència",
+3 -1
View File
@@ -236,6 +236,7 @@ OC.L10N.register(
"Failed to check file size: %1$s" : "Nepodařilo se zkontrolovat velikost souboru: %1$s",
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) zdá se, že soubor existuje",
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) zdá se, že soubor neexistuje",
"Failed to get size for : %1$s" : "Nepodařilo se získat velikost pro: %1$s",
"Encryption not ready: %1$s" : "Šifrování není připraveno: %1$s",
"Failed to open file: %1$s" : "Nepodařilo se otevřít soubor: %1$s",
"Failed to unlink: %1$s" : "Nepodařilo se zrušit propojení: %1$s",
@@ -252,6 +253,7 @@ OC.L10N.register(
"Completed on %s" : "Dokončeno %s",
"Due on %s by %s" : "Termín do %s od %s",
"Due on %s" : "Termín do %s",
"This is an example contact" : "Toto je kontakt pro ukázku",
"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." : "Vítejte v Nextcloud Kalendáři!\n\nToto je událost pro ukázku prozkoumejte flexibilitu plánování pomoc Nextcloud Kalendáře upravením čeho chcete!\n\nS Nextcloud Kalendářem je možné:\n- Jednoduše vytvářet, upravovat a spravovat události.\n- Vytvářet vícero kalendářů a sdílet je s kolegy, přáteli či rodinou.\n- Zjišťovat dostupnost a zobrazovat své doby nedostupnosti ostatním.\n- Hladce napojovat na aplikace a zřízení prostřednictvím CalDAV.\n- Přizpůsobit si svůj dojem z používání: plánovat opakující se události, upravovat notifikace a ostatní nastavení.",
"Example event - open me!" : "Událost pro ukázku otevřete ji!",
"System Address Book" : "Systémový adresář kontaktů",
@@ -268,8 +270,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Nepodařilo se zkontrolovat že vámi využívaný webový server je správně nastaven tak, aby umožňoval synchronizaci přes WebDAV. Zkontrolujte to ručně.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Váš webový server ještě není správně nastaven, pro umožnění synchronizace souborů, rozhraní WebDAV pravděpodobně není funkční.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Vámi využívaný webový server je správně nastaven pro umotnění synchronizace souborů přes WebDAV",
"Migrated calendar (%1$s)" : "Přesunut kalendář (%1$s)",
"Calendars including events, details and attendees" : "Kalendáře včetně událostí, podrobností a účastníků",
"Migrated calendar (%1$s)" : "Přesunut kalendář (%1$s)",
"Contacts and groups" : "Kontakty a skupiny",
"WebDAV" : "WebDAV",
"Absence saved" : "Nepřítomnost uložena",
+3 -1
View File
@@ -234,6 +234,7 @@
"Failed to check file size: %1$s" : "Nepodařilo se zkontrolovat velikost souboru: %1$s",
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) zdá se, že soubor existuje",
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) zdá se, že soubor neexistuje",
"Failed to get size for : %1$s" : "Nepodařilo se získat velikost pro: %1$s",
"Encryption not ready: %1$s" : "Šifrování není připraveno: %1$s",
"Failed to open file: %1$s" : "Nepodařilo se otevřít soubor: %1$s",
"Failed to unlink: %1$s" : "Nepodařilo se zrušit propojení: %1$s",
@@ -250,6 +251,7 @@
"Completed on %s" : "Dokončeno %s",
"Due on %s by %s" : "Termín do %s od %s",
"Due on %s" : "Termín do %s",
"This is an example contact" : "Toto je kontakt pro ukázku",
"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." : "Vítejte v Nextcloud Kalendáři!\n\nToto je událost pro ukázku prozkoumejte flexibilitu plánování pomoc Nextcloud Kalendáře upravením čeho chcete!\n\nS Nextcloud Kalendářem je možné:\n- Jednoduše vytvářet, upravovat a spravovat události.\n- Vytvářet vícero kalendářů a sdílet je s kolegy, přáteli či rodinou.\n- Zjišťovat dostupnost a zobrazovat své doby nedostupnosti ostatním.\n- Hladce napojovat na aplikace a zřízení prostřednictvím CalDAV.\n- Přizpůsobit si svůj dojem z používání: plánovat opakující se události, upravovat notifikace a ostatní nastavení.",
"Example event - open me!" : "Událost pro ukázku otevřete ji!",
"System Address Book" : "Systémový adresář kontaktů",
@@ -266,8 +268,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Nepodařilo se zkontrolovat že vámi využívaný webový server je správně nastaven tak, aby umožňoval synchronizaci přes WebDAV. Zkontrolujte to ručně.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Váš webový server ještě není správně nastaven, pro umožnění synchronizace souborů, rozhraní WebDAV pravděpodobně není funkční.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Vámi využívaný webový server je správně nastaven pro umotnění synchronizace souborů přes WebDAV",
"Migrated calendar (%1$s)" : "Přesunut kalendář (%1$s)",
"Calendars including events, details and attendees" : "Kalendáře včetně událostí, podrobností a účastníků",
"Migrated calendar (%1$s)" : "Přesunut kalendář (%1$s)",
"Contacts and groups" : "Kontakty a skupiny",
"WebDAV" : "WebDAV",
"Absence saved" : "Nepřítomnost uložena",
+1 -1
View File
@@ -236,8 +236,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Kunne ikke kontrollere, at din webserver er korrekt konfigureret til at tillade filsynkronisering over WebDAV. Tjek venligst manuelt.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Din webserver er endnu ikke sat korrekt op til at tillade filsynkronisering, fordi WebDAV-grænsefladen ser ud til at være i stykker.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Din webserver er korrekt konfigureret til at tillade filsynkronisering over WebDAV.",
"Migrated calendar (%1$s)" : "Migreret kalender (%1$s)",
"Calendars including events, details and attendees" : "Kalendere indeholdende begivenheder, detaljer og deltagere",
"Migrated calendar (%1$s)" : "Migreret kalender (%1$s)",
"Contacts and groups" : "Kontakter og grupper",
"WebDAV" : "WebDAV",
"Absence saved" : "Fraværet er gemt",
+1 -1
View File
@@ -234,8 +234,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Kunne ikke kontrollere, at din webserver er korrekt konfigureret til at tillade filsynkronisering over WebDAV. Tjek venligst manuelt.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Din webserver er endnu ikke sat korrekt op til at tillade filsynkronisering, fordi WebDAV-grænsefladen ser ud til at være i stykker.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Din webserver er korrekt konfigureret til at tillade filsynkronisering over WebDAV.",
"Migrated calendar (%1$s)" : "Migreret kalender (%1$s)",
"Calendars including events, details and attendees" : "Kalendere indeholdende begivenheder, detaljer og deltagere",
"Migrated calendar (%1$s)" : "Migreret kalender (%1$s)",
"Contacts and groups" : "Kontakter og grupper",
"WebDAV" : "WebDAV",
"Absence saved" : "Fraværet er gemt",
+2 -1
View File
@@ -253,6 +253,7 @@ OC.L10N.register(
"Completed on %s" : "Erledigt am %s",
"Due on %s by %s" : "Fällig am %s von %s",
"Due on %s" : "Fällig am %s",
"This is an example contact" : "Dies ist ein Beispielkontakt",
"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." : "Willkommen bei Nextcloud Calendar!\n\nDies ist ein Beispielereignis entdecke die Flexibilität der Planung mit Nextcloud Calendar und nimm beliebige Änderungen vor!\n\nMit Nextcloud Calendar kannst du:\n Ereignisse mühelos erstellen, bearbeiten und verwalten.\n Mehrere Kalender erstellen und mit Teamkollegen, Freunden oder der Familie teilen.\n Verfügbarkeit prüfen und deine Termine anderen anzeigen.\n Nahtlose Integration mit Apps und Geräten über CalDAV.\n Individuelle Gestaltung: Plane wiederkehrende Ereignisse, passe Benachrichtigungen und andere Einstellungen an.",
"Example event - open me!" : "Beispielereignis öffne mich!",
"System Address Book" : "Systemadressbuch",
@@ -269,8 +270,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Es konnte nicht überprüft werden, ob der Webserver ordnungsgemäß eingerichtet ist, um Dateisynchronisation über WebDAV zu ermöglichen. Bitte dies manuell überprüfen.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Der Webserver ist noch nicht hinreichend für Datei-Synchronisierung konfiguriert, da die WebDAV-Schnittstelle vermutlich nicht funktioniert.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Der Webserver ist ordnungsgemäß eingerichtet um Dateisynchronisation über WebDAV zu ermöglichen.",
"Migrated calendar (%1$s)" : "Migrierter Kalender (%1$s)",
"Calendars including events, details and attendees" : "Kalender mit Terminen, Details und Teilnehmern",
"Migrated calendar (%1$s)" : "Migrierter Kalender (%1$s)",
"Contacts and groups" : "Kontakte und Gruppen",
"WebDAV" : "WebDAV",
"Absence saved" : "Abwesenheit gespeichert",
+2 -1
View File
@@ -251,6 +251,7 @@
"Completed on %s" : "Erledigt am %s",
"Due on %s by %s" : "Fällig am %s von %s",
"Due on %s" : "Fällig am %s",
"This is an example contact" : "Dies ist ein Beispielkontakt",
"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." : "Willkommen bei Nextcloud Calendar!\n\nDies ist ein Beispielereignis entdecke die Flexibilität der Planung mit Nextcloud Calendar und nimm beliebige Änderungen vor!\n\nMit Nextcloud Calendar kannst du:\n Ereignisse mühelos erstellen, bearbeiten und verwalten.\n Mehrere Kalender erstellen und mit Teamkollegen, Freunden oder der Familie teilen.\n Verfügbarkeit prüfen und deine Termine anderen anzeigen.\n Nahtlose Integration mit Apps und Geräten über CalDAV.\n Individuelle Gestaltung: Plane wiederkehrende Ereignisse, passe Benachrichtigungen und andere Einstellungen an.",
"Example event - open me!" : "Beispielereignis öffne mich!",
"System Address Book" : "Systemadressbuch",
@@ -267,8 +268,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Es konnte nicht überprüft werden, ob der Webserver ordnungsgemäß eingerichtet ist, um Dateisynchronisation über WebDAV zu ermöglichen. Bitte dies manuell überprüfen.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Der Webserver ist noch nicht hinreichend für Datei-Synchronisierung konfiguriert, da die WebDAV-Schnittstelle vermutlich nicht funktioniert.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Der Webserver ist ordnungsgemäß eingerichtet um Dateisynchronisation über WebDAV zu ermöglichen.",
"Migrated calendar (%1$s)" : "Migrierter Kalender (%1$s)",
"Calendars including events, details and attendees" : "Kalender mit Terminen, Details und Teilnehmern",
"Migrated calendar (%1$s)" : "Migrierter Kalender (%1$s)",
"Contacts and groups" : "Kontakte und Gruppen",
"WebDAV" : "WebDAV",
"Absence saved" : "Abwesenheit gespeichert",
+2 -1
View File
@@ -253,6 +253,7 @@ OC.L10N.register(
"Completed on %s" : "Erledigt am %s",
"Due on %s by %s" : "Fällig am %s von %s",
"Due on %s" : "Fällig am %s",
"This is an example contact" : "Dies ist ein Beispielkontakt",
"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." : "Willkommen bei Nextcloud Calendar!\n\nDies ist ein Beispielereignis entdecken Sie die Flexibilität der Planung mit Nextcloud Calendar und nehmen Sie beliebige Änderungen vor!\n\nMit Nextcloud Calendar können Sie:\n Ereignisse mühelos erstellen, bearbeiten und verwalten.\n Mehrere Kalender erstellen und mit Teamkollegen, Freunden oder der Familie teilen.\n Verfügbarkeit prüfen und Ihre Termine anderen anzeigen.\n Nahtlose Integration mit Apps und Geräten über CalDAV.\n Individuelle Gestaltung: Planen Sie wiederkehrende Ereignisse, passen Sie Benachrichtigungen und andere Einstellungen an.",
"Example event - open me!" : "Beispielereignis öffne mich!",
"System Address Book" : "Systemadressbuch",
@@ -269,8 +270,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Es konnte nicht überprüft werden, ob Ihr Webserver ordnungsgemäß eingerichtet ist, um Dateisynchronisation über WebDAV zu ermöglichen. Bitte überprüfen Sie dies manuell.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ihr Webserver ist noch nicht hinreichend für Datei-Synchronisierung konfiguriert. Die WebDAV-Schnittstelle ist vermutlich defekt.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Ihr Webserver ist ordnungsgemäß eingerichtet um Dateisynchronisation über WebDAV zu ermöglichen.",
"Migrated calendar (%1$s)" : "Migrierter Kalender (%1$s)",
"Calendars including events, details and attendees" : "Kalender mit Terminen, Details und Teilnehmern",
"Migrated calendar (%1$s)" : "Migrierter Kalender (%1$s)",
"Contacts and groups" : "Kontakte und Gruppen",
"WebDAV" : "WebDAV",
"Absence saved" : "Abwesenheit gespeichert",
+2 -1
View File
@@ -251,6 +251,7 @@
"Completed on %s" : "Erledigt am %s",
"Due on %s by %s" : "Fällig am %s von %s",
"Due on %s" : "Fällig am %s",
"This is an example contact" : "Dies ist ein Beispielkontakt",
"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." : "Willkommen bei Nextcloud Calendar!\n\nDies ist ein Beispielereignis entdecken Sie die Flexibilität der Planung mit Nextcloud Calendar und nehmen Sie beliebige Änderungen vor!\n\nMit Nextcloud Calendar können Sie:\n Ereignisse mühelos erstellen, bearbeiten und verwalten.\n Mehrere Kalender erstellen und mit Teamkollegen, Freunden oder der Familie teilen.\n Verfügbarkeit prüfen und Ihre Termine anderen anzeigen.\n Nahtlose Integration mit Apps und Geräten über CalDAV.\n Individuelle Gestaltung: Planen Sie wiederkehrende Ereignisse, passen Sie Benachrichtigungen und andere Einstellungen an.",
"Example event - open me!" : "Beispielereignis öffne mich!",
"System Address Book" : "Systemadressbuch",
@@ -267,8 +268,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Es konnte nicht überprüft werden, ob Ihr Webserver ordnungsgemäß eingerichtet ist, um Dateisynchronisation über WebDAV zu ermöglichen. Bitte überprüfen Sie dies manuell.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ihr Webserver ist noch nicht hinreichend für Datei-Synchronisierung konfiguriert. Die WebDAV-Schnittstelle ist vermutlich defekt.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Ihr Webserver ist ordnungsgemäß eingerichtet um Dateisynchronisation über WebDAV zu ermöglichen.",
"Migrated calendar (%1$s)" : "Migrierter Kalender (%1$s)",
"Calendars including events, details and attendees" : "Kalender mit Terminen, Details und Teilnehmern",
"Migrated calendar (%1$s)" : "Migrierter Kalender (%1$s)",
"Contacts and groups" : "Kontakte und Gruppen",
"WebDAV" : "WebDAV",
"Absence saved" : "Abwesenheit gespeichert",
+1 -1
View File
@@ -268,8 +268,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Αδυναμία ελέγχου ότι ο διακομιστής σας είναι σωστά ρυθμισμένος για να επιτρέπει τον συγχρονισμό αρχείων μέσω WebDAV. Παρακαλώ ελέγξτε χειροκίνητα.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ο διακομιστής σας δεν έχει ρυθμιστεί ακόμη κατάλληλα ώστε να επιτρέπει τον συγχρονισμό αρχείων, διότι η διεπαφή WebDAV φαίνεται να μη λειτουργεί.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Ο διακομιστής σας είναι σωστά ρυθμισμένος για να επιτρέπει τον συγχρονισμό αρχείων μέσω WebDAV.",
"Migrated calendar (%1$s)" : "Μεταφερμένο ημερολόγιο (%1$s)",
"Calendars including events, details and attendees" : "Ημερολόγια συμπεριλαμβανομένων εκδηλώσεων, λεπτομερειών και συμμετεχόντων",
"Migrated calendar (%1$s)" : "Μεταφερμένο ημερολόγιο (%1$s)",
"Contacts and groups" : "Επαφές και ομάδες",
"WebDAV" : "WebDAV",
"Absence saved" : "Απουσία αποθηκεύτηκε",
+1 -1
View File
@@ -266,8 +266,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Αδυναμία ελέγχου ότι ο διακομιστής σας είναι σωστά ρυθμισμένος για να επιτρέπει τον συγχρονισμό αρχείων μέσω WebDAV. Παρακαλώ ελέγξτε χειροκίνητα.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ο διακομιστής σας δεν έχει ρυθμιστεί ακόμη κατάλληλα ώστε να επιτρέπει τον συγχρονισμό αρχείων, διότι η διεπαφή WebDAV φαίνεται να μη λειτουργεί.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Ο διακομιστής σας είναι σωστά ρυθμισμένος για να επιτρέπει τον συγχρονισμό αρχείων μέσω WebDAV.",
"Migrated calendar (%1$s)" : "Μεταφερμένο ημερολόγιο (%1$s)",
"Calendars including events, details and attendees" : "Ημερολόγια συμπεριλαμβανομένων εκδηλώσεων, λεπτομερειών και συμμετεχόντων",
"Migrated calendar (%1$s)" : "Μεταφερμένο ημερολόγιο (%1$s)",
"Contacts and groups" : "Επαφές και ομάδες",
"WebDAV" : "WebDAV",
"Absence saved" : "Απουσία αποθηκεύτηκε",
+2 -1
View File
@@ -253,6 +253,7 @@ OC.L10N.register(
"Completed on %s" : "Completed on %s",
"Due on %s by %s" : "Due on %s by %s",
"Due on %s" : "Due on %s",
"This is an example contact" : "This is an example contact",
"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." : "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.",
"Example event - open me!" : "Example event - open me!",
"System Address Book" : "System Address Book",
@@ -269,8 +270,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Your web server is not yet properly set up to allow file synchronisation, because the WebDAV interface seems to be broken.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Your web server is properly set up to allow file synchronization over WebDAV.",
"Migrated calendar (%1$s)" : "Migrated calendar (%1$s)",
"Calendars including events, details and attendees" : "Calendars including events, details and attendees",
"Migrated calendar (%1$s)" : "Migrated calendar (%1$s)",
"Contacts and groups" : "Contacts and groups",
"WebDAV" : "WebDAV",
"Absence saved" : "Absence saved",
+2 -1
View File
@@ -251,6 +251,7 @@
"Completed on %s" : "Completed on %s",
"Due on %s by %s" : "Due on %s by %s",
"Due on %s" : "Due on %s",
"This is an example contact" : "This is an example contact",
"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." : "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.",
"Example event - open me!" : "Example event - open me!",
"System Address Book" : "System Address Book",
@@ -267,8 +268,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Your web server is not yet properly set up to allow file synchronisation, because the WebDAV interface seems to be broken.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Your web server is properly set up to allow file synchronization over WebDAV.",
"Migrated calendar (%1$s)" : "Migrated calendar (%1$s)",
"Calendars including events, details and attendees" : "Calendars including events, details and attendees",
"Migrated calendar (%1$s)" : "Migrated calendar (%1$s)",
"Contacts and groups" : "Contacts and groups",
"WebDAV" : "WebDAV",
"Absence saved" : "Absence saved",
+1 -1
View File
@@ -236,8 +236,8 @@ OC.L10N.register(
"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." : "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)" : "Se migró el calendario (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Migrated calendar (%1$s)" : "Se migró el calendario (%1$s)",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Ausencia guardada",
+1 -1
View File
@@ -234,8 +234,8 @@
"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." : "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)" : "Se migró el calendario (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Migrated calendar (%1$s)" : "Se migró el calendario (%1$s)",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Ausencia guardada",
+1 -1
View File
@@ -167,8 +167,8 @@ OC.L10N.register(
"Due on %s" : "Vence el %s",
"WebDAV endpoint" : "Extremo WebDAV",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web aún no esta correctamente configurado para permitir la sincronización de archivos porque la interfaz WebDAV parece estar rota. ",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"First day" : "Primer día",
+1 -1
View File
@@ -165,8 +165,8 @@
"Due on %s" : "Vence el %s",
"WebDAV endpoint" : "Extremo WebDAV",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web aún no esta correctamente configurado para permitir la sincronización de archivos porque la interfaz WebDAV parece estar rota. ",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"First day" : "Primer día",
+1 -1
View File
@@ -190,8 +190,8 @@ OC.L10N.register(
"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 mediante WebDAV. Por favor, revíselo 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 aún no esta correctamente configurado 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 mediante WebDAV.",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Ausencia guardada",
+1 -1
View File
@@ -188,8 +188,8 @@
"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 mediante WebDAV. Por favor, revíselo 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 aún no esta correctamente configurado 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 mediante WebDAV.",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Ausencia guardada",
+3 -1
View File
@@ -236,6 +236,7 @@ OC.L10N.register(
"Failed to check file size: %1$s" : "Faili suuruse kontrollimine ei õnnestunud: %1$s",
"Could not open file: %1$s (%2$d), file does seem to exist" : "„%1$s“ (%2$d) faili avamine ei õnnestunud, aga tundub, et ta on olemas",
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "„%1$s“ (%2$d) faili avamine ei õnnestunud, tundub, et teda pole olemas",
"Failed to get size for : %1$s" : "Suuruse tuvastamine ei õnnestunud: %1$s",
"Encryption not ready: %1$s" : "Krüptimine pole veel kasutatav: %1$s",
"Failed to open file: %1$s" : "Faili avamine ei õnnestunud: %1$s",
"Failed to unlink: %1$s" : "Lingi eemaldamine ei õnnestunud: %1$s",
@@ -252,6 +253,7 @@ OC.L10N.register(
"Completed on %s" : "Lõpetatud %s",
"Due on %s by %s" : "Tähtaeg: %s, täitjaks %s",
"Due on %s" : "Tähtaeg: %s",
"This is an example contact" : "See on näidiskontakt",
"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." : "Tere tulemast Nextcloudi Kalendrisse!\n\nSee näidissündmus võimaldab sul tutvuda Nextcloudi Kalendri paindlikkusega oma aja plaanimisel - proovi teha igasuguseid muudatusi!\n\nNextcloudi Kalendriga saad sa:\n- vaevata luua, muuta ja hallata sündmusi,\n- koostada mitmeid kalendreid ning neid jagada tiimikaaslaste, sõprade ja perega,\n- kontrollida teiste vabu aega ja enda omi näidata teistele,\n- kasutada sujuvat CalDAV-i põhist lõimingut teiste rakenduste ja seadmetega,\n- kohendada kõike oma vajadustele: ajastades korduvaid sündmusi ning sättida teavitusi ja muid seadistusi.",
"Example event - open me!" : "Näidissündmus - klõpsi mind!",
"System Address Book" : "Süsteemiülene aadressiraamat",
@@ -268,8 +270,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Ei õnnestunud kontrollida, kas sinu veebiserver on korrektselt seadistatud ja võimaldab kasutada failide sünkroniseerimist WebDAV-i vahendusel. Palun kontrolli seda käsitsi.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Sinu veebiserver pole veel failide sünkroniseerimiseks vajalikult seadistatud, kuna WebDAV liides paistab olevat katki.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Sinu veebiserver on korrektselt seadistatud ja võimaldab kasutada failide sünkroniseerimist WebDAV-i vahendusel.",
"Migrated calendar (%1$s)" : "Ümberkolitud kalender (%1$s)",
"Calendars including events, details and attendees" : "Kalendrid, sealhulgas sündmused, üksikasjad ja osalejad",
"Migrated calendar (%1$s)" : "Ümberkolitud kalender (%1$s)",
"Contacts and groups" : "Kontaktid ja grupid",
"WebDAV" : "WebDAV",
"Absence saved" : "Äraoleku teave on salvestatud",
+3 -1
View File
@@ -234,6 +234,7 @@
"Failed to check file size: %1$s" : "Faili suuruse kontrollimine ei õnnestunud: %1$s",
"Could not open file: %1$s (%2$d), file does seem to exist" : "„%1$s“ (%2$d) faili avamine ei õnnestunud, aga tundub, et ta on olemas",
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "„%1$s“ (%2$d) faili avamine ei õnnestunud, tundub, et teda pole olemas",
"Failed to get size for : %1$s" : "Suuruse tuvastamine ei õnnestunud: %1$s",
"Encryption not ready: %1$s" : "Krüptimine pole veel kasutatav: %1$s",
"Failed to open file: %1$s" : "Faili avamine ei õnnestunud: %1$s",
"Failed to unlink: %1$s" : "Lingi eemaldamine ei õnnestunud: %1$s",
@@ -250,6 +251,7 @@
"Completed on %s" : "Lõpetatud %s",
"Due on %s by %s" : "Tähtaeg: %s, täitjaks %s",
"Due on %s" : "Tähtaeg: %s",
"This is an example contact" : "See on näidiskontakt",
"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." : "Tere tulemast Nextcloudi Kalendrisse!\n\nSee näidissündmus võimaldab sul tutvuda Nextcloudi Kalendri paindlikkusega oma aja plaanimisel - proovi teha igasuguseid muudatusi!\n\nNextcloudi Kalendriga saad sa:\n- vaevata luua, muuta ja hallata sündmusi,\n- koostada mitmeid kalendreid ning neid jagada tiimikaaslaste, sõprade ja perega,\n- kontrollida teiste vabu aega ja enda omi näidata teistele,\n- kasutada sujuvat CalDAV-i põhist lõimingut teiste rakenduste ja seadmetega,\n- kohendada kõike oma vajadustele: ajastades korduvaid sündmusi ning sättida teavitusi ja muid seadistusi.",
"Example event - open me!" : "Näidissündmus - klõpsi mind!",
"System Address Book" : "Süsteemiülene aadressiraamat",
@@ -266,8 +268,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Ei õnnestunud kontrollida, kas sinu veebiserver on korrektselt seadistatud ja võimaldab kasutada failide sünkroniseerimist WebDAV-i vahendusel. Palun kontrolli seda käsitsi.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Sinu veebiserver pole veel failide sünkroniseerimiseks vajalikult seadistatud, kuna WebDAV liides paistab olevat katki.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Sinu veebiserver on korrektselt seadistatud ja võimaldab kasutada failide sünkroniseerimist WebDAV-i vahendusel.",
"Migrated calendar (%1$s)" : "Ümberkolitud kalender (%1$s)",
"Calendars including events, details and attendees" : "Kalendrid, sealhulgas sündmused, üksikasjad ja osalejad",
"Migrated calendar (%1$s)" : "Ümberkolitud kalender (%1$s)",
"Contacts and groups" : "Kontaktid ja grupid",
"WebDAV" : "WebDAV",
"Absence saved" : "Äraoleku teave on salvestatud",
+1 -1
View File
@@ -236,8 +236,8 @@ OC.L10N.register(
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Ezin izan da egiaztatu zure zerbitzaria WebDAV bidezko fitxategi-sinkronizazioa onartzeko ondo konfiguratuta badagoen. Mesedez, egiaztatu ezazu eskuz.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta fitxategien sinkronizazioa baimentzeko, WebDAV interfazea puskatuta dagoela dirudi.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Zure web zerbitzaria WebDAV bidezko fitxategien sinkronizazioa onartzeko ondo konfiguratuta dago.",
"Migrated calendar (%1$s)" : "Migratutako egutegia (%1$s)",
"Calendars including events, details and attendees" : "Egutegiak, gertaerak, xehetasunak eta parte-hartzaileak barne",
"Migrated calendar (%1$s)" : "Migratutako egutegia (%1$s)",
"Contacts and groups" : "Kontaktuak eta taldeak",
"WebDAV" : "WebDAV",
"Absence saved" : "Absentzia gordeta",
+1 -1
View File
@@ -234,8 +234,8 @@
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Ezin izan da egiaztatu zure zerbitzaria WebDAV bidezko fitxategi-sinkronizazioa onartzeko ondo konfiguratuta badagoen. Mesedez, egiaztatu ezazu eskuz.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta fitxategien sinkronizazioa baimentzeko, WebDAV interfazea puskatuta dagoela dirudi.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Zure web zerbitzaria WebDAV bidezko fitxategien sinkronizazioa onartzeko ondo konfiguratuta dago.",
"Migrated calendar (%1$s)" : "Migratutako egutegia (%1$s)",
"Calendars including events, details and attendees" : "Egutegiak, gertaerak, xehetasunak eta parte-hartzaileak barne",
"Migrated calendar (%1$s)" : "Migratutako egutegia (%1$s)",
"Contacts and groups" : "Kontaktuak eta taldeak",
"WebDAV" : "WebDAV",
"Absence saved" : "Absentzia gordeta",

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