aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_versions
Commit message (Collapse)AuthorAgeFilesLines
* fix(l10n): Update translations from TransifexNextcloud bot3 days2-0/+2
| | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* fix(files_versions): "undefined restored" on restoreAlejo5 days1-1/+1
| | | | Signed-off-by: Alejo <xlejo@protonmail.com>
* fix(l10n): Update translations from TransifexNextcloud bot13 days2-2/+2
| | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* test: Migrate files_versions to PHPUnit 10tests/noid/migrate-files_versionsJoas Schilling14 days8-103/+63
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* fix(files_versions): only close stream if still open, fixing S3fix/s3-versionsFerdinand Thiessen2025-05-181-1/+7
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(l10n): Update translations from TransifexNextcloud bot2025-05-182-2/+4
| | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* fix(files_version): use `Storage::writeStream` instead of deprecated ↵chore/move-stream-copy-implementationFerdinand Thiessen2025-05-161-4/+16
| | | | | | `streamCopy` if possible Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* chore: move streamCopy implementation from `OC_Helper` to `OCP\Files`Ferdinand Thiessen2025-05-161-2/+5
| | | | | | | | | The function was already there but called the legacy version. So moved the implementation and migrated all usages of it. Sadly the interface was slightly different so adjusted it to be compatible with both legacy and the OCP one. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* Merge pull request #52820 from nextcloud/refactor/rector-coreKate2025-05-151-1/+1
|\
| * refactor: Extend rector to core/refactor/rector-coreprovokateurin2025-05-151-1/+1
| | | | | | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* | fix(files_versions): Remove routes leading to deleted ajax filesCôme Chilliet2025-05-141-10/+0
|/ | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Merge pull request #48560 from nextcloud/fix/migrate-encryption-away-from-hooksCôme Chilliet2025-05-142-5/+9
|\ | | | | feat(encryption): Migrate from hooks to events
| * chore: Assert rename success in versionning testsCôme Chilliet2025-05-131-1/+2
| | | | | | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
| * chore(files_versions): Only mock getSystemValue method to avoid problems in ↵Côme Chilliet2025-05-131-1/+4
| | | | | | | | | | | | files_versions tests Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
| * feat(encryption): Migrate from hooks to eventsCôme Chilliet2025-05-131-3/+3
| | | | | | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* | refactor: Apply rector refactoringschore/deps/rector-2.0provokateurin2025-05-142-2/+3
| | | | | | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* | fix(files_versions): Folder should not be hardcoedfixHardcodedVersionsFolderGit'Fellow2025-05-091-4/+8
|/ | | | Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
* fix(l10n): Update translations from TransifexNextcloud bot2025-04-302-2/+2
| | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* Merge pull request #52369 from nextcloud/fix/files-versions-authorFerdinand Thiessen2025-04-291-1/+2
|\ | | | | fix(files_versions): wait for version to be created before setting metadata
| * fix(files_versions): wait for version to be created before setting metadatafix/files-versions-authorFerdinand Thiessen2025-04-231-1/+2
| | | | | | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* | fix(l10n): Update translations from TransifexNextcloud bot2025-04-282-2/+4
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | fix(files_versions): only handle path updates when there is pathfix/files-versions-listenersFerdinand Thiessen2025-04-271-4/+12
| | | | | | | | | | | | | | | | | | `getPathForNode` can fail with null for various reasons (e.g. no owner), in this cases we need to just skip the event handling. Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de> Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com> Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* | Merge pull request #51355 from AIlkiv/refactor/rollback-hook-usageStephan Orbaugh2025-04-251-8/+10
|\ \ | | | | | | refactor: cleanup rollback hook usage
| * | refactor: cleanup rollback hook usageailkiv2025-04-251-8/+10
| | | | | | | | | | | | Signed-off-by: ailkiv <a.ilkiv.ye@gmail.com>
* | | fix(files_versions): create version if previous does not existfix/files-version-creationFerdinand Thiessen2025-04-231-2/+11
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This issue happens reproducible if: - Versions is disabled - Upload a file - Enable versions - Upload same file unchanged - Now the error happens. Problem is that the mtime is unchanged so no version will be created on the upload, but it tries to update the last version which does not exists. Instead of "upload same file unchanged" you can also - like in the example stack trace above - use Android with an SD card with invalid mtime -> the mtime will be stripped so its always the same. Instead of disable versions the same also happens if e.g. the versions creation failed due to other issues. The solution now is to catch the exception and create if not exists. A cleaner solution would be to have a method on the versions backend like `hasVersionEntity(File $file, int $revision): bool` but this would be a breaking change or at least a feature that apps need to implement. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* | fix(l10n): Update translations from TransifexNextcloud bot2025-04-182-2/+4
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | fix(l10n): Update translations from TransifexNextcloud bot2025-04-172-2/+4
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-04-112-2/+4
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-04-092-4/+4
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-04-082-2/+4
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-04-054-4/+8
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-03-302-2/+4
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-03-304-4/+8
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-03-2824-24/+48
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | fix(files_versions): Rely on server mime fallback iconsfix/files_versions/previewsprovokateurin2025-03-273-8/+5
| | | | | | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* | feat(files_versions): Implement preview mime icon fallbackprovokateurin2025-03-272-1/+39
| | | | | | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* | fix(files_versions): Cache previewsprovokateurin2025-03-272-5/+14
| | | | | | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-03-2782-0/+82
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | fix(files_versions): correctly show version author also for shared filesFerdinand Thiessen2025-03-252-42/+51
| | | | | | | | | | | | | | The users endpoint is not available for other users if the current user has no admin privileges, so instead use the displaynames endpoint. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-03-202-2/+2
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-03-182-2/+2
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-03-152-2/+2
|/ | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* Merge pull request #50990 from AIlkiv/refactor/version-rollback-to-eventStephan Orbaugh2025-02-277-12/+158
|\ | | | | refactor: move version rollback hook to event
| * refactor: move version rollback hook to eventailkiv2025-02-257-12/+158
| | | | | | | | Signed-off-by: ailkiv <a.ilkiv.ye@gmail.com>
* | Fix(l10n): Update translations from TransifexNextcloud bot2025-02-2788-510/+424
| | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | Merge pull request #50903 from ↵Louis2025-02-252-1/+23
|\ \ | | | | | | | | | | | | nextcloud/artonge/fix/min_age_rentention_files_versions fix(files_versions): Do not expire versions newer than min age
| * | fix(files_versions): Do not expire versions newer than min ageartonge/fix/min_age_rentention_files_versionsLouis Chemineau2025-02-192-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | The auto expire logic does not take into account the min retention age set by the admin. So versions were eagerly deleted. Fix https://github.com/nextcloud/server/issues/19791 Signed-off-by: Louis Chemineau <louis@chmn.me>
* | | Fix(l10n): Update translations from TransifexNextcloud bot2025-02-242-2/+2
| | | | | | | | | | | | Signed-off-by: Nextcloud bot <bot@nextcloud.com>
* | | Merge pull request #50958 from ↵Konstantin Myakshin2025-02-241-1/+5
|\ \ \ | |_|/ |/| | | | | | | | nextcloud/bugfix/fix-not-found-exception-for-anonymous-users Fix: NotFoundException for anonymous users
| * | Fix: NotFoundException for anonymous usersbugfix/fix-not-found-exception-for-anonymous-usersKostiantyn Miakshyn2025-02-211-1/+5
| | | | | | | | | | | | Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>