Commit Graph

44 Commits (4d23a952c1490e2afcc2172f64d742d33efe07fb)

Author SHA1 Message Date
Carl Schwan 336cc3fa35 feat(Db): Use SnowflakeId for previews
Allow to get an id for the storing the preview on disk before inserting
the preview on the DB.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-28 17:50:03 +07: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 +07:00
Carl Schwan 66f50bd585 refactor(preview): Use same mimetype ids as filecache
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan bd001c9524 refactor: Use Override annotation in new preview code
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 58023782b6 feat(preview): Store original file mimetype in preview table
Allow to quickly query all the files from a specific mimetype like in
the ResetRenderedTexts command.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan bfc7d5dd9f feat(preview): Implement scanning for previews
This work similarly to the move preview job to migrate the previews to
the new DB table and also reuse some code.

So when we are finding files in appdata/preview, try adding them to the
oc_previews table and delete them from the oc_filecache table.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 324b54b863 refactor(preview): Cleanup the implementation of the new preview backend
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 6f56dcf73e fix(preview): Fix some tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07: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 +07:00
Carl Schwan 6008852232 feat(preview): Support multibucket storage
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 13c35c0f17 perf(preview): Migrate previews to the new optimized table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan ce02a5b27c refactor: Port away from search
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-01 16:32:22 +07:00
Richard Steinmetz 05613984bb
fix: calculate node limit using MiB instead of MB
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-08 15:11:05 +07:00
Carl Schwan ef5edb6801 fix(psalm): Fix ParamNameMismatch with Job::run
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-08-29 14:31:39 +07:00
provokateurin 82fb8f8508
refactor: Extend rector to core/
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-15 00:16:54 +07:00
Ferdinand Thiessen 072d4e8cba
chore: move implementation from OC legacy to OCP\Files
- move implementation to the OCP variant that called the legacy before
- add the missing deprecation notice
- add missing parameter to align both signatures
- use OCP\Files where this method is still used

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-14 14:55:45 +07:00
Ferdinand Thiessen 712fe45f46
fix(lookup-server): Only flag new users for lookup update / delete
If the flag was already set then we do not need to overwrite it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-11 09:28:33 +07:00
Louis Chemineau 6744accdd9
chore: Run cs:fix
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-02-06 11:09:22 +07:00
Josh cd6ac0470e
fix(updater): make clean-up job more robust / easier to debug
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-02-06 11:09:21 +07:00
provokateurin 54ec472d9a
fix(BackgroundJobs): Adjust intervals and time sensitivities
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-08 11:26:53 +07:00
Daniel Kesselberg af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +07:00
Git'Fellow 2ea6713504
fix: Max file size for metadata generation
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
Co-Authored-By: Louis <louis@chmn.me>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-08-05 08:48:15 +07:00
Louis Chemineau f00acebf93
fix(files_metadata): Don't run generation job on every upgrade
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-07-16 15:02:32 +07:00
Andy Scherzinger 1f7e2ba599
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-13 17:41:36 +07:00
Hamid Dehnavi 246218d07a Make adjustments based on the review
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2024-02-26 09:22:45 +07:00
Hamid Dehnavi 47361fdc55 Refactor core/BackgroundJobs
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2024-02-26 09:22:45 +07:00
Maxence Lange c26110cbec better users cycle
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-01-11 15:46:48 +07:00
Louis Chemineau 8eb58d03a9
Wrap metadata generation in try/catch
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-13 10:51:15 +07:00
Louis Chemineau a0ff998c00
Add metadata generation job
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-11-16 15:02:38 +07:00
Louis Chemineau 95938d32d9
Add migration from the old to new metadata tables
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-11-16 09:21:55 +07:00
Faraz Samapoor e98cf3c374 Uses PHP8's constructor property promotion.
Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-06-23 23:03:56 +07:00
Arthur Schiwon 6ec5c4715c
also use updatedir for cleanup of backups
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-10-01 17:01:28 +07:00
Carl Schwan 48d9c4d2b0
Port existing server code to new interface
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-08 17:03:19 +07:00
Carl Schwan b70c6a128f Update core to PHP 7.4 standard
- Typed properties
- Port to LoggerInterface

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-05-20 22:18:06 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
Roeland Jago Douma 758a662b23 Do not try to contact lookup server if not needed
In some cases (for example you never send data to the lookup server)
there is no need for this job to even try.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-04-28 14:27:46 +07:00
J0WI d1f23b0428 core: add more strict_types
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2021-04-26 12:44:37 +07:00
Morris Jobke 1c496a5a35
Add a background job that checks for potential user imported SSL certificates and shows a warning in the admin settings
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-03 10:06:33 +07:00
Christoph Wurst cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +07:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +07:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +07:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +07:00
Roeland Jago Douma e819e97829
Login flow V2
This adds the new login flow. The desktop client will open up a browser
and poll a returned endpoint at regular intervals to check if the flow
is done.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-25 07:24:50 +07:00
Morris Jobke dc4c158ea7
Background job to clean up old backups of the updater
* a one-time job gets scheduled after each update via a repair job
* the job remove all directories inside data/updater-INSTANCEID/backups except the 3 most recent ones (determined by mtime of the folder)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-06-13 17:43:29 +07:00