Compare commits

..

457 Commits

Author SHA1 Message Date
Kostiantyn Miakshyn 15a1b00028 feat: Add event to highlight active menu
Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
2025-03-03 16:42:06 +01:00
Joas Schilling 6cd3046369 Merge pull request #50942 from nextcloud/bugfix/noid/ignore-sensitivity-when-explicitly-scheduled
fix(cron): Ignore time sensitivity when a class was explicitely scheduled
2025-02-21 14:39:59 +01:00
Joas Schilling 6abd12cdd2 Merge pull request #50949 from nextcloud/ci/noid/run-some-autochecks-also-on-non-php-files
ci(autochecks): Run some autochecks also on non-PHP files
2025-02-21 13:02:07 +01:00
Joas Schilling 0fc355aa1e ci(autochecks): Run some autochecks also on non-PHP files
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-21 12:12:29 +01:00
John Molakvoæ 1fc458b3f9 Merge pull request #50946 from nextcloud/bugfix/noid/fix-triple-dot-translation
fix(l10n): Fix triple dot in translation
2025-02-21 12:02:52 +01:00
John Molakvoæ c9cdb86250 Merge pull request #50943 from nextcloud/fix/files-failed-node 2025-02-21 11:55:01 +01:00
nextcloud-command 5d14427d3a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-21 10:21:28 +00:00
Joas Schilling 34643fd71d fix(l10n): Fix triple dot in translation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-21 11:00:49 +01:00
skjnldsv b3335ad035 chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-21 10:49:52 +01:00
skjnldsv 4a96441437 fix(files): handle failed node properly
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-21 10:49:43 +01:00
Joas Schilling 72e3e13ac4 fix(cron): Ignore time sensitivity when a class was explicitely scheduled
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-21 10:45:40 +01:00
Stephan Orbaugh 33a12eb3af Merge pull request #50053 from nextcloud/fix/noid/thudnerbird-addon-useragent
fix: Change UserAgent to *cloud
2025-02-21 10:27:57 +01:00
Nextcloud bot bc1943da4b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-21 00:21:48 +00:00
Ferdinand Thiessen 136474400d Merge pull request #50918 from nextcloud/fix/map-sharee-information
fix(files_sharing): Map sharee information for `shared-by-you` view
2025-02-20 23:16:24 +01:00
John Molakvoæ f35af25e5d Merge pull request #50910 from nextcloud/fix/files_external-cred-dialog 2025-02-20 21:38:30 +01:00
skjnldsv 7370fe6f29 chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-20 20:16:01 +00:00
skjnldsv 11a5330214 fix(cypress): action selector menu lookup
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-20 20:58:52 +01:00
skjnldsv 3a9439d1e2 chore(cypress): also log the current server image sha
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-20 20:58:52 +01:00
skjnldsv 4621ddf293 fix(files_external): inline storage check improvements
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-20 20:58:52 +01:00
skjnldsv df005a53f0 chore(files_external): add cypress tests for user credentials action
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-20 20:58:52 +01:00
skjnldsv 7c73c5c058 fix(files_external): request strict password auth on credentials enter action
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-20 20:58:52 +01:00
Andy Scherzinger 047378e7b0 Merge pull request #50711 from nextcloud/fix/reminder-node-access
fix(files_reminders): Only allow updating reminders if the file is accessible
2025-02-20 17:42:29 +01:00
nextcloud-command 03fdcb728a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-20 16:35:14 +00:00
Marcel Klehr 74c2579078 Merge pull request #50916 from nextcloud/enh/make-tag-event-webhook-compatible
enh(SystemTag): Make MapperEvent webhook compatible
2025-02-20 17:29:24 +01:00
Ferdinand Thiessen d565ef4923 fix(files_sharing): Map sharee information for shared-by-you view
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 17:28:08 +01:00
Kate 4f50b5f337 Merge pull request #50922 from nextcloud/fix/show-deleted-team-shares 2025-02-20 15:57:37 +01:00
Andy Scherzinger fd591b0b9b fix(lint): remove whitespaces
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-02-20 15:34:49 +01:00
Christopher Ng 55351cfe32 fix(files_reminders): Check for node access when retrieving or removing reminders
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-02-20 15:34:48 +01:00
Christopher Ng cdf6db0016 fix(files_reminders): Only allow updating reminders if the file is accessible
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-02-20 15:34:48 +01:00
John Molakvoæ f5cc31cbd5 Merge pull request #50920 from nextcloud/fix/updateall
Revert "fix(files): updateAll method"
2025-02-20 15:19:05 +01:00
Ferdinand Thiessen 7e6608d119 fix(files_sharing): Also list deleted team shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 14:32:22 +01:00
skjnldsv 8ef69b189e chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-20 14:14:48 +01:00
skjnldsv 0e2f232deb Revert "fix(files): updateAll method"
This reverts commit fbec19c0d7.
2025-02-20 14:13:25 +01:00
Marcel Klehr a70071541e feat(SystemTag): Make MapperEvent webhook compatible
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-02-20 12:46:52 +01:00
Ferdinand Thiessen aa4a924519 Merge pull request #50886 from nextcloud/chore/update-nextcloud-vue-23_1
refactor: Update `@nextcloud/vue` to 8.23.1 and update imports
2025-02-20 03:08:48 +01:00
Ferdinand Thiessen 968b563eb0 chore: Add commit to git blame ignore revs
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 02:28:55 +01:00
Ferdinand Thiessen 4d21207b98 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 02:28:14 +01:00
Ferdinand Thiessen b06f5ba4c4 refactor: Migrate nextcloud-vue usage to new import schema
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 02:28:13 +01:00
Ferdinand Thiessen a7d50df79b chore: Update @nextcloud/vue to v8.23.1
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 02:28:13 +01:00
dependabot[bot] 5ff8a30d00 Merge pull request #50818 from nextcloud/dependabot/npm_and_yarn/dompurify-3.2.4 2025-02-20 00:26:41 +00:00
Nextcloud bot 3b45ba2630 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-20 00:22:09 +00:00
Ferdinand Thiessen 9b75352a87 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 00:44:49 +01:00
Ferdinand Thiessen 996035ced8 fix(systemtags): Fix invalid dompurify import
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 00:43:18 +01:00
dependabot[bot] a1f1dc0eac chore(deps): bump dompurify from 3.1.7 to 3.2.4
Dependabot couldn't find the original pull request head commit, e169f9704259661b4434e8924829d75785aa347f.

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-20 00:32:57 +01:00
Andy Scherzinger 82603f9708 Merge pull request #50827 from nextcloud/dependabot/composer/build/integration/behat/behat-3.19.0
bump behat/behat from 3.18.1 to 3.19.0 in /build/integration
2025-02-19 20:47:01 +01:00
Johannes Endres ae2cc23658 fix: Change UserAgent to *cloud
Co-authored-by: Daniel Kesselberg <mail@danielkesselberg.de>
Signed-off-by: Johannes Endres <je@johannes-endres.de>
2025-02-19 18:51:08 +01:00
Andy Scherzinger bdc043dd04 Merge pull request #50904 from nextcloud/fix/files-rename-folder
fix(files): do not show extension warning for folders renaming
2025-02-19 16:34:51 +01:00
nextcloud-command 6e3b30c789 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-19 15:06:06 +00:00
skjnldsv 99579f0bbc fix(files): do not show extension warning for folders renaming
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-19 15:35:50 +01:00
Christoph Wurst ff86bacaad Merge pull request #50896 from nextcloud/bugfix/noid/keep-job-class-limitation
fix(cron): Keep job class limitation when searching for the next job
2025-02-19 10:26:27 +01:00
Joas Schilling 73d94353d1 fix(cron): Keep job class limitation when searching for the next job
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-19 08:44:33 +01:00
Nextcloud bot 0d49af4f27 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-19 00:21:45 +00:00
Pytal 8c223b6703 Merge pull request #50820 from nextcloud/fix/public-share-expiration
fix(files_sharing): Fix public share expiration being set when toggle is not enabled
2025-02-18 14:34:20 -08:00
nextcloud-command 77edb25684 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-18 22:55:15 +01:00
Christopher Ng 611cad32e0 fix(files_sharing): Fix public share expiration being set when toggle is not enabled
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-02-18 22:55:15 +01:00
Ferdinand Thiessen 082e85f6da Merge pull request #50779 from nextcloud/chore/mailer-tests
test(Mailer): Align tests for mailer with stable30
2025-02-18 17:52:12 +01:00
Ferdinand Thiessen 9f108d8eb3 Merge pull request #50814 from nextcloud/fix/tags
fix(systemtags): do not hide if no tags
2025-02-18 17:40:39 +01:00
nextcloud-command 18c1fbc292 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-18 15:07:42 +00:00
skjnldsv 2774f04303 fix(systemtags): do not hide if no tags
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-18 16:01:24 +01:00
skjnldsv c87a6ba811 fix(files): attach sidebar to main content for vue debug
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-18 16:01:24 +01:00
dependabot[bot] eb3c639c6b bump behat/behat from 3.18.1 to 3.19.0 in /build/integration
---
updated-dependencies:
- dependency-name: behat/behat
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-18 14:31:46 +01:00
Ferdinand Thiessen fa7874f8cf Merge pull request #50873 from nextcloud/fix/download-perms
fix(files_sharing): block downloading if needed
2025-02-18 14:30:13 +01:00
Joas Schilling a80d7ce11d Merge pull request #50864 from nextcloud/fix/fix-psalm-taint-errors-2
fix: Fix psalm taint false-positives by small refactorings
2025-02-18 13:59:30 +01:00
John Molakvoæ 5d1bc70d51 Merge pull request #50807 from nextcloud/fix/redirect-openfile-param
fix(files): properly forward open params from short urls
2025-02-18 13:39:47 +01:00
Ferdinand Thiessen c19ce403f3 fix(files_sharing): block downloading if needed
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-18 11:58:12 +01:00
skjnldsv 66c8e70cc1 chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-18 11:09:25 +01:00
skjnldsv 4f795e144c fix(files): properly show file not found error
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-18 10:53:23 +01:00
skjnldsv 2e50a39265 fix(files): properly forward open params from short urls
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-18 10:53:23 +01:00
Nextcloud bot 8886f367e4 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-18 00:21:58 +00:00
Côme Chilliet e757b649b7 fix: Fix psalm taint false-positives by small refactorings
Mostly make it clear that we trust admin input or that we correctly
 escape strings.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 18:08:23 +01:00
Ferdinand Thiessen 9edabfa21f Merge pull request #50800 from nextcloud/fix/fix-psalm-taint-errors
fix: Fix psalm taint errors
2025-02-17 17:45:36 +01:00
Kate 737f832dde Merge pull request #50860 from nextcloud/bugfix/noid/fix-activity-parameter-types 2025-02-17 17:19:44 +01:00
Joas Schilling acac415121 fix(activity): Fix activity parameter types
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-17 15:55:31 +01:00
Côme Chilliet c1c59f9a6c chore: Add missing star in phpdoc comment
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:26:23 +01:00
Côme Chilliet 640dbd0b5e fix: Fix false-positive psalm taint errors when outputting plain text
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:26:23 +01:00
Côme Chilliet 7c907223d2 fix: Fix psalm taint false-positive by escaping trusted input
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:26:22 +01:00
Côme Chilliet fa108d5b54 fix: Correctly tag json encoding in BaseResponse to fix false-positive
…in psalm taint analysis

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:26:22 +01:00
Côme Chilliet aac79bad9b fix: Move config.php taint trust upstream directly in OC\Config class
This solves some false-positive psalm taint errors

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:26:20 +01:00
Côme Chilliet 25f38883f1 fix: Work around false-positive psalm taint error calling print_r in admin_audit
Same issue as var_export, print_r is listed as sink but it’s not when
 using return:true. Anyway, using the logger context feature is better.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:24:08 +01:00
Côme Chilliet 85fbd3eb0a fix: Work around psalm taint false-positive by not using var_export
var_export is listed as a taint sink because it may output stuff
 depending on the parameters. It was not the case here, but we can
 simply json_encode the result by passing it as context to the logger
 method rather than using var_export.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:24:08 +01:00
Côme Chilliet fec865cc29 chore: Correctly flag json encoding methods as escaping html and quotes
Especially with JSON_HEX_TAG it’s perfectly fine to echo JSON, and we
 only use it in JSON output anyway.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:24:07 +01:00
Côme Chilliet 579a337750 fix: Fix psalm taint error in L10N factory
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-17 15:24:07 +01:00
Stephan Orbaugh 509a53c36c Merge pull request #49872 from solonovamax/master
Update & Expand Meta Tags
2025-02-17 14:00:20 +01:00
solonovamax 9b9ea77035 feat(files_sharing): Add opengraph meta tags for multimedia, change opengraph type to website
- Adds the following opengraph tags
  - images:
    - `og:image:type`: the mimetype of the image file
  - audio:
    - `og:audio`: a direct link to the audio file
    - `og:audio:type`: the mimetype of the audio file
  - video:
    - `og:video`: a direct link to the video file
    - `og:video:type`: the mimetype of the video file
- Changes th `og:type` meta tag from `object` (which is not valid) to `website`

Signed-off-by: solonovamax <solonovamax@12oclockpoint.com>
2025-02-17 12:52:08 +01:00
solonovamax 6bcacff339 feat(files_sharing): Add twitter meta tags
Adds the following twitter meta tags
- `twitter:card`: `summary_large_image` if the shared file is an image & it has a preview, otherwise `summary`
- `twitter:title`: same as `og:title`
- `twitter:description`: same as `og:description`
- `twitter:image`: same as `og:image`

Fixes nextcloud/server#49871

Signed-off-by: solonovamax <solonovamax@12oclockpoint.com>
2025-02-17 12:52:08 +01:00
Ferdinand Thiessen 626e5bd93e Merge pull request #50798 from nextcloud/fix/login-error-state
fix(login): only show error state on login box if user interacted
2025-02-17 11:59:11 +01:00
Julien Veyssier cddcc17241 Merge pull request #50816 from nextcloud/fix/noid/transfer-ownership-select
fix(transferownership): Allow searching new owner by email
2025-02-17 11:53:37 +01:00
nextcloud-command c9545ff5d2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-17 10:37:15 +00:00
Julien Veyssier d8c24b1520 fix(transferownership): allow searching by email, display user.shareWithDisplayNameUnique in item subline, adjust style
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-02-17 11:31:25 +01:00
Kate 5b507561d3 Merge pull request #50791 from nextcloud/perf/remove-filecache-index
chore(filecache): remove index fs_id_storage_size
2025-02-17 11:31:12 +01:00
Ferdinand Thiessen 1138fd3110 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-17 10:51:51 +01:00
Ferdinand Thiessen 917b77a026 fix(login): only show error state on login box if user interacted
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-17 10:50:27 +01:00
Nextcloud bot 892c473b06 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-17 00:21:45 +00:00
Nextcloud bot a3886ba6b6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-16 00:44:56 +00:00
Git'Fellow b9f8539c63 Merge pull request #50809 from nextcloud/fixPhp83Deprecation
fix(repair): PHP8.3 deprecation warning
2025-02-15 12:06:28 +01:00
Nextcloud bot ba3868a403 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-15 00:21:54 +00:00
Christoph Wurst 228ac86fa2 Merge pull request #50769 from nextcloud/checkStorageIdSetCache
fix(SharedStorage): Check if storage ID is set on cache
2025-02-14 14:17:00 +01:00
Git'Fellow 885175772b fix(repair): PHP8.3 deprecation warning
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-02-14 11:55:19 +01:00
Nextcloud bot 20cedce95f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-14 00:22:05 +00:00
Daniel d865a2b3c4 Merge pull request #50784 from nextcloud/fix/issue-50054-resource-invite-regression
fix: Fix regression in calendar invitation sending
2025-02-13 21:08:59 +01:00
SebastianKrupinski aded11fe07 fix: Fix regression in calendar invitation sending
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-02-13 20:49:26 +01:00
Julius Knorr 8c69bf1219 Merge pull request #48738 from nextcloud/perf/log-high-memory-requests
perf: Log requests using high amount of memory as warning
2025-02-13 19:50:32 +01:00
dependabot[bot] b638c27723 Merge pull request #50801 from nextcloud/dependabot/npm_and_yarn/elliptic-6.6.1 2025-02-13 18:45:53 +00:00
dependabot[bot] f4a305110d chore(deps): bump elliptic from 6.6.0 to 6.6.1
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.6.0 to 6.6.1.
- [Commits](https://github.com/indutny/elliptic/compare/v6.6.0...v6.6.1)

---
updated-dependencies:
- dependency-name: elliptic
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-13 17:24:19 +00:00
Côme Chilliet d686cc7bcc Merge pull request #50577 from nextcloud/enh/apply-rector-set-to-apps
Enh/apply rector set to apps
2025-02-13 18:17:53 +01:00
Côme Chilliet b003af2364 Merge pull request #50794 from nextcloud/fix/fix-appmanager-cleanappid
fix: Only keep allowed characters in appid, and flag the method as escaping
2025-02-13 17:23:44 +01:00
Côme Chilliet 964bc960f8 chore: Update psalm-baseline-security.xml
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 16:27:13 +01:00
Côme Chilliet 6e7c97ea1f fix: Also remove digits at the start and underscore on both ends of appid
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2025-02-13 16:22:21 +01:00
Benjamin Gaussorgues c71bc0696f Merge pull request #50781 from nextcloud/perf/improve-incomplete-scan
perf(files): faster query to fetch incomplete directories
2025-02-13 15:21:25 +01:00
Côme Chilliet 8f57a50767 fix: Only keep allowed characters in appid, and flag the method as escaping
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 14:21:36 +01:00
Julius Knorr d31bc88a23 perf: Log requests using high amount of memory as warning
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-02-13 13:43:10 +01:00
Côme Chilliet fa42cd96dd chore(user_ldap): Add psalm-suppress for deprecated emit method calls
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 12:50:56 +01:00
Côme Chilliet 17fffdbbcb fix(settings): Inject subadmin manager and adapt tests, resolve a FIXME comment
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 12:48:12 +01:00
Côme Chilliet 64863c9d46 chore: Apply new rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:46:42 +01:00
Côme Chilliet 007335dadf chore(rector): Enable Nextcloud 25 set for the apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:45:39 +01:00
Côme Chilliet 6c1dd472f2 chore: Bump nextcloud/rector and rector versions
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:45:39 +01:00
Côme Chilliet ed5b7ae161 chore: re-apply current rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:45:33 +01:00
Benjamin Gaussorgues 3548bde384 chore(filecache): remove index fs_id_storage_size
Index is outdated by PR 50781

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-02-13 11:37:10 +01:00
Côme Chilliet ed9b47462f Merge pull request #49648 from nextcloud/fix/clarify-app-manager-methods
Clarify app manager method names
2025-02-13 11:33:52 +01:00
Côme Chilliet ee48cafd20 Merge pull request #50689 from nextcloud/fix/migrate-dav-to-events
fix(dav): Migrate from hooks to user events
2025-02-13 10:24:05 +01:00
Côme Chilliet f758f565d4 fix: Replace getInstalledApps calls with getEnabledApps
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:20 +01:00
Côme Chilliet a3685551f7 fix: Replace isInstalled calls with isEnabledForAnyone or isEnabledForUser
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +01:00
Côme Chilliet cffd2c8d09 chore: Improve naming of methods and properties in AppManager
Remove all references to installed apps where it’s about enabled apps

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +01:00
Côme Chilliet fb917c495b fix(ocp): Deprecate getInstalledApps and replace with clearer method name
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +01:00
Côme Chilliet d2864f7d84 fix(ocp): Deprecate isInstalled and add isEnabledForAnyone instead
The method name was really confusing

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:18 +01:00
Benjamin Gaussorgues 9bdee76535 perf(files): faster query to fetch incomplete directories
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-02-13 10:11:02 +01:00
Elizabeth Danzberger 6e1d9a2620 Merge pull request #50602 from nextcloud/fix/template-field-title
fix: template field title
2025-02-13 04:03:19 -05:00
Elizabeth Danzberger 729e278d38 chore: rebuild assets
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-02-13 09:39:55 +01:00
Elizabeth Danzberger 7db90efe3b fix(template-filler): Hide template fields with unknown labels
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-02-13 09:24:00 +01:00
Git'Fellow bc3be77a69 fix(SharedStorage): Check if storage ID is set on cache
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-02-13 08:29:20 +01:00
Nextcloud bot 4905255936 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-13 00:21:38 +00:00
Josh 84293441e8 test(Mailer): Align tests for mailer with stable30
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-12 13:29:58 +01:00
Andy Scherzinger f2b25a49a9 Merge pull request #50692 from nextcloud/useNameNotUrl
fix(emailTemplate): use instance Name instead of Url in subject
2025-02-12 12:25:22 +01:00
Git'Fellow a509494107 fix(emailTemplate): use instance Name instead of Url in subject
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-02-12 11:52:22 +01:00
Pytal 167a78ff54 Merge pull request #50081 from nextcloud/fix/undefined-application-key
fix(core): Fix undefined "application" array key error
2025-02-11 16:48:55 -08:00
Nextcloud bot 966166dabd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-12 00:22:26 +00:00
Christopher Ng 5786fcb3fb fix(core): Fix undefined "application" array key error in user layout
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-02-11 16:07:59 -08:00
Christopher Ng b684c180a9 fix(core): Fix undefined "application" array key error
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-02-11 16:07:59 -08:00
Daniel 90a1aea574 Merge pull request #50498 from nextcloud/bug/48678/restore-dav-error-response-2
Don't rethrow a type error
2025-02-11 17:28:44 +01:00
Robin Appelman 53749e06fc Merge pull request #50324 from nextcloud/shared-cache-watcher-update
fix: don't use cached root info from shared cache if the watcher has detected an update
2025-02-11 16:01:37 +01:00
Robin Appelman 4978cd3c21 fix: use relative paths for upload locks
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-11 14:38:27 +01:00
Robin Appelman 9e1ae74a1c fix: make locked exception path relative to the view
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-11 14:38:27 +01:00
Daniel Kesselberg 99ae669e39 fix: Replace the TypeError to prevent exposing the installation path
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-02-11 14:38:26 +01:00
Ferdinand Thiessen 5f423df9fd Merge pull request #50739 from nextcloud/feat/share-grid-view
feat(sharing): Allow to set default view mode for public shares
2025-02-11 11:59:03 +01:00
Joas Schilling 9f91668502 Merge pull request #50753 from nextcloud/bugfix/noid/ensure-translation-of-shipped-apps
fix(transifex): Adjust check for translation of apps
2025-02-11 10:06:18 +01:00
Joas Schilling 747bf1a241 fix(transifex): Adjust check for translation of apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-11 07:19:46 +01:00
Nextcloud bot 277418c70c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-11 00:21:46 +00:00
Ferdinand Thiessen dda2275464 Merge pull request #50735 from nextcloud/bugfix/noid/bump-php-dependency-update-versions
fix(setupcheck): Update setup check for PHP version to be more accurate
2025-02-10 19:45:57 +01:00
Ferdinand Thiessen d8a365c26f chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-10 18:58:59 +01:00
Ferdinand Thiessen 10265ba182 feat(sharing): Allow to set default view mode for public shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-10 18:57:38 +01:00
Côme Chilliet 355fef6ff9 fix(tests): Order card properties by name to avoid issues
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-10 16:08:21 +01:00
Côme Chilliet a4d7623ed7 chore: Update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-10 14:52:18 +01:00
Côme Chilliet 3289cbcbd3 fix: Fix UserTest to return valid configuration values
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-10 14:52:18 +01:00
Côme Chilliet 4924fe9a12 fix(dav): Migrate from hooks to user events
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-10 14:52:18 +01:00
Joas Schilling 0a6eeb497b fix(setupcheck): Update setup check for PHP version to be more accurate
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-10 11:50:09 +01:00
Nextcloud bot 402f5123d4 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-10 00:21:45 +00:00
Nextcloud bot a5a808f9a5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-09 00:21:42 +00:00
dependabot[bot] c3f19da157 Merge pull request #50729 from nextcloud/dependabot/npm_and_yarn/p-queue-8.1.0 2025-02-08 17:11:55 +00:00
dependabot[bot] d74f142bbb chore(deps): bump p-queue from 7.4.1 to 8.1.0
---
updated-dependencies:
- dependency-name: p-queue
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-08 16:22:06 +00:00
dependabot[bot] 6beae7ced8 Merge pull request #50730 from nextcloud/dependabot/npm_and_yarn/ts-loader-9.5.2 2025-02-08 15:18:57 +00:00
dependabot[bot] 8578b00e9a Merge pull request #50727 from nextcloud/dependabot/npm_and_yarn/cypress-split-1.24.9 2025-02-08 15:07:29 +00:00
Ferdinand Thiessen 50536e6ab3 Merge pull request #50680 from nextcloud/fix/files-public-share
fix(files): only send config update requests if user is logged in
2025-02-08 14:45:31 +01:00
dependabot[bot] 22c1735939 chore(deps-dev): bump cypress-split from 1.24.7 to 1.24.9
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.7 to 1.24.9.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.7...v1.24.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-08 13:34:44 +00:00
Ferdinand Thiessen 48bf91ac87 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-08 14:31:35 +01:00
Ferdinand Thiessen fc9108b11a fix(files): only send config update requests if user is logged in
Since we use the files app also for public shares it is not guaranteed
that there is a user logged in, in that case the update for user / view
config will fail.
So ensure there is a user or do not send a request.

Also refactor both stores to setup styles to fix (remove) initialization hack,
which causes Typescript issues.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-08 14:28:42 +01:00
dependabot[bot] beca0a19ee Merge pull request #50731 from nextcloud/dependabot/npm_and_yarn/cypress-if-1.13.2 2025-02-08 13:19:16 +00:00
Ferdinand Thiessen 2c79ce20aa Merge pull request #50708 from nextcloud/chore/master-searchdav
build(deps): Bump icewind/searchdav from 3.1.0 to 3.2.0
2025-02-08 13:59:41 +01:00
dependabot[bot] 86276e32f0 Merge pull request #50733 from nextcloud/dependabot/npm_and_yarn/pinia-2.3.1 2025-02-08 08:36:41 +00:00
dependabot[bot] a2904a4f70 chore(deps): bump pinia from 2.3.0 to 2.3.1
---
updated-dependencies:
- dependency-name: pinia
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-08 08:23:51 +00:00
dependabot[bot] c637753cac chore(deps-dev): bump cypress-if from 1.12.6 to 1.13.2
---
updated-dependencies:
- dependency-name: cypress-if
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-08 03:52:02 +00:00
dependabot[bot] edbd8f496e chore(deps-dev): bump ts-loader from 9.5.1 to 9.5.2
---
updated-dependencies:
- dependency-name: ts-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-08 03:23:17 +00:00
Nextcloud bot c63c4dbe45 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-08 00:21:42 +00:00
Ferdinand Thiessen fb73787f90 build(deps): Bump icewind/searchdav from 3.1.0 to 3.2.0
| Production Changes | From   | To     | Compare                                                                 |
|--------------------|--------|--------|-------------------------------------------------------------------------|
| icewind/searchdav  | v3.1.0 | v3.2.0 | [...](https://github.com/icewind1991/SearchDAV/compare/v3.1.0...v3.2.0) |

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-07 13:56:34 +01:00
John Molakvoæ f21ffabe0e Merge pull request #50364 from nextcloud/fix/files-header-submenu 2025-02-07 10:20:29 +01:00
skjnldsv d8df001f76 chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-07 10:07:00 +01:00
skjnldsv 73e4a13a1c chore(files): add actions cypress tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-07 10:07:00 +01:00
Nextcloud bot a7db692269 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-07 00:21:54 +00:00
Robin Appelman 65a10f281d test: add test for shared storage root being changed after watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-06 19:41:44 +01:00
Robin Appelman 2786ca579a fix: don't use cached root info from shared cache if the watcher has detected an update
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-06 19:41:43 +01:00
Joas Schilling 1211c03ee2 Merge pull request #50697 from nextcloud/admin-audit-listen-failed-login
feat(admin_audit): write admin audit log for AnyLoginFailedEvent
2025-02-06 19:13:20 +01:00
Louis f9c03f7606 Merge pull request #49955 from nextcloud/occ-upgrade-reminder
fix: when already upgrading, don't instruct to run `occ upgrade`
2025-02-06 16:32:42 +01:00
John Molakvoæ 796055e8b2 Merge pull request #48674 from nextcloud/jtr/fix-updater-cleanup-job-logging 2025-02-06 16:16:31 +01:00
John Molakvoæ 93c72f5675 Merge pull request #50660 from nextcloud/fix/mime-int
fix: make sure we process mime extensions as string
2025-02-06 16:13:27 +01:00
Luka Trovic 5750d2afd0 feat(admin_audit): write admin audit log for AnyLoginFailedEvent
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-02-06 15:39:14 +01:00
skjnldsv e10947a548 fix(files): support submenu in batch actions header too
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-06 15:25:37 +01:00
John Molakvoæ 1e30936b78 fix: psalm and OCP @since declarations
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-02-06 15:21:18 +01:00
Ferdinand Thiessen e71e58e06e Merge pull request #50678 from nextcloud/fix/harden-account-properties
fix(AccountProperty): better validation of twitter and fediverse handles
2025-02-06 14:40:21 +01:00
F. E Noel Nfebe 7af66eaf62 Merge pull request #50655 from nextcloud/fix/share-sidebar-bugs
enh: Fix display default expire date, add tests & tiny refactors
2025-02-06 13:50:57 +01:00
Côme Chilliet 9c3ef8eada Merge pull request #50567 from nextcloud/enh/ldap-add-test-settings-command
Add LDAP test settings command
2025-02-06 12:23:10 +01:00
nextcloud-command a5442526b5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-06 12:15:38 +01:00
nfebe af72b957b2 fix(files_sharing): Hide internal recommendations in external share input
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:38 +01:00
nfebe 3d090d2904 fix(files_sharing): Update QuickShareSelect if share is modified
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:38 +01:00
nfebe b16096343c test(files_sharing): Check that default expiration date is shown b4 create share
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:38 +01:00
nfebe a2d4be2ddb fix: Show default expiration date before create link share
Since `ShareEntryLink` component is used to both create and display/list the share links,
we should only set default expiration date on `share.expireDate` when we know is a new share.

Otherwise, we overidding data from the backend.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:38 +01:00
nfebe 8178797eb5 refactor: Remove some deprecated containers and exceptions
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:31 +01:00
Ferdinand Thiessen 241545bdd8 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 11:58:24 +01:00
Ferdinand Thiessen 460ceaac57 fix(settings): Also sanitize fediverse and twitter handle in the frontend
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 11:58:24 +01:00
Ferdinand Thiessen 2a0f81da53 fix(provisioning_api): Correct limit for editUser
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 11:58:24 +01:00
Ferdinand Thiessen 729cdf6818 fix(FediverseAction): Ensure valid fediverse links are generated
Harden also for existing values of the profile.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 11:58:24 +01:00
Ferdinand Thiessen fbef47a5d7 fix(AccountManager): Sanitize social media handles
Ensure to only accept valid X and fediverse handles.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 11:58:24 +01:00
Andy Scherzinger 9fffdf2851 Merge pull request #50666 from nextcloud/enh/noid/allow-disable-pwas
feat(theming): allow to disable standalone windows
2025-02-06 11:39:15 +01:00
Louis Chemineau 6744accdd9 chore: Run cs:fix
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-02-06 11:09:22 +01:00
Josh cd6ac0470e fix(updater): make clean-up job more robust / easier to debug
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-02-06 11:09:21 +01:00
Simon L. 0bd624d0fe feat(theming): allow to disable standalone windows
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-06 10:35:09 +01:00
Andy Scherzinger d05b5e3068 Merge pull request #50661 from nextcloud/chore/3rdparty-stecman-console
chore(deps): Bump stecman/symfony-console-completion
2025-02-06 07:20:51 +01:00
Ferdinand Thiessen 9e29adbed6 chore(deps): Bump stecman/symfony-console-completion from 0.13.0 to 0.14.0
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 02:40:39 +01:00
Ferdinand Thiessen c79ad186ca Merge pull request #50669 from nextcloud/fix/files-show-details-when-no-action
fix(files): Do not download files with openfile query flag
2025-02-06 02:28:47 +01:00
Ferdinand Thiessen 72e0bb779d Merge pull request #40105 from nextcloud/sftp-known-mtime
don't believe sftp when it tells us the mtime is less than we know it is
2025-02-06 02:21:34 +01:00
Ferdinand Thiessen fcdfb9ef4f chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 02:17:25 +01:00
Ferdinand Thiessen dbc5c10bc4 fix(files): Do not download files with openfile query flag
Instead of downloading files, if there is no other default action,
we should just open the details tab.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 02:17:25 +01:00
Nextcloud bot 24f2e93393 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-06 00:21:54 +00:00
Josh 724811adf8 fix: when already upgrading, don't instruct to run occ upgrade
Fixes #36289

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-02-05 22:57:40 +01:00
Andy Scherzinger c45736c566 Merge pull request #50193 from nextcloud/fix/oauth2/owncloud-migration
fix(oauth2): adjust db schemas when migrating from owncloud
2025-02-05 22:14:59 +01:00
Ferdinand Thiessen c5e24b5d79 Merge pull request #50582 from nextcloud/fix/scrolling-file-list
fix(files): Correctly scroll selected file into view
2025-02-05 22:14:28 +01:00
Richard Steinmetz 754a047404 fix(oauth2): adjust db schemas when migrating from owncloud
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-02-05 21:56:02 +01:00
Robin Appelman 1871296041 fix: don't believe sftp when it tells us the mtime is less than we know it is
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-05 20:50:19 +01:00
Ferdinand Thiessen 9ef48d7d5f chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-05 18:40:09 +01:00
Ferdinand Thiessen 5530cdd3fd test(files): Make scrolling tests independent from magic values
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-05 18:40:00 +01:00
Ferdinand Thiessen d9996b92dc fix(files): Correctly scroll selected file into view
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-05 18:40:00 +01:00
Ferdinand Thiessen 8fd6d8025f test: Add Cypress command for deleting files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-05 18:40:00 +01:00
Ferdinand Thiessen d600791805 Merge pull request #50653 from nextcloud/dependabot/npm_and_yarn/multi-843fc42519
chore(deps-dev): bump vitest and @vitest/coverage-v8
2025-02-05 14:57:48 +01:00
dependabot[bot] 8041ac09cd chore(deps-dev): bump vitest and @vitest/coverage-v8
Bumps [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). These dependencies needed to be updated together.

Updates `vitest` from 2.1.8 to 2.1.9
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.9/packages/vitest)

Updates `@vitest/coverage-v8` from 2.1.8 to 2.1.9
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.9/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: vitest
  dependency-type: direct:development
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-05 13:32:54 +01:00
skjnldsv 6baafd82b6 fix: make sure we process mime extensions as string
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-05 12:35:41 +01:00
John Molakvoæ 1407a1d1d2 Merge pull request #50657 from nextcloud/fix/highcontras-scrollbar 2025-02-05 10:03:34 +01:00
skjnldsv 6679c428f6 fix(theming): high contrast themes scrollbar
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-05 08:36:14 +01:00
Nextcloud bot 31b40aba25 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-05 00:21:48 +00:00
John Molakvoæ a2e05eeca3 Merge pull request #50645 from nextcloud/fix/refresh-convert-list 2025-02-04 17:45:49 +01:00
Ferdinand Thiessen c82bc0a5a3 Merge pull request #50642 from nextcloud/fix/proper-download-check
fix(sharing): better handle file share attributes
2025-02-04 16:48:50 +01:00
skjnldsv af405f6e1c chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-04 16:41:01 +01:00
skjnldsv 85ba80b8ce fix(files): properly update store on files conversions success
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-04 16:38:34 +01:00
Ferdinand Thiessen 73dc0f0f19 fix(sharing): Ensure download restrictions are not dropped
When a user receives a share with share-permissions but also with
download restrictions (hide download or the modern download permission attribute),
then re-shares of that share must always also include those restrictions.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-04 15:39:14 +01:00
Pytal 83e35b6991 Merge pull request #50635 from nextcloud/fix/files-wording
chore(files): Adjust wording
2025-02-04 05:16:49 -08:00
Marcel Klehr 1da3c25997 Merge pull request #50640 from nextcloud/fix/taskprocessing-cache
fix(TaskProcessing\Manager): Always use distributed cache and use PHP serialize
2025-02-04 13:35:27 +01:00
Marcel Klehr 319a4d2df8 fix(TaskProcessing\Manager): Always use distributed cache and use PHP serialize
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-02-04 13:04:43 +01:00
Marcel Klehr f127ab10da fix: lib/private/TaskProcessing/Manager.php
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-02-04 13:03:59 +01:00
Marcel Klehr 49a52126ab fix(TaskProcessing\Manager): Always use distributed cache and use PHP serialize
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-02-04 12:54:13 +01:00
nextcloud-command dca40e7766 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-04 11:26:39 +00:00
Christopher Ng 235671de0b chore(cypress): Finish comment
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-02-04 12:22:16 +01:00
Christopher Ng a447b21805 fix(files): Fix casing
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-02-04 12:22:16 +01:00
Christopher Ng ad9b07d85e chore(files): Change "filename" to "file name"
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-02-04 12:22:16 +01:00
Nextcloud bot 9223794d49 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-04 00:21:18 +00:00
F. E Noel Nfebe a53b431d1d Merge pull request #50592 from nextcloud/fix/noid/in-folder-search
fix(unified-search): filteredProviders now inherits all provider props
2025-02-03 17:03:46 +01:00
nextcloud-command 61e4cb5d4b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-03 15:28:27 +00:00
F. E Noel Nfebe 444401480d Merge branch 'master' into fix/noid/in-folder-search 2025-02-03 16:23:37 +01:00
Côme Chilliet 639d2f7664 Merge pull request #50604 from nextcloud/dependabot/github_actions/github-actions-96894264d4
chore(deps): bump the github-actions group with 2 updates
2025-02-03 14:22:49 +01:00
dependabot[bot] d5d8aed463 chore(deps): bump the github-actions group with 2 updates
Bumps the github-actions group with 2 updates: [actions/setup-node](https://github.com/actions/setup-node) and [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request).


Updates `actions/setup-node` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/39370e3970a6d050c480ffad4ff0ed4d3fdee5af...1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a)

Updates `peter-evans/create-pull-request` from 7.0.5 to 7.0.6
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v7.0.5...67ccf781d68cd99b580ae25a5c18a1cc84ffff1f)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 12:20:18 +00:00
Stephan Orbaugh 8aad48c6f9 Merge pull request #49016 from Keeper-of-the-Keys/occ-groups-list-single-group
Add the option to provide a groupname and only see its' members in occ group:list
2025-02-03 13:10:00 +01:00
nfebe d2fc45acbd fix(unified-search): filteredProviders now inherits all provider props
The main providers come from both the backend and client side plugins such as `in-folder` search.
The main providers may carry callbacks functions and other information that should be passed to the `filteredProviders`.
This is important because the current code does not make a distinction between `filteredProviders` and `providers`
rightly so, becuase they are the same thing!

Without the mentioned distinction above, sooner or later, we try to access a property on the `filteredProviders` which we
did not transfer with the manual property copy.

----

This fix prevents in-folder search from searching everywhere when "load more results" is clicked; Essentially ignoring the in-folder
search filter.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-03 12:48:00 +01:00
F. E Noel Nfebe e9cb6140de Merge pull request #50260 from nextcloud/enhancements/files-sharing-tests
chore : Comprehensive e2e testing for public sharing
2025-02-03 12:47:27 +01:00
nextcloud-command 6d37e16e3c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-02-03 12:38:06 +01:00
nfebe 667fb8b89f fix(files_sharing): Adjust wrong labeling identified by test
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-03 12:38:06 +01:00
nfebe d0a018b94f test(files_sharing): add e2e tests for public link sharing
This commit introduces end-to-end tests for various public link sharing scenarios in the `files_sharing` app. It validates the behavior under multiple configurations:

- Password and expiration date enforced
- Password enforced with a default expiration date
- Expiration date enforced with optional password
- Default password and expiration date without enforcement
- Password enforced, expiration date set but not enforced
- Both password and expiration date not enforced, but defaults set
- Password not enforced, expiration date enforced
- Password not enforced, default expiration date set
- Password and expiration date not enforced with no defaults

The tests ensure proper validation and functionality of the configurations, leveraging the `setupData` and `createShare` utilities.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-03 12:38:06 +01:00
nfebe c0db548954 refactor: Modularize setup-public-share.ts
This update enhances the testing framework for public sharing by
improving the setup and management of share contexts.
It refactors the code to make the `createShare` function reusable externally,
ensuring better testability and flexibility.
Additionally, the update optimizes share permission adjustments and
improves state management, making public share setups more efficient and maintainable.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-03 12:38:06 +01:00
Côme Chilliet 5e97a46f4c fix: Clearly document that the argument is a search string
It is not an exact match on the group id

Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2025-02-03 11:07:41 +01:00
Kate c38aa33db9 Merge pull request #50576 from nextcloud/fix/files/favorites-widget-folder-preview 2025-02-03 10:56:00 +01:00
Joas Schilling 8be4ad75b3 Merge pull request #50069 from michielbdejong/fix-36340
Fix OCM implementation has wrong parameter names
2025-02-03 10:45:46 +01:00
provokateurin 6ada9dda01 fix(files): Fix folder preview for favorites widget
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-02-03 10:25:15 +01:00
Nextcloud bot 87fd982a2d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-03 00:39:00 +00:00
Nextcloud bot b4bf4dc6af Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-02 00:22:22 +00:00
dependabot[bot] aef367f6d0 Merge pull request #50613 from nextcloud/dependabot/npm_and_yarn/cypress-split-1.24.7 2025-02-01 15:45:09 +00:00
dependabot[bot] 34c57d0b86 Merge pull request #50610 from nextcloud/dependabot/npm_and_yarn/testing-library/user-event-14.6.1 2025-02-01 08:56:36 +00:00
dependabot[bot] 3f5cfee3b4 chore(deps-dev): bump cypress-split from 1.24.0 to 1.24.7
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.0 to 1.24.7.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.0...v1.24.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-01 02:35:25 +00:00
dependabot[bot] 9f5456acfa chore(deps-dev): bump @testing-library/user-event from 14.5.2 to 14.6.1
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 14.5.2 to 14.6.1.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v14.5.2...v14.6.1)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-01 02:33:20 +00:00
Nextcloud bot 3a4f6b80fe Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-01 00:21:47 +00:00
Ferdinand Thiessen 6907b62d02 Merge pull request #50424 from nextcloud/fix/encryption-text
fix(settings): Clarify peculiarities of enabling encryption
2025-01-31 17:16:49 +01:00
Ferdinand Thiessen 78bec6f49e chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-31 16:44:11 +01:00
Ferdinand Thiessen cdaeb63862 fix(settings): Clarify peculiarities of enabling encryption
- Clarify that enabling server side encryption will not encrypt
  existing files but only new or changed files.
- Clarify that server side encryption can only be disabled using OCC
- Ensure there is accessible information of encryption state (`disabled`
  input will not be announced so make it `aria-disabled` instead)
- Make warning more prominent by moving it into a dialog

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-31 16:33:36 +01:00
F. E Noel Nfebe 8bc5ec1879 Merge pull request #50550 from nextcloud/fix/noid/fix-unified-search-provider-id
fix: unified search provider id
2025-01-31 12:33:30 +01:00
Nextcloud bot 566cecbcc4 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-31 00:22:18 +00:00
nfebe 8863b85420 fix: Use searchFrom property for client side plugins
The client-side plugin `in-folder` uses the `files` provider, this makes it
overlap with the main files provider itself.

This change follows eecda06f1a after it was discovered
that some apps/providers like `dav` use providers from another app like `contacts`

Signed-off-by: nfebe <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-30 17:35:00 +00:00
SebastianKrupinski bf5a54d132 fix: unified search provider id
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-30 16:36:50 +01:00
Kate b6f9356ccf Merge pull request #50292 from nextcloud/fix/federated-share-opening 2025-01-30 15:21:31 +01:00
Côme Chilliet 7fa117dd0f feat(user_ldap): Add a --clearcache option to ldap:test-user-settings
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-30 15:07:15 +01:00
provokateurin f1631c05ec chore: Compile assets
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-30 13:55:24 +01:00
provokateurin 51f52f5889 fix(files_sharing): Only clear permissions of pending federated shares
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-30 13:53:53 +01:00
provokateurin 4aede1b43d fix(files): Allow opening the same file repeatedly
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-30 13:53:53 +01:00
Côme Chilliet e094602311 fix(user_ldap): Remove redundant if check
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-30 13:47:09 +01:00
John Molakvoæ af8189f820 Merge pull request #50524 from nextcloud/fix/destination-drop-check 2025-01-30 13:07:28 +01:00
nextcloud-command e7d9985384 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-30 11:51:48 +00:00
skjnldsv 92f4506270 fix(files_sharing): file request form validity check reset
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-01-30 11:50:03 +00:00
Côme Chilliet 1098ef3b69 feat(user_ldap): Add command test-user-settings to test LDAP user settings
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-30 11:55:43 +01:00
Côme Chilliet e55806b546 feat(user_ldap): upstream common code into Proxy class and add public getters for backends
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-30 11:49:58 +01:00
Kate 16921d7ee1 Merge pull request #50530 from nextcloud/fix/convert-type 2025-01-30 11:43:40 +01:00
Julius Knorr 8604389ebe Merge pull request #50540 from nextcloud/fix/show-templates-folder-default
fix: Only hide template folder creation if default was changed to empty
2025-01-30 11:21:56 +01:00
Pytal 2a0a6b6600 Merge pull request #50553 from nextcloud/perf/check-node-type
perf(files): Check node type property instead of instance
2025-01-30 01:25:00 -08:00
Louis c89e139e71 Merge pull request #50519 from nextcloud/artonge/fix/access_list_unaccepted_shares
fix: Exclude non accepted shares when computing access list
2025-01-30 10:14:18 +01:00
Louis Chemineau b6c7c28585 fix: Exclude non accepted shares when computing access list
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-30 09:57:14 +01:00
Andy Scherzinger 4a7c0b3267 Merge pull request #50281 from nextcloud/fix/fix-email-setupcheck-with-null-smtpmode
fix(settings): Fix setup check when mail_smptmode is set to "null"
2025-01-30 09:33:24 +01:00
provokateurin d8cc8aae1a fix(ConvertType): Read hostname from arguments and not options
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-30 09:24:58 +01:00
Nils Wenninghoff cf5d55edb7 fix(ConvertType): Read dbtype in createConnectionParams and remove safeguard
Signed-off-by: Nils Wenninghoff <nils@ungemein.cool>
2025-01-30 09:24:58 +01:00
Julius Knorr be11c03fa0 fix: Only hide template folder creation if default was changed to empty
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-01-30 08:23:36 +01:00
Ferdinand Thiessen fce58d82fe Merge pull request #50503 from nextcloud/fix/theming-migration
fix(theming): Do not throw in background color migration
2025-01-30 01:25:20 +01:00
dependabot[bot] 4e9821f5c3 Merge pull request #49950 from nextcloud/dependabot/npm_and_yarn/testing-library/jest-dom-6.6.3 2025-01-30 00:14:28 +00:00
dependabot[bot] 8ad7350a6b Merge pull request #50137 from nextcloud/dependabot/composer/build/integration/behat/behat-3.18.1 2025-01-30 00:11:21 +00:00
nextcloud-command ac2a9438c2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-29 23:41:43 +00:00
Christopher Ng 7a8d069907 perf(files): Check node type property instead of instance
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-29 15:32:10 -08:00
Simon L. 52438f9254 Merge pull request #50551 from nextcloud/feat/workflow-auto-update-npm-audit-fix.yml
chore(CI): Updating npm-audit-fix.yml workflow from template
2025-01-29 23:05:45 +01:00
Nextcloud bot f3bb7ae666 chore(CI): Updating npm-audit-fix.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-29 21:36:09 +00:00
Michiel de Jong 995dfd1a57 Merge branch 'master' into fix-36340 2025-01-29 20:47:08 +01:00
Michiel de Jong dacb1d94d0 fix: copy sharedBy[DisplayName] to sender[DisplayName], fixes #36340
Signed-off-by: Michiel de Jong <michiel@pondersource.com>
2025-01-29 20:43:10 +01:00
Andy Scherzinger 3f45bc5ed3 Merge pull request #50514 from nextcloud/feat/s3/sse-c
feat(S3): add SSE-C support in S3 External Storage
2025-01-29 18:32:49 +01:00
dependabot[bot] 05008868c7 Merge pull request #49948 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.7.54 2025-01-29 15:10:42 +00:00
Ferdinand Thiessen bf7dc2f2e7 fix(theming): Do not throw in background color migration
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-29 15:32:43 +01:00
dependabot[bot] 9265d464d7 chore(deps-dev): bump @testing-library/jest-dom from 6.5.0 to 6.6.3
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.5.0 to 6.6.3.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.5.0...v6.6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-29 14:20:12 +00:00
dependabot[bot] 853cfa7070 chore(deps-dev): bump @zip.js/zip.js from 2.7.53 to 2.7.54
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.7.53 to 2.7.54.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.7.53...v2.7.54)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-29 15:15:51 +01:00
F. E Noel Nfebe 812f6f08fa Merge pull request #50515 from nextcloud/fix/show-share-recipient-in-mail
fix: Show recipient email addresses in share owner notification email
2025-01-29 14:35:41 +01:00
F. E Noel Nfebe 826e3ea2c1 Merge pull request #50129 from nextcloud/fix/load-more-than-5-items-in-folder-filter
fix(unified-search): load more than 5 items in folder filter
2025-01-29 14:32:58 +01:00
nextcloud-command 24b4bbd878 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-29 13:10:50 +00:00
nfebe a5307ac512 fix(unified-search): Prevent multiple file picker triggers in in-folder search
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-29 12:50:12 +01:00
nfebe d3dc6beb00 refactor: Drop deprecated use of defineStore
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-29 12:50:12 +01:00
nfebe eecda06f1a fix(unified-search): Use appId for searching
Each provider may search from a particular app so we should use that for searching.

Before this commit, we used `provider.id` instead of `provider.appId` the problem with the previous
approach is that it forces the provider id to be a valid search provider (an app that supports search)
limiting the developers ability to use unique IDs to identify the different providers (especially plugin providers)
inside the places filter.

For example the Files search plugin "In folder" (search in folder plugin) was required to have id as `files` while the
files provider itself already has id as `files`.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-29 12:50:12 +01:00
nfebe 72b6508d91 fix: Show recipient email addresses in share owner notification email
Previously, the share owner notification email did not display the recipient email addresses,
making it difficult for the owner to know who the share was sent to.
This fix ensures that the recipient email addresses are included in the notification email.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-29 12:42:43 +01:00
Louis 78ce66766b Merge pull request #50501 from nextcloud/artonge/fix/color_debounce
fix: Increase background and primary color debounce time
2025-01-29 12:25:12 +01:00
Louis a606b66dfe Merge pull request #50299 from nextcloud/artonge/fix/restoring_encrypted_version
fix(files_versions): Update `unencrypted_size` during rollback
2025-01-29 10:35:14 +01:00
nextcloud-command 7e6fbe8391 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-29 10:34:21 +01:00
Louis Chemineau 1a0fdaa01b fix: Increase background and primary color debounce time
This prevent flooding the server with requests

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-29 10:34:21 +01:00
Nextcloud bot 271552d70d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-29 00:22:04 +00:00
Andy Scherzinger dd66231a90 Merge pull request #50284 from nextcloud/icewind-smb-3.7
chore: update icewind/smb to 3.7.0
2025-01-28 23:32:42 +01:00
Richard Steinmetz f1c025dfd3 fix(s3): treat empty sse_c_key as not set
Co-authored-by: Christian Becker <christian@dabecka.de>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-01-28 22:59:59 +01:00
max-nextcloud 0741f6fb80 Merge pull request #50494 from nextcloud/fix/low-res-for-blurhash
fix(performance): use low resolution for blurhash
2025-01-28 22:58:30 +01:00
Christian Becker c25c5bbc00 feat(S3): add SSE-C support in S3 External Storage
Just need to add the parameter and fix two calls. All other logic is already implemented and implicitly called through the S3ConnectionTrait

fixes #33283

Signed-off-by: Christian Becker <christian@dabecka.de>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-01-28 22:57:59 +01:00
Richard Steinmetz baa40e6e19 Merge pull request #50490 from nextcloud/fix/noid/fifty-fifth
fix(CalDav): Spelling
2025-01-28 20:50:21 +01:00
Ferdinand Thiessen fb131c1831 Merge pull request #50436 from nextcloud/fix/encoding-wrapper-scanner
fix: Harden files scanner for invalid null access
2025-01-28 20:47:39 +01:00
Ferdinand Thiessen b48ee2e924 fix: Harden files scanner for invalid null access
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 20:08:46 +01:00
Ferdinand Thiessen e40b635b16 Merge pull request #50270 from nextcloud/fix/share-api-create--permissions
fix(files_sharing): Respect permissions passed when creating link shares
2025-01-28 18:24:12 +01:00
Ferdinand Thiessen 0baab8fd98 test: Reset sharing app config after test
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 16:40:50 +01:00
Ferdinand Thiessen 0a0f56282a fix(sharing): Move permission validation to share manager
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 16:40:50 +01:00
Ferdinand Thiessen 253f4345f1 fix(files_sharing): Respect permissions passed when creating link shares
Given:
User creates a link or email share with permissions=4 (create only = file drop).

Problem:
Currently the permissions are automatically extended to permissions = 5
(READ + CREATE). Work around was to create the share and directly update
it.

Solution:
Respect what the user is requesting, create a file drop share.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 16:40:50 +01:00
Louis Chemineau c87db7a960 fix(files_versions): Update unencrypted_size during rollback
This prevent restored version of encrypted files from having a wrong reported size. This was blocking download.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-28 15:28:34 +01:00
Louis Chemineau 5336c92ca5 chore(files_versions): Remove unused $node variable
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-28 15:28:34 +01:00
Max faaed68c04 fix(performance): use low resolution for blurhash
Improve blurhash performance by using a low res image.
The results are hard to destinguish visualy.
It is a **blur** hash after all.

Signed-off-by: Max <max@nextcloud.com>
2025-01-28 15:19:38 +01:00
John Molakvoæ 2c773033bc Merge pull request #50496 from nextcloud/skjnldsv-patch-1
fix(ci): cypress container name
2025-01-28 11:03:45 +01:00
John Molakvoæ 00922bae62 fix(ci): cypress container name
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-01-28 10:18:54 +01:00
Côme Chilliet e4e9dae4e6 Merge pull request #47889 from nextcloud/fix/settings-command
fix: `user:settings` command when user is not available
2025-01-28 09:37:16 +01:00
Nextcloud bot 0180e8c2ed Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-28 00:22:13 +00:00
SebastianKrupinski e93ac80386 fix(CalDav): Spelling
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-01-27 19:15:22 -05:00
Ferdinand Thiessen 5867231247 fix: user:settings command when user is not available
If `ignore-missing-user` all sub commands work, except listing all settings
for a user like `occ user:settings --ignore-missing-user user core`.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-27 20:51:04 +01:00
Andy Scherzinger 6dc83b96c4 Merge pull request #50293 from nextcloud/fix/harden-admin-settings
fix(theming): Harden admin theming settings
2025-01-27 18:55:36 +01:00
Maxence Lange c483a84e9b Merge pull request #49645 from nextcloud/fix/noid/clean-config-code
fix(config): drop value details
2025-01-27 16:54:20 -01:00
Ferdinand Thiessen 58eb0b91e9 Merge pull request #50446 from nextcloud/fix/unified-search-size
fix(unifiedsearch): Simplify and correct thumbnail styles
2025-01-27 18:41:20 +01:00
nextcloud-command 7a7aec142e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-27 18:17:53 +01:00
Ferdinand Thiessen c5c5f68f48 fix(unifiedsearch): Simplify and correct thumbnail styles
Ensure that the if a preview is available the maximum sizes are
respected (clickable area).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-27 18:17:53 +01:00
Daniel 4561b4eba1 Merge pull request #45364 from nextcloud/fix/ldap-avoid-false-positive-mapping
fix(user_ldap): Do not map groups we do not know if they match filter
2025-01-27 17:28:03 +01:00
Andy Scherzinger c4161548f9 Merge pull request #50464 from nextcloud/fix/50215/hideCreateTemplateFolder
Hide "Create templates folder" option if templates are disabled
2025-01-27 17:18:05 +01:00
Kate 2f862d1fcb Merge pull request #50221 from nextcloud/add-integration-tests-for-moving-a-file-from-and-to-a-shared-folder 2025-01-27 17:03:04 +01:00
nextcloud-command 49529f9e61 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-27 16:08:53 +01:00
Pawel Boguslawski c7bcfbf864 fix: Hide "Create templates folder" option if templates are disabled in configuration
When both `skeletondirectory` and `templatedirectory` are set to empty
strings in configuration, templates folder creation should be disabled
and no Create templates folder option should be present
in new folder menu.

Related: https://github.com/nextcloud/server/issues/39266
Related: https://github.com/nextcloud/server/issues/46455
Author-Change-Id: IB#1156403

Signed-off-by: Pawel Boguslawski <pawel.boguslawski@ib.pl>
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-01-27 16:08:53 +01:00
Andy Scherzinger b70654aeed Merge pull request #48581 from hammer065/fix/issue-35936
fix: Filter for folders in cleanup old preview job
2025-01-27 16:06:40 +01:00
Côme Chilliet de77415c70 fix(user_ldap): Do not map groups we do not know if they match filter
When nesting is enabled, filterValidGroups is supposed to check for each
 groups if it actually exist, because it may not be visible to
 Nextcloud. So in this codepath we disable automapping of groups.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-27 14:51:51 +01:00
Ferdinand Thiessen 8aa3a153ba chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-27 14:22:41 +01:00
Joas Schilling 510d897086 Merge pull request #50234 from nextcloud/bugfix/noid/allow-ratelimit-bypass
fix(ratelimit): Allow to bypass rate-limit from bruteforce allowlist
2025-01-27 14:20:23 +01:00
Ferdinand Thiessen 4dac813901 fix(theming): Ensure to only send valid URLs to backend
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-27 14:20:15 +01:00
Ferdinand Thiessen ff835faf7b fix(theming): Harden admin web link settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-27 14:20:14 +01:00
Daniel Calviño Sánchez b59c71ccf8 test: Add integration tests for moving a file from and to a shared folder
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-01-27 14:13:07 +01:00
Joas Schilling c1655bcde7 fix(ratelimit): Allow to bypass rate-limit from bruteforce allowlist
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-27 12:46:15 +01:00
Ferdinand Thiessen f5cd0cbd70 Merge pull request #50315 from nextcloud/chore/symfony-process
chore(3rdparty): Bump symfony/process from 6.4.12 to 6.4.15
2025-01-27 12:14:53 +01:00
Ferdinand Thiessen c81f18d100 chore(3rdparty): Bump symfony/process from 6.4.12 to 6.4.15
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-27 11:36:35 +01:00
Daniel e6598519e4 Merge pull request #50455 from nextcloud/bugfix/50443/fix-log-level-handling
fix(log): Fix log level handling
2025-01-27 11:21:11 +01:00
Kate e03b9ce5d2 Merge pull request #50298 from nextcloud/smb-hasupdated-deleted 2025-01-27 10:20:36 +01:00
Dario Mehlich 8c309130cf fix(preview): Filter for folders in cleanup old preview job
Fixes #35936.
When running `OC\Preview\BackgroundCleanupJob`, the main iteration loop
in `run()` expects a folder, however, `getOldPreviewLocations()`
currently does not filter by mimetype and therefore can yield a
non-folder entry which causes an Exception when constructing the Folder
impl.
Filtering for `httpd/unix-directory`, as `getNewPreviewLocations()`
already does, fixes this issue.

Signed-off-by: Dario Mehlich <d.mehlich@gmail.com>
2025-01-27 10:16:08 +01:00
Joas Schilling 0ba2913a95 fix(log): Fix log level handling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-27 05:05:17 +01:00
Nextcloud bot 29724ff27e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-27 00:21:42 +00:00
Andy Scherzinger 4145dedba0 Merge pull request #50425 from nextcloud/fix/openapi/outdated-specs
Fix outdated OpenAPI specs
2025-01-26 22:08:35 +01:00
Andy Scherzinger 68e7212c5a Merge pull request #48672 from nextcloud/jtr-settings-memory-limit-details
fix(settings): Add some context to the PHP memory limit error
2025-01-26 21:47:20 +01:00
Andy Scherzinger b99054ce58 Merge pull request #50447 from nextcloud/fix/share-label
fix: Ensure `label` is always a string
2025-01-26 20:58:24 +01:00
Ferdinand Thiessen 305e1bb260 fix: Ensure label is always a string
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-26 20:41:31 +01:00
Josh 8a7b1617d0 fix(settings): Add some context to the PHP memory limit error
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-01-26 17:54:19 +01:00
Andy Scherzinger 8981f32358 Merge pull request #50430 from nextcloud/fix/harden-thumbnail-endpoint
files: harden thumbnail endpoint
2025-01-26 16:18:34 +01:00
Andy Scherzinger fba7ef901a Merge pull request #49440 from nextcloud/fix-setupcheck-webfinger-400
fix(SetupChecks): Pass webfinger if the handler returns 400 too
2025-01-26 15:35:22 +01:00
Ferdinand Thiessen 3c357f80c4 chore(files): Deprecate thumbnail endpoint in favor of core preview endpoint
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-26 15:25:38 +01:00
Ferdinand Thiessen 08319ad5a6 fix(files): Harden thumbnail endpoint
- Catch all thrown exceptions and handle in such a way you do not get
  information about forbidden files.
- Resepect download permissions of shares.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-26 15:21:09 +01:00
Josh b452dc0697 fix(SetupChecks): Pass webfinger if a handler is there
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-01-26 13:03:05 +01:00
Maxence Lange 525eb8312b fix(config): drop value details
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-01-26 12:59:04 +01:00
Kate 6b6401f9c8 Merge pull request #48815 from nextcloud/automated/noid/master-fix-npm-audit 2025-01-26 12:11:03 +01:00
nextcloud-command 93e6394a4b fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-01-26 02:46:38 +00:00
Nextcloud bot 0a0ab5742c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-26 00:22:32 +00:00
Ferdinand Thiessen ea3c9f164c Merge pull request #50429 from nextcloud/dependabot/npm_and_yarn/puppeteer-24.1.1
chore(deps-dev): bump puppeteer from 23.10.4 to 24.1.1
2025-01-25 19:26:46 +01:00
dependabot[bot] 980cfa8ec1 chore(deps-dev): bump puppeteer from 23.10.4 to 24.1.1
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 23.10.4 to 24.1.1.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v23.10.4...puppeteer-v24.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-25 18:11:09 +00:00
dependabot[bot] 10b2a5dce6 Merge pull request #50336 from nextcloud/dependabot/npm_and_yarn/babel/node-7.26.0 2025-01-25 17:21:24 +00:00
Andy Scherzinger b11974321d Merge pull request #50320 from nextcloud/fix/node-vibrant
fix(theming): remove node-vibrant dependency and usage (was moved to backend)
2025-01-25 18:08:59 +01:00
Andy Scherzinger 77315cb9c7 Merge pull request #50426 from nextcloud/fix/49826/occ_hide_sensitive_values
fix(occ): hide sensitive data while config:app:set
2025-01-25 17:51:17 +01:00
Misha M.-Kupriyanov 65698ff086 fix(occ): hide sensitive data while config:app:set
in order to hide sensitive data from logs

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-01-25 17:19:31 +01:00
provokateurin e473a26676 fix(settings): Add back adminstration scope for LogSettingsController
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-25 17:16:39 +01:00
provokateurin 4ff46549ce chore(federation): Remove outdated OpenAPI spec
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-25 17:16:07 +01:00
nextcloud-command b2ece065f9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-25 16:15:10 +00:00
Ferdinand Thiessen d64dc1599c fix(theming): remove node-vibrant dependency and usage (was moved to backend)
The color extraction is handled by the backend nowadays, this was not
used by the backend anymore.
Reduce depdencies + compiled size + security warning on that dependency.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-25 17:10:21 +01:00
Robin Appelman 6e9600eb56 chore: update icewind/smb to 3.7.0
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-25 14:43:25 +01:00
F. E Noel Nfebe 09a50d4da4 Merge pull request #50399 from nextcloud/ehn/sharing-sidebar-hide-search-labels
feat: Use redundant label for accesibility only
2025-01-25 12:20:09 +01:00
nextcloud-command aff0f2502a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-25 12:04:19 +01:00
nfebe 148fdbf6e3 feat: Use redundant label for accessibility only
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-25 12:04:19 +01:00
Ferdinand Thiessen f33e9a96ae Merge pull request #50273 from nextcloud/artonge/fix/metadata_field_search
fix: Metadata field search
2025-01-25 10:43:59 +01:00
Marcel Klehr b0d1f2c489 Merge pull request #50331 from nextcloud/fix/perf/cache-avilable-taskt-types
fix(taskprocessing): More caching
2025-01-25 09:11:05 +01:00
Nextcloud bot 42d4d55c8e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-25 00:21:42 +00:00
Andy Scherzinger 93942d4763 Merge pull request #49639 from nextcloud/fix/49473/task-url
fix: adjust url for task links
2025-01-24 23:22:21 +01:00
Raimund Schlüßler 66e87fa455 fix(TasksSearchProviderTest): adjust deep link to Tasks app
Signed-off-by: Raimund Schlüßler <raimund.schluessler@mailbox.org>
2025-01-24 22:35:20 +01:00
Raimund Schlüßler fd1c18b456 fix: adjust url for task links
Signed-off-by: Raimund Schlüßler <raimund.schluessler@mailbox.org>
2025-01-24 22:35:20 +01:00
Andy Scherzinger 4aa16840f9 Merge pull request #50405 from nextcloud/fix/noid/ldap-no-connection-reason
fix(LDAP): also log why the connection to main server failed
2025-01-24 21:34:27 +01:00
Andy Scherzinger 229aeffae7 Merge pull request #50410 from nextcloud/dependabot/github_actions/github-actions-962ddf9a44
chore(deps): bump the github-actions group across 1 directory with 7 updates
2025-01-24 20:40:32 +01:00
dependabot[bot] c11880d9d6 chore(deps): bump the github-actions group across 1 directory with 7 updates
Bumps the github-actions group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.31.1` | `2.32.0` |
| [actions/setup-node](https://github.com/actions/setup-node) | `4.0.4` | `4.1.0` |
| [cypress-io/github-action](https://github.com/cypress-io/github-action) | `6.7.7` | `6.7.10` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.4.3` | `4.6.0` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.0.7` | `5.3.1` |
| [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) | `7.0.5` | `7.0.6` |
| [marcelklehr/get-github-handles-from-website-action](https://github.com/marcelklehr/get-github-handles-from-website-action) | `1.0.0` | `1.0.1` |



Updates `shivammathur/setup-php` from 2.31.1 to 2.32.0
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/c541c155eee45413f5b09a52248675b1a2575231...9e72090525849c5e82e596468b86eb55e9cc5401)

Updates `actions/setup-node` from 4.0.4 to 4.1.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.4...39370e3970a6d050c480ffad4ff0ed4d3fdee5af)

Updates `cypress-io/github-action` from 6.7.7 to 6.7.10
- [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/f1f0912d392f0d06bdd01fb9ebe3b3299e5806fb...7271bed2a170d73c0b08939cd192db51a1c46c50)

Updates `actions/upload-artifact` from 4.4.3 to 4.6.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882...65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08)

Updates `codecov/codecov-action` from 5.0.7 to 5.3.1
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v5.0.7...v5.3.1)

Updates `peter-evans/create-pull-request` from 7.0.5 to 7.0.6
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/5e914681df9dc83aa4e4905692ca88beb2f9e91f...67ccf781d68cd99b580ae25a5c18a1cc84ffff1f)

Updates `marcelklehr/get-github-handles-from-website-action` from 1.0.0 to 1.0.1
- [Release notes](https://github.com/marcelklehr/get-github-handles-from-website-action/releases)
- [Commits](https://github.com/marcelklehr/get-github-handles-from-website-action/compare/a739600f6b91da4957f51db0792697afbb2f143c...06b2239db0a48fe1484ba0bfd966a3ab81a08308)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: marcelklehr/get-github-handles-from-website-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 18:56:13 +00:00
Ferdinand Thiessen 6b4518c9f8 Merge pull request #50398 from nextcloud/fix/get-version-of-core
fix: Correctly return app id and app version for `core` styles and images
2025-01-24 19:11:15 +01:00
Arthur Schiwon 0815aa0591 fix(LDAP): also log why the connection to main server failed
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-01-24 18:55:10 +01:00
Andy Scherzinger d073afc25f Merge pull request #50353 from nextcloud/artonge/feat/skip-trash-header
feat: Support X-NC-Skip-Trashbin header
2025-01-24 18:53:10 +01:00
Louis Chemineau 2d02cb1ff4 feat: Support X-NC-Skip-Trashbin header
This is useful for clients that want to directly and permanently delete a file.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-24 18:04:36 +01:00
John Molakvoæ c8df47f089 Merge pull request #50368 from nextcloud/fix/version-channel 2025-01-24 17:13:13 +01:00
Marcel Klehr a6100021e3 fix(TaskProcessing): Cache providersById in getPreferredProviders
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-24 16:45:43 +01:00
Marcel Klehr c1db2eb0a9 fix: copypasta
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-24 16:45:43 +01:00
Marcel Klehr c489d7d8a5 fix(taskprocessing): cache provider settings in distributed cache as well
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-24 16:45:43 +01:00
Marcel Klehr 6f94ddc1d5 fix(taskprocessing): Fix tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-24 16:45:43 +01:00
Marcel Klehr d956e4a2ca fix(TaskProcessing\Manager): Cache the result of parsing JSON
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-24 16:45:43 +01:00
Marcel Klehr 0006bb8586 fix(taskprocessing): Cache result of getAvailableTaskTypes between requests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-24 16:45:43 +01:00
Ferdinand Thiessen eea91fa1ba fix(TemplateLayout): core is not an app but the server itself
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-24 15:10:23 +01:00
Julius Knorr caf074eb3e fix: Properly read updater channel before returning version channel as a fallback
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-01-24 14:49:58 +01:00
Ferdinand Thiessen 31664b3edd fix: Correctly return app id and app version for core styles and images
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-24 13:08:31 +01:00
Joas Schilling 28899e11d1 Merge pull request #50394 from nextcloud/bugfix/noid/fix-translation-reuse
ci(reuse): Fix translation reuse mapping
2025-01-24 11:44:10 +01:00
Joas Schilling 9276790e6e ci(reuse): Fix translation reuse mapping
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-24 11:15:27 +01:00
Joas Schilling 5593da4e05 Merge pull request #50376 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2025-01-24 11:01:00 +01:00
Stephan Orbaugh bd3877c7c0 Merge pull request #50389 from nextcloud/revert/share-node-accessible
Revert "fix(Share20\Manager): Ensure node is still accessible when checking share"
2025-01-24 10:46:47 +01:00
provokateurin dcb370ab62 Revert "fix(Share20\Manager): Ensure node is still accessible when checking share"
This reverts commit c2ca99e2f6.

Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-24 09:41:14 +01:00
Marcel Klehr d7ce5d4f94 Merge pull request #46780 from nextcloud/fix/taskprocessing-better-errors
fix(TaskProcessing): Catch JSON encode errors in Manager#setTaskResult
2025-01-24 09:14:51 +01:00
nextcloud-command 79db914ebe fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2025-01-24 02:27:34 +00:00
Nextcloud bot 4c6ecc6f15 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-24 00:21:11 +00:00
F. E Noel Nfebe 8e499d75a6 Merge pull request #50366 from nextcloud/fix/50363/correct-system-tags-i18n
fix(systemtags): Use literal strings for i18n in showSuccess
2025-01-23 23:53:36 +01:00
F. E Noel Nfebe 53e6eee50f Merge pull request #50282 from nextcloud/refactor/48925/sharing-sidebar-redesign
refactor: Sharing sidebar UI redesign
2025-01-23 23:53:18 +01:00
nextcloud-command 7ec7a4fe31 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-23 23:36:30 +01:00
nfebe 5ee354f155 feat: Only show show inherited shares section if present
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-23 23:36:29 +01:00
nfebe 14573fc96c feat: Improve create link texts
Use `Create public link` for first link share creation

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-23 23:36:29 +01:00
nfebe 33eaf9ca4d feat(files_sharing): Modularize SharingInput to adapt with share sections
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-23 23:36:29 +01:00
nfebe ae854e0dd2 refactor(files_sharing): Split internal & external shares
Create two seperate sections for internal and external shares.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-23 23:36:29 +01:00
Thomas Lehmann fde013b3c7 refactor(files_sharing): move deprecated projects component
Primarily to move it out of the way for changes in the source location.

The feature was deprecated in version 25 (#28320), five versions ago.

Refs: #48925
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-23 23:36:03 +01:00
nextcloud-command 72cb01dde7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-23 23:32:08 +01:00
nfebe 43ae402487 fix(systemtags): Use literal strings for i18n in showSuccess
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-23 23:32:08 +01:00
Richard Steinmetz e54c07843c Merge pull request #50369 from nextcloud/fix/dav/first-login-listener
fix(dav): default calendar and address book not created on first login
2025-01-23 22:21:34 +01:00
Richard Steinmetz d3126cd1bb fix(dav): default calendar and address book not created on first login
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-01-23 22:02:52 +01:00
Richard Steinmetz c28464ef0d Merge pull request #50365 from nextcloud/skjnldsv-patch-1
chore: add profile translations reuse license
2025-01-23 21:59:48 +01:00
Arthur Schiwon 60e8503226 Merge pull request #50362 from nextcloud/fix/noid/revert-api-breaking-return-type
fix: remove return type
2025-01-23 20:27:00 +01:00
Anna Larch 1562db80b1 fix: remove typing and return type
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-01-23 18:34:19 +01:00
John Molakvoæ 11097ff8ed chore: add profile translations reuse license
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-01-23 17:58:17 +01:00
Nextcloud bot 4d61fd2e5a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-23 13:39:30 +00:00
Joas Schilling 709fd2fb7a Merge pull request #50355 from nextcloud/bugfix/noid/fix-translations-of-profile-and-webhook-listener
fix(translations): Fix profile and webhook_listeners
2025-01-23 14:08:48 +01:00
Joas Schilling 6e396653d9 fix(translations): Fix profile and webhook_listeners
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 14:06:52 +01:00
John Molakvoæ baaa8e0b21 Merge pull request #50318 from nextcloud/chore/cypress-typos 2025-01-23 13:53:55 +01:00
Marcel Klehr 4fc0369984 fix(TaskProcessing): Catch JSON encode errors in Manager#setTaskResult
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-23 11:41:06 +01:00
dependabot[bot] 53d922588d chore(deps-dev): bump @babel/node from 7.25.7 to 7.26.0
Bumps [@babel/node](https://github.com/babel/babel/tree/HEAD/packages/babel-node) from 7.25.7 to 7.26.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.0/packages/babel-node)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 09:24:44 +00:00
John Molakvoæ 108972a542 Merge pull request #50330 from nextcloud/chore/master-is-now-32 2025-01-23 09:56:41 +01:00
Joas Schilling c8abc73b53 fix: Adjust issue template
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 09:11:30 +01:00
Joas Schilling b2759840e9 build: Rebuild core-common.js
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 09:02:05 +01:00
Joas Schilling e311ea6546 ci: Setup dependabot for 3rdparty stable31
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 09:01:26 +01:00
Joas Schilling 4ad215de99 chore: Bump app versions and requirements
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 08:56:06 +01:00
Joas Schilling 131f4120f0 chore: Bump Nextcloud version
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 08:45:01 +01:00
Joas Schilling 3302f1461f fix(security): Update .well-known/security.txt expiration date
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 08:42:30 +01:00
Joas Schilling fbf8b80efa ci: Add stable31 to CI and skip stable28
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 08:38:35 +01:00
Ferdinand Thiessen ed852118ac chore(tests): Make linter happy in cypress tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-22 16:11:47 +01:00
Robin Appelman 4179abdb81 fix: detect deleted items as updated for smb storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-21 17:56:46 +01:00
Côme Chilliet b8de5e0d09 fix(settings): Fix setup check when mail_smptmode is set to "null"
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-20 17:12:19 +01:00
Louis Chemineau a635710117 fix: Metadata field search
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-20 14:41:55 +01:00
dependabot[bot] f5ee945bbf build(deps-dev): bump behat/behat in /build/integration
Bumps [behat/behat](https://github.com/Behat/Behat) from 3.16.0 to 3.18.1.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.16.0...v3.18.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-11 02:33:07 +00:00
E.S. Rosenberg a.k.a. Keeper of the Keys c7acab5bf7 Add the option to provide a groupname and only see its' members.
Improvements/TODO:
1. Fail/return error if group doesn't exist
2. Only print the members and not the groupname

Signed-off-by: E.S. Rosenberg a.k.a. Keeper of the Keys <es.rosenberg+github@gmail.com>
2025-01-08 20:14:07 +01:00
1788 changed files with 19022 additions and 9808 deletions
+2
View File
@@ -15,3 +15,5 @@ af6de04e9e141466dc229e444ff3f146f4a34765
9836e9b16484582d309c8437ab46d82e34956941
# Automated refactorings
49dd79eabb2b8902559a7a4e8f8fcad54f46b604
# @nextcloud/vue import paths
b06f5ba4c47450f355a8903c1a93ac68e8c6cfc2
+4 -4
View File
@@ -70,9 +70,9 @@ body:
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "28"
- "29"
- "30"
- "31"
- "master"
validations:
required: true
@@ -95,10 +95,10 @@ body:
Select PHP engine version serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "PHP 8.4"
- "PHP 8.3"
- "PHP 8.2"
- "PHP 8.1"
- "PHP 8.0"
- "Other"
- type: dropdown
id: webserver
@@ -132,8 +132,8 @@ body:
description: |
Select if bug is present after an update or on a fresh install.
options:
- "Updated from a MINOR version (ex. 28.0.1 to 28.0.2)"
- "Upgraded to a MAJOR version (ex. 28 to 29)"
- "Updated from a MINOR version (ex. 32.0.1 to 32.0.2)"
- "Upgraded to a MAJOR version (ex. 31 to 32)"
- "Fresh Nextcloud Server install"
- type: dropdown
id: encryption
+24 -24
View File
@@ -114,25 +114,6 @@ updates:
- "3. to review"
- "feature: dependencies"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable28
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: npm
directory: "/"
schedule:
@@ -171,23 +152,24 @@ updates:
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: composer
directory: "/build/integration"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable28
target-branch: stable31
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: composer
directory: "/build/integration"
@@ -225,6 +207,24 @@ updates:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable31
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
+32 -5
View File
@@ -37,7 +37,7 @@ jobs:
- 'composer.lock'
- '**.php'
autocheckers:
autoloader:
runs-on: ubuntu-latest
needs: changes
@@ -51,12 +51,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.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
@@ -71,6 +72,32 @@ jobs:
- name: Check auto loaders
run: bash ./build/autoloaderchecker.sh
autocheckers:
runs-on: ubuntu-latest-low
strategy:
matrix:
php-versions: ['8.1']
name: Translation and Files checkers
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.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
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check translations are JSON decodeable
run: php ./build/translation-checker.php
@@ -87,7 +114,7 @@ jobs:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, autocheckers]
needs: [changes, autoloader, autocheckers]
if: always()
@@ -95,4 +122,4 @@ jobs:
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.autocheckers.result != 'success' }}; then exit 1; fi
run: if ${{ needs.autocheckers.result != 'success' || (needs.changes.outputs.src != 'false' && needs.autoloader.result != 'success') }}; then exit 1; fi
+1 -1
View File
@@ -120,7 +120,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
+6 -6
View File
@@ -64,7 +64,7 @@ jobs:
fallbackNpm: "^10"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -110,7 +110,7 @@ jobs:
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
@@ -121,7 +121,7 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@f1f0912d392f0d06bdd01fb9ebe3b3299e5806fb # v6.7.7
uses: cypress-io/github-action@7271bed2a170d73c0b08939cd192db51a1c46c50 # v6.7.10
with:
# We already installed the dependencies in the init job
install: false
@@ -143,7 +143,7 @@ jobs:
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
if: always()
with:
name: snapshots_videos_${{ matrix.containers }}
@@ -156,7 +156,7 @@ jobs:
run: docker logs nextcloud-cypress-tests_${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
if: failure() && matrix.containers != 'component'
with:
name: nc_logs_${{ matrix.containers }}
@@ -167,7 +167,7 @@ jobs:
run: docker exec nextcloud-cypress-tests_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data dir archive
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}
+2 -2
View File
@@ -68,7 +68,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@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -100,7 +100,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
+4 -4
View File
@@ -65,7 +65,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -98,7 +98,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
flags: phpunit-files-external-s3
@@ -140,7 +140,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -165,7 +165,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
flags: phpunit-files-external-s3
+2 -2
View File
@@ -64,7 +64,7 @@ jobs:
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -89,7 +89,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
+2 -2
View File
@@ -61,7 +61,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -94,7 +94,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v4.1.1
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-smb
+2 -2
View File
@@ -61,7 +61,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -91,7 +91,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v4.1.1
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
+2 -2
View File
@@ -54,7 +54,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -79,7 +79,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
flags: phpunit-files-external-generic
+1 -1
View File
@@ -56,7 +56,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -55,7 +55,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -70,7 +70,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+2 -2
View File
@@ -72,7 +72,7 @@ jobs:
- 'videoverification_features'
php-versions: ['8.1']
spreed-versions: ['stable31']
spreed-versions: ['main']
services:
redis:
@@ -105,7 +105,7 @@ jobs:
ref: ${{ matrix.spreed-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -63,7 +63,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+1 -1
View File
@@ -51,7 +51,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up php8.1
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: 8.1
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+1 -1
View File
@@ -56,7 +56,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
coverage: none
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+4 -4
View File
@@ -83,7 +83,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
@@ -99,7 +99,7 @@ jobs:
run: npm run test:coverage --if-present
- name: Collect coverage
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v4.3.1
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v4.3.1
with:
files: ./coverage/lcov.info
@@ -117,7 +117,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
@@ -145,7 +145,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
+1 -1
View File
@@ -63,7 +63,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+11 -5
View File
@@ -14,6 +14,9 @@ on:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
@@ -21,15 +24,18 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable30', 'stable29', 'stable28']
branches: ['main', 'master', 'stable31', 'stable30', 'stable29']
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
continue-on-error: true
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
@@ -39,7 +45,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -51,7 +57,7 @@ jobs:
uses: nextcloud-libraries/npm-audit-action@2a60bd2e79cc77f2cc4d9a3fe40f1a69896f3a87 # v0.1.0
- name: Run npm ci and npm run build
if: always()
if: steps.checkout.outcome == 'success'
env:
CYPRESS_INSTALL_BINARY: 0
run: |
@@ -59,8 +65,8 @@ jobs:
npm run build --if-present
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'
+2 -2
View File
@@ -74,7 +74,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -105,7 +105,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
flags: phpunit-azure
+2 -2
View File
@@ -75,7 +75,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -111,7 +111,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
flags: phpunit-s3
+2 -2
View File
@@ -72,7 +72,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -101,7 +101,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
flags: phpunit-swift
+1 -1
View File
@@ -29,7 +29,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up php
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib
+4 -4
View File
@@ -35,7 +35,7 @@ jobs:
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
@@ -64,7 +64,7 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: before.json
profiler-branch: stable31
profiler-branch: master
- name: Apply PR
run: |
@@ -86,12 +86,12 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: after.json
profiler-branch: stable31
profiler-branch: master
compare-with: before.json
- name: Upload profiles
if: always()
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
with:
name: profiles
path: |
+1 -1
View File
@@ -42,7 +42,7 @@ jobs:
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, openssl, pdo_sqlite, posix, sqlite, xml, zip, apcu
+2 -2
View File
@@ -91,7 +91,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -124,7 +124,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
flags: phpunit-mariadb
+2 -2
View File
@@ -76,7 +76,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -101,7 +101,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
flags: phpunit-memcached
+2 -2
View File
@@ -125,7 +125,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -159,7 +159,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
flags: phpunit-mysql
+2 -2
View File
@@ -91,7 +91,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -124,7 +124,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
flags: phpunit-mysql
+2 -2
View File
@@ -78,7 +78,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -106,7 +106,7 @@ jobs:
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
@@ -75,7 +75,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+2 -2
View File
@@ -103,7 +103,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -129,7 +129,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
flags: phpunit-oci
+2 -2
View File
@@ -91,7 +91,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -119,7 +119,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
flags: phpunit-postgres
+2 -2
View File
@@ -76,7 +76,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -105,7 +105,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
flags: phpunit-sqlite
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1
id: scrape
with:
website: 'https://nextcloud.com/team/'
+4 -4
View File
@@ -30,7 +30,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -60,7 +60,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -94,7 +94,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -124,7 +124,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
+2 -2
View File
@@ -14,7 +14,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ['master', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-ca-certificate-bundle-${{ matrix.branches }}
@@ -28,7 +28,7 @@ jobs:
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f
uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'
@@ -31,7 +31,7 @@ jobs:
run: openssl crl -verify -in resources/codesigning/root.crl -CAfile resources/codesigning/root.crt -noout
- name: Create Pull Request
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f
uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update code signing revocation list'
-1
View File
@@ -314,7 +314,6 @@
- Max <max@nextcloud.com>
- Max Kovalenko <mxss1998@yandex.ru>
- Max Kunzelmann <maxdev@posteo.de>
- Max Schmit <maxschm@hotmail.com>
- Maxence Lange <maxence@artificial-owl.com>
- Maxence Lange <maxence@nextcloud.com>
- Maxence Lange <maxence@pontapreta.net>
+4 -4
View File
@@ -5,14 +5,14 @@
-->
# Nextcloud Server ☁
[![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/server)](https://api.reuse.software/info/github.com/nextcloud/server)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/server/badges/quality-score.png?b=stable31)](https://scrutinizer-ci.com/g/nextcloud/server/?branch=stable31)
[![codecov](https://codecov.io/gh/nextcloud/server/branch/stable31/graph/badge.svg)](https://codecov.io/gh/nextcloud/server)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/server/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/server/?branch=master)
[![codecov](https://codecov.io/gh/nextcloud/server/branch/master/graph/badge.svg)](https://codecov.io/gh/nextcloud/server)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/209/badge)](https://bestpractices.coreinfrastructure.org/projects/209)
[![Design](https://contribute.design/api/shield/nextcloud/server)](https://contribute.design/nextcloud/server)
**A safe home for all your data.**
![](https://raw.githubusercontent.com/nextcloud/screenshots/stable31/nextcloud-hub-files-25-preview.png)
![](https://raw.githubusercontent.com/nextcloud/screenshots/master/nextcloud-hub-files-25-preview.png)
## Why is this so awesome? 🤩
@@ -59,7 +59,7 @@ There are many ways to contribute, of which development is only one! Find out [h
Third-party components are handled as git submodules which have to be initialized first. So aside from the regular git checkout invoking `git submodule update --init` or a similar command is needed, for details see Git documentation.
Several apps that are included by default in regular releases such as [First run wizard](https://github.com/nextcloud/firstrunwizard) or [Activity](https://github.com/nextcloud/activity) are missing in `stable31` and have to be installed manually by cloning them into the `apps` subfolder.
Several apps that are included by default in regular releases such as [First run wizard](https://github.com/nextcloud/firstrunwizard) or [Activity](https://github.com/nextcloud/activity) are missing in `master` and have to be installed manually by cloning them into the `apps` subfolder.
Otherwise, git checkouts can be handled the same as release archives, by using the `stable*` branches. Note they should never be used on production systems.
+2 -2
View File
@@ -10,7 +10,7 @@
<name>Auditing / Logging</name>
<summary>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</summary>
<description>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</description>
<version>1.21.0</version>
<version>1.22.0</version>
<licence>agpl</licence>
<author>Nextcloud</author>
<namespace>AdminAudit</namespace>
@@ -20,7 +20,7 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="31" max-version="31"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
<background-jobs>
<job>OCA\AdminAudit\BackgroundJobs\Rotate</job>
+2 -2
View File
@@ -1,7 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditorias / Registos",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece funcionalidades de registo para o Nextcloud como registar acessos a ficheiros ou demais ações sensíveis. "
"Auditing / Logging" : "Auditorias / registos",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece funcionalidades de registo para o Nextcloud como registar acessos a ficheiros ou outras ações sensíveis. "
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -2
View File
@@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Auditorias / Registos",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece funcionalidades de registo para o Nextcloud como registar acessos a ficheiros ou demais ações sensíveis. "
"Auditing / Logging" : "Auditorias / registos",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece funcionalidades de registo para o Nextcloud como registar acessos a ficheiros ou outras ações sensíveis. "
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -5
View File
@@ -37,11 +37,8 @@ class Action {
);
} else {
$this->logger->critical(
sprintf(
'$params["' . $element . '"] was missing. Transferred value: %s',
print_r($params, true)
),
['app' => 'admin_audit']
'$params["' . $element . '"] was missing. Transferred value: {params}',
['app' => 'admin_audit', 'params' => $params]
);
}
return;
@@ -34,6 +34,7 @@ use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\Authentication\Events\AnyLoginFailedEvent;
use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengeFailed;
use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengePassed;
use OCP\Console\ConsoleEvent;
@@ -105,6 +106,7 @@ class Application extends App implements IBootstrap {
$context->registerEventListener(UserLoggedInWithCookieEvent::class, AuthEventListener::class);
$context->registerEventListener(UserLoggedInEvent::class, AuthEventListener::class);
$context->registerEventListener(BeforeUserLoggedOutEvent::class, AuthEventListener::class);
$context->registerEventListener(AnyLoginFailedEvent::class, AuthEventListener::class);
// File events
$context->registerEventListener(BeforePreviewFetchedEvent::class, FileEventListener::class);
@@ -10,6 +10,7 @@ declare(strict_types=1);
namespace OCA\AdminAudit\Listener;
use OCA\AdminAudit\Actions\Action;
use OCP\Authentication\Events\AnyLoginFailedEvent;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\User\Events\BeforeUserLoggedInEvent;
@@ -18,7 +19,7 @@ use OCP\User\Events\UserLoggedInEvent;
use OCP\User\Events\UserLoggedInWithCookieEvent;
/**
* @template-implements IEventListener<BeforeUserLoggedInEvent|UserLoggedInWithCookieEvent|UserLoggedInEvent|BeforeUserLoggedOutEvent>
* @template-implements IEventListener<BeforeUserLoggedInEvent|UserLoggedInWithCookieEvent|UserLoggedInEvent|BeforeUserLoggedOutEvent|AnyLoginFailedEvent>
*/
class AuthEventListener extends Action implements IEventListener {
public function handle(Event $event): void {
@@ -28,6 +29,8 @@ class AuthEventListener extends Action implements IEventListener {
$this->userLoggedIn($event);
} elseif ($event instanceof BeforeUserLoggedOutEvent) {
$this->beforeUserLogout($event);
} elseif ($event instanceof AnyLoginFailedEvent) {
$this->anyLoginFailed($event);
}
}
@@ -64,4 +67,17 @@ class AuthEventListener extends Action implements IEventListener {
[]
);
}
private function anyLoginFailed(AnyLoginFailedEvent $event): void {
$this->log(
'Login failed: "%s"',
[
'loginName' => $event->getLoginName()
],
[
'loginName',
],
true
);
}
}
+2 -2
View File
@@ -9,7 +9,7 @@
<name>Cloud Federation API</name>
<summary>Enable clouds to communicate with each other and exchange data</summary>
<description>The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.</description>
<version>1.14.0</version>
<version>1.15.0</version>
<licence>agpl</licence>
<author>Bjoern Schiessle</author>
<namespace>CloudFederationAPI</namespace>
@@ -19,6 +19,6 @@
<category>integration</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="31" max-version="31"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
</info>
+2 -2
View File
@@ -1,8 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "Cloud Federation API",
"Cloud Federation API" : "Cloud sammenkoblings API",
"Enable clouds to communicate with each other and exchange data" : "Gør det muligt for skyer at kommunikere med hinanden og udveksle data",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API gør det muligt for forskellige Nextcloud-instanser at kommunikere med hinanden og udveksle data."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud sammenkoblings API gør det muligt for forskellige Nextcloud-instanser at kommunikere med hinanden og udveksle data."
},
"nplurals=2; plural=(n != 1);");
+2 -2
View File
@@ -1,6 +1,6 @@
{ "translations": {
"Cloud Federation API" : "Cloud Federation API",
"Cloud Federation API" : "Cloud sammenkoblings API",
"Enable clouds to communicate with each other and exchange data" : "Gør det muligt for skyer at kommunikere med hinanden og udveksle data",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API gør det muligt for forskellige Nextcloud-instanser at kommunikere med hinanden og udveksle data."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud sammenkoblings API gør det muligt for forskellige Nextcloud-instanser at kommunikere med hinanden og udveksle data."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+8
View File
@@ -0,0 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "클라우드 간 소통과 데이터 교환을 가능케 합니다.",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API는 다양한 Nextcloud 인스턴스가 서로 소통하거나 데이터를 교환할 수 있도록 합니다."
},
"nplurals=1; plural=0;");
+6
View File
@@ -0,0 +1,6 @@
{ "translations": {
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "클라우드 간 소통과 데이터 교환을 가능케 합니다.",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API는 다양한 Nextcloud 인스턴스가 서로 소통하거나 데이터를 교환할 수 있도록 합니다."
},"pluralForm" :"nplurals=1; plural=0;"
}
+2 -2
View File
@@ -10,7 +10,7 @@
<name>Comments</name>
<summary>Files app plugin to add comments to files</summary>
<description>Files app plugin to add comments to files</description>
<version>1.21.0</version>
<version>1.22.0</version>
<licence>agpl</licence>
<author>Arthur Schiwon</author>
<author>Vincent Petry</author>
@@ -21,7 +21,7 @@
<category>social</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="31" max-version="31"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
<activity>
+1 -1
View File
@@ -19,7 +19,7 @@ OC.L10N.register(
"New comment" : "Ny kommentar",
"Write a comment …" : "Skriv kommentar…",
"Post comment" : "Skriv kommentar",
"@ for mentions, : for emoji, / for smart picker" : "\"@\" for at nævne, \":\" for emojis, \"/\" for Smart Vælger",
"@ for mentions, : for emoji, / for smart picker" : "\"@\" for at omtale, \":\" for emojis, \"/\" for Smart Vælger",
"Could not reload comments" : "Kunne ikke indlæse kommentarer",
"No comments yet, start the conversation!" : "Ingen kommentarer endnu, start samtalen!",
"No more messages" : "Ikke flere beskeder",
+1 -1
View File
@@ -17,7 +17,7 @@
"New comment" : "Ny kommentar",
"Write a comment …" : "Skriv kommentar…",
"Post comment" : "Skriv kommentar",
"@ for mentions, : for emoji, / for smart picker" : "\"@\" for at nævne, \":\" for emojis, \"/\" for Smart Vælger",
"@ for mentions, : for emoji, / for smart picker" : "\"@\" for at omtale, \":\" for emojis, \"/\" for Smart Vælger",
"Could not reload comments" : "Kunne ikke indlæse kommentarer",
"No comments yet, start the conversation!" : "Ingen kommentarer endnu, start samtalen!",
"No more messages" : "Ikke flere beskeder",
+6
View File
@@ -9,12 +9,18 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%1$s kommenteeris %2$s",
"{author} commented on {file}" : "{author} kommenteeris faili {file}",
"<strong>Comments</strong> for files" : "<strong>Kommentaarid</strong> failidele",
"Files" : "Failid",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Sind mainiti \"{file}\" kommentaarides konto poolt, mis on nüüdseks kustutatud",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mainis sind faili \"{file}\" kommentaaris",
"Files app plugin to add comments to files" : "Failid rakenduse laiendus failidele kommentaaride lisamiseks",
"Edit comment" : "Muuda kommentaari",
"Delete comment" : "Kustuta kommentaar",
"Cancel edit" : "Loobu muutmisest",
"New comment" : "Uus kommentaar",
"Write a comment …" : "Kirjuta kommentaar...",
"Post comment" : "Postita kommentaar",
"@ for mentions, : for emoji, / for smart picker" : "@ mainimiseks, : emojide jaoks, / nutika valija jaoks",
"Could not reload comments" : "Ei saanud kommentaare uuesti laadida",
"No comments yet, start the conversation!" : "Kommentaare veel pole, alusta vestlust!",
"No more messages" : "Rohkem teateid pole",
"Retry" : "Proovi uuesti",
+6
View File
@@ -7,12 +7,18 @@
"%1$s commented on %2$s" : "%1$s kommenteeris %2$s",
"{author} commented on {file}" : "{author} kommenteeris faili {file}",
"<strong>Comments</strong> for files" : "<strong>Kommentaarid</strong> failidele",
"Files" : "Failid",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Sind mainiti \"{file}\" kommentaarides konto poolt, mis on nüüdseks kustutatud",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mainis sind faili \"{file}\" kommentaaris",
"Files app plugin to add comments to files" : "Failid rakenduse laiendus failidele kommentaaride lisamiseks",
"Edit comment" : "Muuda kommentaari",
"Delete comment" : "Kustuta kommentaar",
"Cancel edit" : "Loobu muutmisest",
"New comment" : "Uus kommentaar",
"Write a comment …" : "Kirjuta kommentaar...",
"Post comment" : "Postita kommentaar",
"@ for mentions, : for emoji, / for smart picker" : "@ mainimiseks, : emojide jaoks, / nutika valija jaoks",
"Could not reload comments" : "Ei saanud kommentaare uuesti laadida",
"No comments yet, start the conversation!" : "Kommentaare veel pole, alusta vestlust!",
"No more messages" : "Rohkem teateid pole",
"Retry" : "Proovi uuesti",
+1 -1
View File
@@ -31,7 +31,7 @@ class Listener {
public function commentEvent(CommentsEvent $event): void {
if ($event->getComment()->getObjectType() !== 'files'
|| $event->getEvent() !== CommentsEvent::EVENT_ADD
|| !$this->appManager->isInstalled('activity')) {
|| !$this->appManager->isEnabledForAnyone('activity')) {
// Comment not for file, not adding a comment or no activity-app enabled (save the energy)
return;
}
+4 -2
View File
@@ -14,7 +14,9 @@ use OCP\Files\Folder;
use OCP\Files\Node;
use OCP\Files\NotFoundException;
use OCP\IUser;
use OCP\IUserSession;
use OCP\Search\Provider;
use OCP\Server;
use function count;
class LegacyProvider extends Provider {
@@ -26,8 +28,8 @@ class LegacyProvider extends Provider {
* @since 7.0.0
*/
public function search($query): array {
$cm = \OC::$server->get(ICommentsManager::class);
$us = \OC::$server->getUserSession();
$cm = Server::get(ICommentsManager::class);
$us = Server::get(IUserSession::class);
$user = $us->getUser();
if (!$user instanceof IUser) {
+8 -8
View File
@@ -106,13 +106,13 @@
import { getCurrentUser } from '@nextcloud/auth'
import { translate as t } from '@nextcloud/l10n'
import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
import NcActions from '@nextcloud/vue/dist/Components/NcActions.js'
import NcActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator.js'
import NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
import NcButton from '@nextcloud/vue/dist/Components/NcButton.js'
import NcDateTime from '@nextcloud/vue/dist/Components/NcDateTime.js'
import NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
import NcActionButton from '@nextcloud/vue/components/NcActionButton'
import NcActions from '@nextcloud/vue/components/NcActions'
import NcActionSeparator from '@nextcloud/vue/components/NcActionSeparator'
import NcAvatar from '@nextcloud/vue/components/NcAvatar'
import NcButton from '@nextcloud/vue/components/NcButton'
import NcDateTime from '@nextcloud/vue/components/NcDateTime'
import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'
import RichEditorMixin from '@nextcloud/vue/dist/Mixins/richEditor.js'
import IconArrowRight from 'vue-material-design-icons/ArrowRight.vue'
@@ -125,7 +125,7 @@ import { mapStores } from 'pinia'
import { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.js'
// Dynamic loading
const NcRichContenteditable = () => import('@nextcloud/vue/dist/Components/NcRichContenteditable.js')
const NcRichContenteditable = () => import('@nextcloud/vue/components/NcRichContenteditable')
export default {
name: 'Comment',
+2 -2
View File
@@ -70,8 +70,8 @@ import { showError } from '@nextcloud/dialogs'
import { translate as t } from '@nextcloud/l10n'
import { vElementVisibility as elementVisibility } from '@vueuse/components'
import NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
import NcButton from '@nextcloud/vue/dist/Components/NcButton.js'
import NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'
import NcButton from '@nextcloud/vue/components/NcButton'
import RefreshIcon from 'vue-material-design-icons/Refresh.vue'
import MessageReplyTextIcon from 'vue-material-design-icons/MessageReplyText.vue'
import AlertCircleOutlineIcon from 'vue-material-design-icons/AlertCircleOutline.vue'
@@ -67,7 +67,7 @@ class ListenerTest extends TestCase {
public function testCommentEvent(): void {
$this->appManager->expects($this->any())
->method('isInstalled')
->method('isEnabledForAnyone')
->with('activity')
->willReturn(true);
@@ -9,6 +9,9 @@ namespace OCA\Comments\Tests\Unit\AppInfo;
use OCA\Comments\AppInfo\Application;
use OCA\Comments\Notification\Notifier;
use OCP\IUserManager;
use OCP\IUserSession;
use OCP\Server;
use Test\TestCase;
/**
@@ -21,12 +24,12 @@ use Test\TestCase;
class ApplicationTest extends TestCase {
protected function setUp(): void {
parent::setUp();
\OC::$server->getUserManager()->createUser('dummy', '456');
\OC::$server->getUserSession()->setUser(\OC::$server->getUserManager()->get('dummy'));
Server::get(IUserManager::class)->createUser('dummy', '456');
Server::get(IUserSession::class)->setUser(Server::get(IUserManager::class)->get('dummy'));
}
protected function tearDown(): void {
\OC::$server->getUserManager()->get('dummy')->delete();
Server::get(IUserManager::class)->get('dummy')->delete();
parent::tearDown();
}
+2 -2
View File
@@ -9,7 +9,7 @@
<name>Contacts Interaction</name>
<summary>Manages interaction between accounts and contacts</summary>
<description>Collect data about accounts and contacts interactions and provide an address book for the data</description>
<version>1.12.0</version>
<version>1.13.0</version>
<licence>agpl</licence>
<author>Christoph Wurst</author>
<author homepage="https://github.com/nextcloud/groupware">Nextcloud Groupware Team</author>
@@ -21,7 +21,7 @@
<category>social</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="31" max-version="31"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
<background-jobs>
<job>OCA\ContactsInteraction\BackgroundJob\CleanupJob</job>
+9
View File
@@ -0,0 +1,9 @@
OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "Hiljuti ühendust võetud",
"Contacts Interaction" : "Kontaktide interaktsioon",
"Manages interaction between accounts and contacts" : "Haldab kontode ja kontaktide vahelist suhtlust",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Koguge andmeid kontode ja kontaktidega suhtlemise kohta ning looge andmete jaoks aadressiraamat"
},
"nplurals=2; plural=(n != 1);");
+7
View File
@@ -0,0 +1,7 @@
{ "translations": {
"Recently contacted" : "Hiljuti ühendust võetud",
"Contacts Interaction" : "Kontaktide interaktsioon",
"Manages interaction between accounts and contacts" : "Haldab kontode ja kontaktide vahelist suhtlust",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Koguge andmeid kontode ja kontaktidega suhtlemise kohta ning looge andmete jaoks aadressiraamat"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+9
View File
@@ -0,0 +1,9 @@
OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "최근 연락함",
"Contacts Interaction" : "Contacts Interaction",
"Manages interaction between accounts and contacts" : "계정 및 연락처 간 상호작용을 관리합니다",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "계정 및 연락처 간 상호작용에 관한 데이터를 수집하고, 데이터 주소록을 제공합니다"
},
"nplurals=1; plural=0;");
+7
View File
@@ -0,0 +1,7 @@
{ "translations": {
"Recently contacted" : "최근 연락함",
"Contacts Interaction" : "Contacts Interaction",
"Manages interaction between accounts and contacts" : "계정 및 연락처 간 상호작용을 관리합니다",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "계정 및 연락처 간 상호작용에 관한 데이터를 수집하고, 데이터 주소록을 제공합니다"
},"pluralForm" :"nplurals=1; plural=0;"
}
@@ -12,6 +12,7 @@ use OCA\ContactsInteraction\Db\RecentContact;
use OCA\ContactsInteraction\Db\RecentContactMapper;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IUser;
use OCP\Server;
use Sabre\VObject\Component\VCard;
use Sabre\VObject\UUIDUtil;
use Test\TestCase;
@@ -30,8 +31,8 @@ class RecentContactMapperTest extends TestCase {
protected function setUp(): void {
parent::setUp();
$this->recentContactMapper = \OC::$server->get(RecentContactMapper::class);
$this->time = \OC::$server->get(ITimeFactory::class);
$this->recentContactMapper = Server::get(RecentContactMapper::class);
$this->time = Server::get(ITimeFactory::class);
}
protected function tearDown(): void {
+2 -2
View File
@@ -12,7 +12,7 @@
The Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking.]]>
</description>
<version>7.11.0</version>
<version>7.12.0</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Dashboard</namespace>
@@ -22,7 +22,7 @@ The Nextcloud Dashboard is your starting point of the day, giving you an overvie
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="31" max-version="31"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
<navigations>
+5 -2
View File
@@ -3,7 +3,8 @@ OC.L10N.register(
{
"Dashboard" : "Tauler",
"Dashboard app" : "Aplicació Tauler",
"\"{title} icon\"" : "«icona de {title}»",
"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." : "Comença el dia informat\n\nEl tauler de control de Nextcloud és el vostre punt de partida del dia, que us ofereix una visió general de les vostres properes cites, correus electrònics urgents, missatges de xat, entrades entrants, els últims tuits i molt més! Les persones poden afegir els ginys que els agradin i canviar el fons al seu gust.",
"\"{title} icon\"" : "\"icona de {title}\"",
"Customize" : "Personalitza",
"Edit widgets" : "Edita els ginys",
"Get more widgets from the App Store" : "Obtén més ginys a la botiga d'aplicacions",
@@ -21,6 +22,8 @@ OC.L10N.register(
"Good evening" : "Bona nit",
"Good evening, {name}" : "Bona nit, {name}",
"Hello" : "Hola",
"Hello, {name}" : "Hola, {name}"
"Hello, {name}" : "Hola, {name}",
"Happy birthday 🥳🤩🎂🎉" : "Per molts anys 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Per molts anys, {name} 🥳🤩🎂🎉"
},
"nplurals=2; plural=(n != 1);");
+5 -2
View File
@@ -1,7 +1,8 @@
{ "translations": {
"Dashboard" : "Tauler",
"Dashboard app" : "Aplicació Tauler",
"\"{title} icon\"" : "«icona de {title}»",
"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." : "Comença el dia informat\n\nEl tauler de control de Nextcloud és el vostre punt de partida del dia, que us ofereix una visió general de les vostres properes cites, correus electrònics urgents, missatges de xat, entrades entrants, els últims tuits i molt més! Les persones poden afegir els ginys que els agradin i canviar el fons al seu gust.",
"\"{title} icon\"" : "\"icona de {title}\"",
"Customize" : "Personalitza",
"Edit widgets" : "Edita els ginys",
"Get more widgets from the App Store" : "Obtén més ginys a la botiga d'aplicacions",
@@ -19,6 +20,8 @@
"Good evening" : "Bona nit",
"Good evening, {name}" : "Bona nit, {name}",
"Hello" : "Hola",
"Hello, {name}" : "Hola, {name}"
"Hello, {name}" : "Hola, {name}",
"Happy birthday 🥳🤩🎂🎉" : "Per molts anys 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Per molts anys, {name} 🥳🤩🎂🎉"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+4 -2
View File
@@ -5,7 +5,7 @@ OC.L10N.register(
"Dashboard app" : "Dashboard app",
"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." : "Start din dag med gode informationer\n\nNextcloud Dashboard er dit udgangspunkt på dagen og giver dig et overblik over dine kommende aftaler, hastemails, chatbeskeder, indgående billetter, seneste tweets og meget mere! Folk kan tilføje de widgets, de kan lide, og ændre baggrunden efter deres smag.",
"\"{title} icon\"" : "\"{title} ikon\"",
"Customize" : "Tilpas",
"Customize" : "Brugerdefiner",
"Edit widgets" : "Redigér widgets",
"Get more widgets from the App Store" : "Få flere widgets fra App Store",
"Weather service" : "Vejret",
@@ -22,6 +22,8 @@ OC.L10N.register(
"Good evening" : "God aften",
"Good evening, {name}" : "God aften {name}",
"Hello" : "Hej",
"Hello, {name}" : "Hej {name}"
"Hello, {name}" : "Hej {name}",
"Happy birthday 🥳🤩🎂🎉" : "Tillykke med fødselsdagen 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Tillykke med fødselsdagen, {name} 🥳🤩🎂🎉"
},
"nplurals=2; plural=(n != 1);");
+4 -2
View File
@@ -3,7 +3,7 @@
"Dashboard app" : "Dashboard app",
"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." : "Start din dag med gode informationer\n\nNextcloud Dashboard er dit udgangspunkt på dagen og giver dig et overblik over dine kommende aftaler, hastemails, chatbeskeder, indgående billetter, seneste tweets og meget mere! Folk kan tilføje de widgets, de kan lide, og ændre baggrunden efter deres smag.",
"\"{title} icon\"" : "\"{title} ikon\"",
"Customize" : "Tilpas",
"Customize" : "Brugerdefiner",
"Edit widgets" : "Redigér widgets",
"Get more widgets from the App Store" : "Få flere widgets fra App Store",
"Weather service" : "Vejret",
@@ -20,6 +20,8 @@
"Good evening" : "God aften",
"Good evening, {name}" : "God aften {name}",
"Hello" : "Hej",
"Hello, {name}" : "Hej {name}"
"Hello, {name}" : "Hej {name}",
"Happy birthday 🥳🤩🎂🎉" : "Tillykke med fødselsdagen 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Tillykke med fødselsdagen, {name} 🥳🤩🎂🎉"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+12 -1
View File
@@ -3,7 +3,16 @@ OC.L10N.register(
{
"Dashboard" : "Töölaud",
"Dashboard app" : "Töölaua rakendus",
"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." : "Alustage oma päeva teadlikult\n\nNextcloudi avaleht on su päeva alguspunkt, mis annab ülevaate eelseisvatest kohtumistest, kiireloomulistest meilidest, vestlussõnumitest, sissetulevatest päringutest, viimastest säutsudest ja paljust muust! Inimesed saavad lisada neile meeldivaid vidinaid ja muuta tausta oma maitse järgi.",
"\"{title} icon\"" : "\"{title} ikoon\"",
"Customize" : "Kohanda",
"Edit widgets" : "Redigeeri vidinaid",
"Get more widgets from the App Store" : "Hangi rohkem vidinaid Rakenduste Poest",
"Weather service" : "Ilmateenus",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Sinu privaatsuse huvides küsib su nimel ilmaandmeid Nextcloudi server, nii et ilmateenistus ei saa isiklikku teavet.",
"Weather data from Met.no" : "Ilmaandmed Met.no-st",
"geocoding with Nominatim" : "geoprogrammeerimine Nominatim-iga",
"elevation data from OpenTopoData" : "kõrgusandmed OpenTopoData-st",
"Weather" : "Ilm",
"Status" : "Staatus",
"Good morning" : "Tere hommikust",
@@ -13,6 +22,8 @@ OC.L10N.register(
"Good evening" : "Tere õhtust",
"Good evening, {name}" : "Tere õhtust, {name}",
"Hello" : "Tere",
"Hello, {name}" : "Tere, {name}"
"Hello, {name}" : "Tere, {name}",
"Happy birthday 🥳🤩🎂🎉" : "Palju õnne sünnipäevaks 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Palju õnne, {name} 🥳🤩🎂🎉"
},
"nplurals=2; plural=(n != 1);");
+12 -1
View File
@@ -1,7 +1,16 @@
{ "translations": {
"Dashboard" : "Töölaud",
"Dashboard app" : "Töölaua rakendus",
"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." : "Alustage oma päeva teadlikult\n\nNextcloudi avaleht on su päeva alguspunkt, mis annab ülevaate eelseisvatest kohtumistest, kiireloomulistest meilidest, vestlussõnumitest, sissetulevatest päringutest, viimastest säutsudest ja paljust muust! Inimesed saavad lisada neile meeldivaid vidinaid ja muuta tausta oma maitse järgi.",
"\"{title} icon\"" : "\"{title} ikoon\"",
"Customize" : "Kohanda",
"Edit widgets" : "Redigeeri vidinaid",
"Get more widgets from the App Store" : "Hangi rohkem vidinaid Rakenduste Poest",
"Weather service" : "Ilmateenus",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Sinu privaatsuse huvides küsib su nimel ilmaandmeid Nextcloudi server, nii et ilmateenistus ei saa isiklikku teavet.",
"Weather data from Met.no" : "Ilmaandmed Met.no-st",
"geocoding with Nominatim" : "geoprogrammeerimine Nominatim-iga",
"elevation data from OpenTopoData" : "kõrgusandmed OpenTopoData-st",
"Weather" : "Ilm",
"Status" : "Staatus",
"Good morning" : "Tere hommikust",
@@ -11,6 +20,8 @@
"Good evening" : "Tere õhtust",
"Good evening, {name}" : "Tere õhtust, {name}",
"Hello" : "Tere",
"Hello, {name}" : "Tere, {name}"
"Hello, {name}" : "Tere, {name}",
"Happy birthday 🥳🤩🎂🎉" : "Palju õnne sünnipäevaks 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Palju õnne, {name} 🥳🤩🎂🎉"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+3 -1
View File
@@ -21,6 +21,8 @@ OC.L10N.register(
"Good evening" : "Добрий вечір",
"Good evening, {name}" : "Добрий вечір, {name}",
"Hello" : "Привіт",
"Hello, {name}" : "Привіт, {name}"
"Hello, {name}" : "Привіт, {name}",
"Happy birthday 🥳🤩🎂🎉" : "З Днем народження 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "З Днем народження, {name} 🥳🤩🎂🎉"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
+3 -1
View File
@@ -19,6 +19,8 @@
"Good evening" : "Добрий вечір",
"Good evening, {name}" : "Добрий вечір, {name}",
"Hello" : "Привіт",
"Hello, {name}" : "Привіт, {name}"
"Hello, {name}" : "Привіт, {name}",
"Happy birthday 🥳🤩🎂🎉" : "З Днем народження 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "З Днем народження, {name} 🥳🤩🎂🎉"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
}
+3 -1
View File
@@ -22,6 +22,8 @@ OC.L10N.register(
"Good evening" : "晚上好",
"Good evening, {name}" : "晚上好,{name}",
"Hello" : "你好",
"Hello, {name}" : "你好, {name}"
"Hello, {name}" : "你好, {name}",
"Happy birthday 🥳🤩🎂🎉" : "生日快乐 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "生日快乐,{name} 🥳🤩🎂🎉"
},
"nplurals=1; plural=0;");
+3 -1
View File
@@ -20,6 +20,8 @@
"Good evening" : "晚上好",
"Good evening, {name}" : "晚上好,{name}",
"Hello" : "你好",
"Hello, {name}" : "你好, {name}"
"Hello, {name}" : "你好, {name}",
"Happy birthday 🥳🤩🎂🎉" : "生日快乐 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "生日快乐,{name} 🥳🤩🎂🎉"
},"pluralForm" :"nplurals=1; plural=0;"
}
+3 -3
View File
@@ -135,10 +135,10 @@ import { generateUrl, generateOcsUrl } from '@nextcloud/router'
import { getCurrentUser } from '@nextcloud/auth'
import { loadState } from '@nextcloud/initial-state'
import axios from '@nextcloud/axios'
import NcButton from '@nextcloud/vue/dist/Components/NcButton.js'
import NcButton from '@nextcloud/vue/components/NcButton'
import Draggable from 'vuedraggable'
import NcModal from '@nextcloud/vue/dist/Components/NcModal.js'
import NcUserStatusIcon from '@nextcloud/vue/dist/Components/NcUserStatusIcon.js'
import NcModal from '@nextcloud/vue/components/NcModal'
import NcUserStatusIcon from '@nextcloud/vue/components/NcUserStatusIcon'
import Pencil from 'vue-material-design-icons/Pencil.vue'
import Vue from 'vue'
@@ -29,11 +29,9 @@
</template>
<script>
import {
NcDashboardWidget,
NcEmptyContent,
NcButton,
} from '@nextcloud/vue'
import NcButton from '@nextcloud/vue/components/NcButton'
import NcDashboardWidget from '@nextcloud/vue/components/NcDashboardWidget'
import NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'
import CheckIcon from 'vue-material-design-icons/Check.vue'
import ApiDashboardWidgetItem from './ApiDashboardWidgetItem.vue'
@@ -4,8 +4,8 @@
-->
<script setup lang="ts">
import { ref } from 'vue'
import NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
import NcDashboardWidgetItem from '@nextcloud/vue/dist/Components/NcDashboardWidgetItem.js'
import NcAvatar from '@nextcloud/vue/components/NcAvatar'
import NcDashboardWidgetItem from '@nextcloud/vue/components/NcDashboardWidgetItem'
import IconFile from 'vue-material-design-icons/File.vue'
defineProps({
+2 -2
View File
@@ -4,8 +4,8 @@
*/
import { getCSPNonce } from '@nextcloud/auth'
import { translate as t } from '@nextcloud/l10n'
import VTooltip from '@nextcloud/vue/dist/Directives/Tooltip.js'
import { t } from '@nextcloud/l10n'
import VTooltip from '@nextcloud/vue/directives/Tooltip'
import Vue from 'vue'
import DashboardApp from './DashboardApp.vue'
+2 -2
View File
@@ -10,7 +10,7 @@
<name>WebDAV</name>
<summary>WebDAV endpoint</summary>
<description>WebDAV endpoint</description>
<version>1.33.0</version>
<version>1.34.0</version>
<licence>agpl</licence>
<author>owncloud.org</author>
<namespace>DAV</namespace>
@@ -20,7 +20,7 @@
<category>integration</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="31" max-version="31"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
<background-jobs>
+36 -27
View File
@@ -20,38 +20,47 @@ use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin;
use OCA\DAV\Connector\Sabre\MaintenancePlugin;
use OCA\DAV\Connector\Sabre\Principal;
use OCP\Accounts\IAccountManager;
use OCP\App\IAppManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IRequest;
use OCP\ISession;
use OCP\IUserManager;
use OCP\IUserSession;
use OCP\Security\Bruteforce\IThrottler;
use OCP\Security\ISecureRandom;
use OCP\Server;
use Psr\Log\LoggerInterface;
$authBackend = new Auth(
\OC::$server->getSession(),
\OC::$server->getUserSession(),
\OC::$server->getRequest(),
\OC::$server->getTwoFactorAuthManager(),
\OC::$server->getBruteForceThrottler(),
Server::get(ISession::class),
Server::get(IUserSession::class),
Server::get(IRequest::class),
Server::get(\OC\Authentication\TwoFactorAuth\Manager::class),
Server::get(IThrottler::class),
'principals/'
);
$principalBackend = new Principal(
\OC::$server->getUserManager(),
\OC::$server->getGroupManager(),
\OC::$server->get(IAccountManager::class),
\OC::$server->getShareManager(),
\OC::$server->getUserSession(),
\OC::$server->getAppManager(),
\OC::$server->query(ProxyMapper::class),
\OC::$server->get(KnownUserService::class),
\OC::$server->getConfig(),
Server::get(IUserManager::class),
Server::get(IGroupManager::class),
Server::get(IAccountManager::class),
Server::get(\OCP\Share\IManager::class),
Server::get(IUserSession::class),
Server::get(IAppManager::class),
Server::get(ProxyMapper::class),
Server::get(KnownUserService::class),
Server::get(IConfig::class),
\OC::$server->getL10NFactory(),
'principals/'
);
$db = \OC::$server->getDatabaseConnection();
$userManager = \OC::$server->getUserManager();
$random = \OC::$server->getSecureRandom();
$logger = \OC::$server->get(LoggerInterface::class);
$dispatcher = \OC::$server->get(IEventDispatcher::class);
$config = \OC::$server->get(IConfig::class);
$db = Server::get(IDBConnection::class);
$userManager = Server::get(IUserManager::class);
$random = Server::get(ISecureRandom::class);
$logger = Server::get(LoggerInterface::class);
$dispatcher = Server::get(IEventDispatcher::class);
$config = Server::get(IConfig::class);
$calDavBackend = new CalDavBackend(
$db,
@@ -61,12 +70,12 @@ $calDavBackend = new CalDavBackend(
$logger,
$dispatcher,
$config,
OC::$server->get(\OCA\DAV\CalDAV\Sharing\Backend::class),
Server::get(\OCA\DAV\CalDAV\Sharing\Backend::class),
true
);
$debugging = \OC::$server->getConfig()->getSystemValue('debug', false);
$sendInvitations = \OC::$server->getConfig()->getAppValue('dav', 'sendInvitations', 'yes') === 'yes';
$debugging = Server::get(IConfig::class)->getSystemValue('debug', false);
$sendInvitations = Server::get(IConfig::class)->getAppValue('dav', 'sendInvitations', 'yes') === 'yes';
// Root nodes
$principalCollection = new \Sabre\CalDAV\Principal\Collection($principalBackend);
@@ -83,11 +92,11 @@ $nodes = [
// Fire up server
$server = new \Sabre\DAV\Server($nodes);
$server::$exposeVersion = false;
$server->httpRequest->setUrl(\OC::$server->getRequest()->getRequestUri());
$server->httpRequest->setUrl(Server::get(IRequest::class)->getRequestUri());
$server->setBaseUri($baseuri);
// Add plugins
$server->addPlugin(new MaintenancePlugin(\OC::$server->getConfig(), \OC::$server->getL10N('dav')));
$server->addPlugin(new MaintenancePlugin(Server::get(IConfig::class), \OC::$server->getL10N('dav')));
$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend));
$server->addPlugin(new \Sabre\CalDAV\Plugin());
@@ -98,10 +107,10 @@ if ($debugging) {
$server->addPlugin(new \Sabre\DAV\Sync\Plugin());
$server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin());
$server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin(\OC::$server->getConfig(), \OC::$server->get(LoggerInterface::class), \OC::$server->get(DefaultCalendarValidator::class)));
$server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin(Server::get(IConfig::class), Server::get(LoggerInterface::class), Server::get(DefaultCalendarValidator::class)));
if ($sendInvitations) {
$server->addPlugin(\OC::$server->query(IMipPlugin::class));
$server->addPlugin(Server::get(IMipPlugin::class));
}
$server->addPlugin(new ExceptionLoggerPlugin('caldav', $logger));
$server->addPlugin(Server::get(RateLimitingPlugin::class));
+34 -26
View File
@@ -23,49 +23,57 @@ use OCA\DAV\Connector\Sabre\Principal;
use OCP\Accounts\IAccountManager;
use OCP\App\IAppManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\AppData\IAppDataFactory;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IRequest;
use OCP\ISession;
use OCP\IUserManager;
use OCP\IUserSession;
use OCP\Security\Bruteforce\IThrottler;
use OCP\Server;
use Psr\Log\LoggerInterface;
use Sabre\CardDAV\Plugin;
$authBackend = new Auth(
\OC::$server->getSession(),
\OC::$server->getUserSession(),
\OC::$server->getRequest(),
\OC::$server->getTwoFactorAuthManager(),
\OC::$server->getBruteForceThrottler(),
Server::get(ISession::class),
Server::get(IUserSession::class),
Server::get(IRequest::class),
Server::get(\OC\Authentication\TwoFactorAuth\Manager::class),
Server::get(IThrottler::class),
'principals/'
);
$principalBackend = new Principal(
\OC::$server->getUserManager(),
\OC::$server->getGroupManager(),
\OC::$server->get(IAccountManager::class),
\OC::$server->getShareManager(),
\OC::$server->getUserSession(),
\OC::$server->getAppManager(),
\OC::$server->query(ProxyMapper::class),
\OC::$server->get(KnownUserService::class),
\OC::$server->getConfig(),
Server::get(IUserManager::class),
Server::get(IGroupManager::class),
Server::get(IAccountManager::class),
Server::get(\OCP\Share\IManager::class),
Server::get(IUserSession::class),
Server::get(IAppManager::class),
Server::get(ProxyMapper::class),
Server::get(KnownUserService::class),
Server::get(IConfig::class),
\OC::$server->getL10NFactory(),
'principals/'
);
$db = \OC::$server->getDatabaseConnection();
$db = Server::get(IDBConnection::class);
$cardDavBackend = new CardDavBackend(
$db,
$principalBackend,
\OC::$server->getUserManager(),
\OC::$server->get(IEventDispatcher::class),
\OC::$server->get(\OCA\DAV\CardDAV\Sharing\Backend::class),
Server::get(IUserManager::class),
Server::get(IEventDispatcher::class),
Server::get(\OCA\DAV\CardDAV\Sharing\Backend::class),
);
$debugging = \OC::$server->getConfig()->getSystemValue('debug', false);
$debugging = Server::get(IConfig::class)->getSystemValue('debug', false);
// Root nodes
$principalCollection = new \Sabre\CalDAV\Principal\Collection($principalBackend);
$principalCollection->disableListing = !$debugging; // Disable listing
$pluginManager = new PluginManager(\OC::$server, \OC::$server->query(IAppManager::class));
$addressBookRoot = new AddressBookRoot($principalBackend, $cardDavBackend, $pluginManager, \OC::$server->getUserSession()->getUser(), \OC::$server->get(IGroupManager::class));
$pluginManager = new PluginManager(\OC::$server, Server::get(IAppManager::class));
$addressBookRoot = new AddressBookRoot($principalBackend, $cardDavBackend, $pluginManager, Server::get(IUserSession::class)->getUser(), Server::get(IGroupManager::class));
$addressBookRoot->disableListing = !$debugging; // Disable listing
$nodes = [
@@ -76,10 +84,10 @@ $nodes = [
// Fire up server
$server = new \Sabre\DAV\Server($nodes);
$server::$exposeVersion = false;
$server->httpRequest->setUrl(\OC::$server->getRequest()->getRequestUri());
$server->httpRequest->setUrl(Server::get(IRequest::class)->getRequestUri());
$server->setBaseUri($baseuri);
// Add plugins
$server->addPlugin(new MaintenancePlugin(\OC::$server->getConfig(), \OC::$server->getL10N('dav')));
$server->addPlugin(new MaintenancePlugin(Server::get(IConfig::class), \OC::$server->getL10N('dav')));
$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend));
$server->addPlugin(new Plugin());
@@ -91,10 +99,10 @@ if ($debugging) {
$server->addPlugin(new \Sabre\DAV\Sync\Plugin());
$server->addPlugin(new \Sabre\CardDAV\VCFExportPlugin());
$server->addPlugin(new ImageExportPlugin(new PhotoCache(
\OC::$server->getAppDataDir('dav-photocache'),
\OC::$server->get(LoggerInterface::class)
Server::get(IAppDataFactory::class)->get('dav-photocache'),
Server::get(LoggerInterface::class)
)));
$server->addPlugin(new ExceptionLoggerPlugin('carddav', \OC::$server->get(LoggerInterface::class)));
$server->addPlugin(new ExceptionLoggerPlugin('carddav', Server::get(LoggerInterface::class)));
$server->addPlugin(Server::get(CardDavRateLimitingPlugin::class));
$server->addPlugin(Server::get(CardDavValidatePlugin::class));
+25 -16
View File
@@ -18,6 +18,15 @@ use OCP\BeforeSabrePubliclyLoadedEvent;
use OCP\Constants;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\IRootFolder;
use OCP\Files\Mount\IMountManager;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IPreview;
use OCP\IRequest;
use OCP\ISession;
use OCP\ITagManager;
use OCP\IUserSession;
use OCP\Security\Bruteforce\IThrottler;
use OCP\Server;
use Psr\Log\LoggerInterface;
@@ -27,34 +36,34 @@ $RUNTIME_APPTYPES = ['filesystem', 'authentication', 'logging'];
OC_App::loadApps($RUNTIME_APPTYPES);
OC_Util::obEnd();
\OC::$server->getSession()->close();
Server::get(ISession::class)->close();
// Backends
$authBackend = new LegacyPublicAuth(
\OC::$server->getRequest(),
\OC::$server->getShareManager(),
\OC::$server->getSession(),
\OC::$server->getBruteForceThrottler()
Server::get(IRequest::class),
Server::get(\OCP\Share\IManager::class),
Server::get(ISession::class),
Server::get(IThrottler::class)
);
$authPlugin = new \Sabre\DAV\Auth\Plugin($authBackend);
/** @var IEventDispatcher $eventDispatcher */
$eventDispatcher = \OC::$server->get(IEventDispatcher::class);
$eventDispatcher = Server::get(IEventDispatcher::class);
$serverFactory = new ServerFactory(
\OC::$server->getConfig(),
\OC::$server->get(LoggerInterface::class),
\OC::$server->getDatabaseConnection(),
\OC::$server->getUserSession(),
\OC::$server->getMountManager(),
\OC::$server->getTagManager(),
\OC::$server->getRequest(),
\OC::$server->getPreviewManager(),
Server::get(IConfig::class),
Server::get(LoggerInterface::class),
Server::get(IDBConnection::class),
Server::get(IUserSession::class),
Server::get(IMountManager::class),
Server::get(ITagManager::class),
Server::get(IRequest::class),
Server::get(IPreview::class),
$eventDispatcher,
\OC::$server->getL10N('dav')
);
$requestUri = \OC::$server->getRequest()->getRequestUri();
$requestUri = Server::get(IRequest::class)->getRequestUri();
$linkCheckPlugin = new PublicLinkCheckPlugin();
$filesDropPlugin = new FilesDropPlugin();
@@ -62,7 +71,7 @@ $filesDropPlugin = new FilesDropPlugin();
$server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, function (\Sabre\DAV\Server $server) use ($authBackend, $linkCheckPlugin, $filesDropPlugin) {
$isAjax = in_array('XMLHttpRequest', explode(',', $_SERVER['HTTP_X_REQUESTED_WITH'] ?? ''));
/** @var FederatedShareProvider $shareProvider */
$federatedShareProvider = \OC::$server->query(FederatedShareProvider::class);
$federatedShareProvider = Server::get(FederatedShareProvider::class);
if ($federatedShareProvider->isOutgoingServer2serverShareEnabled() === false && !$isAjax) {
// this is what is thrown when trying to access a non-existing share
throw new \Sabre\DAV\Exception\NotAuthenticated();
+28 -18
View File
@@ -11,7 +11,17 @@ use OCA\DAV\Connector\Sabre\BearerAuth;
use OCA\DAV\Connector\Sabre\ServerFactory;
use OCA\DAV\Events\SabrePluginAddEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\Mount\IMountManager;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IPreview;
use OCP\IRequest;
use OCP\ISession;
use OCP\ITagManager;
use OCP\IUserSession;
use OCP\SabrePluginEvent;
use OCP\Security\Bruteforce\IThrottler;
use OCP\Server;
use Psr\Log\LoggerInterface;
// no php execution timeout for webdav
@@ -23,39 +33,39 @@ ignore_user_abort(true);
// Turn off output buffering to prevent memory problems
\OC_Util::obEnd();
$dispatcher = \OC::$server->get(IEventDispatcher::class);
$dispatcher = Server::get(IEventDispatcher::class);
$serverFactory = new ServerFactory(
\OC::$server->getConfig(),
\OC::$server->get(LoggerInterface::class),
\OC::$server->getDatabaseConnection(),
\OC::$server->getUserSession(),
\OC::$server->getMountManager(),
\OC::$server->getTagManager(),
\OC::$server->getRequest(),
\OC::$server->getPreviewManager(),
Server::get(IConfig::class),
Server::get(LoggerInterface::class),
Server::get(IDBConnection::class),
Server::get(IUserSession::class),
Server::get(IMountManager::class),
Server::get(ITagManager::class),
Server::get(IRequest::class),
Server::get(IPreview::class),
$dispatcher,
\OC::$server->getL10N('dav')
);
// Backends
$authBackend = new Auth(
\OC::$server->getSession(),
\OC::$server->getUserSession(),
\OC::$server->getRequest(),
\OC::$server->getTwoFactorAuthManager(),
\OC::$server->getBruteForceThrottler(),
Server::get(ISession::class),
Server::get(IUserSession::class),
Server::get(IRequest::class),
Server::get(\OC\Authentication\TwoFactorAuth\Manager::class),
Server::get(IThrottler::class),
'principals/'
);
$authPlugin = new \Sabre\DAV\Auth\Plugin($authBackend);
$bearerAuthPlugin = new BearerAuth(
\OC::$server->getUserSession(),
\OC::$server->getSession(),
\OC::$server->getRequest()
Server::get(IUserSession::class),
Server::get(ISession::class),
Server::get(IRequest::class)
);
$authPlugin->addBackend($bearerAuthPlugin);
$requestUri = \OC::$server->getRequest()->getRequestUri();
$requestUri = Server::get(IRequest::class)->getRequestUri();
$server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, function () {
// use the view for the logged in user
+11 -7
View File
@@ -9,6 +9,10 @@ declare(strict_types=1);
use OCA\DAV\Db\DirectMapper;
use OCA\DAV\Direct\ServerFactory;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\IRootFolder;
use OCP\IRequest;
use OCP\Security\Bruteforce\IThrottler;
use OCP\Server;
// no php execution timeout for webdav
if (!str_contains(@ini_get('disable_functions'), 'set_time_limit')) {
@@ -19,18 +23,18 @@ ignore_user_abort(true);
// Turn off output buffering to prevent memory problems
\OC_Util::obEnd();
$requestUri = \OC::$server->getRequest()->getRequestUri();
$requestUri = Server::get(IRequest::class)->getRequestUri();
/** @var ServerFactory $serverFactory */
$serverFactory = \OC::$server->query(ServerFactory::class);
$serverFactory = Server::get(ServerFactory::class);
$server = $serverFactory->createServer(
$baseuri,
$requestUri,
\OC::$server->getRootFolder(),
\OC::$server->query(DirectMapper::class),
\OC::$server->query(ITimeFactory::class),
\OC::$server->getBruteForceThrottler(),
\OC::$server->getRequest()
Server::get(IRootFolder::class),
Server::get(DirectMapper::class),
Server::get(ITimeFactory::class),
Server::get(IThrottler::class),
Server::get(IRequest::class)
);
$server->exec();
+2 -1
View File
@@ -1,6 +1,7 @@
<?php
use OCA\DAV\Server;
use OCP\IRequest;
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
@@ -16,6 +17,6 @@ ignore_user_abort(true);
// Turn off output buffering to prevent memory problems
\OC_Util::obEnd();
$request = \OC::$server->getRequest();
$request = \OCP\Server::get(IRequest::class);
$server = new Server($request, $baseuri);
$server->exec();
@@ -284,7 +284,6 @@ return array(
'OCA\\DAV\\Files\\RootCollection' => $baseDir . '/../lib/Files/RootCollection.php',
'OCA\\DAV\\Files\\Sharing\\FilesDropPlugin' => $baseDir . '/../lib/Files/Sharing/FilesDropPlugin.php',
'OCA\\DAV\\Files\\Sharing\\PublicLinkCheckPlugin' => $baseDir . '/../lib/Files/Sharing/PublicLinkCheckPlugin.php',
'OCA\\DAV\\HookManager' => $baseDir . '/../lib/HookManager.php',
'OCA\\DAV\\Listener\\ActivityUpdaterListener' => $baseDir . '/../lib/Listener/ActivityUpdaterListener.php',
'OCA\\DAV\\Listener\\AddMissingIndicesListener' => $baseDir . '/../lib/Listener/AddMissingIndicesListener.php',
'OCA\\DAV\\Listener\\AddressbookListener' => $baseDir . '/../lib/Listener/AddressbookListener.php',
@@ -299,6 +298,7 @@ return array(
'OCA\\DAV\\Listener\\OutOfOfficeListener' => $baseDir . '/../lib/Listener/OutOfOfficeListener.php',
'OCA\\DAV\\Listener\\SubscriptionListener' => $baseDir . '/../lib/Listener/SubscriptionListener.php',
'OCA\\DAV\\Listener\\TrustedServerRemovedListener' => $baseDir . '/../lib/Listener/TrustedServerRemovedListener.php',
'OCA\\DAV\\Listener\\UserEventsListener' => $baseDir . '/../lib/Listener/UserEventsListener.php',
'OCA\\DAV\\Listener\\UserPreferenceListener' => $baseDir . '/../lib/Listener/UserPreferenceListener.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndex.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
@@ -299,7 +299,6 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Files\\RootCollection' => __DIR__ . '/..' . '/../lib/Files/RootCollection.php',
'OCA\\DAV\\Files\\Sharing\\FilesDropPlugin' => __DIR__ . '/..' . '/../lib/Files/Sharing/FilesDropPlugin.php',
'OCA\\DAV\\Files\\Sharing\\PublicLinkCheckPlugin' => __DIR__ . '/..' . '/../lib/Files/Sharing/PublicLinkCheckPlugin.php',
'OCA\\DAV\\HookManager' => __DIR__ . '/..' . '/../lib/HookManager.php',
'OCA\\DAV\\Listener\\ActivityUpdaterListener' => __DIR__ . '/..' . '/../lib/Listener/ActivityUpdaterListener.php',
'OCA\\DAV\\Listener\\AddMissingIndicesListener' => __DIR__ . '/..' . '/../lib/Listener/AddMissingIndicesListener.php',
'OCA\\DAV\\Listener\\AddressbookListener' => __DIR__ . '/..' . '/../lib/Listener/AddressbookListener.php',
@@ -314,6 +313,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Listener\\OutOfOfficeListener' => __DIR__ . '/..' . '/../lib/Listener/OutOfOfficeListener.php',
'OCA\\DAV\\Listener\\SubscriptionListener' => __DIR__ . '/..' . '/../lib/Listener/SubscriptionListener.php',
'OCA\\DAV\\Listener\\TrustedServerRemovedListener' => __DIR__ . '/..' . '/../lib/Listener/TrustedServerRemovedListener.php',
'OCA\\DAV\\Listener\\UserEventsListener' => __DIR__ . '/..' . '/../lib/Listener/UserEventsListener.php',
'OCA\\DAV\\Listener\\UserPreferenceListener' => __DIR__ . '/..' . '/../lib/Listener/UserPreferenceListener.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndex.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
+27 -11
View File
@@ -81,6 +81,11 @@ OC.L10N.register(
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["في %n سنة في %1$s طيلة اليوم","في سنة في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم","في %n سنوات في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم"],
"In the past on %1$s between %2$s - %3$s" : "في الماضي في %1$s بين %2$s - %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["في %n دقيقة في %1$s بين %2$s - %3$s","في دقيقة فقي %1$s بين %2$s - %3$s","في %n دقيقة فقي %1$s بين %2$s - %3$s","في %n دقائق في %1$s بين %2$s - %3$s","في %n دقيقة في %1$s بين %2$s - %3$s","في %n دقيقة في %1$s بين %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["في %n ساعة في %1$s بين %2$s - %3$s","في ساعة واحدة %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s","في %n ساعات في %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["في%n يوم في %1$s بين %2$s - %3$s","في يوم واحد في %1$s بين %2$s - %3$s","في %n يوم %1$s بين %2$s - %3$s","في %n أيام في %1$s بين %2$s - %3$s","في %n يوم في %1$s بين %2$s - %3$s","في %n يوم في %1$s بين %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["في %n أسبوع في %1$s بين %2$s - %3$s","في أسبوع واحد في %1$s بين %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s","في %n أسابيع في %1$s في %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["في %n شهر في %1$s بين %2$s - %3$s","في شهر واحد في %1$s بين %2$s - %3$s","في %n شهر في %1$s بين %2$s - %3$s","في %n شهور في %1$s بين %2$s - %3$s","في %n شهر في %1$s بين %2$s - %3$s","In %n months on %1$s between %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["في %n سنة في %1$s بين %2$s - %3$s","في سنة واحدة في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s","في %n سنوات في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s"],
"Could not generate when statement" : "يتعذّر تكوين عبارة \"متى\"",
"Every Day for the entire day" : "كل يوم لكامل اليوم",
"Every Day for the entire day until %1$s" : "كل يوم كامل اليوم حتى %1$s",
@@ -118,7 +123,26 @@ OC.L10N.register(
"On specific dates for the entire day until %1$s" : "في تورايخ محددة كامل اليوم حتى%1$s",
"On specific dates between %1$s - %2$s until %3$s" : "في تواريخ محددة بين %1$s - %2$s حتى %3$s",
"In the past on %1$s" : "في الماضي في %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["في %n دقيقة في %1$s","في دقيقة واحدة في %1$s","في %n دقيقة في %1$s","في %n دقائق في %1$s","في %n دقيقة في %1$s","في %n دقيقة في %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["في %n ساعة في %1$s","في ساعة واحدة في%1$s","في %n ساعة في %1$s","في %n ساعات في %1$s","في %n ساعة في %1$s","في %n ساعة في %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["في %n يوم في %1$s","في يوم واحد في%1$s","في %n يوم في %1$s","في %n أيام في %1$s","في %n يوم في%1$s","في %n يوم في %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["في %n أسبوع في %1$s","في أسبوع واحد في %1$s","في %n أسبوع في %1$s","في %n أسابيع في %1$s","في %n أسبوع في %1$s","في %n أسبوع في %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["في %n شهر في %1$s","في شهر واحد في %1$s","في %n شهر في %1$s","في %n أشهر في %1$s","في %n شهر في %1$s","في %n شهر في %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["في %n سنة في %1$s","في سنة واحدة في %1$s","في %n سنة في %1$s","في %n سنوات في %1$s","في %n سنة في %1$s","في %n سنة في %1$s"],
"In the past on %1$s then on %2$s" : "في الماضي في %1$s ثم في %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["في %n دقيقة في %1$s ثم في %2$s","في دقيقة واحدة في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s","فيب %n دقائق في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["في %n ساعة في %1$s ثم في %2$s","في ساعة واحدة في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s","في %n ساعات في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["في %n يوم في %1$s ثم في %2$s","في يوم واحد في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s","في %n أيام في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["في %n أسبوع في %1$s ثم في %2$s","في أسبوع واحد في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s","في %n أسابيع في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["في %n شهر في %1$s ثم في %2$s","في شهر واحد في %1$s ثم في %2$s","في %n شهر في %1$s ثم في %2$s","في %n شهور في %1$s ثم في %2$s","في %n شهر في %1$sثم في %2$s","في %n شهر في %1$s ثم في %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["في %n سنة في %1$s ثم في %2$s","في سنة واحدة في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s","في %n سنوات في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "في الماضي في %1$s ثم في %2$s و %3$s",
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["في %n دقيقة في %1$s ثم في %2$s و %3$s","في دقيقة واحدة في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s","في %n دقائق في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["في %n ساعة في %1$s ثم في %2$s و %3$s","في ساعة واحدة في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s","في %n ساعات في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["في %n يوم في %1$s ثم في %2$s و %3$s","في يوم واحد في %1$s ثم ف %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s","في %n أيام في %1$s ثم في %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["في %n أسبوع في %1$s ثم في %2$s و %3$s","في أسبوع واحد في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسابيع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["في %n شهر في %1$s ثم في %2$s و %3$s","في شهر واحد في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهور في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["في%n سنة في %1$s ثم في %2$s و %3$s","في سنة واحدة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنوات في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s"],
"Could not generate next recurrence statement" : "يتعذّر توليد عبارة التكرار التالي",
"Cancelled: %1$s" : "مُلغىً: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" تمّ إلغاؤه",
@@ -165,10 +189,12 @@ OC.L10N.register(
"Second" : "ثاني",
"Third" : "ثالث",
"Fourth" : "رابع",
"Fifth" : "خامس",
"Last" : "آخِر",
"Second Last" : "ما قبل الأخير",
"Third Last" : "الثالث من الآخِر",
"Fourth Last" : "الرابع من الآخِر",
"Fifth Last" : "خامس من الأخير",
"Contacts" : "جهات الاتصال",
"{actor} created address book {addressbook}" : "{actor} أنشأ دفتر العناوين {addressbook}",
"You created address book {addressbook}" : "أنت أنشأت دفتر العناوين {addressbook}",
@@ -285,16 +311,6 @@ OC.L10N.register(
"Time:" : "الوقت:",
"Could not open file" : "تعذّر فتح الملف",
"Invalid chunk name" : "اسم كتلة chunk غير صحيح",
"Could not rename part file assembled from chunks" : "تعذّرت إعادة تسمية ملف جزئي مُجمّعٍ من كُتلٍ chunks",
"In a %1$s on %2$s for the entire day" : "عند %1$s في %2$s كامل اليوم",
"In a %1$s on %2$s between %3$s - %4$s" : "عند %1$s في %2$s بين %3$s - %4$s",
"In %1$s %2$s on %3$s for the entire day" : "عند %1$s %2$s في %3$s كامل اليوم",
"In %1$s %2$s on %3$s between %4$s - %5$s" : "عند %1$s %2$s في %3$s بين %4$s - %5$s",
"In a %1$s on %2$s" : "عند %1$s في %2$s",
"In a %1$s on %2$s then on %3$s" : "عند %1$s في %2$s ثم في%3$s",
"In a %1$s on %2$s then on %3$s and %4$s" : "عند %1$s في %2$s ثم في %3$s و %4$s",
"In %1$s %2$s on %3$s" : "عند %1$s %2$s في %3$s",
"In %1$s %2$s on %3$s then on %4$s" : "عند %1$s %2$s في %3$s ثم في %4$s",
"In %1$s %2$s on %3$s then on %4$s and %5$s" : "عند %1$s %2$s في %3$s ثم في %4$s و%5$s"
"Could not rename part file assembled from chunks" : "تعذّرت إعادة تسمية ملف جزئي مُجمّعٍ من كُتلٍ chunks"
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
+27 -11
View File
@@ -79,6 +79,11 @@
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["في %n سنة في %1$s طيلة اليوم","في سنة في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم","في %n سنوات في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم","في %n سنة في %1$s طيلة اليوم"],
"In the past on %1$s between %2$s - %3$s" : "في الماضي في %1$s بين %2$s - %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["في %n دقيقة في %1$s بين %2$s - %3$s","في دقيقة فقي %1$s بين %2$s - %3$s","في %n دقيقة فقي %1$s بين %2$s - %3$s","في %n دقائق في %1$s بين %2$s - %3$s","في %n دقيقة في %1$s بين %2$s - %3$s","في %n دقيقة في %1$s بين %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["في %n ساعة في %1$s بين %2$s - %3$s","في ساعة واحدة %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s","في %n ساعات في %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s","في %n ساعة في %1$s بين %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["في%n يوم في %1$s بين %2$s - %3$s","في يوم واحد في %1$s بين %2$s - %3$s","في %n يوم %1$s بين %2$s - %3$s","في %n أيام في %1$s بين %2$s - %3$s","في %n يوم في %1$s بين %2$s - %3$s","في %n يوم في %1$s بين %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["في %n أسبوع في %1$s بين %2$s - %3$s","في أسبوع واحد في %1$s بين %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s","في %n أسابيع في %1$s في %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s","في %n أسبوع في %1$s بين %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["في %n شهر في %1$s بين %2$s - %3$s","في شهر واحد في %1$s بين %2$s - %3$s","في %n شهر في %1$s بين %2$s - %3$s","في %n شهور في %1$s بين %2$s - %3$s","في %n شهر في %1$s بين %2$s - %3$s","In %n months on %1$s between %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["في %n سنة في %1$s بين %2$s - %3$s","في سنة واحدة في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s","في %n سنوات في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s","في %n سنة في %1$s بين %2$s - %3$s"],
"Could not generate when statement" : "يتعذّر تكوين عبارة \"متى\"",
"Every Day for the entire day" : "كل يوم لكامل اليوم",
"Every Day for the entire day until %1$s" : "كل يوم كامل اليوم حتى %1$s",
@@ -116,7 +121,26 @@
"On specific dates for the entire day until %1$s" : "في تورايخ محددة كامل اليوم حتى%1$s",
"On specific dates between %1$s - %2$s until %3$s" : "في تواريخ محددة بين %1$s - %2$s حتى %3$s",
"In the past on %1$s" : "في الماضي في %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["في %n دقيقة في %1$s","في دقيقة واحدة في %1$s","في %n دقيقة في %1$s","في %n دقائق في %1$s","في %n دقيقة في %1$s","في %n دقيقة في %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["في %n ساعة في %1$s","في ساعة واحدة في%1$s","في %n ساعة في %1$s","في %n ساعات في %1$s","في %n ساعة في %1$s","في %n ساعة في %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["في %n يوم في %1$s","في يوم واحد في%1$s","في %n يوم في %1$s","في %n أيام في %1$s","في %n يوم في%1$s","في %n يوم في %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["في %n أسبوع في %1$s","في أسبوع واحد في %1$s","في %n أسبوع في %1$s","في %n أسابيع في %1$s","في %n أسبوع في %1$s","في %n أسبوع في %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["في %n شهر في %1$s","في شهر واحد في %1$s","في %n شهر في %1$s","في %n أشهر في %1$s","في %n شهر في %1$s","في %n شهر في %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["في %n سنة في %1$s","في سنة واحدة في %1$s","في %n سنة في %1$s","في %n سنوات في %1$s","في %n سنة في %1$s","في %n سنة في %1$s"],
"In the past on %1$s then on %2$s" : "في الماضي في %1$s ثم في %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["في %n دقيقة في %1$s ثم في %2$s","في دقيقة واحدة في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s","فيب %n دقائق في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s","في %n دقيقة في %1$s ثم في %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["في %n ساعة في %1$s ثم في %2$s","في ساعة واحدة في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s","في %n ساعات في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s","في %n ساعة في %1$s ثم في %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["في %n يوم في %1$s ثم في %2$s","في يوم واحد في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s","في %n أيام في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s","في %n يوم في %1$s ثم في %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["في %n أسبوع في %1$s ثم في %2$s","في أسبوع واحد في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s","في %n أسابيع في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s","في %n أسبوع في %1$s ثم في %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["في %n شهر في %1$s ثم في %2$s","في شهر واحد في %1$s ثم في %2$s","في %n شهر في %1$s ثم في %2$s","في %n شهور في %1$s ثم في %2$s","في %n شهر في %1$sثم في %2$s","في %n شهر في %1$s ثم في %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["في %n سنة في %1$s ثم في %2$s","في سنة واحدة في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s","في %n سنوات في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s","في %n سنة في %1$s ثم في %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "في الماضي في %1$s ثم في %2$s و %3$s",
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["في %n دقيقة في %1$s ثم في %2$s و %3$s","في دقيقة واحدة في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s","في %n دقائق في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s","في %n دقيقة في %1$s ثم في %2$s و %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["في %n ساعة في %1$s ثم في %2$s و %3$s","في ساعة واحدة في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s","في %n ساعات في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s","في %n ساعة في %1$s ثم في %2$s و %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["في %n يوم في %1$s ثم في %2$s و %3$s","في يوم واحد في %1$s ثم ف %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s","في %n أيام في %1$s ثم في %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s","في %n يوم في %1$s ثم في %2$s و %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["في %n أسبوع في %1$s ثم في %2$s و %3$s","في أسبوع واحد في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسابيع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["في %n شهر في %1$s ثم في %2$s و %3$s","في شهر واحد في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهور في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["في%n سنة في %1$s ثم في %2$s و %3$s","في سنة واحدة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنوات في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s"],
"Could not generate next recurrence statement" : "يتعذّر توليد عبارة التكرار التالي",
"Cancelled: %1$s" : "مُلغىً: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" تمّ إلغاؤه",
@@ -163,10 +187,12 @@
"Second" : "ثاني",
"Third" : "ثالث",
"Fourth" : "رابع",
"Fifth" : "خامس",
"Last" : "آخِر",
"Second Last" : "ما قبل الأخير",
"Third Last" : "الثالث من الآخِر",
"Fourth Last" : "الرابع من الآخِر",
"Fifth Last" : "خامس من الأخير",
"Contacts" : "جهات الاتصال",
"{actor} created address book {addressbook}" : "{actor} أنشأ دفتر العناوين {addressbook}",
"You created address book {addressbook}" : "أنت أنشأت دفتر العناوين {addressbook}",
@@ -283,16 +309,6 @@
"Time:" : "الوقت:",
"Could not open file" : "تعذّر فتح الملف",
"Invalid chunk name" : "اسم كتلة chunk غير صحيح",
"Could not rename part file assembled from chunks" : "تعذّرت إعادة تسمية ملف جزئي مُجمّعٍ من كُتلٍ chunks",
"In a %1$s on %2$s for the entire day" : "عند %1$s في %2$s كامل اليوم",
"In a %1$s on %2$s between %3$s - %4$s" : "عند %1$s في %2$s بين %3$s - %4$s",
"In %1$s %2$s on %3$s for the entire day" : "عند %1$s %2$s في %3$s كامل اليوم",
"In %1$s %2$s on %3$s between %4$s - %5$s" : "عند %1$s %2$s في %3$s بين %4$s - %5$s",
"In a %1$s on %2$s" : "عند %1$s في %2$s",
"In a %1$s on %2$s then on %3$s" : "عند %1$s في %2$s ثم في%3$s",
"In a %1$s on %2$s then on %3$s and %4$s" : "عند %1$s في %2$s ثم في %3$s و %4$s",
"In %1$s %2$s on %3$s" : "عند %1$s %2$s في %3$s",
"In %1$s %2$s on %3$s then on %4$s" : "عند %1$s %2$s في %3$s ثم في %4$s",
"In %1$s %2$s on %3$s then on %4$s and %5$s" : "عند %1$s %2$s في %3$s ثم في %4$s و%5$s"
"Could not rename part file assembled from chunks" : "تعذّرت إعادة تسمية ملف جزئي مُجمّعٍ من كُتلٍ chunks"
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+91 -2
View File
@@ -72,6 +72,78 @@ OC.L10N.register(
"Description: %s" : "Descripció: %s",
"Where: %s" : "Ubicació: %s",
"%1$s via %2$s" : "%1$s mitjançant %2$s",
"In the past on %1$s for the entire day" : "En el passat a %1$s durant tot el dia",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["En un minut a %1$s durant tot el dia","En %n minuts a %1$s durant tot el dia"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["En una hora a %1$s durant tot el dia","En %n hores a %1$s durant tot el dia"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["En un dia a %1$s durant tot el dia","En %n dies a %1$s durant tot el dia"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["En una setmana a %1$s durant tot el dia","En %n setmanes a %1$s durant tot el dia"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["En un mes el %1$s durant tot el dia","En %n mesos el %1$s durant tot el dia"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["En un any a %1$s durant tot el dia","En %n anys a %1$s durant tot el dia"],
"In the past on %1$s between %2$s - %3$s" : "En el passat el dia %1$s entre les %2$s i les %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["D'aquí a un minut el %1$s entre les %2$s i les %3$s","Daquí a %n minuts el %1$s entre les %2$s i les %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["D'aquí a una hora el %1$s entre les %2$s i les %3$s","Daquí a %n hores el %1$s entre les %2$s i les %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["En un dia el %1$s entre les %2$s i les %3$s","En %n dies el %1$s entre les %2$s i les %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["En una setmana el %1$s entre les %2$s i les %3$s","En %n setmanes el %1$s entre les %2$s i les %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["D'aquí a un mes el %1$s entre les %2$s i les %3$s","Daquí a %n mesos el %1$s entre les %2$s i les %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["D'aquí a un any el %1$s entre les %2$s i les %3$s","Daquí %n anys el %1$s entre les %2$s i les %3$s"],
"Could not generate when statement" : "No s'ha pogut generar la declaració de quan",
"Every Day for the entire day" : "Cada dia durant tot el dia",
"Every Day for the entire day until %1$s" : "Cada dia durant tot el dia fins a les %1$s",
"Every Day between %1$s - %2$s" : "Cada dia entre %1$s i %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Cada dia entre %1$s - %2$s fins a les %3$s",
"Every %1$d Days for the entire day" : "Cada %1$d dies durant tot el dia",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d dies durant tot el dia fins a les %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d dies entre %2$s i %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d dies entre les %2$s i les %3$s fins a les %4$s",
"Could not generate event recurrence statement" : "No s'ha pogut generar la instrucció de recurrència de l'esdeveniment",
"Every Week on %1$s for the entire day" : "Cada setmana el %1$s durant tot el dia",
"Every Week on %1$s for the entire day until %2$s" : "Cada setmana el %1$s durant tot el dia fins a les %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Cada setmana el %1$s entre les %2$s i les %3$s",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Cada setmana el %1$s entre les %2$s i les %3$s fins a les %4$s",
"Every %1$d Weeks on %2$s for the entire day" : "Cada %1$d setmanes el dia %2$s durant tot el dia",
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Cada %1$d setmanes el %2$s durant tot el dia fins a les %3$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Cada %1$d setmanes el dia %2$s entre les %3$s i les %4$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Cada %1$d setmanes el %2$s entre les %3$s i les %4$s fins a les %5$s",
"Every Month on the %1$s for the entire day" : "Cada mes a les %1$s durant tot el dia",
"Every Month on the %1$s for the entire day until %2$s" : "Cada mes a les %1$s durant tot el dia fins a les %2$s",
"Every Month on the %1$s between %2$s - %3$s" : "Cada mes el %1$s entre les %2$s i les %3$s",
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "Cada mes el dia %1$s entre les %2$s i les %3$s fins a les %4$s",
"Every %1$d Months on the %2$s for the entire day" : "Cada %1$d mesos el %2$s durant tot el dia",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Cada %1$d mesos el %2$s durant tot el dia fins a les %3$s",
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Cada %1$d mesos el %2$s entre les %3$s i les %4$s",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Cada %1$d mesos el %2$s entre les %3$s i les %4$s fins a les %5$s",
"Every Year in %1$s on the %2$s for the entire day" : "Cada any a %1$s el %2$s durant tot el dia",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Cada any a %1$s el %2$s durant tot el dia fins a les %3$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Cada any a %1$s el %2$s entre les %3$s i les %4$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Cada any a %1$s el %2$s entre les %3$s i les %4$s fins a %5$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Cada %1$d anys a %2$s el %3$s durant tot el dia",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Cada %1$d anys a %2$s el %3$s durant tot el dia fins a les %4$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Cada %1$d anys a %2$s el %3$s entre les %4$s i les %5$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Cada %1$d anys a %2$s el %3$s entre les %4$s i les %5$s fins a %6$s",
"On specific dates for the entire day until %1$s" : "En dates específiques durant tot el dia fins a les %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "En dates específiques entre les %1$s i les %2$s fins a %3$s",
"In the past on %1$s" : "En el passat a %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["En un minut a %1$s durant tot el dia","En %n minuts a %1$s durant tot el dia"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["D'aquí a una hora a %1$s","Daquí %n hores a %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["En un dia el %1$s","En %n dies el %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["D'aquí a una setmana el %1$s","Daquí %n setmanes el %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["D'aquí a un mes el %1$s","Daquí %n mesos el %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["D'aquí a un any el %1$s","Daquí %n anys el %1$s"],
"In the past on %1$s then on %2$s" : "En el passat el %1$s i després el %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["D'aquí a un minut el %1$s i després el %2$s","Daquí a %n minuts el %1$s i després el %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["D'aquí a una hora el %1$s i després el %2$s","Daquí %n hores el %1$s i després el %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["En un dia el %1$s i després el %2$s","En %n dies el %1$s i després el %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["D'aquí a una setmana el %1$s i després el %2$s","Daquí %n setmanes el %1$s i després el %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["D'aquí a un mes el %1$s i després el %2$s","Daquí %n mesos el %1$s i després el %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["D'aquí a un any el %1$s i després el %2$s","Daquí %n anys el %1$s i després el %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "En el passat el %1$s, després el %2$s i el %3$s",
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["D'aquí a un minut el %1$s i després el %2$s i el %3$s","Daquí a %n minuts el %1$s i després el %2$s i el %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["D'aquí a una hora el %1$s i després el %2$s i el %3$s","Daquí a %n hores el %1$s i després el %2$s i el %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["D'aquí a un dia el %1$s i després el %2$s i el %3$s","Daquí a %n dies el %1$s i després el %2$s i el %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["D'aquí a una setmana el %1$s i després el %2$s i el %3$s","Daquí a %n setmanes el %1$s i després el %2$s i el %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["D'aquí a un mes el %1$s i després el %2$s i el %3$s","Daquí a %n mesos el %1$s i després el %2$s i el %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["D'aquí a un any el %1$s i després el %2$s i el %3$s","Daquí a %n anys el %1$s i després el %2$s i el %3$s"],
"Could not generate next recurrence statement" : "No s'ha pogut generar la següent instrucció de recurrència",
"Cancelled: %1$s" : "S'ha cancel·lat: %1$s",
"\"%1$s\" has been canceled" : "S'ha cancel·lat «%1$s»",
"Re: %1$s" : "Re: %1$s",
@@ -89,6 +161,7 @@ OC.L10N.register(
"When:" : "Quan:",
"Location:" : "Ubicació:",
"Link:" : "Enllaç:",
"Occurring:" : "Ocorrent:",
"Accept" : "Accepta",
"Decline" : "Rebutja",
"More options …" : "Més opcions…",
@@ -113,7 +186,15 @@ OC.L10N.register(
"November" : "Novembre",
"December" : "Desembre",
"First" : "Primer",
"Second" : "Segon",
"Third" : "Tercer",
"Fourth" : "Quart",
"Fifth" : "Cinquè",
"Last" : "Últim",
"Second Last" : "Segon últim",
"Third Last" : "Tercer últim",
"Fourth Last" : "Quart últim",
"Fifth Last" : "Cinquè últim",
"Contacts" : "Contactes",
"{actor} created address book {addressbook}" : "{actor} ha creat la llibreta d'adreces {addressbook}",
"You created address book {addressbook}" : "Heu creat la llibreta d'adreces {addressbook}",
@@ -142,6 +223,7 @@ OC.L10N.register(
"Accounts" : "Comptes",
"System address book which holds all accounts" : "Llibreta d'adreces del sistema que conté tots els comptes",
"File is not updatable: %1$s" : "El fitxer no es pot actualitzar: %1$s",
"Failed to get storage for file" : "No s'ha pogut obtenir emmagatzematge per al fitxer",
"Could not write to final file, canceled by hook" : "No s'ha pogut escriure el fitxer final perquè el ganxo ho ha cancel·lat",
"Could not write file contents" : "No s'ha pogut escriure el contingut del fitxer",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
@@ -150,11 +232,14 @@ OC.L10N.register(
"Could not rename part file to final file, canceled by hook" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final perquè el ganxo ho ha cancel·lat",
"Could not rename part file to final file" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final",
"Failed to check file size: %1$s" : "No s'ha pogut comprovar la mida del fitxer: %1$s",
"Could not open file: %1$s, file does seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, el fitxer sembla que existeix",
"Could not open file: %1$s, file doesn't seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, sembla que el fitxer no existeix",
"Encryption not ready: %1$s" : "El xifratge no està preparat: %1$s",
"Failed to open file: %1$s" : "No s'ha pogut obrir el fitxer: %1$s",
"Failed to unlink: %1$s" : "No s'ha pogut desenllaçar: %1$s",
"Failed to write file contents: %1$s" : "No s'ha pogut escriure el contingut del fitxer: %1$s",
"File not found: %1$s" : "No s'ha trobat el fitxer: %1$s",
"Invalid target path" : "Camí de destinació no vàlid",
"System is in maintenance mode." : "El sistema és en mode de manteniment.",
"Upgrade needed" : "Cal actualitzar",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Cal que configureu el %s perquè utilitzi HTTPS per a poder utilitzar CalDAV i CardDAV amb l'iOS/macOS.",
@@ -166,7 +251,7 @@ OC.L10N.register(
"Due on %s by %s" : "Venç el %s a les %s",
"Due on %s" : "Venç el %s",
"DAV system address book" : "Llibreta d'adreces del sistema DAV",
"No outstanding DAV system address book sync." : "No hi ha cap sincronització pendent de la llibreta d'adreces del sistema DAV",
"No outstanding DAV system address book sync." : "No hi ha cap sincronització pendent de la llibreta d'adreces del sistema DAV.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "La sincronització de la llibreta d'adreces del sistema DAV encara no s'ha executat perquè la instància té més de 1000 usuaris o a causa d'un error. Executeu-la manualment amb «occ dav:sync-system-addressbook».",
"WebDAV endpoint" : "Extrem WebDAV",
"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.",
@@ -178,6 +263,10 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"First day" : "Primer dia",
"Last day (inclusive)" : "Darrer dia (inclòs)",
"Out of office replacement (optional)" : "Substitució fora de l'oficina (opcional)",
"Name of the replacement" : "Nom del substitut",
"No results." : "Cap resultat.",
"Start typing." : "Comença a escriure.",
"Short absence status" : "Estat d'absència breu",
"Long absence Message" : "Missatge d'absència llarga",
"Save" : "Desa",
@@ -194,7 +283,7 @@ OC.L10N.register(
"Weekdays" : "Dies de la setmana",
"Pick a start time for {dayName}" : "Trieu una hora d'inici per a {dayName}",
"Pick a end time for {dayName}" : "Trieu una hora de finalització per a {dayName}",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estableix automàticament l'estat de l'usuari com a «No molesteu» fora de la disponibilitat per a silenciar totes les notificacions",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estableix automàticament l'estat de l'usuari com a \"No molesteu fora de la disponibilitat per a silenciar totes les notificacions.",
"Failed to load availability" : "No s'ha pogut carregar la disponibilitat",
"Saved availability" : "S'ha desat la disponibilitat",
"Failed to save availability" : "No s'ha pogut desar la disponibilitat",

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