Commit Graph

16387 Commits (3bdb3442242aba93d0fae6181861baeb60b1514d)

Author SHA1 Message Date
Carl Schwan 3bdb344224
perf(external-sharing): Port to Entity and SnowflakeId
This removes all the read after write and we don't need to queries all
the time the same share in the same request anymore.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:07 +07:00
Carl Schwan 6945a030f5
refactor(OC_Helper): remove buildNotExistingFileNameForView
Move the functionality in the last place it is used OC\Files\Node\Folder

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:29 +07:00
Marcel Klehr 3579c5a6a0
Merge pull request #57094 from nextcloud/fix/snowflake_file_seq
fix(snowflakes): FileSequence generator must always use the same dir
2025-12-16 09:21:12 +07:00
Côme Chilliet 197db6aa86
Merge pull request #55813 from nextcloud/fix/fix-infinite-loop-in-share-manager
fix(shares): Fix infinite loop when all shares are invalid
2025-12-15 20:17:26 +07:00
Stephan Orbaugh 582bb11eae
Merge pull request #55631 from nextcloud/carl/deprecate-config-user-correctly
refactor: Deprecated user config from IConfig correctly
2025-12-15 17:30:52 +07:00
Côme Chilliet 3e8502d239 fix(shares): Fix infinite loop when hide_disabled_user_shares is yes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 17:02:52 +07:00
Benjamin Gaussorgues fa7e569a16
fix(snowflakes): FileSequence generator must always use the same dir
`TempManager::getTemporaryFolder` is returning a random directory.
FileSequence needs always the same directory, even if different
processes.

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-12-15 15:58:15 +07:00
Kate db530d1eae
Merge pull request #56921 from nextcloud/fix-caching-routes-by-users-with-an-active-session 2025-12-15 10:53:04 +07:00
Kate 9350a6798c
Merge pull request #57084 from nextcloud/carl/fix-32-bits-job 2025-12-15 09:23:06 +07:00
Carl Schwan 8034de84aa
fix(jobs): Fix 32 bits jobs
Specifying the type to int force a convertion from string to int which
fails on 32 bits for snowflake ids.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-15 08:41:26 +07:00
Daniel Calviño Sánchez 51ed61bb4a fix: Fix caching routes by users with an active session
When a user has an active session only the apps that are enabled for the
user are initially loaded. In order to cache the routes the routes for
all apps are loaded, but routes defined in routes.php are taken into
account only if the app was already loaded. Therefore, when the routes
were cached in a request by a user with an active session only the
routes for apps enabled for that user were cached, and those routes were
used by any other user, independently of which apps they had access to.
To solve that now all the enabled apps are explicitly loaded before
caching the routes.

Note that this did not affect routes defined using annotations on the
controller files; in that case the loaded routes do not depend on the
previously loaded apps, as it explicitly checks all the enabled apps.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-12 16:10:20 +07:00
Daniel Calviño Sánchez 0ba2f5e537 Revert "fix(CachingRouter): Disable cache for findMatchingRoute"
This reverts commit 90948f5096.

It temporary disabled cache for routes until an actual fix was added,
which is done in the following commits.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-12 16:06:47 +07:00
Julius Knorr a45f4b0cdc
fix: Fix setting name inconsistency between backend and frontend
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-12-12 13:08:34 +07:00
Stephan Orbaugh 282341a8d6
Merge pull request #55738 from nextcloud/carl/cleanup-preview-command
fix(preview-cleanup): Also delete previews stored in the oc_previews table
2025-12-11 14:07:50 +07: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 +07:00
Carl Schwan 6eabaaf104
refactor: Deprecated user config from IConfig correctly
Mark the methods in the interface deprecated instead of just the one in
the implementation.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:47 +07:00
Joas Schilling 69e6b6a483
fix(comments): Check comment object
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-11 07:55:55 +07:00
Elizabeth Danzberger 3a89c18888
fix(templates): deduplicate provider templates
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2025-12-10 16:06:21 +07:00
Salvatore Martire d14a032220 feat: implement support for authoritative mount providers
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 16:05:27 +07:00
Salvatore Martire 9b519b4679 refactor: simplify code
replace array_reduce + array_merge with array_merge(...)
replace conditional assignment with ??=

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 16:05:27 +07:00
Salvatore Martire f47a586cdd docs: update comments
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 16:05:27 +07:00
Carl Schwan 247b66c5ee
fix(preview-cleanup): Also delete previews stored in the oc_previews table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-10 13:49:24 +07:00
Joas Schilling da1dd481e9
Merge pull request #56900 from nextcloud/fix/noid/allow-macos-on-ci
fix: Allow installation on macOS CI
2025-12-10 11:39:21 +07:00
Marcel Klehr f967134f58
Merge pull request #56928 from nextcloud/fix/taskprocessing-ocr
fix(TaskProcessing): Adjust OCR task type to allow for multiple files and pdfs
2025-12-09 13:52:57 +07:00
Andy Scherzinger 71c2e94123
Merge pull request #54436 from nextcloud/s3-signed-url
perf(s3): Provide direct pre-signed download link
2025-12-09 12:38:20 +07:00
Carl Schwan b6313f68d3
perf(s3): Expose pre-signed urls for S3
This is faster than going back to nextcloud to download the files.

This is an opt-in setting that can be enabled by setting
use_presigned_url in the object store config.

Additionally add support for the proxy config which is needed in a
docker setup. See https://github.com/juliusknorr/nextcloud-docker-dev/pull/431

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-09 11:21:35 +07:00
Marcel Klehr 25044f82ae fix(TaskProcessing): Adjust OCR task type to allow for multiple files and pdfs
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-12-09 09:21:33 +07:00
provokateurin 90948f5096
fix(CachingRouter): Disable cache for findMatchingRoute
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-09 09:16:01 +07:00
Andy Scherzinger 2c6d3d6f76
Merge pull request #56628 from nextcloud/carl/snowflake/jobs
feat: Port jobs table to snowflakes ids
2025-12-08 12:23:44 +07:00
Marcel Müller ae85eab73c fix: Allow installation on macOS CI
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-12-07 13:32:43 +07:00
Kate 842df498e0
Merge pull request #56816 from nextcloud/jtr/chore-legacy-drop-mac-checker 2025-12-05 17:42:38 +07:00
Joas Schilling 594d22021a
Merge pull request #56076 from nextcloud/carl/cleanup-comment
refactor(comment): Port away from deprecated event comment constant
2025-12-05 11:38:08 +07:00
Josh d95ce6ac92
chore: drop no longer needed runningOnMac method
Removed deprecated method 'runningOnMac' that checks if PHP is running on macOS.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-04 16:46:55 +07:00
Carl Schwan 8bbd30693c refactor(share-manager): Make return type more precise
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-04 21:39:25 +07:00
Carl Schwan 3c9b937e28
refactor(comment): Port away from deprecated event comment constant
Create new events to replace deprecated CommentsEvent constant and use
them when creating CommentsEvents.

On the listener side, we can't yet use these events as deck still send
the old events.

Also fixes some issues reported by psalm level 3 on the comment app.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-04 17:38:53 +07:00
Christoph Wurst 8a581c230b refactor: improve reflection attribute typing
This allows tools to see the correct usage of
PasswordConfirmationRequired::getStrict

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-12-04 17:37:47 +07:00
Andy Scherzinger 1ef465f804
Merge pull request #56251 from nextcloud/carl/template-manager-cleanup
refactor(template-manager): Modernize template manager API
2025-12-04 17:26:53 +07:00
Carl Schwan 0e686fc6a9
feat: Port jobs table to snowflakes ids
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-04 17:16:12 +07:00
Côme Chilliet aeed32cfba
Merge pull request #56843 from nextcloud/feat/add-cli-details-to-log
feat(log): Add script name and occ command to log details
2025-12-04 17:06:00 +07:00
Côme Chilliet cb80ec7ebb
feat(log): Add script name and occ command to log details
This will help when troubleshooting issues. For web request we have
 method and url, but for cron and occ currently we have no way to know if
 it’s one or the other and which command.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-04 15:04:59 +07:00
Louis 5bf67fd206
Merge pull request #56745 from nextcloud/artonge/feat/files_sharing/support_priority_in_template_providers
feat(files_sharing): Support priority in public template providers
2025-12-04 12:58:44 +07:00
Louis Chmn 10b82c8bf8 feat(files_sharing): Support priority in public template providers
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-12-04 10:59:58 +07:00
Carl Schwan f38c8c3d7c
fix(formatting): Fix formatting issue
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-03 11:10:18 +07:00
Josh aa498654c5 refactor(setup): use OS constant rather than function (macOS)
PHP_OS_FAMILY

- Facilitates elimination of a legacy OC_Util method
  - `runningOnMac()` -- yes, really! ;-)
- Supported since PHP late 7.x-era

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-02 21:54:44 +07:00
Josh cc873ccaec chore(legacy): deprecate OC_Util::runningOnMac()
- Easy enough query directly these days; Only used in one spot anyhow
- Updated the runningOnMac method to use PHP_OS_FAMILY just for clarity until we can remove the function entirely (same result; supported since PHP ~7.4).

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-02 21:52:58 +07:00
Daniel Kesselberg f977a7fec6
fix(s3): make data integrity protections opt-in
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-12-02 21:03:26 +07:00
F. E Noel Nfebe 68b9108ca6
Merge pull request #55811 from nextcloud/fix/public-share-group-exclusion-access
fix(sharing): Allow public share access for everyone
2025-12-02 15:41:59 +07:00
Benjamin Gaussorgues 86c2dd467d
Merge pull request #56758 from nextcloud/fix/fix-orphan-share-blocking-moves 2025-12-02 10:45:40 +07:00
nfebe 6bccaf778a fix(sharing): Allow public share access for everyone
When a logged-in user accesses a public share link in the same browser,
the system was incorrectly checking if that user's groups were excluded
from creating link shares. This caused share not found errors for users
in excluded groups, even though public shares should be accessible to anyone
with the link.

The group exclusion setting (`shareapi_allow_links_exclude_groups`) is
intended to restrict share creation, not share access. Public shares
are meant to be anonymous and accessible regardless of the viewer identity
or group membership.

We now check the exclusion for the share creator and not the viewer.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-02 09:45:18 +07:00
Côme Chilliet f453411d59
fix: Log missing nodes of shares at debug level
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-02 09:33:07 +07:00