Commit Graph
114 Commits
Author SHA1 Message Date
webadderall 6296a05115 fix(audio): add browser microphone fallback for macOS < 14
On macOS versions before Sonoma (14.0), SCStreamConfiguration does not
support the captureMicrophone/microphoneCaptureDeviceID selectors. The
native helper was throwing a fatal error, blocking recording entirely
when microphone was enabled.

Now the Swift helper logs MICROPHONE_CAPTURE_UNAVAILABLE and continues
capture without microphone. The Node handler detects this signal and
returns microphoneFallbackRequired to the renderer, which starts a
browser-side MediaRecorder capturing the mic via getUserMedia. On stop,
the audio blob is saved as a .mic.webm sidecar alongside the native
recording, where the existing companion audio detection picks it up.

Fixes: 'Native microphone capture is unavailable on this macOS/Xcode
runtime' error on older macOS versions.
2026-04-12 16:59:06 +10:00
webadderall d6f1225e45 feat(extensions): marketplace integration, wallpaper thumbnails, cursor packs, and bug fixes
- Extension marketplace UI with browsing, installing, screenshot gallery
- Wallpaper & cursor style registration API for extensions
- Wallpaper thumbnail system (nativeImage resize + disk cache, OOM-safe)
- Fix HUD crash: check configurable before redefining electronAPI
- Fix zip-slip false positive on macOS (fs.realpath for symlinks)
- Extension icon sizing and description truncation improvements
- Eager extension activation in SettingsPanel
2026-04-12 01:38:36 +10:00
webadderall 7073d7deb5 feat: extension system with marketplace, permissions, and security hardening
- Extension loader with manifest validation, ID sanitization, and path traversal protection
- Permission-gated runtime API (render, cursor, audio, timeline, ui, assets, export)
- Extension host with lifecycle management (activate/deactivate)
- Marketplace client for browsing, downloading, and installing extensions
- Extension Manager UI panel with enable/disable/uninstall
- IPC bridge for extension discovery, management, and marketplace operations
- Proxy guard on window.electronAPI to block extension access to privileged IPC
- Zip-slip protection via post-extraction directory traversal validation
- Safe PowerShell invocation for Windows zip extraction (no string interpolation)
- File URL resolution with path escape prevention
2026-04-12 01:37:28 +10:00
webadderall 1e56c2d139 revert(recording): remove editor finalization phase 2026-04-04 22:26:25 +11:00
webadderall 89bab3a923 bridge native export apis through preload 2026-04-04 13:07:49 +11:00
webadderall db8718cf66 Add sidecar audio fallback for silent recordings 2026-04-01 15:40:40 +11:00
webadderall 91a51951fa fix(recording): trim paused audio from native windows captures 2026-03-31 00:04:00 +11:00
webadderall f61a5982e3 fix(recording): persist microphone and system-audio preferences 2026-03-30 23:49:56 +11:00
webadderall 0a30df9872 make dragger register 2026-03-30 14:21:00 +11:00
webadderall 9aac961c1d fix(hud): make transparent areas click-through
- Set setIgnoreMouseEvents(true, {forward: true}) on HUD overlay window
  so transparent areas pass clicks to apps behind
- Add hud-overlay-set-ignore-mouse IPC to toggle mouse events
- Re-enable mouse events on mouseenter over visible HUD content,
  disable again on mouseleave
2026-03-30 13:32:24 +11:00
webadderall f5c92964a4 feat(updater): add update status summary, logging, and new IPC channels
- Add UpdateStatusSummary type and getUpdateStatusSummary() for exposing
  updater state to renderer processes
- Add writeUpdaterLog() for persistent updater diagnostics
- Add configureUpdateFeed() for feed URL configuration
- Wire up get-update-status-summary and check-for-app-updates IPC handlers
- Add primaryAction field to UpdateToastState for actionable toast buttons
- Add checking-for-update event handler with status tracking
- Surface automatic check errors via toast when appropriate
2026-03-29 19:30:01 +11:00
webadderall ba5fac0f06 fixed webcam disappearing 2026-03-29 10:31:50 +11:00
webadderall 641d3d271f feat(updater): add explicit download toast flow 2026-03-28 21:06:41 +11:00
webadderall 6463cdff58 feat: add updater release infrastructure 2026-03-28 20:42:38 +11:00
webadderall 045850417f feat(debug): add native capture diagnostics 2026-03-28 16:08:43 +11:00
webadderall 719fa78e9f Revert "feat: Advanced Video Editor Implementation, Native WGC Integration, and AI Auto-Captions" 2026-03-28 14:12:25 +11:00
Mahdy Arief 01350ad8df feat: improve timeline selection interaction with Shift+drag and closure fixes 2026-03-27 21:59:03 +07:00
Mahdy Arief ced02c9a8f feat: Implement native Windows Graphics Capture monitor utilities and introduce video editor UI components. 2026-03-27 17:22:55 +07:00
Mahdy Arief 7d7b61b7f5 feat: add blur annotation and Whisper model selection for autocaption 2026-03-27 13:27:57 +07:00
webadderall f1df2911cb Merge fix/wgc-display-webcam-sync into main 2026-03-26 22:09:59 +11:00
webadderall e5becc30a3 Fix WGC display selection and webcam sync 2026-03-26 21:52:35 +11:00
BortlesboatandClaude Opus 4.6 4b7f5947b8 fix: display app version in More menu
Add IPC handler to expose app.getVersion() to the renderer and
display it in the More dropdown menu. Users can now verify which
version they're running.

Fixes #70

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 09:15:04 -04:00
webadderall e8a8eae2d2 feat(editor): add project browser and whisper selection flows 2026-03-23 19:22:39 +11:00
webadderall 06b743f314 perf: remove launch source polling
Push selected-source changes from Electron to the launch window instead of polling every 500ms, reducing constant renderer and IPC churn. Also restore the TimelineEditor audio path narrowing fix so the current tree stays type-safe.
2026-03-22 21:03:26 +11:00
webadderall 0d9a1d1915 feat: add backend Whisper and native audio support
Add Electron IPC handlers and preload wiring for Whisper caption generation, small-model download management, and safer project media source resolution. Update native macOS capture helpers to mux separate system and microphone audio outputs before finalizing recordings.
2026-03-22 18:34:43 +11:00
webadderall 023a8a27a0 fix: stabilize editor preview and wallpaper defaults
Follow-up to PR #69: fix: restore editor preview responsiveness after export (#68).
2026-03-20 23:51:52 +11:00
webadderall c1cb222995 Fix HUD overlay height sizing 2026-03-20 20:18:41 +11:00
webadderall 7431a2efc4 Fix countdown overlay and squircle corners 2026-03-20 20:08:47 +11:00
webadderall dea8c76da7 Fix HUD layout and overlay sizing 2026-03-20 13:53:43 +11:00
webadderall 2b5783ab00 Fix webcam sync and app close flow 2026-03-20 11:37:37 +11:00
webadderall ae521ed9d9 feat(windows): replace WGC with DXGI and fix HUD window bounds 2026-03-18 22:11:10 +11:00
webadderall de1074cdff Pause native screen capture across platforms 2026-03-18 18:36:25 +11:00
Gurpreet Kait ebe333f029 - 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 9679e20e48 Merge branch 'main' into feature/ui-improvements 2026-03-18 10:58:56 +05:30
Gurpreet Kait 15f48538bc Merge branch 'main' into feature/ui-improvements 2026-03-18 10:39:07 +05:30
webadderall 8eed3bbee1 feat: add webcam overlay editing and export support 2026-03-18 14:26:42 +11:00
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 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
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
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
4rjunc 2d42f0236e feat: add handlers + preloads 2026-03-15 17:46:52 +05:30
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 9435910e99 History reorganized for upstream alignment. 2026-03-13 21:36:30 +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
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 e549850b75 hud overlay UX improvements 2025-11-27 15:12:38 -07:00