Skip to content

feat(ocdav): expose the video, motionPhoto and livePhoto facets - #790

Open
dschmidt wants to merge 2 commits into
mainfrom
feat/driveitem-media-facets
Open

feat(ocdav): expose the video, motionPhoto and livePhoto facets#790
dschmidt wants to merge 2 commits into
mainfrom
feat/driveitem-media-facets

Conversation

@dschmidt

@dschmidt dschmidt commented Sep 3, 2026

Copy link
Copy Markdown

PROPFIND can only render a facet whose keys it knows. Adds the three the graph API already has:

  • oc:video
  • oc:motion-photo
  • oc:live-photo

Wired like audio/location/image/photo, keys taken from the libregraph models.

Counterpart to opencloud-eu/opencloud#3201, cs3org#3200 and cs3org#3202. Graph-only facets (lockInfo, shareTypes, allowedValues) stay out.

@dschmidt
dschmidt marked this pull request as ready for review September 3, 2026 01:17
@dschmidt
dschmidt requested review from butonic and micbar September 3, 2026 01:49
@butonic

butonic commented Sep 3, 2026

Copy link
Copy Markdown
Member

Personally, I would not add features to webdav. Otherwise, if clients want these properties the incentive to move to graph is gone. I would actually strip down webdav to a point where it no longer carries opencloud specific properties and just exists as a legacy mechanism for file access. Wishful thinking ... I know ...

@dschmidt

dschmidt commented Sep 3, 2026

Copy link
Copy Markdown
Author

You know I'm pushing the graph api very hard so we can switch web over asap - independent of the new facets.

It would still make me very happy if I could work on the motion photos feature in the web ui in parallel anyway.

Once we switched over I'm happy to get rid of these facets again

@butonic

butonic commented Sep 3, 2026

Copy link
Copy Markdown
Member

https://ci.opencloud.rocks/repos/4/pipeline/586/19

Running Suite: Json Suite - /go/src/github.com/opencloud-eu/reva/pkg/share/manager/jsoncs3
==========================================================================================
Random Seed: 1788434421

Will run 43 of 43 specs
••••••••••••••••••••••••••••••••••••••••••
------------------------------
• [FAILED] [0.007 seconds]
CleanupStaleShares [It] returns a migration timeout
/go/src/github.com/opencloud-eu/reva/pkg/share/manager/jsoncs3/jsoncs3_test.go:1156

  [FAILED] Expected
      <string>: share manager not yet initialized: context deadline exceeded
  to contain substring
      <string>: share manager migrations did not complete
  In [It] at: /go/src/github.com/opencloud-eu/reva/pkg/share/manager/jsoncs3/jsoncs3_test.go:1171 @ 09/03/26 11:20:21.915
------------------------------

Summarizing 1 Failure:
  [FAIL] CleanupStaleShares [It] returns a migration timeout
  /go/src/github.com/opencloud-eu/reva/pkg/share/manager/jsoncs3/jsoncs3_test.go:1171

Ran 43 of 43 Specs in 0.745 seconds
FAIL! -- 42 Passed | 1 Failed | 0 Pending | 0 Skipped

hmmm flaky? not yet initialized 🤔

@dschmidt

dschmidt commented Sep 3, 2026

Copy link
Copy Markdown
Author

Not our test — the spec races with itself. New() initializes the metadata storage in a background goroutine, and the spec starts its 1ms context right after, so CleanupStaleShares can still be in waitForInit when the context expires and reports "not yet initialized" instead of reaching waitForMigrations. Reproducible with CPU load: 21 of 40 runs failed. Fix in #792.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants