Commit Graph
90 Commits
Author SHA1 Message Date
webadderall 91cadd2b7a Fix missing WasapiCapture pause and resume methods 2026-03-19 19:53:44 +11:00
webadderall c8cbd05729 Selective merge of Windows system cursor fix #66 2026-03-19 11:10:44 +11:00
webadderall aac78cdbe1 Revert "Hide cursor for native Windows capture"
This reverts commit bb6d7a6889.
2026-03-19 00:19:18 +11:00
webadderall bb6d7a6889 Hide cursor for native Windows capture 2026-03-19 00:16:50 +11:00
webadderall 3ff7f7aef1 Fix Windows DXGI capture helper flow 2026-03-19 00:05:58 +11:00
webadderall 8a5339549d feat(windows): replace WGC with DXGI and fix HUD window bounds 2026-03-18 22:11:10 +11:00
webadderall 285ca3a983 fix: restore cursor fallback and mac mic selection 2026-03-18 21:19:00 +11:00
webadderall 224f35c64e fix: re-release v1.1.1 mic capture + hud position 2026-03-18 21:00:39 +11:00
webadderall 440aef95ab Refine HUD menu controls and positioning 2026-03-18 18:36:25 +11:00
webadderall e064f738ae Pause native screen capture across platforms 2026-03-18 18:36:25 +11:00
Gurpreet Kait b9fcaa3a39 - tests driven
- language support
- webcame pause/resume sync
- native recording pause
- cancel (clears chunks and stops both recoders and webcame discarded on native cancel
- full lifecycle with webcame - pause - resume - stop keeps webcame in sync throughout
2026-03-18 11:59:58 +05:30
Gurpreet Kait 697de069d1 Merge branch 'main' into feature/ui-improvements 2026-03-18 10:58:56 +05:30
Gurpreet Kait 81ce72aca7 Merge branch 'main' into feature/ui-improvements 2026-03-18 10:39:07 +05:30
webadderall 2ea1cd56fd fix: restore background toggle and parent save dialog 2026-03-18 14:26:42 +11:00
webadderall 9f5d04de4f feat: add webcam overlay editing and export support 2026-03-18 14:26:42 +11:00
Gurpreet Kait 5196811b85 - Fix dropdown menu pushing HUD bar down by using 100vh height container
with flex layout that reserves space above the bar for menu cards
  - Increase HUD window size to 620x520 for menu card headroom
  - Replace mic on/off toggle with mic selector card showing all available
    microphones with live audio level meters per device
  - Remove old separate mic controls panel
  - Increase bar size with larger buttons, padding, and separators
  - Fix TS null safety in stopRecording MediaRecorder accessfix
2026-03-17 20:54:49 +05:30
Gurpreet Kait 72bf06c00d - Redesign HUD overlay bar with dark glassmorphism aesthetic and inline source dropdown
- Add pause, resume, and cancel recording controls with elapsed timer
  - Move folder, language, and system audio into three-dots overflow menu with source highlight
  wave
2026-03-17 16:05:23 +05:30
KBCats df1d24f4a5 merge main into feat/cursor-sway 2026-03-16 08:57:03 -07:00
webadderall 3169995c68 Revert "fix(macos): keep sources visible when thumbnails are unavailable"
This reverts commit f7189ebec6.
2026-03-16 22:54:59 +11:00
webadderall f7189ebec6 fix(macos): keep sources visible when thumbnails are unavailable 2026-03-16 22:53:13 +11:00
webadderall 800691c598 fix(linux): restore cursor follow with linux bounds + hook mouse cache 2026-03-16 22:34:39 +11:00
webadderall fd8319a682 fix(comment): correct hide-cursor handler explanation for WGC/SCK/Linux 2026-03-16 22:18:21 +11:00
webadderall 2eee911941 Merge pull request #32 from kmr-varun/feature/countdown-timer
feat: add countdown timer before recording starts
2026-03-16 17:03:18 +11:00
Varun Kumar 1265578d4e fix(countdown): prevent overlapping timers with in-flight lock
- Add countdownInProgress flag in IPC handler to reject concurrent starts
- Add countdownActive state in renderer to block re-entry
- Disable Record button while countdown is active
2026-03-16 10:06:07 +05:30
KBCats 7e29c1477e fix(hud): persist capture hiding review fixes 2026-03-15 20:36:27 -07:00
webadderall 44a5ed0518 Merge pull request #20 from aarjn/feat/audio
Feat/audio
2026-03-16 13:14:19 +11:00
webadderall 0feffed7fc Merge pull request #30 from paramientos/fix-issue-11
fix(windows): prevent window flash on startup by deferring show until…
2026-03-16 13:01:33 +11:00
webadderall 1329c4c08a Merge pull request #29 from paramientos/fix-swift-helper-issue
fix(macos): add explicit target architecture to Swift helper builds
2026-03-16 12:57:55 +11:00
KBCats 3e343db2dd fix(editor): polish cursor sway and HUD capture controls
Keep the recording HUD visible on screen without burning it into captures, and make cursor sway match cursor motion while preserving the old 2x strength at the new 1x slider position.
2026-03-15 18:12:38 -07:00
firtoz 3641818f49 fix(tray): single-click opens window and brings it to front; Linux/Wayland focus workaround
- Add tray.on('click') to call focusOrCreateMainWindow() so left-click
  on the systray icon opens/focuses the app on all platforms (was
  previously only possible via right-click → Open).
- On Linux/Wayland, compositors often ignore focus() for security;
  Electron's tray does not yet handle ProvideXdgActivationToken like
  Qt apps (e.g. Telegram). Workaround: when the HUD exists but is
  not focused, destroy and recreate it so the new window receives
  focus (creation path works). Applied only for the HUD overlay, not
  the editor.
- Reorder: show() before restore(), then moveTop(), focus() for
  more reliable raise-on-restore.

Made-with: Cursor
2026-03-15 22:40:40 +00:00
Varun Kumar 390c4ecfab feat(recording): add configurable countdown timer before recording starts
- Add countdown delay setting (None, 3s, 5s, 10s) in HUD bar
- Show centered 200x200 countdown overlay visible on all workspaces
- Persist countdown delay preference across sessions
- Add i18n translations for countdown feature (en, es, zh-CN)
- Click or press ESC to cancel countdown
2026-03-16 00:12:44 +05:30
aras 8efb9377f2 fix(windows): prevent window flash on startup by deferring show until ready 2026-03-15 18:06:10 +03:00
aras 3584b026b9 fix(macos): add explicit target architecture to Swift helper builds
Added `-target` flag to swiftc compilation to explicitly specify arm64-apple-macos14.0 or x86_64-apple-macos14.0 based on process architecture, ensuring proper binary compilation for darwin-arm64 native helpers.
2026-03-15 18:01:14 +03:00
webadderall f0f1981729 fix(windows): prevent cursor monitor ENOENT crash and build helper in release 2026-03-15 23:28:00 +11:00
4rjunc 530485c67a feat: add handlers + preloads 2026-03-15 17:46:52 +05:30
tokenflow1m ed9675b161 fix: pin cursor state to arrow when native monitor is unavailable
When cursor-monitor.exe is missing, fails to spawn, or exits early,
keep cursorVisualType as 'arrow' instead of undefined. This prevents
the frontend from falling back to heuristic cursor type inference
which can produce incorrect results.
2026-03-15 18:57:51 +09:00
tokenflow1m 8e4f1acb96 fix: add missing <cstdio> include and flush stdout explicitly
Address Copilot review: include <cstdio> for std::setvbuf portability,
use std::endl instead of "\n" to guarantee flush on piped stdout.
2026-03-15 18:25:48 +09:00
tokenflow1m 192d3f3199 feat(windows): add native cursor type detection via cursor-monitor.exe
Build a standalone C++ helper (same pattern as wgc-capture) that polls
GetCursorInfo() every 50ms and emits STATE:<type> to stdout — identical
protocol to the macOS Swift helper. Windows recordings now capture
correct cursor types (text, pointer, resize, etc.) instead of always
falling back to arrow.
2026-03-15 18:12:42 +09:00
tokenflow1m 36f7a21ac0 Fix HUD overlay clipping and horizontal scrollbar
The HUD overlay window (500px) was narrower than the HUD bar's
max-width (560px), causing content to clip on both sides and a
horizontal scrollbar to appear.

- Widen HUD overlay window from 500px to 600px
- Add overflow-hidden to the root container
- Remove unnecessary max-w-[560px] from the HUD bar
2026-03-15 14:39:22 +09:00
webadderall e938a4dc37 fix(export): merge upstream audio timing and cross-platform path normalization 2026-03-15 12:01:45 +11:00
webadderall 2599ccbf9b fix(startup): enforce single-instance app lock to prevent duplicate menus 2026-03-15 09:52:39 +11:00
tokenflow1m 004fe4d197 fix(wgc): address PR review feedback
- Use getRecordingsDir() instead of hardcoded RECORDINGS_DIR
- Fix stop order: video first, then audio save, then mux via new
  mux-wgc-recording IPC
- Explicitly stop MediaStream tracks for audio resource cleanup
- Add native WASAPI audio capture (system loopback + mic) in C++ process
  for sample-accurate sync; browser audio APIs crash with WGC
- Add window capture support (CreateForWindow) with window: source prefix
- Kill WGC capture process on app before-quit
- Add even-dimension guard in MFEncoder
- Fix ffmpeg asar path backslash handling on Windows
- Remove dead browser-side WGC audio code (storeWgcAudio IPC,
  ScriptProcessorNode refs, stopWgcAudioCapture)
2026-03-15 03:37:27 +09:00
tokenflow1m e6f36a4d14 Add native WGC screen capture for Windows
Uses Windows.Graphics.Capture to record the screen without the OS cursor
or the yellow capture border. Falls back to Electron capture on older Windows
or when the helper exe isn't available.
2026-03-14 23:02:29 +09:00
webadderall 4af28dc1a4 feat(hud): reshuffle HUD menu and add recordings location picker
- Move recordings path control into HUD menu bar and refine separators/layout
- Show underlined Path: /folder/ label next to Record controls
- Add native folder picker to change recordings location
- Persist selected recordings directory and route recording/project defaults through it
2026-03-15 00:30:54 +11:00
webadderall 864ef67967 fix(windows): resolve cursor telemetry paths and prevent export finalization stalls
Credit: Adapted from OpenScreen upstream PR contributions.
2026-03-14 23:29:32 +11:00
webadderall dab92cd28e Fix Windows cursor telemetry: add uiohook-napi to asarUnpack and harden export resolution
uiohook-napi ships a native .node binary that cannot be loaded from
inside an .asar archive. Without asarUnpack, nodeRequire('uiohook-napi')
fails silently in packaged builds, the hook never starts, and cursor
telemetry stays empty on Windows.

Changes:
- Add node_modules/uiohook-napi/** to asarUnpack so the native binary
  is extracted to app.asar.unpacked/ where require() can reach it
- Extend loadUiohookModule() fallback chain to handle variant export
  shapes across platform builds (uIOhook / uiohook / Uiohook / default)
- Add normalizeHookMouseButton() and getHookMouseButton() helpers for
  robust cross-platform button code handling (codes 38/39 variants)
- Add diagnostic log to startInteractionCapture() to surface hook load
  state in future debug sessions
2026-03-14 13:31:46 +11:00
webadderall e2198d80b0 History reorganized for upstream alignment. 2026-03-13 21:36:30 +11:00
webadderall 5eb4d9b19c Make ScreenCaptureKit microphone APIs runtime-compatible across SDKs 2026-03-13 21:14:05 +11:00
webadderall 0c64ceb241 Prebundle mac native helpers and avoid runtime Swift compile in packaged app 2026-03-13 21:14:05 +11:00
webadderall 70c122cf42 Fix discard close flow 2026-03-13 21:14:05 +11:00