Commit graph

36699 commits

Author SHA1 Message Date
Benjamin Gaussorgues
bde9cd6060
Merge pull request #60244 from nextcloud/share-mail-fed-remove-order
remove unneeded sort when listing mail/federated shares
2026-05-13 16:49:07 +02:00
Ferdinand Thiessen
91762eaff9
Merge pull request #60176 from nextcloud/chore/remove-legacy-fallbacks
chore(appstore): remove legacy warnings for now required attributes
2026-05-13 12:14:08 +02:00
Ferdinand Thiessen
e371c5d69a
Merge pull request #60066 from nextcloud/fix/type-app-info
fix(appinfo): properly type info parser and app manager for appinfo.xml types
2026-05-13 11:22:58 +02:00
Nextcloud bot
c35ef56966
fix(l10n): Update translations from Transifex
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-13 00:20:17 +00:00
Ferdinand Thiessen
26a9c0960f chore(appstore): remove legacy warnings for now required attributes
`<nextcloud min-version max-version>` is now a required element of the
appinfo for quite a long time. So we can remove the legacy warning from
owncloud times. Its validated with the XSD anyways.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-13 00:10:37 +02:00
Ferdinand Thiessen
21426974b1
fix(app-info-shipped): add remote as its still available in code base
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-12 22:52:32 +02:00
Ferdinand Thiessen
e3783b88e6
fix(AppManager): properly type AppInfo type based on XSD
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-12 22:52:32 +02:00
Carl Schwan
38d8eb5410
Merge pull request #58806 from nextcloud/carl/utils-cleanup
Multiple cleanups in OCP/Utils and OC_Utils
2026-05-12 20:03:55 +02:00
Ferdinand Thiessen
4ffcb2a255
Merge pull request #60243 from nextcloud/fix/settings-icon
fix(settings): remove legacy handling of active navigation settings icon
2026-05-12 19:26:47 +02:00
Carl Schwan
279bface8e refactor: Delete deprecated code from OC_Util
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-12 18:24:12 +02:00
Carl Schwan
4caa444f90 refactor(utils): Mark share related methods as deprecated
The underlying OC_Utils methods are already deprecated

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-12 18:24:12 +02:00
Carl Schwan
ab424e20e2 refactor: Deprecate url generator utils
Add a new IUrlGenerator::linkToRemote and replace usage of the old API
with the new one.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-12 18:24:12 +02:00
Ferdinand Thiessen
56293454c8 fix(settings): apply consistent style by using proper components
Use the proper app navigation components for the account management
navigation.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-12 18:01:02 +02:00
Carl Schwan
4eb8bc8d50
Merge pull request #59928 from nextcloud/carl/ldap-search-one-by-attribute
feat(ldap): Allow to search one user by one of its LDAP attribute
2026-05-12 14:34:15 +02:00
Benjamin Gaussorgues
b438b345b5
Merge pull request #60317 from nextcloud/fix/snowflake_server_id_doc
Some checks are pending
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
fix(snowflake): fix wrong documentation about serverId
2026-05-12 14:16:31 +02:00
nfebe
3eb717eb16 fix(settings): Limit active-icon inversion to legacy nav design
On the new tinted active background the inversion flips icons to
white on a light surface. Now scoped to the legacy design only.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-05-12 12:32:07 +02:00
Benjamin Gaussorgues
9e36754429
fix(snowflake): fix wrong documentation about serverId
Maximum value of a server ID is 511 (9 bits) and not 1023.
Also adjust SetupCheck

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-05-12 10:47:44 +02:00
Peter Ringelmann
f96cf79348 fix(files_sharing): apply link share password on first save
Pre-declare newPassword on the share state so Vue 2's reactivity covers
it from the start. Without this, $set later relies on a
property-addition notification path that races with the toggle's async
setter and intermittently drops the password in certain build
environments.

Fixes: #57011
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-12 10:08:18 +02:00
Kate
ac15544703
Merge pull request #60299 from nextcloud/fix/remove-iservercontainer-from-core-apps
Chore: Remove references to deprecated interface IServerContainer
2026-05-12 07:48:58 +02:00
Nextcloud bot
88b79c6a1b
fix(l10n): Update translations from Transifex
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-12 00:20:57 +00:00
Côme Chilliet
351b36738d
Merge pull request #59977 from nextcloud/fix/clean-app-namespace-handling
refactor: Cleanup application namespace handling
2026-05-11 17:27:07 +02:00
Côme Chilliet
028719b514
chore: Fix deprecation notice in dav application tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:22 +02:00
Côme Chilliet
3e4a1415c4
chore(provisioning_api): Remove unused file referencing obsolete interface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:21 +02:00
Côme Chilliet
db49744e49
fix(files_version): Rely on DI for principalBackend
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:21 +02:00
Côme Chilliet
c853d8f96e
fix(files): Use proper DI for TagService class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:21 +02:00
Côme Chilliet
865cf5f2a7
fix(files): Use proper DI for ApiController
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:11:13 +02:00
Kate
896b54b8ee
Merge pull request #59540 from nextcloud/jtr/fix-profile-404-template-output 2026-05-11 15:16:08 +02:00
Côme Chilliet
6664f62a6c fix: Fix debug mode and tests mocking IAppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 14:53:29 +02:00
Ferdinand Thiessen
7c6672c1a3
Merge pull request #60236 from nextcloud/fix/nextcloud-vue
fix(settings): use proper component structure to make navigation work
2026-05-11 12:55:45 +02:00
Carl Schwan
acceeb6dff
feat(ldap): Allow to search one user by one of its LDAP attribute
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-11 12:41:00 +02:00
Nextcloud bot
d8d6518598
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-11 00:19:07 +00:00
Ferdinand Thiessen
60f4b4c159
fix(settings): use proper component structure to make navigation work
`NcAppNavigation` is only allowed in `NcContent` but we were not using
it because the content was rendered by the server as templates.
This is now fixed by moving the content inside the `NcContent` once
mounted.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-10 22:18:29 +02:00
Nextcloud bot
f16c6c95c4
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-10 00:19:09 +00:00
Nextcloud bot
ef1bea0bfa
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-09 00:19:05 +00:00
Robin Appelman
39d2ca60d2
perf: remove unneeded sort when listing federated shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-08 18:12:13 +02:00
Robin Appelman
b49ef46e72
perf: remove unneeded sort when listing mail shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-08 18:11:08 +02:00
Christoph Wurst
6e3914f951
Merge pull request #59654 from nextcloud/carl/permission-upload
fix: Fix permission issue when uploading a chunked file
2026-05-08 14:20:38 +02:00
Anna
b00244391c
Merge pull request #60198 from nextcloud/fix/noid/theming-broken-images-32-0-9
fix(theming): fix broken custom images introduced by #58224
2026-05-08 12:40:00 +02:00
Carl Schwan
06f0765e19 fix: Fix permission issue when uploading a chunked file
Follow up from #59511

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-08 11:47:16 +02:00
Nextcloud bot
548708d971
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-08 00:19:38 +00:00
Anna Larch
e54963cdf6 test(theming): update tests for ImageManager and ThemingController fixes
- ImageManagerTest: inject IAppConfig mock, switch cachebuster assertions
  from IConfig::getAppValue to IAppConfig::getAppValueInt, add
  testGetImageSvgToSvg and testGetImageSvgToPng, update mockGetImage to
  reflect the corrected getImage() logic
- ThemingControllerTest: update getImage and getManifest tests to use
  IAppConfig::getAppValueString for MIME type and cachebuster lookups,
  add testGetLogoOriginalFile for the extensionless-file MIME path

AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-05-07 19:40:49 +02:00
Anna Larch
8a0080cbbb fix(theming): fix broken custom images introduced in 32.0.9
PR #58224 introduced a raster→SVG conversion path in ImageManager::getImage()
that breaks display of custom theming images. The root cause is a three-part
bug chain:

1. getImage() attempted to convert raster images (PNG/JPEG) to SVG format,
   which Imagick cannot do meaningfully and produces broken output.
2. getMimeType() returns 'application/octet-stream' for extensionless stored
   files, so the Content-Type response header was wrong.
3. Stale .svg cache files persisted after image replacement, causing
   subsequent requests to serve the wrong format.

Fix by:
- Restricting the Imagick conversion to SVG→PNG only (not raster→SVG)
- Reading the stored MIME type from IAppConfig for extensionless files in
  ThemingController::getImage()
- Deleting .svg cache files in ImageManager::delete()
- Injecting IAppConfig into ImageManager and reading the cachebuster via
  IAppConfig::getAppValueInt() so the URL returned after upload always
  carries the freshly-incremented value (IConfig::getAppValue() can return
  a stale cached value within the same request)
- Updating the FileInputField Vue component to use a reactive cacheKey ref
  that increments on every upload, so the thumbnail refreshes even when the
  MIME type of the new image is the same as the old one

AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-05-07 19:40:49 +02:00
David Dreschner
230afb8f11
chore(AppStore): Add translations to REUSE.toml for app store
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
2026-05-07 12:19:41 +02:00
John Molakvoæ
57a2630be7
Merge pull request #60192 from nextcloud/enh/ship-files_lock 2026-05-07 09:10:57 +02:00
Nextcloud bot
c1ea92a7de
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-07 00:19:37 +00:00
Arthur Schiwon
5c1eee588e
feat(updatenotification): handle files_lock
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-05-06 18:38:09 +02:00
Louis
0ac7d3cf99
Merge pull request #59671 from nextcloud/feat/add-check-all-seen-users
feat(user_ldap): Add option to check all seen users
2026-05-06 18:29:48 +02:00
Nextcloud bot
d56ad83c1c
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-06 00:20:38 +00:00
Ferdinand Thiessen
387b40bcfe
Merge pull request #57290 from nextcloud/refactor/split-appstore
refactor(appstore): migrate to Typescript and Vue 3
2026-05-06 00:28:15 +02:00
Daniel
e62290181d
Merge pull request #60150 from nextcloud/bugfix/noid/add-action-to-notification-to-mark-read
fix(comments): Add an action to comment notification that dismisses it
2026-05-05 23:47:12 +02:00