Commit graph

7317 commits

Author SHA1 Message Date
Ferdinand Thiessen
c84c256261
fix: Adjust preview for view-only shares
Previously there was a different behavior for public shares (link-shares) and internal shares,
if the user disabled the view permission.
The legacy UI for public shares simply "disabled" the context menu and hided all download actions.
With Nextcloud 31 all share types use the consistent permissions attributes,
which simplifies code, but caused a regression: Images can no longer been viewed.

Because on 30 and before the attribute was not set, previews for view-only files
were still allowed. Now with 31 we need a new way to allow "viewing" shares.

So this is allowing previews for those files, but only for internal usage.
This is done by settin a special header, which only works with custom requests,
and not by opening the URL directly.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-28 15:52:27 +01:00
Kate
d25a0a2896
Merge pull request #48915 from nextcloud/fix/encrypt-decrypt-password 2024-10-28 13:26:55 +01:00
Ferdinand Thiessen
86006368bf
Merge pull request #48912 from nextcloud/bugfix/exception-appscreenshot-notstring
fix(apps-store): Fix exception on generating preview url for installed app screenshot
2024-10-28 11:32:15 +01:00
yemkareems
a74ef8237d
fix: crypto type made not nullable and tests run using ICrypto
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-10-28 15:04:11 +05:30
Kate
5efb175665
Merge pull request #48614 from nextcloud/refactor/storage/constructors 2024-10-28 10:19:41 +01:00
Joas Schilling
220bd3422f
fix(appinfo): Make sure screenshot, author and category are always arrays
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-28 08:46:31 +01:00
yemkareems
505dfd65fd
fix: encrypt and store password, decrypt and retrieve the same
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-10-28 11:22:36 +05:30
provokateurin
0de4843b73 refactor(Storage): Align all Storage constructors
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-23 13:24:18 +02:00
Joas Schilling
54c3aa3f99
fix(entity): Fix mapping of old/sub-types to actually supported database types
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-23 09:22:05 +02:00
Ferdinand Thiessen
2ef74b9860
Merge pull request #47329 from nextcloud/feat/add-datetime-qbmapper-support
feat(AppFramework): Add full support for date / time / datetime columns
2024-10-18 19:05:08 +02:00
Joas Schilling
882f91605b
fix(comments): Add test for email mention
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-18 07:39:41 +02:00
Ferdinand Thiessen
db94e10af0
fix: Prevent breaking change in IQueryBuilder
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:44 +02:00
Ferdinand Thiessen
ee02e3246d
feat(AppFramework): Add full support for date / time / datetime columns
This adds support for all Doctrine supported types, for the column types only the immutable variants needed to be added.
But especially those types are the important ones, as our **Entity** class works by detecting changes through setters.
Meaning if it is mutable, changes like `$entity->date->modfiy()` can not be detected, so the immutable types make more sense here.

Similar the parameter types needed to be added.

`Enity` and `QBMapper` needed to be adjusted so they support (auto map) those types, required when insert or update an entity.

Also added more tests, especially to make sure the mapper really serializes the values correctly.

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>
2024-10-17 18:31:42 +02:00
Ferdinand Thiessen
e8c1e2c611
fix(code-style): Adjust JS code to our code style
This resolves 68 ESLint warnings about invalid code style.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-16 22:11:59 +02:00
Ferdinand Thiessen
b964e05312
Merge pull request #48673 from nextcloud/fix/null-label
fix(share): Return empty string if no label is set
2024-10-14 19:10:12 +02:00
Ferdinand Thiessen
980ab1f56b
fix: Shipped apps should include the Nextcloud version in the cache buster
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-14 16:04:13 +02:00
Ferdinand Thiessen
2e4d3e4e75
fix(share): Return empty string if no label is set
* Resolves: https://github.com/nextcloud/server/issues/48629

While the database supports NULL, the typing has always said it only returns *string*.
So to not break any apps that might trust the typings we should return `''` if the database is set to `NULL`.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-14 15:15:51 +02:00
Kate
10d1c3c29f
Merge pull request #48537 from nextcloud/add-command-to-cleanup-preview 2024-10-14 08:57:00 +02:00
Kate
356f3ded52
Merge pull request #48610 from nextcloud/fix/usertrait/backend-initialization 2024-10-08 16:53:26 +02:00
provokateurin
902fb8f9fc
fix(UserTrait): Fix backend initialization
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-08 11:12:01 +02:00
provokateurin
f28e74b7a8
refactor(Storage): Make all parameter types strong types
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 15:00:05 +02:00
provokateurin
4412b2b8a8
refactor(Wrapper\Encryption): Migrate to strong types
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 14:11:56 +02:00
provokateurin
d1977b8d25
refactor(Stream\Encryption): Migrate to strong types
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 14:02:27 +02:00
Joas Schilling
315e4658dd
test(settings): Correctly only return bool for Symfony Input::hasParameterOption calls
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-07 12:11:39 +02:00
Joas Schilling
e6cd1051da
fix(message): Fix logic of Mail test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-07 12:11:38 +02:00
Joas Schilling
843f638315
test: Fix mock creation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-07 12:11:30 +02:00
Ferdinand Thiessen
3095a92551
Merge pull request #47896 from nextcloud/fix/resiliant-user-removal
fix: Make user removal more resilient
2024-10-07 11:33:07 +02:00
Thomas Citharel
fe0f89c237
feat(preview): add command to cleanup preview folder
When changing preview parameters (size, format, …), one can simply delete the preview folder and run
files:scan-app-data in order to retrigger updated preview recreation because files are absent.

However, that's not possible when using ObjectStorage as primary storage, as there's no concept of
"preview folder".

This command allows to simply delete and recreate the preview folder properly from
Nextcloud, so that the abstraction levels handle all the subfolder & file deleting part.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-10-03 13:41:32 +02:00
Daniel Kesselberg
6be00432b7
chore: always execute parse_url in preventLocalAddress
This change should make it easier to spot wrong uses of the HTTP client on development setups where allow_local_remote_servers is usually true.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-10-01 18:00:47 +02:00
Robin Appelman
1bf27e74dd
Merge pull request #48235 from nextcloud/readd-object-store-phpunit
test: re-add object store primary storage phpunit tests
2024-10-01 15:11:10 +02:00
Ferdinand Thiessen
eb69e89fa5
chore: Drop unused legacy OC_Files
It is replaced with the Sabre `ZipFolderPlugin` and apps should use the `OCP\AppFramework\Http\StreamResponse`.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-28 13:18:40 +02:00
Ferdinand Thiessen
0f6760c810
feat(files): Make the files download action use WebDAV zip download
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-28 13:18:29 +02:00
Robin Appelman
a5f8a2625f
test: re-add object store primary storage phpunit tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-27 14:45:39 +02:00
Ferdinand Thiessen
16833aff86
fix: Make user removal more resilient
Currently there is a problem if an exception is thrown in `User::delete`,
because at that point the user is already removed from the backend,
but not all data is deleted.

There is no way to recover from this state, as the user is gone no information is available anymore.
This means the data is still available on the server but can not removed by any API anymore.

The solution here is to first set a flag and backup the user home,
this can be used to recover failed user deletions in a way the delete can be re-tried.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-26 20:48:37 +02:00
provokateurin
256a8d8903
test: Fix IStorage return types
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-26 17:29:48 +02:00
Côme Chilliet
280f6df66c
Merge pull request #32018 from nextcloud/cleanup/event/trashbin
Port files trashbin events to IEventDispatcher/IEventListener
2024-09-24 17:15:39 +02:00
Richard Steinmetz
19ad13571c
fix: gracefully parse non-standard trusted certificates
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-09-24 12:36:09 +02:00
Côme Chilliet
4adf5fd5b0
fix(tests): Pause trashbin for lock tests in ViewTest using rmdir and unlink
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-24 10:37:38 +02:00
Côme Chilliet
af0b8fbd17
fix(tests): Fix tests now that trashbin listens to events properly
Hooks are cleared in test bootstrap so switching to events activates
 them in tests.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-23 18:13:29 +02:00
Joas Schilling
82566c5479
fix(rtl): Make clear that the direction is based on language
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-09-23 17:00:07 +02:00
Mostafa Ahangarha
d94745201b
fix(rtl): Add unittest for language direction
Signed-off-by: Mostafa Ahangarha <ahangarha@riseup.net>
2024-09-23 16:59:21 +02:00
Côme Chilliet
40b404c566
Merge pull request #48111 from nextcloud/fix/move-storage-constructor-to-specific-interface
fix: Move storage constructor to specific interface
2024-09-23 15:57:38 +02:00
Côme Chilliet
b8ab560bdd
fix(tests): Fix test to remove call to non-existing constructor
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-23 14:50:43 +02:00
Joas Schilling
bec14dc4a5
Merge pull request #48215 from nextcloud/bugfix/noid/run-all-unit-tests
fix(tests): Fix test selection and run unit tests of DAV and user_status
2024-09-23 12:49:30 +02:00
Louis Chemineau
22d5d29c01 fix(users): Don't crash if disabled user is missing in the database
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-09-23 10:40:38 +02:00
Andy Scherzinger
3009da3722
Merge pull request #43968 from exi/custom-binary-search-paths
feat: make search path for BinaryFinder customizable.
2024-09-20 19:14:17 +02:00
Git'Fellow
2ba3f7ed5c
Merge pull request #47782 from nextcloud/reworkShareExceptions
fix(l10n): Rephrasing some exceptions to be translated
2024-09-20 18:53:40 +02:00
Git'Fellow
dcbe8da2a6 fix(l10n): Rephrasing some exceptions to be translated
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: tests

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Fix tests

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-20 18:35:11 +02:00
Reno Reckling
ef7e857881
feat: make search path for BinaryFinder customizable.
This feature is important for nextcloud running on
distributions like NixOS, where all the standard
search paths do not exist.

Also added tests.

This fixes issue #43922

Co-authored-by: Daniel <mail@danielkesselberg.de>
Signed-off-by: Reno Reckling <e-github@wthack.de>
2024-09-20 17:00:06 +02:00
Julius Knorr
606241caeb
chore(legacy): Introduce public version ct plass and drop version methods from OC_Util
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-20 14:53:34 +02:00