Commit Graph

615 Commits

Author SHA1 Message Date
Benjamin Gaussorgues 60ce92a697 feat(utils): add getter for serverid with proper default
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-12 13:53:10 +02:00
Carl Schwan a459b9cc1f refactor(server): Register alias when needed
And remove useless service registration

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-10 23:22:24 +02:00
Carl Schwan 8b56c4c93d chore: Remove unused and long deprecated Remote components
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-03 10:36:41 +02:00
Côme Chilliet c3db7fa0e8 fix: Remove static var in Memcache/Redis
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-02 09:46:03 +02:00
Côme Chilliet 1ab09ec753 chore: Apply new coding standard to all files
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +02:00
Benjamin Gaussorgues 28d54ed26b feat(jobs): log job execution in CronService
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-05-29 09:14:49 +02:00
Côme Chilliet 9680004b58 chore: Remove almost all uses of deprecated IServerContainer in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:22 +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
Ferdinand Thiessen e0ba4d71b6 chore: add missing Override attribute to OC
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:27 +02:00
Côme Chilliet cd2d09de64 fix: Remove static vars from core classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:34:54 +01:00
Carl Schwan 39c14c383b refactor: remove long deprecated IServerContainer methods
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 10:36:35 +01:00
nextcloud-command 663018455e refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-03-01 14:43:11 +00: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
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 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 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
Maxence Lange 327d691c23 feat(signed-request): moving out of unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-09 20:16:24 -01:00
Maxence Lange 6af64a5495 feat(ocm): event on ocm discovery and ocm request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-07 17:54:26 -01:00
Anna Larch f546daada7 refactor: Rename Snowflake Generator and Decoder
And introduce the Snowflake DTO

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:04 +01:00
Carl Schwan 2ae9626fec refactor(user_ldap): Port most of the remaining deprecated IConfig usage
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:48 +01:00
Daniel Calviño Sánchez c40fcba5a4 fix: Fix user collaborators returned when searching for mail collaborators
The MailPlugin collaborator returned results for both user and mail
collaborators, but it was registered only for mail collaborators. While
it might make sense to move the user results to the UserPlugin instead
that change would be more complex and riskier, so for now the MailPlugin
is now registered for both user and mail collaborators and the results
are limited only to the registered type.

As the plugins are registered only with their class and then resolved
when needed using dependency injection it is not possible (as far as I
know) to provide an explicit parameter in the constructor to
differentiate whether the MailPlugin should return user or mail
collaborators. To overcome this two subclasses are introduced,
MailByMailPlugin and UserByMailPlugin, which just hardcode in their
constructor the collaborator type that their parent MailPlugin must use,
and those subclasses are the ones registered instead of the MailPlugin
(which still contains all the logic).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-11 01:20:17 +01:00
Benjamin Gaussorgues 69ec2ce26b Merge pull request #56120 from nextcloud/feat/snowflake-file-sequence 2025-11-03 14:02:33 +01:00
Benjamin Gaussorgues 83dd9d313a feat(snowflakeids): add File Sequence Generator
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-11-03 11:45:13 +01:00
Ferdinand Thiessen 4a63bd2068 Merge pull request #56039 from nextcloud/fix/theming-legacy-app-config
fix(theming): use IAppConfig for all ThemingDefaults
2025-11-01 18:13:11 +01:00
Ferdinand Thiessen 8840b582c5 refactor(theming): migrate ThemingDefaults to OCP\AppFramework\Services\IAppConfig
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-01 14:16:40 +01:00
Benjamin Gaussorgues c9b055a0d0 feat(database): introduce Snowflake IDs generator
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-10-28 17:50:03 +01:00
Carl Schwan bef3996c3e fix(preview): Make version column a string
And move it to a different table so that we don't have to pay the
storage cost when not using it (most of the times).

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 14:07:06 +02:00
Carl Schwan 6f56dcf73e fix(preview): Fix some tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan b0357663b9 perf(preview): Optimize migration and simplify DB layout
* Simplify migration by not moving the actual files and just updating
  the DB
* Don't store the storageid in the preview table as it is not needed
* Start adding tests

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Louis f8bed8f186 Merge pull request #51145 from nextcloud/home-folder-readonly 2025-10-01 10:09:19 +02:00
Côme Chilliet bdff12361c fix: Cleanup and fix tests, and fix related issues in code
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-30 11:53:59 +02:00
Ferdinand Thiessen 660f3f6fd1 refactor: use logical && || instead of weak and or operators
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-27 23:02:18 +02:00
Louis Chemineau bd8a0ec3cf feat(files): Add appconfig value to disable fixed userfolder permissions optimization
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-26 17:43:22 +02:00
Joas Schilling 3df6d90a4c Revert "perf(base): Stop setting up the FS for every basic auth request" 2025-08-28 17:11:31 +02:00
provokateurin 26ab3a6b74 refactor(Server): Deprecate \OCP\ICache service and replace it with a local cache
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 09:28:11 +00:00
Maxence Lange fa60488ee7 feat(ocm): split ocm discovery and capacities
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-20 11:57:01 -01:00
Kate 4edfef4dd5 Merge pull request #53895 from nextcloud/fix/cleanup-updater-class 2025-08-19 17:40:15 +02:00
Daniel 09607f40eb Merge pull request #53834 from nextcloud/feat/imailaddressvalidator
feat(ocp): add email address validator
2025-08-19 09:38:51 +02:00
Côme Chilliet b7c15949ce chore: Get rid of AppLocator helper
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +02:00
Côme Chilliet 42c980e093 chore: Add IAppManager property in Installer
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:14:48 +02:00
Ferdinand Thiessen 0ef58c96ab refactor(Memcache\Factory): move prefix generation to the factory class
This removes a circular dependency between AppConfig and cache factory.
When a cache in the app config is used.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +02:00
Daniel Kesselberg 336c6d2957 feat(ocp): add email address validator
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-14 18:34:36 +02:00
Anna Larch 6a3a244807 feat(activity): add bulk activity option
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-08-14 11:31:47 +02:00
Stephan Orbaugh 4eda352397 Merge pull request #54026 from nextcloud/enh/add-cloud-id-chars
feat: add ICloudIdResolver
2025-07-28 15:49:12 +02:00
Maxence Lange 33bff30e1d feat(lexicon): moving out from unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-24 15:56:33 -01:00
Ferdinand Thiessen 66eb021ece refactor: remove duplicated types and add return types
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-23 15:59:26 +02:00
Edward Ly 12b7129214 feat: add Context Chat OCP API
Signed-off-by: Edward Ly <contact@edward.ly>
2025-07-15 08:16:24 -07:00
John Molakvoæ 2b50d9b2c5 Revert "perf(base): Stop setting up the FS for every basic auth request" 2025-07-11 17:07:44 +02:00
John Molakvoæ 6f0255d82a Merge pull request #53141 from nextcloud/perf/files/setup-fs-basic-auth-request 2025-07-11 15:25:10 +02:00
Côme Chilliet bbe766b07a fix: Make sure Request class can be dependency injected to fix SameSiteCookieMiddleware injection
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:14 +02:00