Commit Graph
76 Commits
Author SHA1 Message Date
Gurpreet Kait 15f48538bc Merge branch 'main' into feature/ui-improvements 2026-03-18 10:39:07 +05:30
Gurpreet Kait 03c05c8464 - 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 a95f32a095 - 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 6e7a034a93 merge main into feat/cursor-sway 2026-03-16 08:57:03 -07:00
webadderall b711fd20f2 Revert "fix(macos): keep sources visible when thumbnails are unavailable"
This reverts commit f3dca8a2bb.
2026-03-16 22:54:59 +11:00
webadderall f3dca8a2bb fix(macos): keep sources visible when thumbnails are unavailable 2026-03-16 22:53:13 +11:00
webadderall a648c3feca fix(linux): restore cursor follow with linux bounds + hook mouse cache 2026-03-16 22:34:39 +11:00
webadderall 4290e45841 fix(comment): correct hide-cursor handler explanation for WGC/SCK/Linux 2026-03-16 22:18:21 +11:00
webadderall 735e46c128 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 dc6a49e1e1 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 acf796b074 fix(hud): persist capture hiding review fixes 2026-03-15 20:36:27 -07:00
webadderall eeb3938d34 Merge pull request #20 from aarjn/feat/audio
Feat/audio
2026-03-16 13:14:19 +11:00
webadderall f8bc8ce674 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 b74cc3df50 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 7d22c49df5 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 68fe6a928b 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 04dcbc32b8 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 7d03040642 fix(windows): prevent window flash on startup by deferring show until ready 2026-03-15 18:06:10 +03:00
aras b3423c39dd 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 8716760059 fix(windows): prevent cursor monitor ENOENT crash and build helper in release 2026-03-15 23:28:00 +11:00
4rjunc 2d42f0236e feat: add handlers + preloads 2026-03-15 17:46:52 +05:30
tokenflow1m 15f15b1156 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 afab911732 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 8844111584 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 f6b7c24704 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 7404301bee fix(export): merge upstream audio timing and cross-platform path normalization 2026-03-15 12:01:45 +11:00
webadderall f5ece43ccd fix(startup): enforce single-instance app lock to prevent duplicate menus 2026-03-15 09:52:39 +11:00
tokenflow1m d3d202d33b 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 7b26ec3a9e 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 474c9c78d4 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 83b7ec48b8 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 99764ac5f6 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 9435910e99 History reorganized for upstream alignment. 2026-03-13 21:36:30 +11:00
webadderall d4d4ff474f Make ScreenCaptureKit microphone APIs runtime-compatible across SDKs 2026-03-13 21:14:05 +11:00
webadderall 676204dc88 Prebundle mac native helpers and avoid runtime Swift compile in packaged app 2026-03-13 21:14:05 +11:00
webadderall ffc41d6d19 Fix discard close flow 2026-03-13 21:14:05 +11:00
webadderall 579b29a5e9 Fix export sync and allow dev window capture 2026-03-13 21:14:05 +11:00
webadderall c3c5d1ed63 Initial release of Recordly 2026-03-13 21:14:05 +11:00
saivaraprasadreddy medapati 85f2388041 feat: add reveal in folder option after export
- Added electron IPC handler 'reveal-in-folder' to show exported file in finder
- Created toast notification with clickable action to reveal exported video
- Added Show in Folder button in export success dialog
- Implemented proper state management for exported file path
- Fixed timing issue where exportedFilePath was reset too early
2026-02-21 01:53:27 +05:30
Siddharth 6d2e1edb5b fix build errors 2026-01-20 20:05:14 -08:00
Nikhil Solanki 6e6ecba172 Add GIF export feature to video editor
Implements GIF export alongside MP4, including new export types, a GIF exporter module, UI components for format selection and GIF options, and integration into the export dialog and video editor. Adds property-based and unit tests for GIF export correctness, updates dependencies to include gif.js and related types, and refines Electron save dialog to support GIF files.
2025-12-25 01:50:02 +05:30
LauZzL 81b59cad7c feat(electron): implement dynamic tray icon and menu updates
- Show "Stop Recording" menu & recording icon when recording
- Show "Open/Quit" menu & default icon when not recording
2025-12-16 21:28:18 +08:00
Felipe Novaes F Rocha ebb1d29375 feat: add Linux support 2025-12-13 20:07:41 -03:00
LauZzL 8cbdcf2d7a fix(electron): remove platform check for hud overlay close event
This check causes the close button to stop working on Windows.
2025-12-07 17:51:19 +08:00
Sid cbdef41667 Merge branch 'main' into main 2025-12-04 16:46:16 -08:00
Alessandro Spisso f34bd19183 feat: implement platform-aware keyboard shortcuts and add IPC handler for platform detection 2025-12-04 23:53:25 +01:00
Siddharth 899e55d257 update usescreenrecorder 2025-12-01 22:16:38 -07:00
Siddharth 1241de6e1a trim integration export 2025-11-27 22:24:17 -07:00
Siddharth e549850b75 hud overlay UX improvements 2025-11-27 15:12:38 -07:00
john c63f5eddeb make the hud in right bottom corner 2025-11-26 23:12:04 +07:00