openvibers/openvibe.media Commits

Emit is_public alongside visibility in vodPublic/clipPublic

OP OpenVibers committed 17 Aug 2026 · 1e8e3dcbdb · 2 files, +5 −0

The inherited SPA (manager badges, visibility toggles, filters) reads the
boolean; omitting it rendered every VOD/clip as Private in the owner's manager
even though everything was public in the DB.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Xw6Sf5zzSALw8m93XNu5JE

Changes

ddiff --git a/server/vod/clips-routes.js b/server/vod/clips-routes.js
iindex b7a95c7..1bf264e 100644
---- a/server/vod/clips-routes.js
++++ b/server/vod/clips-routes.js
@@@ -74,6 +74,7 @@ function clipPublic(clip) {
playback_url: `/c/${clip.id}`,
thumbnail_url: clip.thumbnail_url || null,
visibility: clip.visibility || 'public',
++ is_public: (clip.visibility || (clip.is_public ? 'public' : 'private')) === 'public',
storage_provider: clip.storage_provider || 'local',
auto_generated: !!clip.auto_generated,
view_count: clip.view_count || 0,
ddiff --git a/server/vod/finalize.js b/server/vod/finalize.js
iindex 1685b4c..eafd7cd 100644
---- a/server/vod/finalize.js
++++ b/server/vod/finalize.js
@@@ -47,6 +47,10 @@ function vodPublic(vod) {
thumbnail_url: vod.thumbnail_url || null,
storage_provider: vod.storage_provider || 'local',
visibility: vod.visibility || 'public',
++ // Kept alongside visibility — inherited SPA surfaces (manager badges,
++ // visibility toggles) read the boolean, and omitting it rendered every
++ // VOD as "Private" in the owner's manager.
++ is_public: (vod.visibility || (vod.is_public ? 'public' : 'private')) === 'public',
health_status: vod.health_status,
clips_only: !!vod.clips_only,
is_recording: !!vod.is_recording,