Summary
The oCIS backend's REPORT oc:filter-files handler now returns favorites from personal and share spaces using /dav/files/<user>/<path> hrefs. However, project space favorites cannot be included because they are only addressable via /dav/spaces/<storageId>$<spaceId>/<path>, and the frontend currently cannot handle these hrefs in the favorites response.
Current Behavior
When the frontend sends REPORT /dav/files/<user> to list favorites, it expects all response hrefs to be under /dav/files/<user>/. If the backend includes hrefs with /dav/spaces/ prefix (for project space favorites), the frontend fails to display any favorites at all.
Desired Behavior
The frontend should be able to handle /dav/spaces/<storageId>$<spaceId>/<path> hrefs in the REPORT filter-files response, so that favorites from all space types (personal, shares, and project spaces) can be displayed.
Possible Approaches
- Parse hrefs based on prefix — detect whether an href starts with
/dav/files/ or /dav/spaces/ and construct the appropriate file/navigation URL accordingly.
- Use
oc:fileid for resolution — instead of relying on the href path, use the oc:fileid property (which contains the full <storageId>$<spaceId>!<opaqueId> reference) to locate the resource in the space store.
- Uniform
/dav/spaces/ hrefs — the backend could return all favorites (including personal space) with /dav/spaces/ hrefs, making frontend parsing simpler (single format).
Related
Summary
The oCIS backend's REPORT
oc:filter-fileshandler now returns favorites from personal and share spaces using/dav/files/<user>/<path>hrefs. However, project space favorites cannot be included because they are only addressable via/dav/spaces/<storageId>$<spaceId>/<path>, and the frontend currently cannot handle these hrefs in the favorites response.Current Behavior
When the frontend sends
REPORT /dav/files/<user>to list favorites, it expects all response hrefs to be under/dav/files/<user>/. If the backend includes hrefs with/dav/spaces/prefix (for project space favorites), the frontend fails to display any favorites at all.Desired Behavior
The frontend should be able to handle
/dav/spaces/<storageId>$<spaceId>/<path>hrefs in the REPORT filter-files response, so that favorites from all space types (personal, shares, and project spaces) can be displayed.Possible Approaches
/dav/files/or/dav/spaces/and construct the appropriate file/navigation URL accordingly.oc:fileidfor resolution — instead of relying on the href path, use theoc:fileidproperty (which contains the full<storageId>$<spaceId>!<opaqueId>reference) to locate the resource in the space store./dav/spaces/hrefs — the backend could return all favorites (including personal space) with/dav/spaces/hrefs, making frontend parsing simpler (single format).Related