Compare commits

...

608 Commits

Author SHA1 Message Date
Josh
edbb1e2821 chore(Setup/AbstractDB): fixup for cs and psalm
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 22:32:10 -05:00
Josh
047d464240 chore(setup/AbstractDB): drop fixed psalm-baseline entries
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 22:15:47 -05:00
Josh
46b6185202 refactor(setup/AbstractDB): add logging and docs to runMigrations
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 22:04:40 -05:00
Josh
d3ce30b46a feat(setup/AbstractDB): add param debug logging to connect()
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 16:56:01 -05:00
Josh
c2067e1889 refactor(setup/AbstractDB): extract port/socket handling logic
Also:

- add some helpful inline comments
- simplify primary/replica param merging (same outcome)

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 16:46:55 -05:00
Josh
1d33bbbda7 refactor(setup/AbstractDB): split initialize() logic up into helpers
- Improved readability
- Easier child class customization

Also added for certain config keys: a couple clarifying comments and additional error checking

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 11:26:27 -05:00
Josh
55268455a6 refactor(setup/AbstractDB): early return + override comment in validateDatabaseName()
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 10:23:04 -05:00
Josh
a5c4640be7 chore(setup/PostgreSQL): switch from $dbprettyname to getDisplayName
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 10:08:17 -05:00
Josh
63e1a49c0a chore(setup/Sqlite): switch from $dbprettyname to getDisplayName
And canonicalize "SQLite" properly

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 10:06:45 -05:00
Josh
f9ae23b064 chore(setup/OCI): switch from $dbprettyname to getDisplayName
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 10:04:48 -05:00
Josh
b0294cf397 chore(setup/MySQL): switch from $dbprettyname to getDisplayName
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 10:03:22 -05:00
Josh
41c9b48346 refactor(setup/AbstractDB): eliminate magic property $this->dbprettyname
- Makes the undefined property explicit and required (less psalm baseline noise)
- Forces child classes to implement it
- Better type safety

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 10:00:18 -05:00
Josh
28449695f7 refactor(setup/OCI): override override validateDatabaseName() to skip dot check
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 09:35:31 -05:00
Josh
57e54fd867 refactor(setup/AbstractDB): Extract validation methods
- Child classes can override specific validation rules more selectively (e.g. OCI override becomes simpler to avoid the dot check)
- Improved code readability

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 09:28:11 -05:00
Josh
5aba60adab fix(setup/AbstractDB): handle missing dbname in dots check
Also:

- Switch to more modern str_contains()
- Tidy up code formatting a bit

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-18 09:20:24 -05:00
Joas Schilling
a6d1fa1fa6 Merge pull request #58399 from nextcloud/followup/58282/restore-typing-on-middle-class
fix(migrations): Restore type definitions for API class used in apps
2026-02-18 09:24:57 +01:00
Joas Schilling
06f35ec4f8 fix(migrations): Restore type definitions for API class used in apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-18 08:36:08 +01:00
Nextcloud bot
16d3cee3a2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-18 00:20:52 +00:00
Ferdinand Thiessen
48d6d8df2b Merge pull request #54048 from nextcloud/files-external-optional-dependencies
fix(files_external): ignore unsatisfied optional dependencies
2026-02-17 22:58:42 +01:00
Ferdinand Thiessen
252449023f Merge pull request #58379 from nextcloud/backport/58285/master
fix(cache): filter out invalid entries in `OC\Files\Cache\Wrapper\CacheWrapper::getFolderContentsById`
2026-02-17 18:11:04 +01:00
Jan-Philipp Litza
0f4d6b8027 fix(files_external): ignore unsatisfied optional dependencies
Signed-off-by: Jan-Philipp Litza <janphilipp@litza.de>
2026-02-17 18:03:56 +01:00
Ferdinand Thiessen
88bb82ccfe fix(cache): filter out invalid entries in OC\Files\Cache\Wrapper\CacheWrapper::getFolderContentsById
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 17:20:46 +01:00
Ferdinand Thiessen
560df4a73c fix(cache): filter out invalid entries in OC\Files\Cache\Wrapper\CacheWrapper::getFolderContentsById
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

[skip ci]
2026-02-17 17:17:02 +01:00
Benjamin Gaussorgues
f2907f133c Merge pull request #58282 from nextcloud/carl/refactor-migration
refactor(psalm): Modernize migration doc
2026-02-17 14:58:03 +01:00
Ferdinand Thiessen
b6d22f384b Merge pull request #57648 from nextcloud/chore/drop-jquery
chore!: drop jQuery UI and jQuery
2026-02-17 14:14:12 +01:00
Robin Appelman
867ef52cfb Merge pull request #57523 from nextcloud/authoritative-share-provider
Make share mount provider authoritative
2026-02-17 13:31:10 +01:00
Kate
e9bba6a610 Merge pull request #58286 from nextcloud/fix/groupfolders-phpstan
Fix a bunch of typing issues to make PHPStan level 10 happy on groupfolders
2026-02-17 13:30:46 +01:00
Ferdinand Thiessen
0b37d37884 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:53:15 +01:00
Ferdinand Thiessen
b0df06d533 chore!(core): remove deprecated jQuery and jQuery UI
"jQuery is deprecated and will be removed with Nextcloud 19"
Well... At least it is removed now 😉

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:51:42 +01:00
Ferdinand Thiessen
00a5c028a4 chore!(core): remove legacy Backbone
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
a32168b01e chore!(core): remove legacy OC.Files.Client
Use the DAV client from `@nextcloud/files/dav` instead.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
fd5108b68b chore!(core): remove global snapper.js handling
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
c89939fbd6 chore!(core): remove handling of .live-relative-timestamp use @nextcloud/vue/components/NcDateTime instead
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
503fad2b16 chore!(core): remove legacy OC.registerMenu and other menu helpers
Instead use Vue components.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
e14d97b95a chore!(core): remove deprecated OC.Apps
Instead use components from `@nextcloud/vue`

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
b66292a0d4 chore!(core): drop deprecated OC.Notification
Deprecated since 17.0.0, use the `@nextcloud/dialogs` package instead.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
16f4ff98e4 chore!(core): drop deprecated OC.Dialogs.fileexists
It is deprecated since 29.0.0.
Instead use `openConflictPicker` from the `@nextcloud/upload` (Vue 2).
Or from `@nextcloud/dialogs` (every other framework like Vue 3 etc).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
9c8f80102a chore!(core): drop deprecated OC.Settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
b0e99d0293 Merge pull request #58327 from nextcloud/feat/1698/recent-files-include-recently-uploaded
feat: add upload_time support to file search and recent files
2026-02-17 11:48:12 +01:00
Kate
3a80443508 Merge pull request #58278 from nextcloud/techdebt/noid/openapi-for-workflow-engine
feat(workflowengine): Add openapi for workflow engine
2026-02-17 08:34:45 +01:00
provokateurin
4eada2d804 refactor(Files): Modernize Wrapper
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
672a29aa0c refactor(Files): Remove deprecated and unused getMimeType and searchByMime methods
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
5f4a5d8c67 refactor(Files): Remove deprecated streamCopy method
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
c953ad9bcd fix(Storage): Use correct return types for getMetaData and getDirectoryContent
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
7ceddb3ffb fix(IStorage): Use correct return type for stat
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
2d486c5629 fix(IGroupManager): Use correct return type for displayNamesInGroup
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
e454cc6765 refactor(settings): Modernize authorized group classes
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
3693cbeaf9 fix(IMetadataVersion): Use correct return type for getMetadata
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
e40d6b1c6b refactor(dav): Modernize Node
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
bf71461bee fix(psalm-strict): Supress errors related to internal classes, methods and properties
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
Nextcloud bot
045a41625a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-17 00:20:47 +00:00
Robin Appelman
3ec7bd2ee1 Merge pull request #58207 from nextcloud/share-verify-mount-event-improvements
feat: improve VerifyMountPointEvent event
2026-02-16 20:49:39 +01:00
Joas Schilling
4134df9eda feat(workflowengine): Add openapi for workflow engine
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-16 17:51:18 +01:00
Kent Delante
91946d549f Merge pull request #58262 from nextcloud/leftybournes/fix/external_storage_forbid_local
fix(external_storage): hide local storage as an option for users
2026-02-16 21:23:52 +08:00
Kent Delante
2d2139ab94 fix(external_storage): hide local storage as an option for users
Signed-off-by: Kent Delante <kent.delante@proton.me>
2026-02-16 20:53:30 +08:00
Kate
35f24bcd38 Merge pull request #58355 from nextcloud/fix/ocp/container
fix(IRegistrationContext): Use IContainer in registerService factory
2026-02-16 13:36:37 +01:00
provokateurin
d92c2de741 fix(IRegistrationContext): Use IContainer in registerService factory
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-16 10:45:13 +01:00
provokateurin
931d15e476 feat(IContainer): Undeprecate class
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-16 10:45:13 +01:00
provokateurin
935c2416b5 fix(IContainer): Override get method with better type annotations
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-16 10:45:13 +01:00
provokateurin
9dc1d6372f fix(IContainer): Fix parameter and return types
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-16 10:45:13 +01:00
Git'Fellow
f06133bf13 Merge pull request #58350 from nextcloud/regressionEmptyPort
fix(sftp): Handle empty port parameter to allow host-defined ports
2026-02-16 10:13:38 +01:00
Nextcloud bot
891ec7bed5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-16 00:20:46 +00:00
github-actions[bot]
53ac6d62b5 Merge pull request #58307 from nextcloud/dependabot/npm_and_yarn/nextcloud/dialogs-7.3.0
chore(deps): Bump @nextcloud/dialogs from 7.2.0 to 7.3.0
2026-02-15 16:07:39 +01:00
nextcloud-command
b812040314 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-15 12:39:59 +00:00
dependabot[bot]
d4416f10fe chore(deps): Bump @nextcloud/dialogs from 7.2.0 to 7.3.0
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v7.2.0...v7.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-15 12:08:37 +00:00
github-actions[bot]
eebcc7b5bb Merge pull request #58314 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/upload-1.11.1
chore(deps): Bump @nextcloud/upload from 1.11.0 to 1.11.1 in /build/frontend-legacy
2026-02-15 11:13:37 +00:00
nextcloud-command
88b6c54d6b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-15 08:27:14 +00:00
dependabot[bot]
ee65e8e79c chore(deps): Bump @nextcloud/upload in /build/frontend-legacy
Bumps [@nextcloud/upload](https://github.com/nextcloud-libraries/nextcloud-upload) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-upload/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-upload/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-upload/compare/v1.11.0...v1.11.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-15 08:19:12 +00:00
github-actions[bot]
15f1ec22f4 Merge pull request #58312 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webpack-5.105.2
chore(deps-dev): Bump webpack from 5.105.0 to 5.105.2 in /build/frontend-legacy
2026-02-15 09:17:15 +01:00
github-actions[bot]
a04d6d6de2 Merge pull request #58310 from nextcloud/dependabot/npm_and_yarn/sortablejs-1.15.7
chore(deps): Bump sortablejs from 1.15.6 to 1.15.7
2026-02-15 09:02:37 +01:00
Nextcloud bot
ba2ddc1392 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-15 00:20:42 +00:00
nextcloud-command
72d825a7dc chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 23:16:00 +00:00
nextcloud-command
096bff5fed chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 23:15:51 +00:00
dependabot[bot]
e0e37fcac4 chore(deps): Bump sortablejs from 1.15.6 to 1.15.7
Bumps [sortablejs](https://github.com/SortableJS/Sortable) from 1.15.6 to 1.15.7.
- [Release notes](https://github.com/SortableJS/Sortable/releases)
- [Commits](https://github.com/SortableJS/Sortable/compare/1.15.6...1.15.7)

---
updated-dependencies:
- dependency-name: sortablejs
  dependency-version: 1.15.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 23:07:24 +00:00
dependabot[bot]
eec2e93d3a chore(deps-dev): Bump webpack in /build/frontend-legacy
Bumps [webpack](https://github.com/webpack/webpack) from 5.105.0 to 5.105.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack/compare/v5.105.0...v5.105.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 23:07:05 +00:00
github-actions[bot]
f6dc6ec3e3 Merge pull request #58346 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/marked-17.0.2
chore(deps): Bump marked from 17.0.1 to 17.0.2 in /build/frontend-legacy
2026-02-14 22:53:59 +00:00
Ferdinand Thiessen
66c1e0ab61 Merge pull request #58330 from nextcloud/fix/view-order
fix(files): correctly sort views
2026-02-14 22:59:27 +01:00
nextcloud-command
93d6087eb6 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 21:37:23 +00:00
Ferdinand Thiessen
2007491e11 fix(files): correctly sort views
The condition to sort by order was missing, so the views were only
sorted by name. Added the most important order condition and proper
tests for this.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-14 22:29:46 +01:00
nextcloud-command
0263a7f093 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 20:53:35 +01:00
dependabot[bot]
d16a7b3653 chore(deps): Bump marked from 17.0.1 to 17.0.2 in /build/frontend-legacy
Bumps [marked](https://github.com/markedjs/marked) from 17.0.1 to 17.0.2.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.1...v17.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 20:53:35 +01:00
github-actions[bot]
a69d56d1b7 Merge pull request #58348 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/multi-d31b51a7f2
chore(deps): Bump qs and body-parser in /build/frontend-legacy
2026-02-14 20:38:35 +01:00
nextcloud-command
eb4194a973 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 16:46:10 +00:00
Git'Fellow
b1e71ae646 fix(sftp): Handle empty port parameter to allow host-defined ports
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-02-14 12:29:38 +01:00
dependabot[bot]
161b1098c0 chore(deps): Bump qs and body-parser in /build/frontend-legacy
Bumps [qs](https://github.com/ljharb/qs) and [body-parser](https://github.com/expressjs/body-parser). These dependencies needed to be updated together.

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

Updates `body-parser` from 1.20.3 to 1.20.4
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.3...1.20.4)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.2
  dependency-type: indirect
- dependency-name: body-parser
  dependency-version: 1.20.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 07:08:25 +00:00
github-actions[bot]
cf1c70ca62 Merge pull request #58345 from nextcloud/dependabot/npm_and_yarn/stylelint-17.3.0
chore(deps-dev): Bump stylelint from 17.1.1 to 17.3.0
2026-02-14 07:07:17 +00:00
dependabot[bot]
e9ec5026a6 chore(deps-dev): Bump stylelint from 17.1.1 to 17.3.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 17.1.1 to 17.3.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/17.1.1...17.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 02:05:13 +00:00
Nextcloud bot
1439a2caab fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-14 00:21:13 +00:00
github-actions[bot]
f9f35151c0 Merge pull request #58301 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.20
chore(deps-dev): Bump @zip.js/zip.js from 2.8.17 to 2.8.20
2026-02-13 18:34:50 +00:00
github-actions[bot]
7ed3134160 Merge pull request #58304 from nextcloud/dependabot/npm_and_yarn/msw-2.12.10
chore(deps-dev): Bump msw from 2.12.9 to 2.12.10
2026-02-13 18:19:11 +00:00
Robin Appelman
eb6f78e26d feat: implement authoritative mount provider for share provider
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-13 19:02:05 +01:00
Cristian Scheid
e964351389 feat: add upload_time support to file search and recent files
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-13 14:38:51 -03:00
Sebastian Krupinski
c56938f6a9 Merge pull request #58203 from nextcloud/fix/obey-x-nc-scheduling-flag-on-delete
fix: obey x-nc-scheduling flag on delete
2026-02-13 12:07:25 -05:00
github-actions[bot]
8443c71d3e Merge pull request #58302 from nextcloud/dependabot/npm_and_yarn/eslint-plugin-cypress-5.3.0
chore(deps-dev): Bump eslint-plugin-cypress from 5.2.1 to 5.3.0
2026-02-13 16:25:09 +00:00
SebastianKrupinski
b91dfee54a fix: obey x-nc-scheduling flag on delete
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-02-13 09:58:26 -05:00
Sebastian Krupinski
0cd375532d Merge pull request #50843 from nextcloud/fix/noid/fix-itipbroker-messages
fix(CalDAV): iTipBroker message generation and testing
2026-02-13 09:51:52 -05:00
Carl Schwan
2391d58eb0 Merge pull request #58107 from nextcloud/local-preview-mkdir-exists
fix: don't try to create preview folder if it already exists
2026-02-13 15:10:24 +01:00
github-actions[bot]
44e7082e5a Merge pull request #58318 from nextcloud/dependabot/npm_and_yarn/qs-6.14.2
chore(deps): Bump qs from 6.14.1 to 6.14.2
2026-02-13 12:39:13 +01:00
Ferdinand Thiessen
fee431f9c0 Merge pull request #58003 from nextcloud/fix/57669/show-theming-image-upload-errors
fix(theming): display error messages on image upload and delete previous image only after validation
2026-02-13 11:49:38 +01:00
nextcloud-command
0f91aec1bd chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-13 10:03:50 +00:00
Nextcloud bot
bf83faf7cd fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-13 00:41:19 +00:00
github-actions[bot]
a793dac97c Merge pull request #58317 from nextcloud/dependabot/github_actions/github-actions-ee4cefd656
chore(deps): Bump the github-actions group with 3 updates
2026-02-13 00:12:39 +00:00
github-actions[bot]
d6842d720e Merge pull request #58316 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/dialogs-7.3.0
chore(deps): Bump @nextcloud/dialogs from 7.2.0 to 7.3.0 in /build/frontend-legacy
2026-02-12 23:11:48 +00:00
nextcloud-command
742f8717e3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-12 22:55:26 +00:00
dependabot[bot]
acb9698012 chore(deps): Bump @nextcloud/dialogs in /build/frontend-legacy
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v7.2.0...v7.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 22:43:30 +00:00
dependabot[bot]
ac4c74156a chore(deps): Bump qs from 6.14.1 to 6.14.2
Bumps [qs](https://github.com/ljharb/qs) from 6.14.1 to 6.14.2.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.14.1...v6.14.2)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 22:42:25 +00:00
github-actions[bot]
e00c98cf67 Merge pull request #58315 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.10
chore(deps-dev): Bump msw from 2.12.9 to 2.12.10 in /build/frontend-legacy
2026-02-12 23:41:12 +01:00
SebastianKrupinski
70d051f602 fix: iTipBroker message generation and testing
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-02-12 15:20:36 -05:00
dependabot[bot]
bd4899fc42 chore(deps): Bump the github-actions group with 3 updates
Bumps the github-actions group with 3 updates: [github/codeql-action](https://github.com/github/codeql-action), [cypress-io/github-action](https://github.com/cypress-io/github-action) and [LizardByte/actions](https://github.com/lizardbyte/actions).


Updates `github/codeql-action` from 4.32.0 to 4.32.2
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b20883b0cd...45cbd0c69e)

Updates `cypress-io/github-action` from 7.1.1 to 7.1.2
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](0f330ebf0d...84d178e4bb)

Updates `LizardByte/actions` from 2026.129.194351 to 2026.212.22356
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](09a6e10dc8...9bf3ef7837)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2026.212.22356
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 18:52:19 +00:00
dependabot[bot]
af1d11434b chore(deps-dev): Bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.9 to 2.12.10.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.9...v2.12.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 18:39:16 +00:00
dependabot[bot]
0578b0dd9c chore(deps-dev): Bump msw from 2.12.9 to 2.12.10
Bumps [msw](https://github.com/mswjs/msw) from 2.12.9 to 2.12.10.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.9...v2.12.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 18:36:34 +00:00
dependabot[bot]
178517847c chore(deps-dev): Bump eslint-plugin-cypress from 5.2.1 to 5.3.0
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 5.2.1 to 5.3.0.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v5.2.1...v5.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 18:36:05 +00:00
dependabot[bot]
50c163f9a9 chore(deps-dev): Bump @zip.js/zip.js from 2.8.17 to 2.8.20
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.17 to 2.8.20.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.17...v2.8.20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 18:35:36 +00:00
Andy Scherzinger
4cc2bb26ca Merge pull request #58292 from nextcloud/ci/noid/dependabot-v31
Drop dependabot for stable31
2026-02-12 19:32:27 +01:00
Ferdinand Thiessen
202124cd28 Merge pull request #58287 from nextcloud/fix/comments-action
fix(comments): properly handle opening the sidebar when Activity integration is used
2026-02-12 19:10:58 +01:00
Andy Scherzinger
6fb0072a00 ci(deps): Drop dependabot for stable31
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2026-02-12 18:53:50 +01:00
Joas Schilling
8c5fb9c751 Merge pull request #58289 from nextcloud/bugfix/noid/fix-dead-docs-link
fix(docs): Fix dead documentation link for Windows file names
2026-02-12 18:32:36 +01:00
nextcloud-command
eb07c52f95 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-12 17:23:17 +00:00
Joas Schilling
bb1b12b218 fix(docs): Fix dead documentation link for Windows file names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-12 17:47:37 +01:00
Ferdinand Thiessen
f2574fdf34 fix(files): fallback to action id if displayname is empty
This fixes invalid error messages if the action has an empty
displayname, often the case for inline actions

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 17:20:30 +01:00
Ferdinand Thiessen
cd15bb0679 fix(comments): properly handle opening the sidebar when Activity integration is used
When the activity integration is used we need to open the `activity` tab
not the comments tab.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 17:19:04 +01:00
Cristian Scheid
8a703c95ec Merge branch 'master' into fix/57669/show-theming-image-upload-errors
Signed-off-by: Cristian Scheid <74515775+cristianscheid@users.noreply.github.com>
2026-02-12 11:16:47 -03:00
Kate
b80816dfb7 Merge pull request #58098 from nextcloud/fix/appframework/types-phpstan
fix(AppFramework): Adjust types so PHPStan understands them
2026-02-12 14:00:47 +01:00
Louis
286d0d23a3 Merge pull request #58283 from nextcloud/chore/files-v4
chore(deps): update `@nextcloud/files` to v4.0.0
2026-02-12 13:56:47 +01:00
nextcloud-command
c524562c88 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-12 12:15:28 +00:00
nextcloud-command
7ab1c0f212 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-12 08:08:44 -03:00
Cristian Scheid
347c509308 refactor(theming): use isAxiosError for error handling
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-12 08:03:03 -03:00
Cristian Scheid
0a5f75e719 fix(theming): display error messages on image upload and delete previous image only after validation
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-12 08:03:03 -03:00
Ferdinand Thiessen
bb1d814e04 fix(files_sharing): adjust for @nextcloud/files v4
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 11:50:07 +01:00
Ferdinand Thiessen
7ef66a6199 fix(files_external): use root id property instead of internal attributes
Root attributes must not be accessed by the internal `attributes`.
Trying to do so will return `undefined`, so instead use the root `id`
property of nodes.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 11:49:41 +01:00
Ferdinand Thiessen
85c0dcf136 chore(deps): update @nextcloud/files to v4.0.0
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 11:49:21 +01:00
Carl Schwan
f6c839d125 refactor(psalm): Modernize migration doc
And remove all the duplication in the subclasses

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 11:25:55 +01:00
Kate
4d6959da27 Merge pull request #58261 from nextcloud/fix/simplecontainer/get-return-type 2026-02-12 10:56:53 +01:00
Andy Scherzinger
3d4774edb6 Merge pull request #58273 from nextcloud/fix/folder-tree-2
perf(files): initialize folder tree from current state and store
2026-02-12 07:35:50 +01:00
nextcloud-command
e38f96af72 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-12 03:31:28 +01:00
Carl Schwan
0e66ed2233 perf(files): Only request directories from the database
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 03:31:27 +01:00
Ferdinand Thiessen
95d7b5608b perf(files): initialize folder tree from current path and store
Initialize the folder tree based on the current directory.
Also only include views needed.

If possible reuse nodes from files store to prevent API call.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 03:31:27 +01:00
Ferdinand Thiessen
e5c1d80a00 perf(files): only emit initialization once
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 03:31:27 +01:00
Ferdinand Thiessen
69f2c17675 refactor(files): only load navigation views needed
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 03:31:27 +01:00
Ferdinand Thiessen
2f29ad8ff8 feat(files): allow to include parents in folder tree API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 01:28:46 +01:00
Carl Schwan
d35773b99a Merge pull request #57891 from nextcloud/carl/getDirectoryContent-mimetypefilter
perf: Allow filtering the directory content by mimetype
2026-02-12 01:22:10 +01:00
Nextcloud bot
55fb2f395e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-12 00:20:46 +00:00
Carl Schwan
3da621d7fb Merge pull request #58230 from nextcloud/carl/fix-appdata-scanning
fix(preview): Fix files:app-data-scan for previews
2026-02-12 00:57:28 +01:00
Carl Schwan
edd37d349b perf(file-cache): Add mimetype filter on getFolderContents
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 00:36:18 +01:00
Carl Schwan
9741f5f17d perf: Allow filtering the directory content by mimetype
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 00:35:48 +01:00
Carl Schwan
89a20598e5 fix: Skip test requiring local storage on object store setup
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 00:26:22 +01:00
Carl Schwan
3d18cd7cc5 fix(preview): Fix files:app-data-scan for previews
And add unit tests for both migrated files and non-migrated files

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 00:26:20 +01:00
github-actions[bot]
fdf200e343 Merge pull request #58272 from nextcloud/dependabot/npm_and_yarn/axios-1.13.5
chore(deps): Bump axios from 1.13.2 to 1.13.5
2026-02-11 22:50:07 +01:00
nextcloud-command
5e6c8b6134 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-11 21:03:02 +00:00
dependabot[bot]
ce99b0f7ed chore(deps): Bump axios from 1.13.2 to 1.13.5
Bumps [axios](https://github.com/axios/axios) from 1.13.2 to 1.13.5.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.2...v1.13.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-11 20:35:30 +00:00
Andy Scherzinger
47b314067c Merge pull request #58216 from nextcloud/carl/preview-unique-constraints
fix(preview): Handle unique constraints
2026-02-11 20:20:31 +01:00
Carl Schwan
4722f56778 fix(preview): Handle unique constraints
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-11 19:56:11 +01:00
Kate
0fc06b3b87 Merge pull request #58237 from nextcloud/share-target-repair-circles 2026-02-11 17:58:51 +01:00
Robin Appelman
f216bf5798 fix: handle circle shares in share target repair
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-11 15:39:11 +01:00
Louis
d21351701a Merge pull request #58140 from nextcloud/artonge/fix/ignore_abort_error
fix(files): Do not show abort error to the user
2026-02-11 15:03:02 +01:00
nextcloud-command
6c04307e13 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-11 13:42:45 +00:00
Louis Chmn
a4f396e648 fix(files): Do not show abort error to the user
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-02-11 13:40:33 +00:00
provokateurin
5c47ce9b40 fix(SimpleContainer): Adjust return type for PHPStan
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-11 11:42:37 +01:00
provokateurin
e8d4d435ed fix(IRegistrationContext): Use SimpleContainer in registerService factory
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-11 11:42:37 +01:00
Kate
615d343d96 Merge pull request #58256 from nextcloud/fix/iresult/fetch-all-conditional-return-type 2026-02-11 09:26:55 +01:00
provokateurin
83fbc64c99 fix(IResult): Use more accurate conditional return type for fetchAll
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-11 08:50:13 +01:00
Nextcloud bot
4a9e04962c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-11 00:20:55 +00:00
Anna
feaebeb97e Merge pull request #58223 from nextcloud/fix/oracle-truncate-table
fix: quote tablenames for truncating in oracle
2026-02-10 23:29:34 +01:00
grnd-alt
bc5771b0ff fix: correctly quote tablenames for truncating with oracle
Signed-off-by: grnd-alt <git@belakkaf.net>
2026-02-10 22:48:02 +01:00
Sebastian Krupinski
63eb9679c2 Merge pull request #58228 from nextcloud/fix/group-shares-cleanup
fix: delete CalDav and CardDav shares upon group deletion
2026-02-10 11:49:15 -05:00
Kate
98cb8b6155 Merge pull request #55632 from nextcloud/feat/preview/expire-previews
feat(preview): Expire previews
2026-02-10 17:35:28 +01:00
Maximilian Martin
6e5baa6928 fix: delete CalDav and CardDav shares upon group deletion
Signed-off-by: Maximilian Martin <maximilian_martin@gmx.de>
2026-02-10 11:14:40 -05:00
Maksim Sukharev
a096c89c66 Merge pull request #58218 from nextcloud/fix/57804/clear-status-this-week 2026-02-10 16:56:23 +01:00
nextcloud-command
6563214204 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-10 15:36:54 +00:00
Cristian Scheid
2ddf73f89f fix(user_status): use getFirstDay() from @nextcloud/l10n
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-10 16:27:51 +01:00
provokateurin
fe9e43c165 feat(preview): Expire previews
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-10 15:35:38 +01:00
Ferdinand Thiessen
1a5679b176 Merge pull request #58208 from nextcloud/chore/update-files-4rc3
chore: update `@nextcloud/files` to v4.0.0-rc.3
2026-02-10 15:22:34 +01:00
Ferdinand Thiessen
7b7d74fda2 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:53:19 +01:00
Ferdinand Thiessen
f075051f4a test: remove testing internal of libraries and test only app code
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
0e361550f1 fix(files): add legacy wrapper for upload library
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
38644873f2 refactor(files): migrate to files registry for reactive file actions
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
643a815557 refactor(files): migrate file list actions to new files registry
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
c73b85aecb refactor(files): port file list headers to new files registry
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
4a284f61e6 refactor(files): port filters store to new files registry
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
e088473929 refactor(files_sharing): adjust note to recipient files header
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
29b47c93ab chore(deps): update @nextcloud/files to v4.0.0-rc.3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:40 +01:00
github-actions[bot]
935cd2910f Merge pull request #58213 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/axios-1.13.5
chore(deps): Bump axios from 1.12.2 to 1.13.5 in /build/frontend-legacy
2026-02-10 13:21:20 +00:00
nextcloud-command
422bca31bf chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-10 12:39:26 +00:00
dependabot[bot]
adce834b4f chore(deps): Bump axios from 1.12.2 to 1.13.5 in /build/frontend-legacy
Bumps [axios](https://github.com/axios/axios) from 1.12.2 to 1.13.5.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.12.2...v1.13.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-10 13:23:36 +01:00
Andy Scherzinger
7da7f50203 Merge pull request #58209 from nextcloud/carl/local-preview-fix
fix(preview): Fix scanning preview
2026-02-10 12:38:58 +01:00
Anna
8c01737a63 Merge pull request #58206 from nextcloud/fix/preview-637/cast-snowflake-id-to-int
fix(snowflake): cast lastId to string
2026-02-10 11:46:07 +01:00
Kate
e0c282d531 Merge pull request #58195 from nextcloud/ci/rector-apply
ci: Add workflow to apply rector changes weekly
2026-02-10 10:36:25 +01:00
Nextcloud bot
d65aa0b7c3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-10 00:21:48 +00:00
Carl Schwan
543b46f3aa fix(preview): Fix scanning preview
Make sure we set the mimetype string representation and not int
representation.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-09 22:49:59 +01:00
Anna Larch
99a1150ec2 fix(snowflake): cast lastId to int
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-02-09 21:36:20 +01:00
Robin Appelman
a3cc9754f8 feat: improve VerifyMountPointEvent event
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-09 18:42:30 +01:00
Robin Appelman
9cd337bebe Merge pull request #57745 from nextcloud/share-transfered-event
Share mount validation fixes
2026-02-09 16:46:15 +01:00
Robin Appelman
83810aec99 Merge pull request #57926 from nextcloud/share-target-repair-no-providers
fix: don't rely on share providers being avaiable in CleanupShareTarget
2026-02-09 16:44:01 +01:00
Sebastian Krupinski
c373b8e614 Merge pull request #58197 from nextcloud/fix/calendar-federation-additional-properties
fix: federated calendar additional properties
2026-02-09 10:19:57 -05:00
Andy Scherzinger
39ff32a33b Merge pull request #58134 from nextcloud/carl/lock-propagator-order
fix(propagator): Improve lock behavior of propagator
2026-02-09 16:04:38 +01:00
SebastianKrupinski
566e598a4e fix: federated calendar additional properties
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-02-09 09:26:33 -05:00
provokateurin
0469f57a3a ci: Add workflow to apply rector changes weekly
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 14:55:54 +01:00
provokateurin
97c09753c3 fix(AppFramework): Adjust types so PHPStan understands them
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 14:08:42 +01:00
Kate
431a37e71e Merge pull request #58194 from nextcloud/feat/rector/safe-declare-strict-types
feat(rector): Enable SafeDeclareStrictTypesRector
2026-02-09 12:38:21 +01:00
Carl Schwan
95b3bd98d9 fix(propagator): Lock rows also in propagateChange
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-09 12:11:21 +01:00
Carl Schwan
f3778bc9c7 fix(propagator): Improve lock behavior of propagator
Fix possible dead locks when running the propagator caused by two
requests updating the same amount rows in transactions.

- Lock rows always in the same deterministic order by sorting the
  path_hash first

- On all database outside of sqlite, also do first a SELECT FOR UPDATE
  to lock all the rows used in batch UPDATE calls, afterward to decrease
  the risk of two requests trying to lock the same rows

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-09 12:10:56 +01:00
provokateurin
f12cecb684 feat(rector): Enable SafeDeclareStrictTypesRector
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 10:59:31 +01:00
Nextcloud bot
53a67966c0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-09 00:21:30 +00:00
Robin Appelman
7efdfd161b Merge pull request #58121 from nextcloud/move-share-out-share-reshare
fix: don't trigger moveShareInOrOutOfShare for reshares
2026-02-08 19:37:59 +01:00
Nextcloud bot
eb08dddcf5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-08 00:20:46 +00:00
github-actions[bot]
823d0dcb7c Merge pull request #58161 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/vue-8.36.0
chore(deps): Bump @nextcloud/vue from 8.35.3 to 8.36.0 in /build/frontend-legacy
2026-02-07 18:14:53 +00:00
nextcloud-command
36f4423887 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 15:27:03 +00:00
dependabot[bot]
f70f7be416 chore(deps): Bump @nextcloud/vue in /build/frontend-legacy
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.35.3 to 8.36.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.36.0/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.35.3...v8.36.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 16:15:53 +01:00
github-actions[bot]
e586ca0071 Merge pull request #58163 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.36
chore(deps): Bump libphonenumber-js from 1.12.35 to 1.12.36 in /build/frontend-legacy
2026-02-07 15:14:07 +00:00
nextcloud-command
b4c7dcbf58 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 14:58:52 +00:00
dependabot[bot]
35e315bd91 chore(deps): Bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.35 to 1.12.36.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.35...v1.12.36)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 14:56:40 +00:00
github-actions[bot]
21fff5160a Merge pull request #58158 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webdav-5.9.0
chore(deps): Bump webdav from 5.8.0 to 5.9.0 in /build/frontend-legacy
2026-02-07 14:43:40 +00:00
nextcloud-command
5fd4b9fe52 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 14:26:57 +00:00
dependabot[bot]
6a2e9814af chore(deps): Bump webdav from 5.8.0 to 5.9.0 in /build/frontend-legacy
Bumps [webdav](https://github.com/perry-mitchell/webdav-client) from 5.8.0 to 5.9.0.
- [Changelog](https://github.com/perry-mitchell/webdav-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/perry-mitchell/webdav-client/compare/v5.8.0...v5.9.0)

---
updated-dependencies:
- dependency-name: webdav
  dependency-version: 5.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 15:19:33 +01:00
github-actions[bot]
79600b0c9f Merge pull request #58151 from nextcloud/dependabot/npm_and_yarn/jsdom-28.0.0
chore(deps-dev): Bump jsdom from 27.4.0 to 28.0.0
2026-02-07 14:17:41 +00:00
dependabot[bot]
38f1063be7 chore(deps-dev): Bump jsdom from 27.4.0 to 28.0.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.4.0 to 28.0.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.4.0...28.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 14:02:13 +00:00
github-actions[bot]
878cb525a3 Merge pull request #58147 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.6
chore(deps-dev): Bump rector/rector from 2.3.4 to 2.3.6 in /vendor-bin/rector
2026-02-07 14:58:19 +01:00
github-actions[bot]
0b36e05965 Merge pull request #58157 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/babel/node-7.29.0
chore(deps-dev): Bump @babel/node from 7.28.6 to 7.29.0 in /build/frontend-legacy
2026-02-07 13:36:27 +00:00
github-actions[bot]
1081e32e55 Merge pull request #58154 from nextcloud/dependabot/npm_and_yarn/webdav-5.9.0
chore(deps): Bump webdav from 5.8.0 to 5.9.0
2026-02-07 13:24:07 +00:00
github-actions[bot]
9770eeae66 Merge pull request #58149 from nextcloud/dependabot/npm_and_yarn/cypress-split-1.24.28
chore(deps-dev): Bump cypress-split from 1.24.25 to 1.24.28
2026-02-07 13:10:26 +00:00
nextcloud-command
caf1c669f1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 13:07:05 +00:00
dependabot[bot]
ec60d74b70 chore(deps): Bump webdav from 5.8.0 to 5.9.0
Bumps [webdav](https://github.com/perry-mitchell/webdav-client) from 5.8.0 to 5.9.0.
- [Changelog](https://github.com/perry-mitchell/webdav-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/perry-mitchell/webdav-client/compare/v5.8.0...v5.9.0)

---
updated-dependencies:
- dependency-name: webdav
  dependency-version: 5.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 13:58:57 +01:00
github-actions[bot]
06fed8d96b Merge pull request #58153 from nextcloud/dependabot/npm_and_yarn/cypress-15.10.0
chore(deps-dev): Bump cypress from 15.9.0 to 15.10.0
2026-02-07 12:54:42 +00:00
github-actions[bot]
481bf459b8 Merge pull request #58152 from nextcloud/dependabot/npm_and_yarn/msw-2.12.9
chore(deps-dev): Bump msw from 2.12.7 to 2.12.9
2026-02-07 12:54:21 +00:00
github-actions[bot]
db9f03c1bb Merge pull request #58146 from nextcloud/dependabot/composer/bamarni/composer-bin-plugin-1.9.1
chore(deps-dev): Bump bamarni/composer-bin-plugin from 1.8.3 to 1.9.1
2026-02-07 12:52:26 +00:00
github-actions[bot]
2f57e9f520 Merge pull request #58162 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webpack-5.105.0
chore(deps-dev): Bump webpack from 5.104.1 to 5.105.0 in /build/frontend-legacy
2026-02-07 12:52:12 +00:00
github-actions[bot]
559c04662e Merge pull request #58159 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.9
chore(deps-dev): Bump msw from 2.12.7 to 2.12.9 in /build/frontend-legacy
2026-02-07 13:50:33 +01:00
github-actions[bot]
639f8ec974 Merge pull request #58155 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.17
chore(deps-dev): Bump @zip.js/zip.js from 2.8.16 to 2.8.17
2026-02-07 12:47:19 +00:00
github-actions[bot]
4d6d4bd579 Merge pull request #58156 from nextcloud/dependabot/npm_and_yarn/nextcloud/stylelint-config-3.2.1
chore(deps-dev): Bump @nextcloud/stylelint-config from 3.2.0 to 3.2.1
2026-02-07 12:46:31 +00:00
github-actions[bot]
50e85a1622 Merge pull request #58150 from nextcloud/dependabot/npm_and_yarn/stylelint-17.1.1
chore(deps-dev): Bump stylelint from 17.1.0 to 17.1.1
2026-02-07 13:35:30 +01:00
nextcloud-command
85ab6a683a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 12:32:02 +00:00
dependabot[bot]
4bf784459d chore(deps-dev): Bump webpack in /build/frontend-legacy
Bumps [webpack](https://github.com/webpack/webpack) from 5.104.1 to 5.105.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack/compare/v5.104.1...v5.105.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 13:24:04 +01:00
github-actions[bot]
1c299fef9c Merge pull request #58164 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/p-limit-7.3.0
chore(deps): Bump p-limit from 7.2.0 to 7.3.0 in /build/frontend-legacy
2026-02-07 08:06:52 +00:00
nextcloud-command
6b36b15c2f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 07:51:27 +00:00
dependabot[bot]
fa26f4f6ab chore(deps): Bump p-limit from 7.2.0 to 7.3.0 in /build/frontend-legacy
Bumps [p-limit](https://github.com/sindresorhus/p-limit) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/sindresorhus/p-limit/releases)
- [Commits](https://github.com/sindresorhus/p-limit/compare/v7.2.0...v7.3.0)

---
updated-dependencies:
- dependency-name: p-limit
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:15:16 +00:00
dependabot[bot]
c353e0bc3a chore(deps-dev): Bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.7 to 2.12.9.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.7...v2.12.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:13:14 +00:00
dependabot[bot]
6a56f766cf chore(deps-dev): Bump @babel/node in /build/frontend-legacy
Bumps [@babel/node](https://github.com/babel/babel/tree/HEAD/packages/babel-node) from 7.28.6 to 7.29.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.29.0/packages/babel-node)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:12:35 +00:00
dependabot[bot]
1292b552a3 chore(deps-dev): Bump @nextcloud/stylelint-config from 3.2.0 to 3.2.1
Bumps [@nextcloud/stylelint-config](https://github.com/nextcloud-libraries/stylelint-config) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/nextcloud-libraries/stylelint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/stylelint-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/stylelint-config/compare/v3.2.0...v3.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:12:00 +00:00
dependabot[bot]
ddfd854d76 chore(deps-dev): Bump @zip.js/zip.js from 2.8.16 to 2.8.17
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.16 to 2.8.17.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.16...v2.8.17)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:11:45 +00:00
dependabot[bot]
c1f2108c4b chore(deps-dev): Bump cypress from 15.9.0 to 15.10.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.9.0 to 15.10.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.9.0...v15.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:11:13 +00:00
dependabot[bot]
2909f66d47 chore(deps-dev): Bump msw from 2.12.7 to 2.12.9
Bumps [msw](https://github.com/mswjs/msw) from 2.12.7 to 2.12.9.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.7...v2.12.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:10:52 +00:00
dependabot[bot]
daf1ee91c1 chore(deps-dev): Bump stylelint from 17.1.0 to 17.1.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 17.1.0 to 17.1.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/17.1.0...17.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:10:14 +00:00
dependabot[bot]
34558b1f9a chore(deps-dev): Bump cypress-split from 1.24.25 to 1.24.28
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.25 to 1.24.28.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.25...v1.24.28)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:09:53 +00:00
dependabot[bot]
8b17197245 chore(deps-dev): Bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.3.4 to 2.3.6.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.3.4...2.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:08:22 +00:00
dependabot[bot]
4f23d5e49d chore(deps-dev): Bump bamarni/composer-bin-plugin from 1.8.3 to 1.9.1
Bumps [bamarni/composer-bin-plugin](https://github.com/bamarni/composer-bin-plugin) from 1.8.3 to 1.9.1.
- [Release notes](https://github.com/bamarni/composer-bin-plugin/releases)
- [Commits](https://github.com/bamarni/composer-bin-plugin/compare/1.8.3...1.9.1)

---
updated-dependencies:
- dependency-name: bamarni/composer-bin-plugin
  dependency-version: 1.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:08:05 +00:00
Nextcloud bot
cc45cf6138 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-07 00:20:59 +00:00
Ferdinand Thiessen
c10f35333e Merge pull request #57797 from nextcloud/fix/proper-handling-404
fix(FileDisplayResponse): return 404 if not found
2026-02-06 20:07:23 +01:00
Andy Scherzinger
b0c02b91b4 Merge pull request #58059 from nextcloud/fix/add-missing-user-id-header
fix: add X-User-Id header to logout response
2026-02-06 18:17:39 +01:00
Ferdinand Thiessen
762ae4520a fix(InMemoryFile): allow to stream read the contents
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 17:29:26 +01:00
Ferdinand Thiessen
6eddda147b fix(FileDisplayResponse): return 404 if not found
If the linked file is not found (anymore) return proper 404
status code.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 17:29:26 +01:00
Robin Appelman
6c9418880f Merge pull request #57757 from nextcloud/getowner-no-mountpoints
fix: don't include the mountpoints when getting fileinfo for getOwner
2026-02-06 17:22:51 +01:00
Robin Appelman
9c10593021 fix: prevent recursion in SharesUpdatedListener
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 16:55:14 +01:00
Robin Appelman
3b70d0fcf8 fix: remove validate-user-shares-once optimization
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 16:55:14 +01:00
Robin Appelman
c49665f5cd feat: add event for tranfered shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 16:55:12 +01:00
F. E Noel Nfebe
3e25c28d68 Merge pull request #58087 from nextcloud/fix/54700/file-list-scroll-jump
fix(files): Prevent file list from jumping when selecting visible files
2026-02-06 16:15:21 +01:00
Carl Schwan
1dbaf178c3 Merge pull request #56496 from nextcloud/carl/rector
Run rector on lib/private
2026-02-06 16:09:55 +01:00
Robin Appelman
3c7124d670 fix: don't trigger moveShareInOrOutOfShare for reshares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 15:41:49 +01:00
Robin Appelman
c801d63e5a fix: don't include the mountpoints when getting fileinfo for getOwner
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 15:19:30 +01:00
Robin Appelman
da6bf8b116 fix: target-repair: handle cases where the parent folder doesn't exist
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 14:41:29 +01:00
Robin Appelman
cfe19dbb5a fix: don't stop the entire share target repair on an error
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 14:39:06 +01:00
Robin Appelman
70607a0d11 fix: don't rely on share providers being avaiable in CleanupShareTarget
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 14:39:06 +01:00
Carl Schwan
9a26169323 fix(WatcherTest): Properly mock getCache and getScanner in IStorage
Otherwise we end up with trying to assign null to a property which has
strict types.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-06 14:21:41 +01:00
Carl Schwan
e56e42e7e7 refactor(navigation-manager): Cleanup implementation and add type hinting
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:55:40 +01:00
Carl Schwan
c96ece0bcb refactor: Add more typing
- repairs job
- database
- redis

And remove Helpertest which was unused outside of some tests.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:55:39 +01:00
Carl Schwan
fb3f9fe2de refactor: Update repairs jobs
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:54:24 +01:00
Carl Schwan
3979c493f9 refactor: Apply second batch of comments
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:52:51 +01:00
Carl Schwan
acda4ff072 fix(ShareAPIControllerTest): Fix return types of DateTimeZone
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:47 +01:00
Carl Schwan
fa75c1b659 fix(ExpressionBuilderTest): Fix test and improve typing
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:47 +01:00
Carl Schwan
65e769a861 refactor: Apply comments
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:46 +01:00
Carl Schwan
6e48f9fedb fix(IAppContainer): Expose more correct type
OC\ServerContainer is not inherinting from IServerContainer so expose
the most near type.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:23 +01:00
Carl Schwan
7b6078875b refactor: Run rector on lib/private
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:18 +01:00
Carl Schwan
5d0d0c17e5 chore(rector): Run rector on apps, core and tests directory
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:23:23 +01:00
nextcloud-command
80a10068d0 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-06 12:12:48 +00:00
nfebe
b0bf531c19 test(files): Update scrolling tests for new visible buffer behavior
Adjust test assertions to match the new behavior where scrolling is
skipped for files already in the visible buffer. Tests now verify file
existence rather than full visibility for files within the buffer.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-06 13:04:42 +01:00
nfebe
f296e5e652 fix(files): Prevent file list from jumping when selecting visible files
Skip scrolling when a file is clicked if it's already within the
visible viewport, avoiding the confusing list jump behavior.

Fixes #54700

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-06 12:47:17 +01:00
Ferdinand Thiessen
9def7a8ba7 Merge pull request #58108 from nextcloud/chore/update-files
chore(deps): update `@nextcloud/files` to v4.0.0-rc.1
2026-02-06 12:42:24 +01:00
Ferdinand Thiessen
e3068bfe6b chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 11:46:47 +01:00
Ferdinand Thiessen
aac91a8df9 refactor(files): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 11:46:46 +01:00
Ferdinand Thiessen
a023b5b2d5 refactor(files_external): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
47c4e3bbe2 refactor(comments): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
f01d974b5c refactor(files_reminders): adjust for files library interfaces and remove sideeffects
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
7a60e43dd5 refactor(files_sharing): adjust for files library interfaces and remove sideeffects
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
752ff74170 refactor(systemtags): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
009aad6eb7 refactor(files_trashbin): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
a042fbfa60 chore(deps): update @nextcloud/files to v4.0.0-rc.1
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Nextcloud bot
209c5c3f1d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-06 00:41:14 +00:00
Ferdinand Thiessen
f26d3294b9 Merge pull request #57993 from nextcloud/fix/copy-move
fix(files): improve handling of copy-move action
2026-02-06 01:16:48 +01:00
Kate
256e89b6f6 Merge pull request #58095 from nextcloud/fix/exhaustive-list-for-serialized-classes
fix(dav): Use an exhaustive list for allowed serialized classes
2026-02-05 23:51:25 +01:00
Ferdinand Thiessen
6d35886f88 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 23:26:55 +01:00
Ferdinand Thiessen
904b946611 fix(files): improve handling of copy-move action
1. only show 1 loading toast instead of N for N files in batch
   operation.
2. Reuse more code to reduce duplicated logic.
3. Show the conflict picker once for all files instead of opening a new
   conflict picker for every file to copy / move.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 23:26:50 +01:00
Cristian Scheid
9cfaf9b3b3 Merge pull request #57782 from nextcloud/feat/2303/contacts-allow-federated-team-member-search
feat(contacts): support federated users/groups search when adding team members
2026-02-05 14:57:23 -03:00
Andy Scherzinger
29e1ac3c02 Merge pull request #58041 from nextcloud/fix/renaming
feat(files): warn when file would be hidden
2026-02-05 18:27:26 +01:00
Maksim Sukharev
170d17a067 Merge pull request #58096 from nextcloud/fix/noid/app-update-showcurrent
feat(occ): show current version with occ app:update command
2026-02-05 18:14:44 +01:00
Joas Schilling
15906306c3 Merge pull request #57854 from nextcloud/feat/add-twofactor-warning
feat: Add SetupCheck to warn about missing second factor provider
2026-02-05 16:25:18 +01:00
Julius Knorr
625d79d1ab Merge pull request #58100 from nextcloud/enh/svg-handling-link-previews
chore: Improve SVG handling in link previews
2026-02-05 15:58:33 +01:00
Andy Scherzinger
428e7b4adb Merge pull request #58015 from nextcloud/fix/text-to-image-scheduling
fix(TextToImage): Refactor scheduling mechanism
2026-02-05 15:53:37 +01:00
Andy Scherzinger
c7588d7e06 Merge pull request #58011 from nextcloud/fix/taskprocessing-text2image-fallback-refactor
fix(TaskProcessing): Refactor TextToImage fallback
2026-02-05 15:52:57 +01:00
Robin Appelman
2e9f6c37d5 fix: don't try to create preview folder if it already exists
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-05 15:22:54 +01:00
Carl Schwan
4709829271 Merge pull request #58094 from nextcloud/carl/getbyid
perf: Replace getById call with getFirstNodeById
2026-02-05 14:42:42 +01:00
Côme Chilliet
669ff56fa1 fix(dav): Use an exhaustive list for allowed serialized classes
This is simpler and clearer than trying to guess namespace.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-05 14:03:13 +01:00
Benjamin Frueh
160f4e11ad chore: Improve SVG handling in link previews
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2026-02-05 13:43:32 +01:00
Carl Schwan
c091ae4098 perf: Replace getById call with getFirstNodeById
Avoid looking at all the mounts

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-05 12:55:18 +01:00
Cristian Scheid
265abc3b91 test(files_sharing): update ShareesAPIController mock to include FederatedShareProvider dependency
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-05 08:22:13 -03:00
Maksim Sukharev
43bf6bc26b feat(occ): show current version with occ app:update command
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-02-05 12:20:22 +01:00
Ferdinand Thiessen
f950c97ec0 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 12:18:31 +01:00
Ferdinand Thiessen
536503d0a4 feat(files): add dialog to confirm when about to hide a file
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 12:15:42 +01:00
Ferdinand Thiessen
c215bbf495 fix(files): ensure that new names are checked even for hidden files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 12:15:42 +01:00
Kate
18d5dedb29 Merge pull request #58002 from nextcloud/fix/let-user-backend-lock-fields
feat: Allow user backends to manage property permissions
2026-02-05 12:11:07 +01:00
Andy Scherzinger
08e1d9b83e Merge pull request #58025 from nextcloud/carl/refactor-share-mountprovider
refactor(mount-provider): Refactor share mount provider
2026-02-05 11:50:40 +01:00
Julius Knorr
b933156a3a Merge pull request #57914 from nextcloud/feat/extendable-propfind
feat(dav): allow extending propfind properties via event
2026-02-05 10:49:59 +01:00
Côme Chilliet
51ccc8a838 fix: Fix integration tests
Birthdate was missing in editable fields while being editable, and the
 order was checked while having no importance.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-05 10:40:23 +01:00
Andy Scherzinger
9c842faf35 Merge pull request #57741 from nextcloud/feat/configurable-share-permission-in-bundled
feat(sharing): Make share permission in bundled edit configurable
2026-02-05 10:09:53 +01:00
Benjamin Gaussorgues
c5253d9fc3 Merge pull request #58052 from nextcloud/chore/export_only_real_files_count
chore(openmetrics): export only "real" files count
2026-02-05 09:55:28 +01:00
nfebe
b7dceb0b17 feat(sharing): Make share permission in bundled edit configurable
Add config option shareapi_bundle_reshare_with_edit to include reshare
permission in "Allow editing" bundle. Default is true to maintain
backward compatibility.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-05 07:36:04 +01:00
Nextcloud bot
dc63c92faa fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-05 00:20:49 +00:00
Robin Appelman
2a690fd154 Merge pull request #57910 from nextcloud/setup-root-path-children
fix: still setup for user when setting up root path with children
2026-02-04 19:40:40 +01:00
Andy Scherzinger
5f54a06994 Merge pull request #57930 from nextcloud/artonge/fix/share_resolution
fix(files_sharing): stop ignoring shares without a usergroup entry when filtering by path
2026-02-04 19:15:26 +01:00
Robin Appelman
134fa6779b chore: update psalm baseline
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:35 +01:00
Robin Appelman
bea82ac656 test: adjust tests to updated getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:35 +01:00
Robin Appelman
72150d6deb fix: getById: don't setup for all users with access by default
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:34 +01:00
Robin Appelman
be2c26a75b test: adjust tests to new getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:33 +01:00
Robin Appelman
b51d332719 fix: make sure all mounts are setup in getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:33 +01:00
Robin Appelman
82d33b7727 fix: still setup for user when setting up root path with children
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:32 +01:00
Robin Appelman
aa47e85c25 Merge pull request #58023 from nextcloud/ext-partial-mount-provider-slash
fix: fix partial external storage provider not finding root mount
2026-02-04 18:23:00 +01:00
Salvatore Martire
7d95a88958 fix: add X-User-Id header to logout response before clearing the user session
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-04 18:18:39 +01:00
Louis Chmn
79c07d38aa fix(files_sharing): Move path filtering to group share resolution
Previously, this was preventing users without a specific USERGROUP entry to see GROUP shares.

Signed-off-by: Louis Chmn <louis@chmn.me>
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-04 16:53:10 +01:00
Marcel Klehr
dd4dfe6af2 fix(TextToImage): Refactor scheduling mechanism 2026-02-04 13:48:32 +01:00
Marcel Klehr
c13d95809a Fix: Run cs:fix 2026-02-04 13:26:29 +01:00
Marcel Klehr
c48a09f27d fix(TaskProcessing): Refactor TextToImage fallback
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-02-04 13:26:29 +01:00
Carl Schwan
8f81b91733 refactor(mount-provider): Refactor share mount provider
- Add more precise types
- Remove dead code

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-04 12:46:14 +01:00
Cristian Scheid
1136ce09cb refactor(teams): adjust expected itemType and remove remote group type from member search controller
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-04 08:23:43 -03:00
Cristian Scheid
bc24c28529 feat(contacts): support federated users/groups search when adding team members
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-04 08:23:42 -03:00
Benjamin Gaussorgues
4112b9f7ba chore(openmetrics): export only "real" files count
Other files like files in trashbin or file versions should be exported
by related app

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-04 11:12:44 +01:00
Benjamin Gaussorgues
687261fc8c Merge pull request #57921 from nextcloud/fix/snowflake_lock_dir
fix(snowflakes): create file lock files into lock directory
2026-02-04 11:12:23 +01:00
Joas Schilling
2d0a24f042 Merge pull request #58050 from nextcloud/test/noid/greener-ci
test(settings): Fix CI after parallel merges
2026-02-04 11:04:09 +01:00
Joas Schilling
6112526fbc Merge pull request #58043 from nextcloud/bugfix/noid/limit-comments-report
fix(comments): Put a limit to the limit
2026-02-04 10:01:27 +01:00
Joas Schilling
ba88bf4727 test(settings): Fix CI after parallel merges
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 09:50:24 +01:00
Joas Schilling
0478825fac test(Updater): Harden flaky test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 09:44:56 +01:00
Joas Schilling
af33953078 fix(comments): Put a limit to the limit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 08:44:18 +01:00
Nextcloud bot
7a0093c163 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-04 00:20:54 +00:00
Andy Scherzinger
d09b8c99de Merge pull request #57934 from nextcloud/dependabot/npm_and_yarn/stylelint-17.1.0
build(deps-dev): bump stylelint from 17.0.0 to 17.1.0
2026-02-03 21:29:26 +01:00
Andy Scherzinger
65b985efde Merge pull request #57932 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.16
build(deps-dev): bump @zip.js/zip.js from 2.8.15 to 2.8.16
2026-02-03 21:28:32 +01:00
Andy Scherzinger
5ada35c153 Merge pull request #57933 from nextcloud/dependabot/npm_and_yarn/nextcloud/eslint-config-9.0.0-rc.8
build(deps-dev): bump @nextcloud/eslint-config from 9.0.0-rc.7 to 9.0.0-rc.8
2026-02-03 21:27:03 +01:00
Andy Scherzinger
227371c0de Merge pull request #57909 from nextcloud/dependabot/composer/vendor-bin/behat/phpunit/phpunit-11.5.50
build(deps-dev): bump phpunit/phpunit from 11.5.44 to 11.5.50 in /vendor-bin/behat
2026-02-03 21:21:20 +01:00
Julius Knorr
8372533cff Merge pull request #57555 from nextcloud/feat/office-switcher
feat: Add office switcher with feature comparison
2026-02-03 20:40:01 +01:00
Joas Schilling
45750b3f29 Merge pull request #57974 from nextcloud/dependabot/github_actions/github-actions-276f5d5cec
build(deps): bump the github-actions group with 5 updates
2026-02-03 20:22:18 +01:00
nextcloud-command
9561ce24f5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-03 19:12:22 +01:00
Julius Knorr
edeba296b3 feat: Add office switcher with feature comparison
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2026-02-03 19:12:22 +01:00
Andy Scherzinger
3310ec30c4 Merge pull request #58020 from nextcloud/artonge/fix/getById
fix: Migrate `getById` to `getFirstNodeById`
2026-02-03 18:04:45 +01:00
Benjamin Gaussorgues
e15b429aea chore(snowflakes): don't remove file lock directory during tests
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-03 17:01:28 +01:00
Benjamin Gaussorgues
65c9e346da fix(snowflakes): create file lock files into lock directory
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-03 17:01:28 +01:00
Robin Appelman
720e588727 test: add tests for getMountsForUserAndPath
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-03 16:50:58 +01:00
Robin Appelman
522663b9f0 fix: partial external storage config matching non-child mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-03 16:50:57 +01:00
Robin Appelman
b79af98a31 fix: fix partial external storage provider not finding root mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-03 16:16:22 +01:00
Andy Scherzinger
1bdc27202a Merge pull request #57924 from nextcloud/carl/fix-external-partialmountprovider
fix(external-storage): Rtrim trailing slash at the end
2026-02-03 15:57:27 +01:00
Côme Chilliet
26cec2d117 feat: Add info level result if 2FA is not enforced
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 15:50:50 +01:00
Andy Scherzinger
f46eea1eac Merge pull request #57978 from karaolidis/declarative-salt-secret
feat: declarative password salt, secret config
2026-02-03 15:44:24 +01:00
Louis Chmn
315241fb44 fix: Migrate getById to getFirstNodeById
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-02-03 15:28:37 +01:00
Côme Chilliet
173a338f76 chore: Adapt provisioning_api tests to code changes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 15:01:50 +01:00
Nikolaos Karaolidis
d73d5a25cb feat: declarative password salt, secret config
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2026-02-03 13:21:38 +01:00
Côme Chilliet
af760d174f feat: Implement new interface in LDAP user backend to reflect permissions
This will prevent users from editing profile fields if those are
 configured to be sync from LDAP.
I did not include the avatar in this because it has a special handling.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 10:22:26 +01:00
Côme Chilliet
82ec3df396 chore: Update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 10:22:26 +01:00
Côme Chilliet
de011ee668 feat: Allow user backends to manage property permissions
Not yet reflected in the UI apart from displayname/email/avatar

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 10:22:26 +01:00
Joas Schilling
34c2125217 Merge pull request #58009 from nextcloud/bugfix/noid/dont-validate-empty-strings
fix(federation): Don't ask the database for an empty url
2026-02-03 09:08:12 +01:00
Joas Schilling
70fd0e3348 Merge pull request #58010 from nextcloud/test/noid/add-tests-with-input-0
test(dispatcher): Add some tests with input 0
2026-02-03 09:07:05 +01:00
Joas Schilling
9caa4e20e5 test(dispatcher): Add some tests with input 0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-03 08:32:43 +01:00
Joas Schilling
ce19caa37e fix(federation): Don't ask the database for an empty url
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-03 07:46:28 +01:00
Nextcloud bot
128d708ac3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-03 00:20:53 +00:00
Elizabeth Danzberger
b5092e598f Merge pull request #57533 from nextcloud/fix/limit-app-to-group-initial-state
fix(app-settings): limit app to group initial state
2026-02-02 13:22:23 -05:00
Côme Chilliet
550b15a19a Merge pull request #57737 from nextcloud/feat/add-twofactor-to-presets
feat: Add twofactor applications to most of the presets
2026-02-02 15:12:08 +01:00
Andy Scherzinger
55fe320359 Merge pull request #57990 from nextcloud/fix/properly-forward
fix(files): keep current folder on drag-n-drop
2026-02-02 15:04:57 +01:00
Benjamin Gaussorgues
370d9f4d47 Merge pull request #57915 from nextcloud/feat/user-mount-cache-perf-sharding 2026-02-02 14:49:39 +01:00
Stephan Orbaugh
e10805fb35 Merge pull request #57793 from pac0san/patch-1
fix(files_external): Respect explicit port configuration
2026-02-02 13:57:44 +01:00
nextcloud-command
c3ddf91572 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-02 12:34:04 +00:00
Côme Chilliet
8475bed525 fix(settings): Only consider primary providers for 2FA setup check
In practice this filters out backup codes. Also fixed the english
 formulation and the copyright year.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-02 11:55:17 +01:00
Côme Chilliet
1f5e6cbbb4 feat: Add SetupCheck to warn about missing second factor provider
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-02 11:55:16 +01:00
Benjamin Frueh
9d4b11587e feat(dav): allow extending propfind properties via event
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>

Update lib/public/Files/Events/BeforePropfindEvent.php

Co-authored-by: Julius Knorr <jus@bitgrid.net>
Signed-off-by: Benjamin Früh <134610227+benjaminfrueh@users.noreply.github.com>

Update lib/public/Files/Events/BeforePropfindEvent.php

Co-authored-by: Julius Knorr <jus@bitgrid.net>
Signed-off-by: Benjamin Früh <134610227+benjaminfrueh@users.noreply.github.com>

refactor: rename BeforePropfindEvent to BeforeRemotePropfindEvent

Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>

chore: update composer autoloader for new event class

Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>

Update lib/public/Files/Events/BeforeRemotePropfindEvent.php

Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Benjamin Früh <134610227+benjaminfrueh@users.noreply.github.com>
2026-02-02 11:45:10 +01:00
pac0san
e48f871bd0 fix(files_external): Respect explicit port configuration
It allows the use of the alternative SFTP port defined in the GUI (external storage), instead of the default port (22).

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

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

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

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

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

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

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


Updates `actions/checkout` from 5.0.0 to 6.0.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...de0fac2e4500dabe0009e67214ff5f5447ce83dd)

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

Updates `github/codeql-action` from 4.31.10 to 4.32.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](cdefb33c0f...b20883b0cd)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Include comprehensive unit tests covering all event scenarios.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 13:18:11 +01:00
github-actions[bot]
0756782610 Merge pull request #57698 from nextcloud/dependabot/npm_and_yarn/sass-1.97.3
build(deps-dev): bump sass from 1.97.2 to 1.97.3
2026-01-25 12:11:40 +00:00
dependabot[bot]
ec30829842 build(deps-dev): bump sass from 1.97.2 to 1.97.3
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.2 to 1.97.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.97.2...1.97.3)

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:33:36 +00:00
dependabot[bot]
d4966cf913 build(deps-dev): bump @types/dockerode from 4.0.0 to 4.0.1
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dockerode)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:32:41 +00:00
github-actions[bot]
e2cea7b286 Merge pull request #57774 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/core-js-3.48.0
build(deps): bump core-js from 3.47.0 to 3.48.0 in /build/frontend-legacy
2026-01-24 16:21:41 +00:00
nextcloud-command
0555d5754a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 16:05:20 +00:00
dependabot[bot]
966dd1ba68 build(deps): bump core-js in /build/frontend-legacy
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.47.0 to 3.48.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.48.0/packages/core-js)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:33:21 +01:00
github-actions[bot]
963dcba6cc Merge pull request #57772 from nextcloud/dependabot/npm_and_yarn/vitest-007c43aa68
build(deps-dev): bump the vitest group across 2 directories with 3 updates
2026-01-24 15:25:25 +00:00
dependabot[bot]
33eee07176 build(deps-dev): bump the vitest group across 2 directories with 3 updates
Bumps the vitest group with 1 update in the / directory: [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul).
Bumps the vitest group with 2 updates in the /build/frontend-legacy directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 23:24:26 +00:00
Robin Appelman
34fc215133 fix: adjust SharesUpdatedListener to event change
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:56 +01:00
Robin Appelman
b4315066b1 perf: only update shares for users once
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:56 +01:00
Robin Appelman
94f33463ff test: adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:55 +01:00
Robin Appelman
43a9335355 fix: attempt to make share conflict resolution more resilient to false positives
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:54 +01:00
Robin Appelman
d71c6796ca feat: perform share mount validation on share instead of on mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:53 +01:00
Carl Schwan
09a1ca3981 perf(normalization): Optimize path normalization
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-21 14:58:05 +01:00
Maxence Lange
4dba1455a6 fix(ocm): manage 4xx on ocm requests
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-21 10:09:21 -01:00
kramo
b378a21733 chore(img): Update mobile app store badges
Signed-off-by: kramo <git@kramo.page>
2026-01-18 23:59:42 +01:00
Carl Schwan
7a025ffb0b feat(preview): Make it possible to disable on preview migration
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-14 14:09:07 +01:00
Carl Schwan
6149168129 feat(preview): On demand preview migration
When requesting previews, which we don't find in oc_previews, search in
IAppData first before creating them.

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

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

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-12 14:20:09 +01:00
3081 changed files with 49085 additions and 33422 deletions

View File

@@ -71,9 +71,8 @@ body:
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "30"
- "31"
- "32"
- "33"
- "master"
validations:
required: true
@@ -96,6 +95,7 @@ body:
Select PHP engine version serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "PHP 8.5"
- "PHP 8.4"
- "PHP 8.3"
- "PHP 8.2"

111
.github/dependabot.yml vendored
View File

@@ -21,7 +21,7 @@ updates:
- package-ecosystem: composer
directories:
- "/"
- "/build/integration"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
@@ -64,6 +64,65 @@ updates:
- "@vitest/*"
# Latest stable release
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable33
directories:
- "/"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable33
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
groups:
vite:
patterns:
- "vite"
- "@nextcloud/vite-config"
vitest:
patterns:
- "vitest"
- "@vitest/*"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# Older stable releases
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
@@ -77,7 +136,7 @@ updates:
schedule:
interval: weekly
day: saturday
time: "03:30"
time: "04:30"
timezone: Europe/Paris
labels:
- "3. to review"
@@ -87,7 +146,6 @@ updates:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Latest stable branch
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
@@ -95,52 +153,7 @@ updates:
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# Older stable releases
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable31
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable31
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:00"
time: "04:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:

View File

@@ -52,7 +52,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -82,7 +82,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -31,7 +31,7 @@ jobs:
- 'version.php'
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -27,10 +27,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
- uses: webiny/action-conventional-commits@faccb24fc2550dd15c0390d944379d2d8ed9690e # v1.3.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -32,18 +32,18 @@ jobs:
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
uses: github/codeql-action/init@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v4.32.2
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
uses: github/codeql-action/analyze@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v4.32.2
with:
category: "/language:${{matrix.language}}"

View File

@@ -103,7 +103,7 @@ jobs:
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Needed to allow force push later
persist-credentials: true

View File

@@ -38,7 +38,7 @@ jobs:
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
fetch-depth: 0

View File

@@ -48,7 +48,7 @@ jobs:
exit 1
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
@@ -107,7 +107,7 @@ jobs:
services:
mysql:
# Only start mysql if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}}
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
@@ -119,7 +119,7 @@ jobs:
mariadb:
# Only start mariadb if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}}
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
@@ -131,7 +131,7 @@ jobs:
postgres:
# Only start postgres if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}}
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '5432/tcp'
env:
@@ -142,7 +142,7 @@ jobs:
oracle:
# Only start oracle if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}}
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '1521'
env:
@@ -171,7 +171,7 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@2ad32e649e4db26c07674ebae31a297601dbcbaf # v6.10.8
uses: cypress-io/github-action@84d178e4bbce871e23f2ffa3085898cde0e4f0ec # v7.1.2
with:
# We already installed the dependencies in the init job
install: false

View File

@@ -65,7 +65,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -74,7 +74,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -163,7 +163,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -65,7 +65,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -56,13 +56,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/user_saml

View File

@@ -75,7 +75,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -70,7 +70,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -64,7 +64,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -24,14 +24,14 @@ jobs:
require: write
- name: Checkout github_helper
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
path: server
@@ -73,7 +73,7 @@ jobs:
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: 8.2

View File

@@ -53,7 +53,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -71,7 +71,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@e6bc045033a5614035b66daafc38ff86faecb23a # v2026.116.208
uses: LizardByte/actions/actions/setup_python@9bf3ef783775e17fe6b8dde3585d94ec570b93c2 # v2026.212.22356
with:
python-version: '2.7'

View File

@@ -52,7 +52,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -76,7 +76,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -97,14 +97,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/spreed
@@ -113,7 +113,7 @@ jobs:
- name: Checkout Activity app
if: ${{ matrix.test-suite == 'sharing_features' }}
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/activity

View File

@@ -56,7 +56,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -48,12 +48,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: 8.2

View File

@@ -53,12 +53,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}

View File

@@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -59,7 +59,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -58,7 +58,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -56,7 +56,7 @@ jobs:
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -26,6 +26,7 @@ jobs:
matrix:
branches:
- ${{ github.event.repository.default_branch }}
- 'stable33'
- 'stable32'
- 'stable31'
@@ -34,7 +35,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -69,7 +70,7 @@ jobs:
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'

View File

@@ -79,7 +79,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -80,7 +80,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -77,7 +77,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -26,12 +26,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'

View File

@@ -35,14 +35,14 @@ jobs:
exit 1
- name: Checkout server before PR
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}

View File

@@ -33,7 +33,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -92,13 +92,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}

View File

@@ -72,7 +72,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -121,7 +121,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -92,13 +92,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}

View File

@@ -75,7 +75,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -72,7 +72,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -99,13 +99,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}

View File

@@ -92,13 +92,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}

View File

@@ -75,25 +75,28 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
run: |
sudo apt-get update
sudo apt-get install -y ghostscript
composer i
- name: Set up Nextcloud
run: |
@@ -107,7 +110,7 @@ jobs:
run: ./occ app:list && echo "======= System config =======" && ./occ config:list system
- name: PHPUnit database tests
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }} tests/lib/Preview/PostscriptTest.php
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
@@ -125,6 +128,8 @@ jobs:
- name: Print logs
if: always()
run: |
gs --version
cat /etc/ImageMagick-6/policy.xml
cat data/nextcloud.log
summary:

68
.github/workflows/rector-apply.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Apply rector changes
on:
workflow_dispatch:
schedule:
# At 14:30 on Sundays
- cron: '30 14 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
name: rector-apply
steps:
- name: Checkout
id: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ github.event.repository.default_branch }}
- name: Get php version
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
- name: Set up php${{ steps.versions.outputs.php-min }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
with:
php-version: ${{ steps.versions.outputs.php-min }}
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: Install dependencies
run: |
composer remove nextcloud/ocp --dev --no-scripts
composer i
- name: Rector
run: composer run rector
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'refactor: Apply rector changes'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/rector-changes
title: 'Apply rector changes'
labels: |
technical debt
3. to review

45
.github/workflows/rector.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Rector
on:
pull_request:
permissions:
contents: read
concurrency:
group: rector-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Rector
run: composer run rector:strict
- name: Show changes
if: always()
run: git diff --exit-code -- . ':!lib/composer'

View File

@@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -15,7 +15,6 @@ on:
permissions:
contents: read
security-events: write
concurrency:
group: static-code-analysis-${{ github.head_ref || github.run_id }}
@@ -29,7 +28,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
@@ -59,9 +58,12 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
security-events: write
steps:
- name: Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
@@ -86,7 +88,7 @@ jobs:
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3
uses: github/codeql-action/upload-sarif@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3
with:
sarif_file: results.sarif
@@ -97,7 +99,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
@@ -129,7 +131,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
@@ -149,3 +151,30 @@ jobs:
- name: Psalm
run: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github
static-code-analysis-strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:strict -- --threads=1 --monochrome --no-progress --output-format=github

View File

@@ -17,12 +17,12 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -32,7 +32,7 @@ jobs:
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'

View File

@@ -17,12 +17,12 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -35,7 +35,7 @@ jobs:
run: openssl crl -verify -in resources/codesigning/root.crl -CAfile resources/codesigning/root.crt -noout
- name: Create Pull Request
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update code signing revocation list'

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -107,7 +107,7 @@ jobs:
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
if: steps.update-files.outputs.CHANGES_MADE == 'true'
with:
token: ${{ secrets.COMMAND_BOT_PAT }}

View File

@@ -35,8 +35,8 @@ Enterprise? Public Sector or Education user? You may want to have a look into [*
## Get in touch 💬
* [📋 Forum](https://help.nextcloud.com)
* [🦋 Bluesky](https://bsky.app/profile/nextcloud.bsky.social)
* [👥 Facebook](https://www.facebook.com/nextclouders)
* [🐣 Twitter](https://twitter.com/Nextclouders)
* [🐘 Mastodon](https://mastodon.xyz/@nextcloud)
You can also [get support for Nextcloud](https://nextcloud.com/support)!

View File

@@ -10,7 +10,7 @@
<name>Auditing / Logging</name>
<summary>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</summary>
<description>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</description>
<version>1.23.0</version>
<version>1.24.0</version>
<licence>agpl</licence>
<author>Nextcloud</author>
<namespace>AdminAudit</namespace>
@@ -20,7 +20,7 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<background-jobs>
<job>OCA\AdminAudit\BackgroundJobs\Rotate</job>

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -9,7 +9,7 @@
<name>Cloud Federation API</name>
<summary>Enable clouds to communicate with each other and exchange data</summary>
<description>The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.</description>
<version>1.17.0</version>
<version>1.18.0</version>
<licence>agpl</licence>
<author>Bjoern Schiessle</author>
<namespace>CloudFederationAPI</namespace>
@@ -19,6 +19,6 @@
<category>integration</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
</info>

View File

@@ -3,6 +3,6 @@ OC.L10N.register(
{
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Увімкніть хмари аби спілкуватися один з одним і обмінюватися даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам серверу хмари Nextcloud спілкуватися між собою та обмінюватися даними."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам сервера хмари Nextcloud спілкуватися між собою та обмінюватися даними."
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");

View File

@@ -1,6 +1,6 @@
{ "translations": {
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Увімкніть хмари аби спілкуватися один з одним і обмінюватися даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам серверу хмари Nextcloud спілкуватися між собою та обмінюватися даними."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам сервера хмари Nextcloud спілкуватися між собою та обмінюватися даними."
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
}

View File

@@ -1,8 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "Asl faylni o'chirishda kutilmagan xatolik yuz berdi.",
"Cloud Federation API" : "Jamg'armaning bulutli APIsi",
"Enable clouds to communicate with each other and exchange data" : "Bulutlar bir-biri bilan aloqa qilish va ma'lumot almashish imkonini beradi",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API turli xil Nextcloud misollariga bir-biri bilan muloqot qilish va ma'lumotlarni almashish imkonini beradi."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Jamoada API turli xil Nextcloud misollariga bir-biri bilan muloqot qilish va ma'lumotlarni almashish imkonini beradi."
},
"nplurals=1; plural=0;");

View File

@@ -1,6 +1,6 @@
{ "translations": {
"Cloud Federation API" : "Asl faylni o'chirishda kutilmagan xatolik yuz berdi.",
"Cloud Federation API" : "Jamg'armaning bulutli APIsi",
"Enable clouds to communicate with each other and exchange data" : "Bulutlar bir-biri bilan aloqa qilish va ma'lumot almashish imkonini beradi",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API turli xil Nextcloud misollariga bir-biri bilan muloqot qilish va ma'lumotlarni almashish imkonini beradi."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Jamoada API turli xil Nextcloud misollariga bir-biri bilan muloqot qilish va ma'lumotlarni almashish imkonini beradi."
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -10,7 +10,7 @@
<name>Comments</name>
<summary>Files app plugin to add comments to files</summary>
<description>Files app plugin to add comments to files</description>
<version>1.23.0</version>
<version>1.24.0</version>
<licence>agpl</licence>
<author>Arthur Schiwon</author>
<author>Vincent Petry</author>
@@ -21,7 +21,7 @@
<category>social</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<activity>

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.

View File

@@ -10,11 +10,18 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} je komentirao {file}",
"<strong>Comments</strong> for files" : "<strong>Komentari</strong> za datoteke",
"Files" : "Datoteke",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Spomenuti ste u komentaru na „{file}” od računa koji je u međuvremenu izbrisan.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vas je spomenuo u komentaru na „{file}”",
"Files app plugin to add comments to files" : "Dodatak za aplikaciju Datoteke za dodavanje komentara na datoteke",
"Edit comment" : "Uredi komentar",
"Delete comment" : "Izbriši komentar",
"Cancel edit" : "Otkaži uređivanje",
"New comment" : "Novi komentar",
"Write a comment …" : "Napiši komentar …",
"Post comment" : "Objavi komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ za spominjanje, : za emoji, / za pametni odabir",
"Could not reload comments" : "Nije moguće ponovno učitati komentare",
"Failed to mark comments as read" : "Nije uspjelo označavanje komentara kao pročitani",
"Unable to load the comments list" : "Nije moguće učitati popis komentara",
"No comments yet, start the conversation!" : "Još nema komentara, započnite razgovor!",
"No more messages" : "Nema više poruka",
@@ -24,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Došlo je do pogreške prilikom uređivanja komentara",
"Comment deleted" : "Komentar izbrisan",
"An error occurred while trying to delete the comment" : "Došlo je do pogreške prilikom brisanja komentara",
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara"
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara",
"Write a comment …" : "Napiši komentar …"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");

View File

@@ -8,11 +8,18 @@
"{author} commented on {file}" : "{author} je komentirao {file}",
"<strong>Comments</strong> for files" : "<strong>Komentari</strong> za datoteke",
"Files" : "Datoteke",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Spomenuti ste u komentaru na „{file}” od računa koji je u međuvremenu izbrisan.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vas je spomenuo u komentaru na „{file}”",
"Files app plugin to add comments to files" : "Dodatak za aplikaciju Datoteke za dodavanje komentara na datoteke",
"Edit comment" : "Uredi komentar",
"Delete comment" : "Izbriši komentar",
"Cancel edit" : "Otkaži uređivanje",
"New comment" : "Novi komentar",
"Write a comment …" : "Napiši komentar …",
"Post comment" : "Objavi komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ za spominjanje, : za emoji, / za pametni odabir",
"Could not reload comments" : "Nije moguće ponovno učitati komentare",
"Failed to mark comments as read" : "Nije uspjelo označavanje komentara kao pročitani",
"Unable to load the comments list" : "Nije moguće učitati popis komentara",
"No comments yet, start the conversation!" : "Još nema komentara, započnite razgovor!",
"No more messages" : "Nema više poruka",
@@ -22,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Došlo je do pogreške prilikom uređivanja komentara",
"Comment deleted" : "Komentar izbrisan",
"An error occurred while trying to delete the comment" : "Došlo je do pogreške prilikom brisanja komentara",
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara"
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara",
"Write a comment …" : "Napiši komentar …"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}

View File

@@ -17,6 +17,7 @@ OC.L10N.register(
"Delete comment" : "Zmazať komentár",
"Cancel edit" : "Zrušiť upravovanie",
"New comment" : "Nový komentár",
"Write a comment …" : "Napísať komentár ...",
"Post comment" : "Odoslať komentár",
"@ for mentions, : for emoji, / for smart picker" : "@ pre spomienky, : pre emotikony, / pre inteligentný výber",
"Could not reload comments" : "Nepodarilo sa obnoviť komentáre",

View File

@@ -15,6 +15,7 @@
"Delete comment" : "Zmazať komentár",
"Cancel edit" : "Zrušiť upravovanie",
"New comment" : "Nový komentár",
"Write a comment …" : "Napísať komentár ...",
"Post comment" : "Odoslať komentár",
"@ for mentions, : for emoji, / for smart picker" : "@ pre spomienky, : pre emotikony, / pre inteligentný výber",
"Could not reload comments" : "Nepodarilo sa obnoviť komentáre",

37
apps/comments/l10n/uz.js Normal file
View File

@@ -0,0 +1,37 @@
OC.L10N.register(
"comments",
{
"Comments" : "Izohlar",
"You commented" : "Siz fikr bildirgansiz",
"{author} commented" : "{author} izoh qoldirdi",
"You commented on %1$s" : "Siz %1$s haqida fikr bildirdingiz",
"You commented on {file}" : "Siz {file} ga izoh qoldirdingiz",
"%1$s commented on %2$s" : "%1$s %2$s haqida fikr bildirdi",
"{author} commented on {file}" : "{author} {file} ga izoh qoldirdi",
"<strong>Comments</strong> for files" : "Fayllar uchun <strong>Izohlar</strong>",
"Files" : "Fayllar",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Siz \"{file}\"da, keyinchalik o'chirilgan hisob tomonidan izohda tilga olingansiz",
"{user} mentioned you in a comment on \"{file}\"" : "{user} sizni \"{file}\" dagi izohda tilga oldi",
"Files app plugin to add comments to files" : "Fayllarga izohlar qo'shish ilova plagini",
"Edit comment" : "Izohni tahrirlash",
"Delete comment" : "Izohni o'chirish",
"Cancel edit" : "Tahrirni bekor qilish",
"New comment" : "Yangi izoh",
"Write a comment …" : "Fikr yozing…",
"Post comment" : "Fikr qoldirish",
"@ for mentions, : for emoji, / for smart picker" : "@ eslatmalar uchun, : emojilar uchun, / aqlli tanlovclar uchun",
"Could not reload comments" : "Izohlarni qayta yuklab bo'lmadi",
"Failed to mark comments as read" : "Izohlarni o'qilgan deb belgilashda xatolik yuz berdi",
"Unable to load the comments list" : "Izohlar ro'yxatini yuklab bo'lmadi",
"No comments yet, start the conversation!" : "Hali izohlar yo'q, suhbatni boshlang!",
"No more messages" : "Boshqa xabarlar yo'q",
"Retry" : "Qayta urinish",
"_1 new comment_::_{unread} new comments_" : ["{unread} ta yangi izoh"],
"Comment" : "Izoh",
"An error occurred while trying to edit the comment" : "Izohni tahrirlashda xatolik yuz berdi",
"Comment deleted" : "Izoh o'chirildi",
"An error occurred while trying to delete the comment" : "Izohni o'chirishda xatolik yuz berdi",
"An error occurred while trying to create the comment" : "Izoh yaratishda xatolik yuz berdi",
"Write a comment …" : "Izoh yozing..."
},
"nplurals=1; plural=0;");

View File

@@ -0,0 +1,35 @@
{ "translations": {
"Comments" : "Izohlar",
"You commented" : "Siz fikr bildirgansiz",
"{author} commented" : "{author} izoh qoldirdi",
"You commented on %1$s" : "Siz %1$s haqida fikr bildirdingiz",
"You commented on {file}" : "Siz {file} ga izoh qoldirdingiz",
"%1$s commented on %2$s" : "%1$s %2$s haqida fikr bildirdi",
"{author} commented on {file}" : "{author} {file} ga izoh qoldirdi",
"<strong>Comments</strong> for files" : "Fayllar uchun <strong>Izohlar</strong>",
"Files" : "Fayllar",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Siz \"{file}\"da, keyinchalik o'chirilgan hisob tomonidan izohda tilga olingansiz",
"{user} mentioned you in a comment on \"{file}\"" : "{user} sizni \"{file}\" dagi izohda tilga oldi",
"Files app plugin to add comments to files" : "Fayllarga izohlar qo'shish ilova plagini",
"Edit comment" : "Izohni tahrirlash",
"Delete comment" : "Izohni o'chirish",
"Cancel edit" : "Tahrirni bekor qilish",
"New comment" : "Yangi izoh",
"Write a comment …" : "Fikr yozing…",
"Post comment" : "Fikr qoldirish",
"@ for mentions, : for emoji, / for smart picker" : "@ eslatmalar uchun, : emojilar uchun, / aqlli tanlovclar uchun",
"Could not reload comments" : "Izohlarni qayta yuklab bo'lmadi",
"Failed to mark comments as read" : "Izohlarni o'qilgan deb belgilashda xatolik yuz berdi",
"Unable to load the comments list" : "Izohlar ro'yxatini yuklab bo'lmadi",
"No comments yet, start the conversation!" : "Hali izohlar yo'q, suhbatni boshlang!",
"No more messages" : "Boshqa xabarlar yo'q",
"Retry" : "Qayta urinish",
"_1 new comment_::_{unread} new comments_" : ["{unread} ta yangi izoh"],
"Comment" : "Izoh",
"An error occurred while trying to edit the comment" : "Izohni tahrirlashda xatolik yuz berdi",
"Comment deleted" : "Izoh o'chirildi",
"An error occurred while trying to delete the comment" : "Izohni o'chirishda xatolik yuz berdi",
"An error occurred while trying to create the comment" : "Izoh yaratishda xatolik yuz berdi",
"Write a comment …" : "Izoh yozing..."
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -12,7 +12,6 @@ use OCP\App\IAppManager;
use OCP\Comments\CommentsEvent;
use OCP\Files\Config\IMountProviderCollection;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
use OCP\IUser;
use OCP\IUserSession;
use OCP\Share\IShareHelper;
@@ -47,10 +46,8 @@ class Listener {
foreach ($mounts as $mount) {
$owner = $mount->getUser()->getUID();
$ownerFolder = $this->rootFolder->getUserFolder($owner);
$nodes = $ownerFolder->getById((int)$event->getComment()->getObjectId());
if (!empty($nodes)) {
/** @var Node $node */
$node = array_shift($nodes);
$node = $ownerFolder->getFirstNodeById((int)$event->getComment()->getObjectId());
if ($node !== null) {
$al = $this->shareHelper->getPathsForAccessList($node);
$users += $al['users'];
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -70,11 +70,11 @@ class NotificationsController extends Controller {
return new NotFoundResponse();
}
$userFolder = $this->rootFolder->getUserFolder($currentUser->getUID());
$files = $userFolder->getById((int)$comment->getObjectId());
$file = $userFolder->getFirstNodeById((int)$comment->getObjectId());
$this->markProcessed($comment, $currentUser);
if (empty($files)) {
if ($file === null) {
return new NotFoundResponse();
}

View File

@@ -32,8 +32,8 @@ class CommentsEntityEventListener implements IEventListener {
}
$event->addEntityCollection('files', function ($name): bool {
$nodes = $this->rootFolder->getUserFolder($this->userId)->getById((int)$name);
return !empty($nodes);
$node = $this->rootFolder->getUserFolder($this->userId)->getFirstNodeById((int)$name);
return $node !== null;
});
}
}

View File

@@ -84,11 +84,10 @@ class Notifier implements INotifier {
throw new UnknownNotificationException('Unsupported comment object');
}
$userFolder = $this->rootFolder->getUserFolder($notification->getUser());
$nodes = $userFolder->getById((int)$parameters[1]);
if (empty($nodes)) {
$node = $userFolder->getFirstNodeById((int)$parameters[1]);
if ($node === null) {
throw new AlreadyProcessedException();
}
$node = $nodes[0];
$path = rtrim($node->getPath(), '/');
if (str_starts_with($path, '/' . $notification->getUser() . '/files/')) {

View File

@@ -116,11 +116,11 @@ class CommentsSearchProvider implements IProvider {
* @throws NotFoundException
*/
protected function getFileForComment(Folder $userFolder, IComment $comment): Node {
$nodes = $userFolder->getById((int)$comment->getObjectId());
if (empty($nodes)) {
$node = $userFolder->getFirstNodeById((int)$comment->getObjectId());
if ($node === null) {
throw new NotFoundException('File not found');
}
return array_shift($nodes);
return $node;
}
}

View File

@@ -1,11 +1,11 @@
/**
/*!
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { Folder, View } from '@nextcloud/files'
import type { IFolder, IView } from '@nextcloud/files'
import { File, FileAction, Permission } from '@nextcloud/files'
import { File, Permission } from '@nextcloud/files'
import { describe, expect, test, vi } from 'vitest'
import logger from '../logger.js'
import { action } from './inlineUnreadCommentsAction.ts'
@@ -13,7 +13,7 @@ import { action } from './inlineUnreadCommentsAction.ts'
const view = {
id: 'files',
name: 'Files',
} as View
} as IView
describe('Inline unread comments action display name tests', () => {
test('Default values', () => {
@@ -29,36 +29,35 @@ describe('Inline unread comments action display name tests', () => {
root: '/files/admin',
})
expect(action).toBeInstanceOf(FileAction)
expect(action.id).toBe('comments-unread')
expect(action.displayName({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe('')
expect(action.title!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe('1 new comment')
expect(action.iconSvgInline({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toMatch(/<svg.+<\/svg>/)
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(true)
expect(action.inline!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(true)
expect(action.default).toBeUndefined()
@@ -81,13 +80,13 @@ describe('Inline unread comments action display name tests', () => {
expect(action.displayName({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe('')
expect(action.title!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe('2 new comments')
})
@@ -108,7 +107,7 @@ describe('Inline unread comments action enabled tests', () => {
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(false)
})
@@ -129,7 +128,7 @@ describe('Inline unread comments action enabled tests', () => {
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(false)
})
@@ -150,7 +149,7 @@ describe('Inline unread comments action enabled tests', () => {
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(true)
})
@@ -171,7 +170,7 @@ describe('Inline unread comments action enabled tests', () => {
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(true)
})
@@ -204,7 +203,7 @@ describe('Inline unread comments action execute tests', () => {
const result = await action.exec!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})
@@ -241,7 +240,7 @@ describe('Inline unread comments action execute tests', () => {
const result = await action.exec!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})

View File

@@ -3,12 +3,15 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { IFileAction } from '@nextcloud/files'
import CommentProcessingSvg from '@mdi/svg/svg/comment-processing.svg?raw'
import { FileAction, getSidebar } from '@nextcloud/files'
import { getSidebar } from '@nextcloud/files'
import { n, t } from '@nextcloud/l10n'
import logger from '../logger.js'
import { isUsingActivityIntegration } from '../utils/activity.js'
export const action = new FileAction({
export const action: IFileAction = {
id: 'comments-unread',
title({ nodes }) {
@@ -36,7 +39,13 @@ export const action = new FileAction({
try {
const sidebar = getSidebar()
sidebar.open(nodes[0], 'comments')
const sidebarTabId = isUsingActivityIntegration() ? 'activity' : 'comments'
if (sidebar.isOpen && sidebar.node?.source === nodes[0].source) {
logger.debug('Sidebar already open for this node, just activating comments tab')
sidebar.setActiveTab(sidebarTabId)
return null
}
sidebar.open(nodes[0], sidebarTabId)
return null
} catch (error) {
logger.error('Error while opening sidebar', { error })
@@ -47,4 +56,4 @@ export const action = new FileAction({
inline: () => true,
order: -140,
})
}

View File

@@ -1,4 +1,4 @@
/**
/*!
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
@@ -6,18 +6,18 @@
import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
import { getCSPNonce } from '@nextcloud/auth'
import { registerSidebarTab } from '@nextcloud/files'
import { loadState } from '@nextcloud/initial-state'
import { t } from '@nextcloud/l10n'
import wrap from '@vue/web-component-wrapper'
import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import { registerCommentsPlugins } from './comments-activity-tab.ts'
import { isUsingActivityIntegration } from './utils/activity.ts'
__webpack_nonce__ = getCSPNonce()
const tagName = 'comments_files-sidebar-tab'
if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {
if (isUsingActivityIntegration()) {
// Do not mount own tab but mount into activity
window.addEventListener('DOMContentLoaded', function() {
registerCommentsPlugins()

View File

@@ -0,0 +1,13 @@
/*!
* SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { loadState } from '@nextcloud/initial-state'
/**
* Check if the comments app is using the Activity app integration for the sidebar.
*/
export function isUsingActivityIntegration() {
return loadState('comments', 'activityEnabled', false) && window.OCA?.Activity?.registerSidebarAction !== undefined
}

View File

@@ -92,12 +92,11 @@ class ListenerTest extends TestCase {
->willReturn($userMountCache);
$node = $this->createMock(Node::class);
$nodes = [ $node ];
$ownerFolder = $this->createMock(Folder::class);
$ownerFolder->expects($this->any())
->method('getById')
->willReturn($nodes);
->method('getFirstNodeById')
->willReturn($node);
$this->rootFolder->expects($this->any())
->method('getUserFolder')

View File

@@ -107,8 +107,8 @@ class NotificationsTest extends TestCase {
->willReturn($folder);
$folder->expects($this->once())
->method('getById')
->willReturn([$file]);
->method('getFirstNodeById')
->willReturn($file);
$this->session->expects($this->once())
->method('getUser')
@@ -183,8 +183,8 @@ class NotificationsTest extends TestCase {
->willReturn($folder);
$folder->expects($this->once())
->method('getById')
->willReturn([]);
->method('getFirstNodeById')
->willReturn(null);
$user = $this->createMock(IUser::class);

View File

@@ -86,9 +86,9 @@ class NotifierTest extends TestCase {
->with('you')
->willReturn($userFolder);
$userFolder->expects($this->once())
->method('getById')
->method('getFirstNodeById')
->with('678')
->willReturn([$node]);
->willReturn($node);
$this->notification->expects($this->exactly(2))
->method('getUser')
@@ -202,9 +202,9 @@ class NotifierTest extends TestCase {
->with('you')
->willReturn($userFolder);
$userFolder->expects($this->once())
->method('getById')
->method('getFirstNodeById')
->with('678')
->willReturn([$node]);
->willReturn($node);
$this->notification->expects($this->exactly(2))
->method('getUser')
@@ -301,7 +301,7 @@ class NotifierTest extends TestCase {
$this->folder
->expects($this->never())
->method('getById');
->method('getFirstNodeById');
$this->notification
->expects($this->once())
@@ -338,7 +338,7 @@ class NotifierTest extends TestCase {
$this->folder
->expects($this->never())
->method('getById');
->method('getFirstNodeById');
$this->notification
->expects($this->once())
@@ -378,7 +378,7 @@ class NotifierTest extends TestCase {
$this->folder
->expects($this->never())
->method('getById');
->method('getFirstNodeById');
$this->notification
->expects($this->once())
@@ -435,7 +435,7 @@ class NotifierTest extends TestCase {
$this->folder
->expects($this->never())
->method('getById');
->method('getFirstNodeById');
$this->notification
->expects($this->once())
@@ -497,9 +497,9 @@ class NotifierTest extends TestCase {
->with('you')
->willReturn($userFolder);
$userFolder->expects($this->once())
->method('getById')
->method('getFirstNodeById')
->with('678')
->willReturn([]);
->willReturn(null);
$this->notification->expects($this->once())
->method('getUser')

View File

@@ -9,7 +9,7 @@
<name>Contacts Interaction</name>
<summary>Manages interaction between accounts and contacts</summary>
<description>Collect data about accounts and contacts interactions and provide an address book for the data</description>
<version>1.14.1</version>
<version>1.15.0</version>
<licence>agpl</licence>
<author>Christoph Wurst</author>
<author homepage="https://github.com/nextcloud/groupware">Nextcloud Groupware Team</author>
@@ -21,7 +21,7 @@
<category>social</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<background-jobs>
<job>OCA\ContactsInteraction\BackgroundJob\CleanupJob</job>

View File

@@ -2,6 +2,8 @@ OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "Nedavno kontaktiran",
"Contacts Interaction" : "Interakcija kontakata"
"Contacts Interaction" : "Interakcija kontakata",
"Manages interaction between accounts and contacts" : "Upravlja interakcijom između računa i kontakata",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Prikuplja podatke o interakcijama između računa i kontakata te pruža adresar za te podatke"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");

View File

@@ -1,5 +1,7 @@
{ "translations": {
"Recently contacted" : "Nedavno kontaktiran",
"Contacts Interaction" : "Interakcija kontakata"
"Contacts Interaction" : "Interakcija kontakata",
"Manages interaction between accounts and contacts" : "Upravlja interakcijom između računa i kontakata",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Prikuplja podatke o interakcijama između računa i kontakata te pruža adresar za te podatke"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}

View File

@@ -12,7 +12,7 @@
The Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking.]]>
</description>
<version>7.13.0</version>
<version>7.14.0</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Dashboard</namespace>
@@ -22,7 +22,7 @@ The Nextcloud Dashboard is your starting point of the day, giving you an overvie
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<navigations>

View File

@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Nadzorna ploča",
"Dashboard app" : "Nadzorna ploča aplikacije",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Započnite dan informirani\n\nNextcloud nadzorna ploča vaša je početna točka dana i pruža vam pregled nadolazećih termina, hitnih e-poruka, poruka u chatu, dolaznih tiketa, najnovijih tweetova i još mnogo toga! Korisnici mogu dodavati widgete koji im odgovaraju i prilagoditi pozadinu prema vlastitim željama.",
"Weather" : "Vrijeme",
"Status" : "Status",
"Good morning" : "Dobro jutro",
@@ -13,10 +14,13 @@ OC.L10N.register(
"Good evening, {name}" : "Dobar dan, {name}",
"Hello" : "Pozdrav",
"Hello, {name}" : "Pozdrav, {name}",
"Happy birthday 🥳🤩🎂🎉" : "Sretan rođendan 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Sretan rođendan, {name} 🥳🤩🎂🎉",
"Customize" : "Uredi",
"Edit widgets" : "Uredi widgete",
"Get more widgets from the App Store" : "Nabavite više widgeta iz trgovine aplikacijama",
"Weather service" : "Davatelj vremenske prognoze",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Radi vaše privatnosti, podatke o vremenu u vaše ime dohvaća vaš {productName} poslužitelj, tako da vremenska usluga ne prima nikakve osobne podatke.",
"Weather data from Met.no" : "Podaci o vremenskoj prognozi iz Met.no",
"geocoding with Nominatim" : "geokodiranje uz Nominatim",
"elevation data from OpenTopoData" : "podaci o nadmorskoj visini iz OpenTopoData",

View File

@@ -1,6 +1,7 @@
{ "translations": {
"Dashboard" : "Nadzorna ploča",
"Dashboard app" : "Nadzorna ploča aplikacije",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Započnite dan informirani\n\nNextcloud nadzorna ploča vaša je početna točka dana i pruža vam pregled nadolazećih termina, hitnih e-poruka, poruka u chatu, dolaznih tiketa, najnovijih tweetova i još mnogo toga! Korisnici mogu dodavati widgete koji im odgovaraju i prilagoditi pozadinu prema vlastitim željama.",
"Weather" : "Vrijeme",
"Status" : "Status",
"Good morning" : "Dobro jutro",
@@ -11,10 +12,13 @@
"Good evening, {name}" : "Dobar dan, {name}",
"Hello" : "Pozdrav",
"Hello, {name}" : "Pozdrav, {name}",
"Happy birthday 🥳🤩🎂🎉" : "Sretan rođendan 🥳🤩🎂🎉",
"Happy birthday, {name} 🥳🤩🎂🎉" : "Sretan rođendan, {name} 🥳🤩🎂🎉",
"Customize" : "Uredi",
"Edit widgets" : "Uredi widgete",
"Get more widgets from the App Store" : "Nabavite više widgeta iz trgovine aplikacijama",
"Weather service" : "Davatelj vremenske prognoze",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Radi vaše privatnosti, podatke o vremenu u vaše ime dohvaća vaš {productName} poslužitelj, tako da vremenska usluga ne prima nikakve osobne podatke.",
"Weather data from Met.no" : "Podaci o vremenskoj prognozi iz Met.no",
"geocoding with Nominatim" : "geokodiranje uz Nominatim",
"elevation data from OpenTopoData" : "podaci o nadmorskoj visini iz OpenTopoData",

View File

@@ -20,6 +20,7 @@ OC.L10N.register(
"Edit widgets" : "Upraviť miniaplikácie",
"Get more widgets from the App Store" : "Získať viac miniaplikácií v Obchode s aplikáciami",
"Weather service" : "Služba počasie",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Pre vaše súkromie sú údaje o počasí požadované vaším {productName} serverom vo vašom mene, takže služba počasia neobdrží žiadne osobné informácie.",
"Weather data from Met.no" : "Dáta počasia z Met.no",
"geocoding with Nominatim" : "geokódovanie pomocou Nominatim",
"elevation data from OpenTopoData" : "dáta o nadmorskej výške z OpenTopoData",

View File

@@ -18,6 +18,7 @@
"Edit widgets" : "Upraviť miniaplikácie",
"Get more widgets from the App Store" : "Získať viac miniaplikácií v Obchode s aplikáciami",
"Weather service" : "Služba počasie",
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Pre vaše súkromie sú údaje o počasí požadované vaším {productName} serverom vo vašom mene, takže služba počasia neobdrží žiadne osobné informácie.",
"Weather data from Met.no" : "Dáta počasia z Met.no",
"geocoding with Nominatim" : "geokódovanie pomocou Nominatim",
"elevation data from OpenTopoData" : "dáta o nadmorskej výške z OpenTopoData",

View File

@@ -10,7 +10,7 @@
<name>WebDAV</name>
<summary>WebDAV endpoint</summary>
<description>WebDAV endpoint</description>
<version>1.36.0</version>
<version>1.37.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="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<background-jobs>

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -234,6 +234,8 @@ OC.L10N.register(
"Could not rename part file to final file, canceled by hook" : "Nedaří se zapsat přejmenovat částečný soubor na ten končený zrušeno háčkem (hook)",
"Could not rename part file to final file" : "Nedaří se přejmenovat částečný soubor na ten konečný",
"Failed to check file size: %1$s" : "Nepodařilo se zkontrolovat velikost souboru: %1$s",
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) zdá se, že soubor existuje",
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) zdá se, že soubor neexistuje",
"Encryption not ready: %1$s" : "Šifrování není připraveno: %1$s",
"Failed to open file: %1$s" : "Nepodařilo se otevřít soubor: %1$s",
"Failed to unlink: %1$s" : "Nepodařilo se zrušit propojení: %1$s",

View File

@@ -232,6 +232,8 @@
"Could not rename part file to final file, canceled by hook" : "Nedaří se zapsat přejmenovat částečný soubor na ten končený zrušeno háčkem (hook)",
"Could not rename part file to final file" : "Nedaří se přejmenovat částečný soubor na ten konečný",
"Failed to check file size: %1$s" : "Nepodařilo se zkontrolovat velikost souboru: %1$s",
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) zdá se, že soubor existuje",
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) zdá se, že soubor neexistuje",
"Encryption not ready: %1$s" : "Šifrování není připraveno: %1$s",
"Failed to open file: %1$s" : "Nepodařilo se otevřít soubor: %1$s",
"Failed to unlink: %1$s" : "Nepodařilo se zrušit propojení: %1$s",

View File

@@ -73,7 +73,19 @@ OC.L10N.register(
"Where: %s" : "Où : %s",
"%1$s via %2$s" : "%1$s via %2$s",
"In the past on %1$s for the entire day" : "Dans le passé toute la journée du %1$s ",
"_In %n minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Dans une minute le %1$s pour la journée entière","Dans %n minutes le %1$s pour la journée entière","Dans %n minutes le %1$s pour la journée entière"],
"_In %n hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Dans une heure le %1$s pour la journée entière","Dans %n heures le %1$s pour la journée entière","Dans %n heures le %1$s pour la journée entière"],
"_In %n day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Dans un jour le %1$s pour la journée entière","Dans %n jours le %1$s pour la journée entière","Dans %n jours le %1$s pour la journée entière"],
"_In %n week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Dans une semaine le %1$s pour la journée entière","Dans %n semaines le %1$s pour la journée entière","Dans %n semaines le %1$s pour la journée entière"],
"_In %n month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Dans un mois toute la journée du %1$s","Dans %n mois toute la journée du %1$s","Dans %n mois toute la journée du %1$s"],
"_In %n year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Dans un an toute la journée du %1$s","Dans %n années toute la journée du %1$s","Dans %n années toute la journée du %1$s"],
"In the past on %1$s between %2$s - %3$s" : "Dans le passé le %1$s entre %2$s et %3$s",
"_In %n minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Dans une minute le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s et %3$s"],
"_In %n hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Dans une heure le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s"],
"_In %n day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Demain le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s"],
"_In %n week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["La semaine prochaine le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s"],
"_In %n month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Dans un mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s"],
"_In %n year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["L'an prochain le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s"],
"Could not generate when statement" : "Impossible de déterminer quand",
"Every Day for the entire day" : "Chaque jour pour toute la journée",
"Every Day for the entire day until %1$s" : "Chaque jour pour la journée entière jusqu'au %1$s",
@@ -111,8 +123,26 @@ OC.L10N.register(
"On specific dates for the entire day until %1$s" : "À une date spécifique pour la journée entière jusqu'au %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "À des dates spécifiques entre %1$s et %2$s jusqu'au %3$s",
"In the past on %1$s" : "Dans le passé en %1$s",
"_In %n minute on %1$s_::_In %n minutes on %1$s_" : ["Dans une minute en %1$s","Dans %n minutes en %1$s","Dans %n minutes en %1$s"],
"_In %n hour on %1$s_::_In %n hours on %1$s_" : ["Dans %n heure le %1$s","Dans %n heures le %1$s","Dans %n le %1$s"],
"_In %n day on %1$s_::_In %n days on %1$s_" : ["Demain le %1$s","Dans %n jours le %1$s","Dans %n jours le %1$s"],
"_In %n week on %1$s_::_In %n weeks on %1$s_" : ["La semaine prochaine le %1$s","Dans %n semaines le %1$s","Dans %n semaines le %1$s"],
"_In %n month on %1$s_::_In %n months on %1$s_" : ["Le mois prochain le %1$s","Dans %n mois le %1$s","Dans %n mois le %1$s"],
"_In %n year on %1$s_::_In %n years on %1$s_" : ["L'an prochain le %1$s","Dans %n ans le %1$s","Dans %n ans le %1$s"],
"In the past on %1$s then on %2$s" : "Dans le passé le %1$s puis le %2$s",
"_In %n minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Dans une minute le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s"],
"_In %n hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Dans une heure le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s"],
"_In %n day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Demain le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s"],
"_In %n week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["La semaine prochaine le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s"],
"_In %n month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Le mois prochain le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s"],
"_In %n year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["L'an prochain le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "Dans le passé le %1$s puis le %2$s et %3$s",
"_In %n minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Dans une minute le %1$s puis le %2$s et le %3$s","Dans %n minutes le %1$s puis le %2$s et le %3$s","Dans %n minutes le %1$s puis le %2$s et le %3$s"],
"_In %n hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Dans une heure le %1$s puis le %2$s et le %3$s","Dans %n heures le %1$s puis le %2$s et le %3$s","Dans %n heures le %1$s puis le %2$s et le %3$s"],
"_In %n day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Demain le %1$s puis le %2$s et le %3$s","Dans %n jours le %1$s puis le %2$s et le %3$s","Dans %n jours le %1$s puis le %2$s et le %3$s"],
"_In %n week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["La semaine prochaine le %1$s puis le %2$s et le %3$s","Dans %n semaines le %1$s puis le %2$s et le %3$s","Dans %n semaines le %1$s puis le %2$s et le%3$s"],
"_In %n month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dans un mois le %1$s puis le %2$s et le %3$s","Dans %n mois le %1$s puis le %2$s et le %3$s","Dans %n mois le %1$s puis le %2$s et le %3$s"],
"_In %n year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dans un an sur %1$spuis le %2$s et le %3$s","Dans %n années sur %1$s puis le %2$s et le %3$s","Dans %n années sur %1$s puis le %2$s et le %3$s"],
"Could not generate next recurrence statement" : "Impossible de déterminer la prochaine récurrence",
"Cancelled: %1$s" : "Annulé : %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" a été annulé(e)",
@@ -190,6 +220,8 @@ OC.L10N.register(
"{actor} updated contact {card} in address book {addressbook}" : "{actor} a mis à jour le contact {card} dans le carnet d'adresses {addressbook}",
"You updated contact {card} in address book {addressbook}" : "Vous avez mis à jour le contact {card} dans le carnet d'adresses {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Un <strong>contact</strong> ou <strong>carnet d'adresses</strong> a été modifié",
"System address book disabled" : "Le carnet d'adresses du système est désactivé",
"The system contacts address book has been automatically disabled during upgrade. This means that the address book will no longer be available to users in the contacts app or other clients. The system contacts address book was disabled because the amount of contacts in the address book exceeded the maximum recommended number of contacts. This limit is set to prevent performance issues. You can re-enable the system address book with the following command {command}" : "Le carnet d'adresses système a été automatiquement désactivé lors de la mise à jour. Cela signifie que le carnet d'adresses ne sera plus disponible pour les utilisateurs dans l'application Contacts ou d'autres clients. Le carnet d'adresses du système a été désactivé car le nombre de contacts dans le carnet dépassait le nombre maximum recommandé de contacts. Cette limite est fixée afin d'éviter des problèmes de performance. Vous pouvez réactiver le carnet d'adresses système avec la commande suivante : {command}",
"Accounts" : "Comptes",
"System address book which holds all accounts" : "Carnet d'adresses système qui regroupe tous les comptes",
"File is not updatable: %1$s" : "Ce fichier ne peut pas être mis à jour : %1$s",
@@ -202,6 +234,8 @@ OC.L10N.register(
"Could not rename part file to final file, canceled by hook" : "Impossible de renommer le fichier partiel en fichier final, annulé par le hook",
"Could not rename part file to final file" : "Impossible de renommer le fichier partiel en fichier définitif",
"Failed to check file size: %1$s" : "Impossible de vérifier la taille du fichier : %1$s",
"Could not open file: %1$s (%2$d), file does seem to exist" : "Impossible d'ouvrir le fichier : %1$s (%2$d), le fichier semble exister",
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Impossible d'ouvrir le fichier : %1$s (%2$d), le fichier ne semble pas exister",
"Encryption not ready: %1$s" : "Chiffrement pas prêt : %1$s",
"Failed to open file: %1$s" : "Impossible d'ouvrir le fichier : %1$s",
"Failed to unlink: %1$s" : "Impossible de supprimer le lien :%1$s",
@@ -226,6 +260,10 @@ OC.L10N.register(
"DAV system address book" : "Carnet d'adresses système DAV",
"No outstanding DAV system address book sync." : "Pas de synchronisation DAV en cours du carnet d'adresses système.",
"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 synchronisation du carnet d'adresses système DAV n'a pas encore été effectuée car votre instance a plus de 1 000 utilisateurs ou parce qu'une erreur est survenue. Merci de l'exécuter manuellement en tapant la commande \"occ dav:sync-system-addressbook\".",
"DAV system address book size" : "Taille du carnet d'adresses système",
"The system address book is disabled" : "Le carnet d'adresses système est désactivé",
"The system address book is enabled, but contains more than the configured limit of %d contacts" : "Le carnet d'adresses système est activé, mais il contient plus de contacts que la limite fixée à %d ",
"The system address book is enabled and contains less than the configured limit of %d contacts" : "Le carnet d'adresses système est activé est contient moins de contacts que la limite fixée à %d ",
"WebDAV endpoint" : "Point de terminaison WebDAV",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Impossible de vérifier si votre serveur web est correctement configuré pour permettre la synchronisation de fichiers via WebDAV. Veuillez vérifier manuellement.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Votre serveur web nest pas encore correctement configuré pour la synchronisation de fichiers parce que linterface WebDAV semble ne pas fonctionner.",

View File

@@ -71,7 +71,19 @@
"Where: %s" : "Où : %s",
"%1$s via %2$s" : "%1$s via %2$s",
"In the past on %1$s for the entire day" : "Dans le passé toute la journée du %1$s ",
"_In %n minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Dans une minute le %1$s pour la journée entière","Dans %n minutes le %1$s pour la journée entière","Dans %n minutes le %1$s pour la journée entière"],
"_In %n hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Dans une heure le %1$s pour la journée entière","Dans %n heures le %1$s pour la journée entière","Dans %n heures le %1$s pour la journée entière"],
"_In %n day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Dans un jour le %1$s pour la journée entière","Dans %n jours le %1$s pour la journée entière","Dans %n jours le %1$s pour la journée entière"],
"_In %n week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Dans une semaine le %1$s pour la journée entière","Dans %n semaines le %1$s pour la journée entière","Dans %n semaines le %1$s pour la journée entière"],
"_In %n month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Dans un mois toute la journée du %1$s","Dans %n mois toute la journée du %1$s","Dans %n mois toute la journée du %1$s"],
"_In %n year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Dans un an toute la journée du %1$s","Dans %n années toute la journée du %1$s","Dans %n années toute la journée du %1$s"],
"In the past on %1$s between %2$s - %3$s" : "Dans le passé le %1$s entre %2$s et %3$s",
"_In %n minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Dans une minute le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s et %3$s"],
"_In %n hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Dans une heure le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s"],
"_In %n day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Demain le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s"],
"_In %n week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["La semaine prochaine le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s"],
"_In %n month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Dans un mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s"],
"_In %n year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["L'an prochain le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s"],
"Could not generate when statement" : "Impossible de déterminer quand",
"Every Day for the entire day" : "Chaque jour pour toute la journée",
"Every Day for the entire day until %1$s" : "Chaque jour pour la journée entière jusqu'au %1$s",
@@ -109,8 +121,26 @@
"On specific dates for the entire day until %1$s" : "À une date spécifique pour la journée entière jusqu'au %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "À des dates spécifiques entre %1$s et %2$s jusqu'au %3$s",
"In the past on %1$s" : "Dans le passé en %1$s",
"_In %n minute on %1$s_::_In %n minutes on %1$s_" : ["Dans une minute en %1$s","Dans %n minutes en %1$s","Dans %n minutes en %1$s"],
"_In %n hour on %1$s_::_In %n hours on %1$s_" : ["Dans %n heure le %1$s","Dans %n heures le %1$s","Dans %n le %1$s"],
"_In %n day on %1$s_::_In %n days on %1$s_" : ["Demain le %1$s","Dans %n jours le %1$s","Dans %n jours le %1$s"],
"_In %n week on %1$s_::_In %n weeks on %1$s_" : ["La semaine prochaine le %1$s","Dans %n semaines le %1$s","Dans %n semaines le %1$s"],
"_In %n month on %1$s_::_In %n months on %1$s_" : ["Le mois prochain le %1$s","Dans %n mois le %1$s","Dans %n mois le %1$s"],
"_In %n year on %1$s_::_In %n years on %1$s_" : ["L'an prochain le %1$s","Dans %n ans le %1$s","Dans %n ans le %1$s"],
"In the past on %1$s then on %2$s" : "Dans le passé le %1$s puis le %2$s",
"_In %n minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Dans une minute le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s"],
"_In %n hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Dans une heure le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s"],
"_In %n day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Demain le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s"],
"_In %n week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["La semaine prochaine le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s"],
"_In %n month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Le mois prochain le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s"],
"_In %n year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["L'an prochain le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "Dans le passé le %1$s puis le %2$s et %3$s",
"_In %n minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Dans une minute le %1$s puis le %2$s et le %3$s","Dans %n minutes le %1$s puis le %2$s et le %3$s","Dans %n minutes le %1$s puis le %2$s et le %3$s"],
"_In %n hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Dans une heure le %1$s puis le %2$s et le %3$s","Dans %n heures le %1$s puis le %2$s et le %3$s","Dans %n heures le %1$s puis le %2$s et le %3$s"],
"_In %n day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Demain le %1$s puis le %2$s et le %3$s","Dans %n jours le %1$s puis le %2$s et le %3$s","Dans %n jours le %1$s puis le %2$s et le %3$s"],
"_In %n week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["La semaine prochaine le %1$s puis le %2$s et le %3$s","Dans %n semaines le %1$s puis le %2$s et le %3$s","Dans %n semaines le %1$s puis le %2$s et le%3$s"],
"_In %n month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dans un mois le %1$s puis le %2$s et le %3$s","Dans %n mois le %1$s puis le %2$s et le %3$s","Dans %n mois le %1$s puis le %2$s et le %3$s"],
"_In %n year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dans un an sur %1$spuis le %2$s et le %3$s","Dans %n années sur %1$s puis le %2$s et le %3$s","Dans %n années sur %1$s puis le %2$s et le %3$s"],
"Could not generate next recurrence statement" : "Impossible de déterminer la prochaine récurrence",
"Cancelled: %1$s" : "Annulé : %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" a été annulé(e)",
@@ -188,6 +218,8 @@
"{actor} updated contact {card} in address book {addressbook}" : "{actor} a mis à jour le contact {card} dans le carnet d'adresses {addressbook}",
"You updated contact {card} in address book {addressbook}" : "Vous avez mis à jour le contact {card} dans le carnet d'adresses {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Un <strong>contact</strong> ou <strong>carnet d'adresses</strong> a été modifié",
"System address book disabled" : "Le carnet d'adresses du système est désactivé",
"The system contacts address book has been automatically disabled during upgrade. This means that the address book will no longer be available to users in the contacts app or other clients. The system contacts address book was disabled because the amount of contacts in the address book exceeded the maximum recommended number of contacts. This limit is set to prevent performance issues. You can re-enable the system address book with the following command {command}" : "Le carnet d'adresses système a été automatiquement désactivé lors de la mise à jour. Cela signifie que le carnet d'adresses ne sera plus disponible pour les utilisateurs dans l'application Contacts ou d'autres clients. Le carnet d'adresses du système a été désactivé car le nombre de contacts dans le carnet dépassait le nombre maximum recommandé de contacts. Cette limite est fixée afin d'éviter des problèmes de performance. Vous pouvez réactiver le carnet d'adresses système avec la commande suivante : {command}",
"Accounts" : "Comptes",
"System address book which holds all accounts" : "Carnet d'adresses système qui regroupe tous les comptes",
"File is not updatable: %1$s" : "Ce fichier ne peut pas être mis à jour : %1$s",
@@ -200,6 +232,8 @@
"Could not rename part file to final file, canceled by hook" : "Impossible de renommer le fichier partiel en fichier final, annulé par le hook",
"Could not rename part file to final file" : "Impossible de renommer le fichier partiel en fichier définitif",
"Failed to check file size: %1$s" : "Impossible de vérifier la taille du fichier : %1$s",
"Could not open file: %1$s (%2$d), file does seem to exist" : "Impossible d'ouvrir le fichier : %1$s (%2$d), le fichier semble exister",
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Impossible d'ouvrir le fichier : %1$s (%2$d), le fichier ne semble pas exister",
"Encryption not ready: %1$s" : "Chiffrement pas prêt : %1$s",
"Failed to open file: %1$s" : "Impossible d'ouvrir le fichier : %1$s",
"Failed to unlink: %1$s" : "Impossible de supprimer le lien :%1$s",
@@ -224,6 +258,10 @@
"DAV system address book" : "Carnet d'adresses système DAV",
"No outstanding DAV system address book sync." : "Pas de synchronisation DAV en cours du carnet d'adresses système.",
"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 synchronisation du carnet d'adresses système DAV n'a pas encore été effectuée car votre instance a plus de 1 000 utilisateurs ou parce qu'une erreur est survenue. Merci de l'exécuter manuellement en tapant la commande \"occ dav:sync-system-addressbook\".",
"DAV system address book size" : "Taille du carnet d'adresses système",
"The system address book is disabled" : "Le carnet d'adresses système est désactivé",
"The system address book is enabled, but contains more than the configured limit of %d contacts" : "Le carnet d'adresses système est activé, mais il contient plus de contacts que la limite fixée à %d ",
"The system address book is enabled and contains less than the configured limit of %d contacts" : "Le carnet d'adresses système est activé est contient moins de contacts que la limite fixée à %d ",
"WebDAV endpoint" : "Point de terminaison WebDAV",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Impossible de vérifier si votre serveur web est correctement configuré pour permettre la synchronisation de fichiers via WebDAV. Veuillez vérifier manuellement.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Votre serveur web nest pas encore correctement configuré pour la synchronisation de fichiers parce que linterface WebDAV semble ne pas fonctionner.",

View File

@@ -159,9 +159,9 @@ OC.L10N.register(
"Attendees:" : "Asistentes:",
"Title:" : "Título:",
"When:" : "Cando:",
"Location:" : "Lugar:",
"Location:" : "Onde:",
"Link:" : "Ligazón:",
"Occurring:" : "Acaecendo:",
"Occurring:" : "Acaece:",
"Accept" : "Aceptar",
"Decline" : "Declinar",
"More options …" : "Máis opcións…",

View File

@@ -157,9 +157,9 @@
"Attendees:" : "Asistentes:",
"Title:" : "Título:",
"When:" : "Cando:",
"Location:" : "Lugar:",
"Location:" : "Onde:",
"Link:" : "Ligazón:",
"Occurring:" : "Acaecendo:",
"Occurring:" : "Acaece:",
"Accept" : "Aceptar",
"Decline" : "Declinar",
"More options …" : "Máis opcións…",

376
apps/dav/l10n/hr.js Normal file
View File

@@ -0,0 +1,376 @@
OC.L10N.register(
"dav",
{
"Calendar" : "Kalendar",
"Tasks" : "Zadaci",
"Personal" : "Osobno",
"{actor} created calendar {calendar}" : "{actor} je stvorio kalendar {calendar}",
"You created calendar {calendar}" : "Stvorili ste kalendar {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} je izbrisao kalendar {calendar}",
"You deleted calendar {calendar}" : "Izbrisali ste kalendar {calendar}",
"{actor} updated calendar {calendar}" : "{actor} je ažurirao kalendar {calendar}",
"You updated calendar {calendar}" : "Ažurirali ste kalendar {calendar}",
"{actor} restored calendar {calendar}" : "{actor} je vratio kalendar {calendar}",
"You restored calendar {calendar}" : "Vratili ste kalendar {calendar}",
"You shared calendar {calendar} as public link" : "Podijelili ste kalendar {calendar} putem javne poveznice",
"You removed public link for calendar {calendar}" : "Uklonili ste javnu poveznicu na kalendar {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} dijeli kalendar {calendar} s vama",
"You shared calendar {calendar} with {user}" : "Podijelili ste kalendar {calendar} s {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} dijeli kalendar {calendar} s {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} više ne dijeli kalendar {calendar} s vama",
"You unshared calendar {calendar} from {user}" : "Više ne dijelite kalendar {calendar} s {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} više ne dijeli kalendar {calendar} s {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} više ne dijeli kalendar {calendar} sam sa sobom",
"You shared calendar {calendar} with group {group}" : "Podijelili ste kalendar {calendar} s grupom {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} dijeli kalendar {calendar} s grupom {group}",
"You unshared calendar {calendar} from group {group}" : "Više ne dijelite kalendar {calendar} s grupom {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} više ne dijeli kalendar {calendar} s grupom {group}",
"Untitled event" : "Događaj bez naslova",
"{actor} created event {event} in calendar {calendar}" : "{actor} je stvorio događaj {event} u kalendaru {calendar}",
"You created event {event} in calendar {calendar}" : "Stvorili ste događaj {event} u kalendaru {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} je izbrisao događaj {event} iz kalendara {calendar}",
"You deleted event {event} from calendar {calendar}" : "Izbrisali ste događaj {event} iz kalendara {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} je ažurirao događaj {event} u kalendaru {calendar}",
"You updated event {event} in calendar {calendar}" : "Ažurirali ste događaj {event} u kalendaru {calendar}",
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} je premjestio događaj {event} iz kalendara {sourceCalendar} u kalendar {targetCalendar}",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Premjestili ste događaj {event} iz kalendara {sourceCalendar} u kalendar {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} je vratio događaj {event} kalendara {calendar}",
"You restored event {event} of calendar {calendar}" : "Vratili ste događaj {event} kalendara {calendar}",
"Busy" : "Zauzeto",
"{actor} created to-do {todo} in list {calendar}" : "{actor} je stvorio zadatak {todo} u popisu {calendar}",
"You created to-do {todo} in list {calendar}" : "Stvorili ste zadatak {todo} u popisu {calendar}",
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} je izbrisao zadatak {todo} iz popisa {calendar}",
"You deleted to-do {todo} from list {calendar}" : "Izbrisali ste zadatak {todo} iz popisa {calendar}",
"{actor} updated to-do {todo} in list {calendar}" : "{actor} je ažurirao zadatak {todo} u popisu {calendar}",
"You updated to-do {todo} in list {calendar}" : "Ažurirali ste zadatak {todo} u popisu {calendar}",
"{actor} solved to-do {todo} in list {calendar}" : "{actor} je riješio zadatak {todo} u popisu {calendar}",
"You solved to-do {todo} in list {calendar}" : "Riješili ste zadatak {todo} u popisu {calendar}",
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} je ponovno otvorio zadatak {todo} u popisu {calendar}",
"You reopened to-do {todo} in list {calendar}" : "Ponovno ste otvorili zadatak {todo} u popisu {calendar}",
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} je premjestio zadatak {todo} iz popisa {sourceCalendar} u popis {targetCalendar}",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Premjestili ste zadatak {todo} iz popisa {sourceCalendar} u popis {targetCalendar}",
"Calendar, contacts and tasks" : "Kalendar, kontakti i zadaci",
"A <strong>calendar</strong> was modified" : "Izmijenjen je <strong>kalendar</strong>",
"A calendar <strong>event</strong> was modified" : "Izmijenjen je <strong>događaj</strong> u kalendaru",
"A calendar <strong>to-do</strong> was modified" : "Izmijenjen je <strong>zadatak</strong> u kalendaru",
"Contact birthdays" : "Rođendani kontakata",
"Death of %s" : "Smrt %s",
"Untitled calendar" : "Kalendar bez naslova",
"Calendar:" : "Kalendar:",
"Date:" : "Datum:",
"Where:" : "Gdje:",
"Description:" : "Opis:",
"_%n year_::_%n years_" : ["%n godina","%n godina","%n godina"],
"_%n month_::_%n months_" : ["%n mjesec","%n mjeseci","%n mjeseci"],
"_%n day_::_%n days_" : ["%n dan","%n dana","%n dana"],
"_%n hour_::_%n hours_" : ["%n sat","%n sati","%n sati"],
"_%n minute_::_%n minutes_" : ["%n minute/minuta","%n minuta","%n minuta"],
"%s (in %s)" : "%s (u %s)",
"%s (%s ago)" : "%s (prije %s)",
"Calendar: %s" : "Kalendar: %s",
"Date: %s" : "Datum: %s",
"Description: %s" : "Opis: %s",
"Where: %s" : "Gdje: %s",
"%1$s via %2$s" : "%1$s putem %2$s",
"In the past on %1$s for the entire day" : "U prošlosti, dana %1$s, tijekom cijelog dana",
"_In %n minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Za %n minutu, dana %1$s, tijekom cijelog dana","Za %n minute, dana %1$s, tijekom cijelog dana","Za %n minuta, dana %1$s, tijekom cijelog dana"],
"_In %n hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Za %n sat, dana %1$s, tijekom cijelog dana","Za %n sata, dana %1$s, tijekom cijelog dana","Za %n sati, dana %1$s, tijekom cijelog dana"],
"_In %n day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Za %n dan, dana %1$s, tijekom cijelog dana","Za %n dana, dana %1$s, tijekom cijelog dana","Za %n dana, dana %1$s, tijekom cijelog dana"],
"_In %n week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Za %n tjedan, dana %1$s, tijekom cijelog dana","Za %n tjedna, dana %1$s, tijekom cijelog dana","Za %n tjedana, dana %1$s, tijekom cijelog dana"],
"_In %n month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Za %n mjesec, dana %1$s, tijekom cijelog dana","Za %n mjeseca, dana %1$s, tijekom cijelog dana","Za %n mjeseci, dana %1$s, tijekom cijelog dana"],
"_In %n year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Za %n godinu, dana %1$s, tijekom cijelog dana","Za %n godine, dana %1$s, tijekom cijelog dana","Za %n godina, dana %1$s, tijekom cijelog dana"],
"In the past on %1$s between %2$s - %3$s" : "U prošlosti, dana %1$s između %2$s %3$s",
"_In %n minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Za %n minutu, dana %1$s između %2$s %3$s","Za %n minute, dana %1$s između %2$s %3$s","Za %n minuta, dana %1$s između %2$s %3$s"],
"_In %n hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Za %n sat, dana %1$s između %2$s %3$s","Za %n sata, dana %1$s između %2$s %3$s","Za %n sati, dana %1$s između %2$s %3$s"],
"_In %n day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Za %n dan, dana %1$s između %2$s %3$s","Za %n dana, dana %1$s između %2$s %3$s","Za %n dana, dana %1$s između %2$s %3$s"],
"_In %n week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Za %n tjedan, dana %1$s između %2$s %3$s","Za %n tjedna, dana %1$s između %2$s %3$s","Za %n tjedana, dana %1$s između %2$s %3$s"],
"_In %n month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Za %n mjesec, dana %1$s između %2$s %3$s","Za %n mjeseca, dana %1$s između %2$s %3$s","Za %n mjeseci, dana %1$s između %2$s %3$s"],
"_In %n year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Za %n godinu, dana %1$s između %2$s %3$s","Za %n godine, dana %1$s između %2$s %3$s","Za %n godina, dana %1$s između %2$s %3$s"],
"Could not generate when statement" : "Nije moguće generirati vremensku odrednicu",
"Every Day for the entire day" : "Svaki dan tijekom cijelog dana",
"Every Day for the entire day until %1$s" : "Svaki dan tijekom cijelog dana do %1$s",
"Every Day between %1$s - %2$s" : "Svaki dan između %1$s - %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Svaki dan između %1$s - %2$s do %3$s",
"Every %1$d Days for the entire day" : "Svakih %1$d dana tijekom cijelog dana",
"Every %1$d Days for the entire day until %2$s" : "Svakih %1$d dana tijekom cijelog dana do %2$s",
"Every %1$d Days between %2$s - %3$s" : "Svakih%1$d dana između%2$s - %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Svakih %1$d dana između %2$s - %3$s do %4$s",
"Could not generate event recurrence statement" : "Nije moguće generirati izraz za ponavljanje događaja",
"Every Week on %1$s for the entire day" : "Svaki tjedan u %1$s tijekom cijelog dana",
"Every Week on %1$s for the entire day until %2$s" : "Svaki tjedan u %1$s tokom cijelog dana do %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Svaki tjedan u %1$s između %2$s - %3$s",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Svaki tjedan u %1$s između %2$s - %3$s do %4$s",
"Every %1$d Weeks on %2$s for the entire day" : "Svakih %1$d tjedana od %2$s tijekom cijelog dana",
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Svakih %1$d tjedana od %2$s tijekom cijelog dana do %3$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Svakih %1$d tjedana od %2$s između %3$s - %4$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Svakih %1$d tjedana od %2$s između %3$s - %4$s do %5$s",
"Every Month on the %1$s for the entire day" : "%1$s svakog mjeseca tokom cijelog dana",
"Every Month on the %1$s for the entire day until %2$s" : "%1$s svakog mjeseca tokom cijelog dana do%2$s",
"Every Month on the %1$s between %2$s - %3$s" : "%1$s svakog mjeseca između %2$s - %3$s",
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "%1$s svakog mjeseca između %2$s - %3$s do %4$s",
"Every %1$d Months on the %2$s for the entire day" : "Svakih %1$d mjeseci, %2$s tokom cijelog dana",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Svakih %1$d mjeseci, %2$s tokom cijelog dana do %3$s",
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Svakih %1$d mjeseci, %2$s između %3$s - %4$s",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Svakih %1$d mjeseci, %2$s između %3$s - %4$s do %5$s",
"Every Year in %1$s on the %2$s for the entire day" : "Svake godine, %1$s, %2$s tokom cijelog dana",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Svake godine, %1$s, %2$s tokom cijelog dana do %3$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Svake godine, %1$s, %2$s između %3$s - %4$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Svake godine, %1$s, %2$s, između %3$s - %4$s do %5$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Svakih %1$d godina, %2$s, na %3$s tokom cijelog dana",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Svakih %1$d godina, %2$s, na %3$s tokom cijelog dana do %4$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Svakih %1$d godina, %2$s, na %3$s između %4$s - %5$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Svakih %1$d godina, %2$s, na %3$s između %4$s - %5$s do %6$s",
"On specific dates for the entire day until %1$s" : "Na određene datume, tijekom cijelog dana do %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "Na određene datume između %1$s - %2$s do %3$s",
"In the past on %1$s" : "U prošlosti, dana %1$s",
"_In %n minute on %1$s_::_In %n minutes on %1$s_" : ["U %n minutu, %1$s","U %n minute, %1$s","U %n minuta, %1$s"],
"_In %n hour on %1$s_::_In %n hours on %1$s_" : ["U %n sat, %1$s","U %n sata, %1$s","U %n sati, %1$s"],
"_In %n day on %1$s_::_In %n days on %1$s_" : ["U %n dan, %1$s","U %n dana, %1$s","U %n dana, %1$s"],
"_In %n week on %1$s_::_In %n weeks on %1$s_" : ["U %n tjedan, %1$s","U %n tjedna, %1$s","U %n tjedana, %1$s"],
"_In %n month on %1$s_::_In %n months on %1$s_" : ["U %n mjesec, %1$s","U %n mjeseca, %1$s","U %n mjeseci, %1$s"],
"_In %n year on %1$s_::_In %n years on %1$s_" : ["U %n godinu, %1$s","U %n godine, %1$s","U %n godina, %1$s"],
"In the past on %1$s then on %2$s" : "U prošlosti, dana %1$s, zatim dana %2$s",
"_In %n minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["U %n minutu u %1$s, onda u %2$s","U %n minute u %1$s, onda u %2$s","U %n minuta u %1$s, onda u %2$s"],
"_In %n hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["U %n sat u %1$s, onda u %2$s","U %n sata u %1$s, onda u %2$s","U %n sati u %1$s, onda u %2$s"],
"_In %n day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["U %n dan u %1$s, onda u %2$s","U %n dana u %1$s, onda u %2$s","U %n dana u %1$s, onda u %2$s"],
"_In %n week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["U %n tjedan u %1$s, onda u %2$s","U %n tjedna u %1$s, onda u %2$s","U %n tjedana u %1$s, onda u %2$s"],
"_In %n month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["U %n mjesec u %1$s, onda u %2$s","U %n mjeseca u %1$s, onda u %2$s","U %n mjeseci u %1$s, onda u %2$s"],
"_In %n year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["U %n godinu u %1$s, onda u %2$s","U %n godine u %1$s, onda u %2$s","U %n godina u %1$s, onda u %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "U prošlosti, dana %1$s, zatim dana %2$s i %3$s",
"_In %n minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["u %n minutu dana %1$s onda dana %2$s i %3$s","u %n minute dana %1$s onda dana %2$s i %3$s","u %n minuta dana %1$s onda dana %2$s i %3$s"],
"_In %n hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["u %n sat dana %1$s onda dana %2$s i %3$s","u %n sata dana %1$s onda dana %2$s i %3$s","u %n sati dana %1$s onda dana %2$s i %3$s"],
"_In %n day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["u %n dan, dana %1$s onda dana %2$s i %3$s","u %n dana, dana %1$s onda dana %2$s i %3$s","u %n dana, dana %1$s onda dana %2$s i %3$s"],
"_In %n week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["u %n tjedan, dana %1$s onda dana %2$s i %3$s","u %n tjedna, dana %1$s onda dana %2$s i %3$s","u %n tjedana, dana %1$s onda dana %2$s i %3$s"],
"_In %n month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["u %n mjesec, dana %1$s onda dana %2$s i %3$s","u %n mjeseca, dana %1$s onda dana %2$s i %3$s","u %n mjeseci, dana %1$s onda dana %2$s i %3$s"],
"_In %n year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["u %n godinu, dana %1$s onda dana %2$s i %3$s","u %n godine, dana %1$s onda dana %2$s i %3$s","u %n godina, dana %1$s onda dana %2$s i %3$s"],
"Could not generate next recurrence statement" : "Nije moguće generirati sljedeći izraz ponavljanja",
"Cancelled: %1$s" : "Otkazano: %1$s",
"\"%1$s\" has been canceled" : "„%1$s” je otkazan",
"Re: %1$s" : "Odgovor: %1 $ s",
"%1$s has accepted your invitation" : "%1$s je prihvatio/la vašu pozivnicu",
"%1$s has tentatively accepted your invitation" : "%1$s je privremeno prihvatio/la vašu pozivnicu",
"%1$s has declined your invitation" : "%1$s je odbio/la vašu pozivnicu",
"%1$s has responded to your invitation" : "%1$s je odgovorio/la na vašu pozivnicu",
"Invitation updated: %1$s" : "Pozivnica ažurirana: %1$s",
"%1$s updated the event \"%2$s\"" : "%1$s je ažurirao/la događaj \"%2$s\"",
"Invitation: %1$s" : "Pozivnica: %1$s",
"%1$s would like to invite you to \"%2$s\"" : "%1$s vas želi pozvati na „%2$s”",
"Organizer:" : "Organizator:",
"Attendees:" : "Polaznici:",
"Title:" : "Naslov:",
"When:" : "Kada:",
"Location:" : "Lokacija:",
"Link:" : "Poveznica:",
"Occurring:" : "Događa se:",
"Accept" : "Prihvati",
"Decline" : "Odbij",
"More options …" : "Više mogućnosti…",
"More options at %s" : "Više mogućnosti na %s",
"Monday" : "Ponedjeljak",
"Tuesday" : "Utorak",
"Wednesday" : "Srijeda",
"Thursday" : "Četvrtak",
"Friday" : "Petak",
"Saturday" : "Subota",
"Sunday" : "Nedjelja",
"January" : "Siječanj",
"February" : "Veljača",
"March" : "Ožujak",
"April" : "Travanj",
"May" : "Svibanj",
"June" : "Lipanj",
"July" : "Srpanj",
"August" : "Kolovoz",
"September" : "Rujan",
"October" : "Listopad",
"November" : "Studeni",
"December" : "Prosinac",
"First" : "Prvi",
"Second" : "Drugi",
"Third" : "Treći",
"Fourth" : "Četvrti",
"Fifth" : "Peti",
"Last" : "Zadnji",
"Second Last" : "Drugi od kraja",
"Third Last" : "Treći od kraja",
"Fourth Last" : "Četvrti od kraja",
"Fifth Last" : "Peti od kraja",
"Contacts" : "Kontakti",
"{actor} created address book {addressbook}" : "{actor} je stvorio adresar {addressbook}",
"You created address book {addressbook}" : "Stvorili ste adresar {addressbook}",
"{actor} deleted address book {addressbook}" : "{actor} je izbrisao adresar {addressbook}",
"You deleted address book {addressbook}" : "Izbrisali ste adresar {addressbook}",
"{actor} updated address book {addressbook}" : "{actor} je ažurirao adresar {addressbook}",
"You updated address book {addressbook}" : "Ažurirali ste adresar {addressbook}",
"{actor} shared address book {addressbook} with you" : "{actor} dijeli adresar {addressbook} s vama",
"You shared address book {addressbook} with {user}" : "Dijelite adresar {addressbook} s {user}",
"{actor} shared address book {addressbook} with {user}" : "{actor} dijeli adresar {addressbook} s {user}",
"{actor} unshared address book {addressbook} from you" : "{actor} je prestao dijeliti adresar {addressbook} s vama",
"You unshared address book {addressbook} from {user}" : "Prestali ste dijeliti adresar {addressbook} s {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} je prestao dijeliti adresar {addressbook} s {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} je prestao dijeliti adresar {addressbook} sa sobom",
"You shared address book {addressbook} with group {group}" : "Dijelite adresar {addressbook} s grupom {group}",
"{actor} shared address book {addressbook} with group {group}" : "{actor} dijeli adresar {addressbook} s grupom {group}",
"You unshared address book {addressbook} from group {group}" : "Prestali ste dijeliti adresar {addressbook} s grupom {group}",
"{actor} unshared address book {addressbook} from group {group}" : "{actor} je prestao dijeliti adresar {addressbook} s grupom {group}",
"{actor} created contact {card} in address book {addressbook}" : "{actor} je stvorio kontakt {card} u adresaru {addressbook}",
"You created contact {card} in address book {addressbook}" : "Stvorili ste kontakt {card} u adresaru {addressbook}",
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} je izbrisao kontakt {card} iz adresara {addressbook}",
"You deleted contact {card} from address book {addressbook}" : "Izbrisali ste kontakt {card} iz adresara {addressbook}",
"{actor} updated contact {card} in address book {addressbook}" : "{actor} je ažurirao kontakt {card} u adresaru {addressbook}",
"You updated contact {card} in address book {addressbook}" : "Ažurirali ste kontakt {card} u adresaru {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Izmijenjen je <strong>kontakt</strong> ili <strong>adresar</strong>",
"System address book disabled" : "Adresar sustava je onemogućen",
"The system contacts address book has been automatically disabled during upgrade. This means that the address book will no longer be available to users in the contacts app or other clients. The system contacts address book was disabled because the amount of contacts in the address book exceeded the maximum recommended number of contacts. This limit is set to prevent performance issues. You can re-enable the system address book with the following command {command}" : "Adresar sistemskih kontakata automatski je onemogućen tijekom nadogradnje. To znači da adresar više neće biti dostupan korisnicima u aplikaciji Kontakti niti u drugim klijentima. Adresar sistemskih kontakata onemogućen je jer je broj kontakata u adresaru premašio maksimalno preporučeni broj. Ovo ograničenje postavljeno je radi sprječavanja problema s performansama. Adresar sustava možete ponovno omogućiti sljedećom naredbom {command}.",
"Accounts" : "Korisnički računi",
"System address book which holds all accounts" : "Adresar sustava koji sadrži sve račune",
"File is not updatable: %1$s" : "Datoteku nije moguće ažurirati: %1$s",
"Failed to get storage for file" : "Neuspjelo dohvaćanje pohrane za datoteku",
"Could not write to final file, canceled by hook" : "Nije moguće zapisati u završnu datoteku, otkazano putem kuke",
"Could not write file contents" : "Nije moguće zapisati sadržaj datoteke",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajtova"],
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Pogreška pri kopiranju datoteke na odredišnu lokaciju (kopirano: %1$s, očekivana veličina datoteke: %2$s)",
"Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Očekivana veličina datoteke je %1$s ali je pročitano (s Nextcloud klijenta) i zapisano (u Nextcloud pohranu) %2$s. To može biti problem s mrežom na strani slanja ili problem pri zapisivanju u pohranu na strani poslužitelja.",
"Could not rename part file to final file, canceled by hook" : "Nije moguće preimenovati djelomičnu datoteku u završnu datoteku, otkazano putem kuke",
"Could not rename part file to final file" : "Nije moguće preimenovati djelomičnu datoteku u završnu datoteku",
"Failed to check file size: %1$s" : "Neuspjela provjera veličine datoteke: %1$s",
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nije moguće otvoriti datoteku: %1$s (%2$d), čini se da datoteka postoji",
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nije moguće otvoriti datoteku: %1$s (%2$d), čini se da datoteka ne postoji",
"Encryption not ready: %1$s" : "Šifriranje nije spremno: %1$s",
"Failed to open file: %1$s" : "Neuspjelo otvaranje datoteke: %1$s",
"Failed to unlink: %1$s" : "Neuspjelo uklanjanje veze: %1$s",
"Failed to write file contents: %1$s" : "Neuspjelo zapisivanje sadržaja datoteke: %1$s",
"File not found: %1$s" : "Datoteka nije pronađena: %1$s",
"Invalid target path" : "Nevažeća odredišna putanja",
"System is in maintenance mode." : "Sustav je u načinu održavanja.",
"Upgrade needed" : "Potrebno nadograditi",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Vaš %s treba konfigurirati za korištenje HTTPS-a kako bi se mogli upotrebljavati CalDAV i CardDAV s operacijskim sustavom iOS/macOS.",
"Configures a CalDAV account" : "Konfigurira CalDAV račun",
"Configures a CardDAV account" : "Konfigurira CardDAV račun",
"Events" : "Događaji",
"Untitled task" : "Zadatak bez naslova",
"Completed on %s" : "Završeno na %s",
"Due on %s by %s" : "%s treba završiti do %s",
"Due on %s" : "Treba završiti do %s",
"Welcome to Nextcloud Calendar!\n\nThis is a sample event - explore the flexibility of planning with Nextcloud Calendar by making any edits you want!\n\nWith Nextcloud Calendar, you can:\n- Create, edit, and manage events effortlessly.\n- Create multiple calendars and share them with teammates, friends, or family.\n- Check availability and display your busy times to others.\n- Seamlessly integrate with apps and devices via CalDAV.\n- Customize your experience: schedule recurring events, adjust notifications and other settings." : "Dobrodošli u Nextcloud Kalendar!\n\nOvo je primjer događaja istražite fleksibilnost planiranja s Nextcloud Kalendarom tako da napravite bilo kakve izmjene koje želite!\n\nUz Nextcloud Kalendar možete:\n- Jednostavno stvarati, uređivati i upravljati događajima..\n- Stvarati više kalendara i dijeliti ih s kolegama, prijateljima ili obitelji.\n- Provjeravati dostupnost i drugima prikazivati svoja zauzeta razdoblja.\n- Neprimjetno se integrirati s aplikacijama i uređajima putem CalDAV-a.\n- Prilagoditi svoje iskustvo: zakazivati ponavljajuće događaje, prilagođavati obavijesti i druge postavke.",
"Example event - open me!" : "Primjer događaja otvori me!",
"System Address Book" : "Adresar sustava",
"The system address book contains contact information for all users in your instance." : "Adresar sustava sadrži kontaktne podatke za sve korisnike u vašoj instanci.",
"Enable System Address Book" : "Omogući adresar sustava",
"DAV system address book" : "DAV adresar sustava",
"No outstanding DAV system address book sync." : "Nema neriješene sinkronizacije DAV adresara sustava.",
"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\"." : "Sinkronizacija DAV adresara sustava još nije pokrenuta jer vaša instanca ima više od 1000 korisnika ili je došlo do pogreške. Pokrenite je ručno pozivanjem naredbe „occ dav:sync-system-addressbook”.",
"DAV system address book size" : "Veličina DAV adresara sustava",
"The system address book is disabled" : "Adresar sustava je onemogućen",
"The system address book is enabled, but contains more than the configured limit of %d contacts" : "Adresar sustava je omogućen, ali sadrži više od konfiguriranog ograničenja od %d kontakata",
"The system address book is enabled and contains less than the configured limit of %d contacts" : "Adresar sustava je omogućen i sadrži manje od konfiguriranog ograničenja od %d kontakata",
"WebDAV endpoint" : "WebDAV krajnja točka",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Nije moguće provjeriti je li vaš mrežni poslužitelj ispravno postavljen za omogućavanje sinkronizacije datoteka putem WebDAV-a. Molimo provjerite ručno.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Vaš mrežni poslužitelj nije pravilno podešen za sinkronizaciju podataka jer je sučelje protokola WebDAV neispravno.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Vaš mrežni poslužitelj je ispravno postavljen za omogućavanje sinkronizacije datoteka putem WebDAV-a.",
"Migrated calendar (%1$s)" : "Migriran kalendar (%1$s)",
"Calendars including events, details and attendees" : "Kalendari uključujući događaje, detalje i sudionike",
"Contacts and groups" : "Kontakti i grupe",
"WebDAV" : "WebDAV",
"Absence saved" : "Odsutnost je spremljena",
"Failed to save your absence settings" : "Neuspjelo spremanje postavki odsutnosti",
"Absence cleared" : "Odsutnost je uklonjena",
"Failed to clear your absence settings" : "Neuspjelo uklanjanje postavki odsutnosti",
"First day" : "Prvi dan",
"Last day (inclusive)" : "Zadnji dan (uključivo)",
"Out of office replacement (optional)" : "Zamjena za odsutnost iz ureda (neobavezno)",
"Name of the replacement" : "Ime zamjene",
"Short absence status" : "Kratki status odsutnosti",
"Long absence Message" : "Duga poruka o odsutnosti",
"Save" : "Spremi",
"Disable absence" : "Onemogući odsutnost",
"Failed to load availability" : "Neuspjelo učitavanje dostupnosti",
"Saved availability" : "Dostupnost je spremljena",
"Failed to save availability" : "Neuspjelo spremanje dostupnosti",
"to" : "do",
"Delete slot" : "Izbriši mjesto",
"No working hours set" : "Radno vrijeme nije postavljeno",
"Add slot" : "Dodaj mjesto",
"Weekdays" : "Dani u tjednu",
"Pick a start time for {dayName}" : "Odaberite početno vrijeme za {dayName}",
"Pick a end time for {dayName}" : "Odaberite završno vrijeme za {dayName}",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatski postavi korisnički status na „Ne ometaj” izvan vremena dostupnosti kako bi se utišale sve obavijesti.",
"Cancel" : "Odustani",
"Import" : "Uvezi",
"Error while saving settings" : "Greška pri spremanju postavki",
"Contact reset successfully" : "Kontakt je uspješno resetiran",
"Error while resetting contact" : "Greška pri resetiranju kontakta",
"Contact imported successfully" : "Kontakt je uspješno uvezen",
"Error while importing contact" : "Greška pri uvozu kontakta",
"Import contact" : "Uvezi kontakt",
"Reset to default" : "Vrati na zadanu postavku",
"Import contacts" : "Uvezi kontakte",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Uvoz nove .vcf datoteke izbrisat će postojeći zadani kontakt i zamijeniti ga novim. Želite li nastaviti?",
"Failed to save example event creation setting" : "Neuspjelo spremanje postavke stvaranja primjer-događaja",
"Failed to upload the example event" : "Neuspjelo učitavanje primjer-događaja",
"Custom example event was saved successfully" : "Prilagođeni primjer događaja uspješno je spremljen",
"Failed to delete the custom example event" : "Neuspjelo brisanje prilagođenog primjer-događaja",
"Custom example event was deleted successfully" : "Prilagođeni primjer događaja uspješno je izbrisan",
"Import calendar event" : "Uvezi događaj u kalendar",
"Uploading a new event will overwrite the existing one." : "Učitavanje novog događaja prebrisat će postojeći.",
"Upload event" : "Učitaj događaj",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Također instalirajte {calendarappstoreopen}aplikaciju Kalendar{linkclose} ili {calendardocopen}povežite računalo i mobilni uređaj radi sinkroniziranja ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Provjerite jeste li ispravno postavili {emailopen}poslužitelj e-pošte{linkclose}.",
"Calendar server" : "Poslužitelj kalendara",
"Send invitations to attendees" : "Pošaljite pozive sudionicima",
"Automatically generate a birthday calendar" : "Automatski generiraj kalendar rođendana",
"Birthday calendars will be generated by a background job." : "Kalendari rođendana generirat će se u pozadini.",
"Hence they will not be available immediately after enabling but will show up after some time." : "Stoga neće biti dostupni odmah nakon omogućivanja, ali će se pojaviti nakon nekog vremena.",
"Send notifications for events" : "Šalji obavijesti o događajima",
"Notifications are sent via background jobs, so these must occur often enough." : "Obavijesti se šalju putem pozadinskih zadataka koji se moraju dovoljno često izvoditi.",
"Send reminder notifications to calendar sharees as well" : "Šalji podsjetnike i osobama s kojima je kalendar podijeljen",
"Reminders are always sent to organizers and attendees." : "Podsjetnici se uvijek šalju organizatorima i sudionicima.",
"Enable notifications for events via push" : "Omogući slanje obavijesti o događajima putem push obavijesti",
"Example content" : "Primjer sadržaja",
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Primjer sadržaja služi za predstavljanje mogućnosti Nextclouda. Zadani sadržaj dolazi uz Nextcloud i može se zamijeniti prilagođenim sadržajem.",
"Availability" : "Raspoloživost",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ako konfigurirate svoje radno vrijeme, drugi će vidjeti kada ste izvan ureda prilikom zakazivanja sastanka.",
"Absence" : "Odsutnost",
"Configure your next absence period." : "Konfigurirajte svoje sljedeće razdoblje odsutnosti.",
"There was an error updating your attendance status." : "Došlo je do pogreške prilikom ažuriranja statusa prisutnosti.",
"Please contact the organizer directly." : "Izravno se obratite organizatoru.",
"Are you accepting the invitation?" : "Prihvaćate li poziv?",
"Tentative" : "Uvjetno",
"Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana.",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["U %n minutu, dana %1$s tokom cijelog dana","U %n minute, dana %1$s tokom cijelog dana","U %n minuta, dana %1$s tokom cijelog dana"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["U %n sat, dana %1$s tokom cijelog dana","U %n sata, dana %1$s tokom cijelog dana","U %n sati, dana %1$s tokom cijelog dana"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["U %n dan, dana %1$s tokom cijelog dana","U %n dana, dana %1$s tokom cijelog dana","U %n dana, dana %1$s tokom cijelog dana"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["U %n tjedana, dana %1$s tokom cijelog dana","U %n tjedna, dana %1$s tokom cijelog dana","U %n tjedana, dana %1$s tokom cijelog dana"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["U %n mjesec, dana %1$s tokom cijelog dana","U %n mjeseca, dana %1$s tokom cijelog dana","U %n mjeseci, dana %1$s tokom cijelog dana"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["U %n godini, dana %1$s tokom cijelog dana","U %n godine, dana %1$s tokom cijelog dana","U %n godina, dana %1$s tokom cijelog dana"],
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["U %n minutu, dana %1$s između %2$s - %3$s","U %n minute, dana %1$s između %2$s - %3$s","U %n minuta, dana %1$s između %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_" : ["U %n sat, dana %1$s između %2$s - %3$s","U %n sata, dana %1$s između %2$s - %3$s","U %n sati, dana %1$s između %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_" : ["U %n dan, dana %1$s između %2$s - %3$s","U %n dana, dana %1$s između %2$s - %3$s","U %n dana, dana %1$s između %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_" : ["U %n tjedan, dana %1$s između %2$s - %3$s","U %n tjedna, dana %1$s između %2$s - %3$s","U %n tjedana, dana %1$s između %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_" : ["U %n mjesec, dana %1$s između %2$s - %3$s","U %n mjeseca, dana %1$s između %2$s - %3$s","U %n mjeseci, dana %1$s između %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_" : ["U %n godini, dana %1$s između %2$s - %3$s","U %n godine, dana %1$s između %2$s - %3$s","U %n godina, dana %1$s između %2$s - %3$s"],
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["U %n minuti, dana %1$s","U %n minute, dana %1$s","U %n minuta, dana %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["U %n sat, dana %1$s","U %n sata, dana %1$s","U %n sati, dana %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["U %n dan, dana %1$s","U %n dana, dana %1$s","U %n dana, dana %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["U %n tjedan, dana %1$s","U %n tjedna, dana %1$s","U %n tjedana, dana %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["U %n mjesec, dana %1$s","U %n mjeseca, dana %1$s","U %n mjeseci, dana %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["U %n godini, dana %1$s","U %n godine, dana %1$s","U %n godina, dana %1$s"],
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["U %n minutu, dana %1$s onda dana %2$s","U %n minute, dana %1$s onda dana %2$s","U %n minuta, dana %1$s onda dana %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["U %n sat, dana %1$s onda dana %2$s","U %n sata, dana %1$s onda dana %2$s","U %n sati, dana %1$s onda dana %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["U %n dan, dana %1$s onda dana %2$s","U %n dana, dana %1$s onda dana %2$s","U %n dana, dana %1$s onda dana %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["U %n tjedan, dana %1$s onda dana %2$s","U %n tjedna, dana %1$s onda dana %2$s","U %n tjedana, dana %1$s onda dana %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["U %n mjesec, dana %1$s onda dana %2$s","U %n mjeseca, dana %1$s onda dana %2$s","U %n mjeseci, dana %1$s onda dana %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["U %n godini, dana %1$s onda dana %2$s","U %n godine, dana %1$s onda dana %2$s","U %n godina, dana %1$s onda dana %2$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_" : ["U %n minutu, dana %1$s onda dana %2$s i %3$s","U %n minute, dana %1$s onda dana %2$s i %3$s","U %n minuta, dana %1$s onda dana %2$s i %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_" : ["U %n sat, dana %1$s onda dana %2$s i %3$s","U %n sata, dana %1$s onda dana %2$s i %3$s","U %n sati, dana %1$s onda dana %2$s i %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_" : ["U %n dan, dana %1$s onda dana %2$s i %3$s","U %n dana, dana %1$s onda dana %2$s i %3$s","U %n dana, dana %1$s onda dana %2$s i %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_" : ["U %n tjedan, dana %1$s onda dana %2$s i %3$s","U %n tjedna, dana %1$s onda dana %2$s i %3$s","U %n tjedana, dana %1$s onda dana %2$s i %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_" : ["U %n mjesec, dana %1$s onda dana %2$s i %3$s","U %n mjeseca, dana %1$s onda dana %2$s i %3$s","U %n mjeseci, dana %1$s onda dana %2$s i %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_" : ["U %n godini, dana %1$s onda dana %2$s i %3$s","U %n godine, dana %1$s onda dana %2$s i %3$s","U %n godina, dana %1$s onda dana %2$s i %3$s"],
"Could not open file: %1$s, file does seem to exist" : "Nije moguće otvoriti datoteku: %1$s, čini se da datoteka postoji",
"Could not open file: %1$s, file doesn't seem to exist" : "Nije moguće otvoriti datoteku: %1$s, čini se da datoteka ne postoji",
"No results." : "Nema rezultata.",
"Start typing." : "Započnite s pisanjem.",
"Time zone:" : "Vremenska zona:"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");

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