From 13e159b22779b6931193107413a4a6e43f4b7133 Mon Sep 17 00:00:00 2001 From: flash Date: Sun, 21 Jun 2026 15:58:44 +0200 Subject: [PATCH 1/2] fix: include registered extra props in PROPFIND request body registerExtraProp() registered properties for response parsing but buildPropFindBody() never included them in the PROPFIND request XML. Extensions using registerExtraProp() would never receive their custom properties because the server was never asked for them. --- packages/web-client/src/webdav/client/builders.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/web-client/src/webdav/client/builders.ts b/packages/web-client/src/webdav/client/builders.ts index 87be1ae6f5..9492db7e3a 100644 --- a/packages/web-client/src/webdav/client/builders.ts +++ b/packages/web-client/src/webdav/client/builders.ts @@ -42,6 +42,12 @@ export const buildPropFindBody = ( } const object = properties.reduce((obj, item) => Object.assign(obj, { [item]: null }), {}) + // Include extra props in the request so they appear in PROPFIND + for (const ep of extraProps) { + if (!(ep in object)) { + object[ep] = null + } + } const props = getNamespacedDavProps(object, extraProps) const xmlObj = { From c797164d092159b085ca7855073eb7bc8dcf11d3 Mon Sep 17 00:00:00 2001 From: flash Date: Tue, 23 Jun 2026 13:29:40 +0200 Subject: [PATCH 2/2] fix: type reduce result as Record Fixes implicit 'any' type on the reduce accumulator as requested in review. --- packages/web-client/src/webdav/client/builders.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web-client/src/webdav/client/builders.ts b/packages/web-client/src/webdav/client/builders.ts index 9492db7e3a..ef7e966de9 100644 --- a/packages/web-client/src/webdav/client/builders.ts +++ b/packages/web-client/src/webdav/client/builders.ts @@ -41,7 +41,7 @@ export const buildPropFindBody = ( bodyType = 'oc:filter-files' } - const object = properties.reduce((obj, item) => Object.assign(obj, { [item]: null }), {}) + const object = properties.reduce>((obj, item) => Object.assign(obj, { [item]: null }), {}) // Include extra props in the request so they appear in PROPFIND for (const ep of extraProps) { if (!(ep in object)) {