Skip to content

Dropbox: return video durations and image thumbnails#11

Closed
mbyrdLCS wants to merge 1 commit into
mainfrom
dropbox-media-info
Closed

Dropbox: return video durations and image thumbnails#11
mbyrdLCS wants to merge 1 commit into
mainfrom
dropbox-media-info

Conversation

@mbyrdLCS

@mbyrdLCS mbyrdLCS commented Jul 7, 2026

Copy link
Copy Markdown

The Dropbox provider returned no seconds and no thumbnail on any file, so consumers (B1Admin Service Order, FreePlay) showed placeholder icons and 0:00 for everything.

What changed

  • list_folder is now called with include_media_info: true, and video files map media_info.metadata.duration (ms) → ContentFile.seconds. Guarded for media_info: pending (Dropbox still processing).
  • Images use their shared raw link as thumbnail — it's the same URL already being created, so zero additional API calls.
  • Images deliberately get no duration and videos no thumbnail: image display length is an operator decision (FreePlay keeps them up until advanced), and Dropbox video thumbnails require an authed byte fetch that can't be expressed as a URL — consumers can paint a first frame from url instead.

Testing

  • yarn build clean, all 21 existing tests pass
  • Companion UI change consuming this data: ChurchApps/B1Admin PR #415

🤖 Generated with Claude Code

- list_folder now requests include_media_info so video files carry their
  real duration (media_info.metadata.duration -> ContentFile.seconds)
- images use their shared raw link as the thumbnail (no extra API calls);
  videos intentionally get no duration default or thumbnail so playback
  apps keep the operator in control and can paint a first frame client-side

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mbyrdLCS

mbyrdLCS commented Jul 7, 2026

Copy link
Copy Markdown
Author

Note on the failing CI check: this is pre-existing breakage on main, not from this PR. Every run on main today fails identically — the apihelper workspace can't resolve @churchapps/helpers (TS2307 in src/helpers/index.ts) and the topological build stops there before reaching content-providers. This PR only touches content-providers/src/providers/dropbox; locally the package builds clean and all 21 tests pass.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant