Skip to content

feat(activity-feed-v2): sync sidebar timestamps with video time format#1

Open
kduncanhsu wants to merge 11 commits into
masterfrom
kduncanhsu/sync-timestamp-to-comments
Open

feat(activity-feed-v2): sync sidebar timestamps with video time format#1
kduncanhsu wants to merge 11 commits into
masterfrom
kduncanhsu/sync-timestamp-to-comments

Conversation

@kduncanhsu

Copy link
Copy Markdown
Owner

Summary

  • Sidebar comment timestamps (editor checkbox and posted comment badges) now respect the time format selected in the video player controls (standard, timecode, or frame numbers)
  • Adds useTimeFormat hook that observes data-time-format and data-fps attributes on .bp-media-container via MutationObserver
  • Adds convertMillisecondsToTimecode and convertMillisecondsToFrames to timestamp utils

Test plan

  • All existing tests pass (264 total across activity-feed-v2 + timestamp utils)
  • New useTimeFormat hook tests (11 tests) — initial read, reactive updates, late container, fallbacks, disable reset
  • New useVideoTimestamp format integration tests (4 tests) — timecode/frames formatting, live format switch
  • New FeedItemRow badge format tests (6 tests) — comment/annotation badges update per format
  • New timestamp utils tests (11 tests) — convertMillisecondsToTimecode and convertMillisecondsToFrames
  • Manual: open video with sidebar, change time format dropdown, verify checkbox timestamp and posted comment badges update

olehrybak and others added 6 commits June 16, 2026 09:15
…ems list (box#4623)

* feat(content-uploader): pass version_number to modernized uploader items list

* feat: bump uploads-manager package

* feat: bump @box/item-icon version

* feat: bump @box/item-icon version

* fix: bump @box/item-icon version
…eview button (box#4627)

* feat(content-uploader): add support for item share button and open preview button

* feat(content-uploader): add support for item share button and open preview button

* feat(content-uploader): fix test to check default param of undefined

* feat(content-uploader): remove undefined value as it is by default undefined already

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.5...v4.0.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 14.1.1 to 14.2.0.
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](markdown-it/markdown-it@14.1.1...14.2.0)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-version: 14.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* feat(content-uploader): controlled expanded state

* feat(content-uploader): run onToggle uncontrolled

* test(content-uploader): controlled-mode assertions

* refactor(content-uploader): simplify branching

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
@kduncanhsu
kduncanhsu force-pushed the kduncanhsu/sync-timestamp-to-comments branch from 23e2093 to c4307d0 Compare June 16, 2026 23:38
…ox#4628)

* feat: implement open/closing logic for modernized content uploader

* test: update storybook

* fix: avoid starting timer on every re-render
@kduncanhsu
kduncanhsu force-pushed the kduncanhsu/sync-timestamp-to-comments branch from 1ba5ccc to a42a9e5 Compare June 17, 2026 23:56
…omment (box#4638)

Video comments encode the frame timestamp inline as a
#[timestamp:NNN,versionId:NNN] markup prefix on the comment message.
The transformer strips that prefix for display, but the editor only
contains the visible text, so editing the comment dropped the markup
from the payload and the badge was lost.

Capture the original markup token in extractTimestampMarkup, store it
on TransformedCommentItem, and re-prepend it to the serialized text
when the root comment is edited. Replies and non-timestamped comments
are unchanged.

Co-authored-by: Jackie Jou <jackiejou@users.noreply.github.com>
@kduncanhsu
kduncanhsu force-pushed the kduncanhsu/sync-timestamp-to-comments branch 3 times, most recently from bfc56c0 to ffd7ec5 Compare June 18, 2026 00:24
Sidebar comment timestamps (both the editor checkbox and posted comment
badges) now respect the time format selected in the video player controls
(standard, timecode, or frame numbers). Communication uses data attributes
on .bp-media-container observed via MutationObserver.
@kduncanhsu
kduncanhsu force-pushed the kduncanhsu/sync-timestamp-to-comments branch from ffd7ec5 to 84e2f4c Compare June 18, 2026 00:43
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.

6 participants