Since exporting the app information that way makes the apps count metric
obsolete I removed it as well.
Resolves#59718
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
IAlternativeLogin has a fatal flaw in that it is not possible to
register multiple alternative login dynamically but only statically.
IAlternativeLoginProvider fixes this limitation as the provider can then
provider multiple IAlternativeLogin.
Signed-off-by: Carl Schwan <carlschwan@kde.org>
Some (well all except sqlite) database platforms support timezone
configuration. The problem is that we expect everything in UTC,
but some servers might have set some different default (e.g. in database
configuration or even just because of `TZ` environment variable).
This causes incorrect values when expecting `NOW()` to return the
current time in UTC.
For PHP we already enforce UTC as timezone, this PR adds a middleware
that enforces UTC also as the database connection / session timezone.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This has been implicitely deprecated for a while with Share20 containing
the new implementation.
The only use was to determine whether remote sharing was enabled or not,
which we can do much more easily.
Signed-off-by: Carl Schwan <carlschwan@kde.org>
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>
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>
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>
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>
This feature was not used in 8 years and from frontend did not even
properly work anymore and was implemented using deprecated API.
So get rid of it.
The last version that was using a changelog from the changelog server
was Nextcloud 20.
We use the firstrunwizard nowadays for informing about Nextcloud
changes in new releases.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
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>