Commit graph

35833 commits

Author SHA1 Message Date
Ferdinand Thiessen
04fc1a4418
chore(settings): remove dead legacy code
The `security_password` was last used in the personal setting security
section, but already migrated to vue.
So it can be safely removed.

The styles can also be removed by moving the required ones directly to
the Vue component.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 16:13:35 +01:00
Kate
3c498275e5
Merge pull request #57504 from nextcloud/implementCacheChunkGcTtl 2026-01-15 15:39:13 +01:00
Andy Scherzinger
06b064e5f2
Merge pull request #57514 from nextcloud/carl/optimize-cacheentry
perf(files): Optimize CacheEntry creation
2026-01-15 12:57:42 +01:00
Carl Schwan
0b8eae7789
perf(files): Optimize CacheEntry creation
Avoid many copy on writes and create array only once.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-15 11:47:41 +01:00
Ferdinand Thiessen
7d21350040 feat(settings): add option to allow self-signed mail certificates
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 02:12:03 +01:00
Ferdinand Thiessen
265d2c3f87 refactor(settings): migrate mail settings to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 02:12:03 +01:00
Nextcloud bot
c9ac8cfd54
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-15 00:14:00 +00:00
Ferdinand Thiessen
55469c96c0
Merge pull request #57529 from nextcloud/chore/update-files-4-b9
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
chore(deps): update `@nextcloud/files` to v4.0.0-beta.9
2026-01-14 22:21:59 +01:00
Andy Scherzinger
6a0e7e318b
Merge pull request #57513 from nextcloud/carl/shareplugin
refactor(dav): Remove dead property
2026-01-14 17:50:22 +01:00
Ferdinand Thiessen
2940cd0bb8
chore(deps): update @nextcloud/files to v4.0.0-beta.9
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 12:35:21 +01:00
Ferdinand Thiessen
22ebf79e90
Merge pull request #57503 from nextcloud/chore/drop-moment
refactor: drop moment from new bundles
2026-01-14 12:33:56 +01:00
Robin Appelman
9fde2523e6
Merge pull request #57493 from nextcloud/smb-invalid-arg-unavailable
fix: handle InvalidArumentException as availability failure in smb->getFileInfo
2026-01-14 12:00:03 +01:00
Kate
ad8576f02d
Merge pull request #57185 from nextcloud/fix/fix-files-external-tests 2026-01-14 11:46:28 +01:00
Kate
7d1b1de155
Merge pull request #54697 from nextcloud/fix/unit-test-for-storage-auto-expire-list 2026-01-14 11:00:33 +01:00
yemkareems
fb2716ab4b
fix: php lint fix
Signed-off-by: yemkareems <yemkareems@gmail.com>
2026-01-14 14:58:32 +05:30
yemkareems
f0b90e6378
fix: removed the message
Signed-off-by: yemkareems <yemkareems@gmail.com>
2026-01-14 14:57:02 +05:30
Ferdinand Thiessen
8ac1602402
refactor: drop moment from new bundles
On the Vue 3 side lets remove the dependency on Moment as this is a
pretty huge dependency. Instead use plain Intl API for formatting.

This reduces the bundle size by ~1.5MiB.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 10:25:37 +01:00
yemkareems
5f6a777c5b
fix: refactored testBucketKeepsLatest to add invalid data assert
Signed-off-by: yemkareems <yemkareems@gmail.com>
2026-01-14 14:46:48 +05:30
Nextcloud bot
a8369cdbee
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-14 00:13:54 +00:00
Ferdinand Thiessen
108858daef
refactor(encryption): migrate to Vue 3 and Typescript and script setup
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 22:49:18 +01:00
Ferdinand Thiessen
ab8e4e60ea
Merge pull request #57502 from nextcloud/chore/theming-js
refactor(theming): move from `js/` to `src/`
2026-01-13 22:41:44 +01:00
Ferdinand Thiessen
c59ad1f847
Merge pull request #57355 from nextcloud/refactor/oc-settings
refactor: consolidate `OC.Settings`
2026-01-13 22:35:40 +01:00
Ferdinand Thiessen
41e1a995a9 refactor(theming): move from js/ to src/
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 18:47:28 +01:00
Robin Appelman
ae74dbef2b
Merge pull request #56499 from nextcloud/authoritative-mount-provider-files_external
Add api for authoritative mount providers and implement it for files_external
2026-01-13 16:36:33 +01:00
Ferdinand Thiessen
bd664cb8fd
chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 15:42:00 +01:00
Ferdinand Thiessen
805805767f
refactor: consolidate OC.Settings
1. Remove unused legacy parts (no code match in the whole github
organization).
2. Consolidate `OC.Settings` in `core/src/OC` for consistency.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 15:41:59 +01:00
Ferdinand Thiessen
0fa396d0b8
Merge pull request #57509 from nextcloud/fix/use-strict-array-search
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Use strict array search
2026-01-13 15:22:20 +01:00
Carl Schwan
5acb93a5be
Merge pull request #57510 from nextcloud/carl/callback-optimization
perf(dav): Avoid getting DB Connection inside callback
2026-01-13 15:01:54 +01:00
Carl Schwan
ea40ade012
refactor(dav): Remove dead property
The user folder is no longer used.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-13 14:09:05 +01:00
Maxence Lange
048037b629
Merge pull request #57495 from nextcloud/fix/noid/no-data-response
fix(ocm): empty response
2026-01-13 11:21:03 -01:00
Côme Chilliet
dc843f6d0a
fix: Use strict array search in other shipped apps as well
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:48:36 +01:00
Carl Schwan
a1979c9cd1
perf(dav): Avoid getting DB Connection inside callback
Fetch it once outside instead and pass it to the callback.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-13 11:47:11 +01:00
Côme Chilliet
c1dd559965
fix: Use strict array comparisons in user_ldap
Otherwise there are issues with string values looking like numbers.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:46:57 +01:00
Côme Chilliet
166febb940 fix(tests): Use absolute paths for files_external tests configuration files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:07:27 +01:00
Git'Fellow
df018cf994 fix(gc): Implement cache_chunk_gc_ttl
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-13 09:00:32 +01:00
Ferdinand Thiessen
e76f9284ce refactor(files_external): adjust files integration
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
a05c285979 feat(files_external): implement storage table
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
1ec308a9dd feat(files_external): provide new API to register AuthMechanisms
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
0e22ae1efe refactor(files_external): migrate public key auth to Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
5ed7c4fd97 fix(files_external): adjust settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
545c72becb chore: remove non working and legacy OAuth2 auth schema
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
e1133ec926 feat(files_external): Migrate settings to Vue
Template parameters are migrated to initial state, common state between admin and user settings is shared in the CommonSettingsTrait.
The template is cleaned and replaced with only a stub for the Vue mount.
Code only used for the frontend of the settings is moved from the MountConfig to the CommonSettingsTrait (the missing dependency messages).

On the frontend a wrapper view is created that currently holds the global credentials settings and the external storages settings.
- The global credentials sections is now a stand-alone sections - fully implemented.
- The external storages section holds the table + user config + warnings on missing dependencies

The legacy UI is temporarly renamed but will be removed in a following commit.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
d4674060dc fix(files_external): return correct type for new user defined storages
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
38ed0a8283 fix: hard type controllers where the type is required to match
Prevent HTTP 500 errors where a 400 would be the correct response

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
4c8b9deca0 feat(files_external): Move script loading to CommonSettingsTrait to reduce duplicated code between admin and user settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
5c652484e3 refactor(files_external): migrate files integration to script-setup and Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Nextcloud bot
a5225bdf99
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-13 00:13:56 +00:00
Ferdinand Thiessen
ac3d09d817
Merge pull request #57499 from nextcloud/feat/migrate-user-ldap-renew
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
refactor(user_ldap): migrate jQuery UI of password renewal to Vue
2026-01-12 22:56:09 +01:00
Ferdinand Thiessen
29e31ffdb1
refactor(user_ldap): migrate jQuery UI of password renewal to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 21:48:13 +01:00
Ferdinand Thiessen
8c93d4a9e1 fix(files): ensure creating folders in public shares work
The root of the webdav client needs to be the public share root,
as accessing the `/files` folder is not possible for public shares.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 20:39:54 +01:00