Skip to content

Removed the user-facing GUI button "Rewind Segments" as per RFC #1752#1770

Open
hummelstrand wants to merge 1 commit into
mainfrom
deprecate-rewind-button
Open

Removed the user-facing GUI button "Rewind Segments" as per RFC #1752#1770
hummelstrand wants to merge 1 commit into
mainfrom
deprecate-rewind-button

Conversation

@hummelstrand

Copy link
Copy Markdown
Contributor

About the Contributor

This PR and RFC are championed by SuperFly.tv

Type of Contribution

This is a:

GUI improvement

Current Behavior

As per the RFC.

New Behavior

As per the RFC.

Testing

  • I have added one or more unit tests for this PR
  • I have updated the relevant unit tests
  • No unit test changes are needed for this PR

Affected areas

  • This PR affects the main Sofie GUI sidebar.

Time Frame

  • Not urgent, but we would like to get this merged into the in-development release.

Other Information

The functionality still exists in the code, this PR only removes the user-facing button.

Status

  • PR is ready to be reviewed.
  • The functionality has been tested by the author.
  • Relevant unit tests has been added / updated.
  • Relevant documentation (code comments, system documentation) has been added / updated.

…nctionality has been handled automatically for several years.

RFC: #1752
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@hummelstrand hummelstrand requested a review from jstarpl June 11, 2026 11:02
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8c7564a4-e251-483d-b24e-8d43d4616c40

📥 Commits

Reviewing files that changed from the base of the PR and between a4d3dbb and dd354f7.

📒 Files selected for processing (3)
  • packages/webui/src/client/lib/ui/icons/rewindAllSegmentsIcon.tsx
  • packages/webui/src/client/ui/RundownView.tsx
  • packages/webui/src/client/ui/RundownView/RundownRightHandControls.tsx
💤 Files with no reviewable changes (3)
  • packages/webui/src/client/lib/ui/icons/rewindAllSegmentsIcon.tsx
  • packages/webui/src/client/ui/RundownView/RundownRightHandControls.tsx
  • packages/webui/src/client/ui/RundownView.tsx

Walkthrough

The PR removes the "Rewind all Segments" control from the Rundown UI. The rewind icon component is deleted, its import is removed from RundownRightHandControls, the component prop is eliminated, and the rendered button is removed. The parent RundownView component ceases to define and pass the handler callback.

Changes

Rewind Segments Feature Removal

Layer / File(s) Summary
RundownRightHandControls contract and UI removal
packages/webui/src/client/ui/RundownView/RundownRightHandControls.tsx
RewindAllSegmentsIcon import, onRewindSegments optional prop, destructuring wiring, and rendered rewind button are removed. The component no longer offers rewind functionality in its right-hand status controls.
RundownView handler and prop wiring removal
packages/webui/src/client/ui/RundownView.tsx
The private onRewindSegments handler is removed and no longer passed to RundownRightHandControls. The onBeforeUnload handler is simplified to set only returnValue without returning the translated string.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Suggested labels

Contribution from SuperFly.tv

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: removal of the 'Rewind Segments' button from the GUI, and references the corresponding RFC.
Description check ✅ Passed The description is directly related to the changeset, explaining the purpose of removing the user-facing button while noting the underlying functionality remains.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch deprecate-rewind-button

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 and usage tips.

@hummelstrand hummelstrand added Contribution from SuperFly.tv Contributions sponsored by SuperFly.tv Contribution External contribution RFC Concluded 👍 A conclusion has been reached. RFC will stay open while waiting for implementations, for visibility. labels Jun 11, 2026
@sonarqubecloud

Copy link
Copy Markdown

@jstarpl jstarpl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code itself is fine, and the RFC is "Concluded", but I do have one note: the button did two things: rewind the segments & execute "zoom fit to view" on all Segments. I think it would be nice if there was still a way to reset the zoom state of all the segments, if that got messed up somehow. Or maybe we should make the Segment scroll & zoom level not persistent? So that all it takes to fix it, is to scroll away and come back?

@hummelstrand

Copy link
Copy Markdown
Contributor Author

While a "zoom all segments to fit" button might be useful for a power user, I'd argue against resetting the zoom level on each segment that is scrolled out of view.

If the user deliberately sets the zoom level of a segment it would be really annoying to have Sofie change it back to default as soon as you scrolled. Use case: comparing two parts in separate segments. And by extension; if the user has deliberately zoomed in to a segment, that means the user has found the GUI elements for the segment zoom control, meaning that if they want to change it again they should already know where to find the controls for doing so.

A power user feature that could potentially be added would be to add a keyboard modifier to the "zoom to fit" button which would reset all segments.

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

Labels

Contribution from SuperFly.tv Contributions sponsored by SuperFly.tv Contribution External contribution RFC Concluded 👍 A conclusion has been reached. RFC will stay open while waiting for implementations, for visibility.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants