Skip to content

Dev#477

Closed
Liu-Hsin wants to merge 2 commits intosiddharthvaddem:mainfrom
Liu-Hsin:dev
Closed

Dev#477
Liu-Hsin wants to merge 2 commits intosiddharthvaddem:mainfrom
Liu-Hsin:dev

Conversation

@Liu-Hsin
Copy link
Copy Markdown

@Liu-Hsin Liu-Hsin commented Apr 20, 2026

Pull Request Template

Description

Motivation

Type of Change

  • New Feature
  • Bug Fix
  • Refactor / Code Cleanup
  • Documentation Update
  • Other (please specify)

Related Issue(s)

Screenshots / Video

Screenshot (if applicable):

![Screenshot Description](path/to/screenshot.png)

Video (if applicable):

<video src="path/to/video.mp4" controls width="600"></video>

Testing

Checklist

  • I have performed a self-review of my code.
  • I have added any necessary screenshots or videos.
  • I have linked related issue(s) and updated the changelog if applicable.

Thank you for contributing!

Summary by CodeRabbit

  • Refactor
    • Redesigned recording HUD with a simplified compact interface replacing the full-screen layout
    • Streamlined source selector with updated layout and rendering
    • Restructured settings panel with consolidated controls and organization
    • Simplified export dialog interface with cleaner progress display
    • Updated annotation settings panel with redesigned color picker
    • Redesigned keyboard shortcuts help with updated display format

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 20, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2b664e64-6264-4287-bf76-5f01a44128e5

📥 Commits

Reviewing files that changed from the base of the PR and between 2b1c931 and 2c0709f.

📒 Files selected for processing (9)
  • src/components/launch/LaunchWindow.tsx
  • src/components/launch/SourceSelector.tsx
  • src/components/video-editor/AnnotationOverlay.tsx
  • src/components/video-editor/AnnotationSettingsPanel.tsx
  • src/components/video-editor/ExportDialog.tsx
  • src/components/video-editor/KeyboardShortcutsHelp.tsx
  • src/components/video-editor/SettingsPanel.tsx
  • src/components/video-editor/VideoEditor.tsx
  • tsconfig.json

📝 Walkthrough

Walkthrough

This PR removes internationalization support and simplifies multiple UI components across the video editor and launch window. Changes include redesigning the recording HUD with a simplified horizontal bar, replacing data-driven localized interfaces with hardcoded English text, refactoring color picker logic, and adding a TypeScript deprecation suppression config.

Changes

Cohort / File(s) Summary
Recording Interface Overhaul
src/components/launch/LaunchWindow.tsx
Rewrote recording HUD from full-featured bottom-centered layout to compact horizontal bar; replaced elapsed time calculation with local timer-driven state; removed language menu overlay completely; updated source polling to use repeating 500ms interval.
UI Localization Removal
src/components/video-editor/AnnotationSettingsPanel.tsx, src/components/video-editor/ExportDialog.tsx, src/components/video-editor/KeyboardShortcutsHelp.tsx, src/components/video-editor/SettingsPanel.tsx
Replaced i18n-driven labels, tooltips, and messages with hardcoded English strings; removed translation function calls throughout; simplified conditional rendering logic in favor of fixed UI layouts.
Selection & Display Updates
src/components/launch/SourceSelector.tsx, src/components/video-editor/AnnotationOverlay.tsx
Refactored SourceSelector with simplified layout (centered column, constrained width) and updated selection logic; changed footer controls to outlined border buttons. Converted AnnotationOverlay quote styles for consistency (single vs. double quotes).
Editor Config & Minor Updates
src/components/video-editor/VideoEditor.tsx, tsconfig.json
Changed loading text to Chinese; added TypeScript ignoreDeprecations option for version 6.0.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~70 minutes

This is kinda cursed—you've got six components getting the i18n ripped out simultaneously, two major UI rewrites (LaunchWindow HUD + SettingsPanel), and a hefty pile of heterogeneous logic changes. The lowkey risky part is the timer logic in LaunchWindow and the color picker rework in AnnotationSettingsPanel—both need careful logic review. The scope is broad and the changes don't follow a single pattern, so reviewers gotta context-switch between recording timers, color pickers, layout refactors, and config changes. High cognitive load overall.

Possibly related PRs

Suggested reviewers

  • siddharthvaddem

Poem

🌙 at 2am, translations go poof,
hardcoded text becomes the proof,
HUD shrinks down to a slender bar,
timers tick from near and far—
simpler's not always cleaner, friend,
but hey, let's see where this wends 🎬


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.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2c0709fbfc

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread tsconfig.json
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,
"ignoreDeprecations": "6.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P0 Badge Set ignoreDeprecations to a supported TypeScript version

The new "ignoreDeprecations": "6.0" value is not accepted by the repository’s TypeScript toolchain, so tsc exits immediately with TS5103 and the build pipeline cannot proceed. This blocks all downstream checks until the option is removed or changed to a supported value.

Useful? React with 👍 / 👎.

Comment on lines +189 to +192
if (!recordingStart) setRecordingStart(Date.now());
timer = setInterval(() => {
if (recordingStart) {
setElapsed(Math.floor((Date.now() - recordingStart) / 1000));
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Declare recording timer state before using it in LaunchWindow

This effect references recordingStart/setRecordingStart/setElapsed without any corresponding state declarations in the component, so the launch window no longer type-checks. In strict TS builds this fails compilation before runtime, preventing the updated HUD from shipping.

Useful? React with 👍 / 👎.

Comment on lines +87 to +88
<Card
key={source.id}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Import Card before rendering source tiles

The new source grid now renders <Card> elements, but Card is never imported or defined in this file. That introduces an immediate compile-time failure for the source selector view.

Useful? React with 👍 / 👎.

</div>
<div className="flex items-center justify-between">
<span className="text-slate-400">Delete Selected</span>
<kbd className="px-1 py-0.5 bg-white/5 border border-white/10 rounded text-[#34B27B] font-mono">{shortcuts.delete}</kbd>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Use valid ShortcutsConfig keys in shortcut help

The tooltip now reads shortcuts.delete, shortcuts.pan, and shortcuts.zoom, but ShortcutsConfig only defines keys like deleteSelected and has no pan/zoom entries. This breaks type-checking and would render undefined bindings if forced through.

Useful? React with 👍 / 👎.

Comment on lines +372 to +376
<Colorful
color={textColorHsva}
disableAlpha={true}
onChange={(color) => {
setTextColorHsva(color.hsva);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Add missing color-picker state/imports in annotation panel

The panel was switched to Colorful/HSVA-based updates, but this file does not declare or import Colorful, textColorHsva, setTextColorHsva, or hsvaToHex. As written, the annotation settings panel fails to compile and color editing is broken.

Useful? React with 👍 / 👎.

Comment on lines +641 to +642
checked={motionBlurEnabled}
onCheckedChange={onMotionBlurChange}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Replace undefined motionBlurEnabled in SettingsPanel

This switch binds checked to motionBlurEnabled, but no such variable exists in the component props or local state. The settings panel therefore fails strict TypeScript compilation in its current form.

Useful? React with 👍 / 👎.

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