Commit Graph
1048 Commits
Author SHA1 Message Date
Sid 4ce7af4f25 Merge pull request #589 from parse-nip/feature/video-transcriptions
Feature/video transcriptions
2026-06-01 20:51:06 -07:00
Siddharth e5462f1ac8 captions: run Whisper in a Web Worker, move auto-captions button to timeline
Move model load and transcription off the renderer main thread into a
dedicated worker (transcribe.worker.ts + transcribeCore.ts) so the editor
UI no longer freezes during captioning. Relocate the auto-captions action
from the editor header into the timeline toolbar, and add the missing
it/pt-BR/ru/vi autoCaptions translations.
2026-06-01 20:42:41 -07:00
Sid 94a00c0abf Merge pull request #673 from kaili-yang/docs/mac-native-cursor
docs: add macOS native cursor capture test pipeline
2026-06-01 19:13:21 -07:00
Sid 6873b808d5 Merge pull request #631 from AjTheSpidey/codex/source-selector-test-hooks
test: expose source selector hooks
2026-06-01 19:01:29 -07:00
Sid 9a83062302 Merge pull request #633 from AjTheSpidey/codex/webcam-mirror-toggle
Add webcam mirror toggle
2026-06-01 18:59:38 -07:00
Kelly Yang a280179988 docs: fix three inaccuracies flagged by bot reviews
- Unify sidecar key name to camelCase cursorRecordingData (was mixing
  cursor-recording-data and cursorRecordingData in the same checklist)
- Graceful-degradation test now removes both binary copies so the
  missing-helper fallback is actually exercised (build/ and bin/darwin-*)
- Healthy recording section points to <videoPath>.cursor.json sidecar
  instead of the .openscreen project file, which does not embed cursor data
2026-05-31 20:23:38 -07:00
AjTheSpidey a18dc39bab Merge upstream main into source selector test hooks 2026-06-01 09:42:36 +08:00
AjTheSpidey b56daaee3e Merge upstream main into webcam mirror toggle 2026-06-01 09:39:02 +08:00
Kelly Yang 53be8df129 docs: add macOS native cursor capture test pipeline
Documents the cursor helper binary, permissions, manual test checklist,
expected sidecar shape, and known limitations for the darwin native
cursor path.
2026-05-31 17:14:41 -07:00
Siddharth 0ab085961f Merge remote-tracking branch 'origin/main' into feature/video-transcriptions
# Conflicts:
#	src/i18n/locales/ar/editor.json
#	src/i18n/locales/en/editor.json
#	src/i18n/locales/es/editor.json
#	src/i18n/locales/fr/editor.json
#	src/i18n/locales/ja-JP/editor.json
#	src/i18n/locales/ko-KR/editor.json
#	src/i18n/locales/tr/editor.json
#	src/i18n/locales/zh-CN/editor.json
#	src/i18n/locales/zh-TW/editor.json
2026-05-31 11:09:25 -07:00
Sid d2dd44ad3b Merge pull request #577 from makaradam/feature/open-studio-and-import
Studio Dasboard with Separated UI for future scalability and Fixes
2026-05-31 09:18:26 -07:00
makaradam 0f554e72ae test: import jest-dom matchers in SourceSelector test
SourceSelector.test.tsx uses toBeInTheDocument but never imported
@testing-library/jest-dom, and vitest.config.ts has no setupFiles to
register the matchers globally. It only passed when test ordering
happened to leak the matcher from another file, making CI intermittently
red on main (e.g. the #652 merge). Importing jest-dom directly makes the
test self-sufficient and deterministic.
2026-05-31 09:48:21 +02:00
makaradam 00191c479e feat(editor): Studio Dashboard empty state + project lifecycle
- EditorEmptyState shown when no video is loaded: Import Video, Load
  Project, and drag-drop of .openscreen files.
- "Open Studio" button in the recording HUD (replaces the two separate
  open-video / open-project buttons).
- New Project flow that clears back to the dashboard, prompting to save
  on unsaved changes; Load Project now prompts too (variant-aware dialog).
- Rebuilt on current main, preserving main's export refactor, cursor-clip
  / zoom-preview / trim-waveform work and the vertical/horizontal HUD tray.
2026-05-31 09:40:21 +02:00
makaradam 34ef71b363 feat(electron): project import/new-project IPC, menu wiring, HUD/editor anti-flash
- preload + native bridge: getPathForFile, loadProjectFileFromPath, and
  onMenuNewProject / onMenuImportVideo listeners.
- main process: New Project File-menu item (Cmd/Ctrl+N) + menu-new-project.
- handlers: broaden import video formats (.m4v, .wmv, .flv, .ts).
- windows: keep main's HUD geometry + draggable handler; re-apply the
  show-on-ready-to-show anti-flash for the HUD and editor windows.
2026-05-31 09:40:21 +02:00
makaradam 1f43ef8004 i18n: add Studio Dashboard, New Project, and import strings across locales 2026-05-31 09:40:20 +02:00
Sid c491b7ca68 Merge pull request #652 from kimsr96/main
Fix screen source selection recovery flow
2026-05-30 14:29:18 -07:00
Sid 2cacedf0a0 Merge pull request #664 from enstie/font-animation
Add text animation presets for annotations
2026-05-30 14:26:42 -07:00
Sid 180a1eafd5 Merge pull request #515 from AbhinRustagi/feature/timeline-handle-snap
Add Timeline Snap Guides
2026-05-30 14:06:41 -07:00
Sid 19be540053 Merge pull request #648 from Arunsiva003/feature/vertical-menu-tray-layout
Add vertical tray layout toggle
2026-05-30 14:04:23 -07:00
Sid 324f4e01d7 Merge pull request #671 from kaili-yang/mac-native-cursor-capture
feat: native macOS cursor capture using NSCursor
2026-05-30 14:04:10 -07:00
Siddharth ff767a5e86 Fix tutorial help translations test for pt-BR locale
Add pt-BR to the dialogsByLocale map so the test covers the
newly added locale instead of crashing on an undefined entry.
2026-05-30 13:43:07 -07:00
arunkumar.a 993f693b5c Refine vertical tray appearance 2026-05-30 20:48:03 +05:30
Justice Entsie fb49ee1f1c Add Portuguese (pt-BR) dialogs to tutorial help translations 2026-05-30 14:47:39 +01:00
Justice Entsie 82b41da2d8 Add Portuguese (pt-BR) dialogs to tutorial help translations 2026-05-30 14:31:48 +01:00
Justice Entsie 2aa6e90edb Refactor text animation options to use translation keys for localization 2026-05-30 13:23:15 +01:00
Justice Entsieandcoderabbitai[bot] c34a600138 Update src/i18n/locales/ko-KR/settings.json
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-05-30 12:59:11 +01:00
Justice Entsie 0b06900a9c Add textAnimation keys to ja-JP, ko-KR, and ru locales 2026-05-30 11:54:01 +00:00
Justice Entsie c0702b5e91 Add text animation i18n keys to all locale files 2026-05-30 11:48:29 +00:00
Justice Entsie 928e1c5e01 Merge branch 'siddharthvaddem:main' into font-animation 2026-05-30 11:21:34 +00:00
Justice Entsie 545c35d4cd chore: format codebase and update i18n locale files 2026-05-30 12:13:38 +01:00
Kelly Yang eac5cc63b4 fix: address review comments on PR #671
- Replace lastEmittedAssetId with a process-wide Set<String> so each unique
  cursor shape is serialised at most once even across non-adjacent repeats
  (e.g. arrow → text → arrow no longer resends the arrow bitmap)
- Wrap the sampling loop body in autoreleasepool{} to prevent Cocoa objects
  (NSBitmapImageRep, PNG Data, base64 String) from accumulating for the
  lifetime of the helper during long recordings
- Update stale Accessibility comments: missing Accessibility only disables
  text/pointer affordance detection; native bitmap capture is unaffected
2026-05-29 13:48:44 -07:00
Kelly Yang e82fc0d8cc feat: capture native cursor bitmaps on macOS
Capture the real system cursor image during macOS recording so custom and
default cursors render natively instead of being mapped to bundled SVGs,
bringing macOS in line with the Windows WGC capture path.

- macOS cursor helper grabs NSCursor.currentSystem as a PNG asset (SHA256 id,
  intrinsic scale factor, pixel hotspot); the bitmap payload is emitted once per
  shape and referenced by assetId thereafter
- helper returns nil cursorType instead of an arrow fallback so default/custom
  cursors fall through to the captured bitmap while text/pointer stay beautified
- MacNativeCursorRecordingSession collects deduped assets, tags samples with
  assetId, and reports provider "native" when bitmaps are captured
2026-05-29 11:33:01 -07:00
Sid cf74b76d39 Merge pull request #581 from nxc-7/feat/pt-BR-translation
feat: add Brazilian Portuguese (pt-BR) translation
2026-05-28 22:05:53 -07:00
Sid afc76c368f Merge branch 'main' into feat/pt-BR-translation 2026-05-28 22:05:36 -07:00
Sid 0abe134218 Merge pull request #647 from davideme/claude/trusting-mcnulty-1089a4
Add Waveform as Background of the Trim Track - Easier to size the Trim
2026-05-28 21:17:44 -07:00
Sid 391817d648 Merge pull request #663 from enstie/font-addition
Add more built-in annotation font options
2026-05-28 21:12:33 -07:00
Sid df6c821700 Merge pull request #665 from zhenya-band/feature/keyboard-shortcut-to-open-OpenScreen
feat: add configurable global shortcut to open app
2026-05-28 21:10:25 -07:00
Sid dd2513d958 Merge pull request #667 from zhenya-band/fix/shortcuts-reset-button-hover-text
fix: remove conflicting hover style from shortcuts reset button
2026-05-28 21:07:39 -07:00
Yauheni Bandziukevich ed5ef32280 fix: remove conflicting hover style from shortcuts reset button 2026-05-28 23:42:27 +02:00
Yauheni Bandziukevich ff40a73a1b fix: keep shortcuts dialog open on registration failure 2026-05-28 23:21:41 +02:00
Yauheni Bandziukevich 59c9a19269 fix: preserve working shortcut when new registration fails 2026-05-28 23:18:35 +02:00
Yauheni Bandziukevich 902d4e4d8a fix: show error feedback when global shortcut registration fails 2026-05-28 23:09:51 +02:00
Yauheni Bandziukevich d86c17407a fix: convert special keys to valid Electron accelerators
Maps KeyboardEvent.key values (e.g., "ArrowDown", " ") to their
Electron accelerator equivalents (e.g., "Down", "Space") to prevent
global shortcut registration failures.
2026-05-28 22:11:38 +02:00
Yauheni Bandziukevich f1a8552046 refactor: update ShortcutBinding import path in main and preload scripts 2026-05-28 21:50:55 +02:00
Yauheni Bandziukevich 480890bcce feat: add configurable global shortcut to open app 2026-05-28 21:50:53 +02:00
Justice Entsie 62000c6dcf Add text animation presets for annotations 2026-05-28 20:07:03 +01:00
Justice Entsie 202c670090 Add more built-in annotation font options 2026-05-28 19:14:47 +01:00
Davide Mendolia 3d572b272d Merge branch 'siddharthvaddem:main' into claude/trusting-mcnulty-1089a4 2026-05-28 09:51:14 +02:00
Davide MendoliaandClaude Sonnet 4.6 fca17f901e revert(timeline): restore polygon waveform, remove per-column bar approach
The per-column fillRect skipped columns with amplitude < 0.5 px, causing
the waveform to disappear entirely at certain zoom levels. Revert to the
closed polygon + top-edge stroke which always renders something.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 09:50:24 +02:00
Davide MendoliaandClaude Sonnet 4.6 abb4413932 fix(timeline): correct waveform vertical alignment and silent baseline
Two fixes:
1. topInset/bottomInset both set to 3 — items are center-aligned in the
   36 px row (3 px gap top and bottom), so the drawing zone must match.
   topInset=0 was drawing 3 px above the trim box top.
2. Replace closed polygon with per-column fillRect so silent sections
   (barH < 0.5 px) produce no pixels instead of a flat green baseline.
   The top-edge stroke lifts the pen across silent gaps.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 09:45:14 +02:00