Skip to content

fix(dub): carry rounded timestamp seconds into minutes - #2661

Open
rudycelekli wants to merge 1 commit into
debpalash:mainfrom
rudycelekli:fix/dub-timestamp-rounding-carry-20261006
Open

rudycelekli wants to merge 1 commit into
debpalash:mainfrom
rudycelekli:fix/dub-timestamp-rounding-carry-20261006

Conversation

@rudycelekli

@rudycelekli rudycelekli commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Formatting a timestamp such as 59.96 seconds calculates the minute before rounding the remaining seconds, producing 0:60.0 instead of 1:00.0. The same rounding issue occurs at later minute boundaries in shared labels and the active timeline formatter. Round to tenths before splitting minutes and seconds. This affects display labels, not audio or export timing.

Closes #2660.

Changes

  • Round to tenths before decomposing timestamps; share the formatter with the active timeline.
  • Synchronize relevant documentation and add a quiet credited Unreleased changelog entry.
  • No new UI strings or locale keys; maintained version files are unchanged.

Type

  • 🐛 Bug fix
  • ✨ New feature
  • ♻️ Refactor
  • 📝 Documentation
  • 🧪 Tests
  • 🔧 CI / Build
  • 🚀 Release prep

Testing

  • Hosted CI audit at 2026-10-06T12:35:20.584679+00:00: no failing latest checks; required CLA passes. All latest reported checks completed successfully. No upstream merge performed.

  • Focused shared formatter case fails before and passes after, covering minute/hour rounding boundaries; 5 unrelated utility cases skip. No React DOM/native UI or full typecheck run. Display-only fix.

  • git diff --check and the repository changelog style gate pass.

  • Focused JavaScript tests used Node 24.19.0 and a reused Vitest 5.0.1 runtime; this repository pins Vitest 4.1.11. No full build qualification is claimed.

  • Full backend suites and bun run check:electron were not run locally. The human CLA signature is registered and the required CLA status passes; hosted results are reported separately below.

Checklist

  • I've tested this locally
  • Every commit author has signed the CLA (the CLA check tells you how)
  • I've updated relevant documentation (if applicable)
  • No local machine paths, logs, or personal env details in this PR
  • Maintained version files are in sync (if an owner-requested bump): root package.json, pyproject.toml, backend/core/version.py, and lockfiles
  • If this PR changes runtime behavior, the regression fixture at tests/fixtures/omnivoice_data/ still loads green on the smoke-matrix CI job (macOS + Windows + Linux)

Release cadence

VoiceStudio ships continuous-to-main — no release candidates, no soak windows.
Every merged PR is immediately part of rolling source (main) and Docker
:latest. Electron artifact rehearsals validate desktop packages without publishing.
Version bumps require owner approval; validated releases are tagged from main
and published explicitly under the release checklist.
Users who want stability install an Electron release or pin Docker :stable.

Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 55 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: debpalash/VoiceStudio/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5f25fe84-c0da-4eff-9ce3-50c7c2dc782c
📥 Commits

Reviewing files that changed from the base of the PR and between 286f46b and 0758452.

📒 Files selected for processing (6)
  • CHANGELOG.md
  • docs/dubbing/export.md
  • electron/src/renderer/src/features/dub/dub-timeline.tsx
  • electron/src/shared/utils/format.d.ts
  • electron/src/shared/utils/format.js
  • electron/src/shared/utils/utils.test.js
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Retrigger

[Medium risk] Fixes timestamp rounding in the dubbing timeline display.

No merge-blocking issue was identified in the changed code.

Summary

The PR rounds elapsed time to tenths before splitting it into minutes and seconds, then uses that formatter in the Electron dubbing timeline.

  • Adds boundary regression cases and updates the changelog and dubbing documentation.

Reviews (1) · Last reviewed commit: "fix(dub): carry rounded timestamp second..."

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

All contributors on this pull request have signed the VoiceStudio CLA. Thank you!

@rudycelekli

Copy link
Copy Markdown
Contributor Author

I have read the VoiceStudio CLA 1.0 and I hereby sign it.

@rudycelekli

Copy link
Copy Markdown
Contributor Author

Recheck

1 similar comment
@rudycelekli

Copy link
Copy Markdown
Contributor Author

Recheck

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.

Dubbing timestamp labels can display 60.0 seconds within a minute

1 participant