Commit Graph
45 Commits
Author SHA1 Message Date
webadderall a359636140 fix: add COM init on WASAPI capture thread for Windows 11 compatibility
- Call CoInitializeEx(MTA) at start of captureThread() and CoUninitialize() on exit
- Windows 11 enforces per-thread COM initialization more strictly than Win10,
  causing GetBuffer/GetNextPacketSize to fail silently without this
- Add HRESULT error logging for WASAPI capture failures (GetNextPacketSize, GetBuffer)
2026-03-30 15:27:40 +11:00
webadderall 09341587d4 fix: filter auxiliary windows and remove thumbnail requirement from source list
- Swift helper: filter out untitled auxiliary windows from multi-window apps (e.g. Arc sidebar/tab-bar chrome)
- Swift helper: increase minimum window size from 1x1 to 50x50
- Remove .filter(source => Boolean(source.thumbnail)) that hid valid sources
- Remove hasUsableSourceThumbnail filter in fallback path
- Recompile prebundled openscreen-window-list binary
2026-03-30 15:16:28 +11:00
webadderall c7633162ff chore(native): rebuild win32-x64 native helper binaries
- Rebuild wgc-capture.exe and cursor-monitor.exe from unchanged source
- Update helpers-manifest.json with new binary hashes and timestamps
2026-03-29 19:30:02 +11:00
webadderall cac0126109 fix: TCC permission handling for native helpers on macOS 26
- Add CGPreflightScreenCaptureAccess pre-check in Swift helper
- Add microphone TCC pre-flight when mic capture is requested
- Warm up TCC via desktopCapturer.getSources before spawning helper
- Request mic access from Electron before helper spawn
- Remove unreliable systemPreferences.getMediaAccessStatus pre-checks
- Add camera entitlements to plist files for webcam support
- Guard getScreen() calls behind app.isReady()
- Make tray icons lazy to avoid early screen access
- Suppress duplicate permission error alerts in renderer
2026-03-29 19:15:18 +11:00
webadderall eec536e3b9 fix(desktop): polish editor chrome 2026-03-28 23:24:34 +11:00
webadderall cd8e981065 fix(windows): finalize WGC recordings safely 2026-03-28 17:03:41 +11:00
webadderall 227bcabe12 chore(windows): track bundled helper manifests 2026-03-28 16:17:29 +11:00
webadderall 691d90b126 fix(windows): restore WGC monitor fallback 2026-03-28 15:18:56 +11:00
webadderall b85374dee0 fix(windows): bundle native capture helpers 2026-03-28 14:56:16 +11:00
webadderall 20f9259d50 Revert "feat: Advanced Video Editor Implementation, Native WGC Integration, and AI Auto-Captions" 2026-03-28 14:12:25 +11:00
Mahdy Arief b04e4b2b62 fix(export, native, ui): resolve critical data integrity and resource management bugs in PR #122
- Implement comprehensive solo/mute export pipeline in audioEncoder.ts
- Fix duplicate caption IDs by adding chunk-specific indices in handlers.ts
- Prioritize native monitor selection by bounds in monitor_utils.cpp
- Fix alignment for blur annotations extending beyond canvas boundaries
- Resolve timeline selection desync and sidebar visibility for blur annotations
- Fix memory leaks in audio waveform generation with AudioContext cleanup
2026-03-28 06:09:50 +07:00
Mahdy Arief 933d804118 chore: Finalize PR #116 stability and privacy improvements
- Hardened IPC with safety guards for all webContents.send calls
- Scrubbed sensitive absolute paths from caption logs
- Realigned Windows artifact naming logic
2026-03-27 23:14:12 +07:00
webadderall df70d291a3 fix(wgc): preserve full-width display identifiers 2026-03-27 23:34:39 +11:00
Mahdy Arief bcf8aa9bcc feat: Implement native Windows Graphics Capture monitor utilities and introduce video editor UI components. 2026-03-27 17:22:55 +07:00
Mahdy Arief 25ca604d88 feat: add blur annotation and Whisper model selection for autocaption 2026-03-27 13:27:57 +07:00
webadderall 1e83931120 Revert "fix(recording): validate native captures and tighten mic menu spacing"
This reverts commit d485c0b226.
2026-03-27 11:31:02 +11:00
webadderall ade26f2faf Revert "Fix WGC display selection and webcam sync"
This reverts commit 2b04e383e5.
2026-03-27 11:30:11 +11:00
webadderall 2363ae87bd Merge fix/wgc-display-webcam-sync into main 2026-03-26 22:09:59 +11:00
webadderall 2b04e383e5 Fix WGC display selection and webcam sync 2026-03-26 21:52:35 +11:00
webadderall 07bd87fdd3 fix(windows): honor selected microphone in native capture 2026-03-26 11:17:39 +11:00
webadderall c20772f11f chore(windows): remove stale DXGI capture helper 2026-03-26 11:05:38 +11:00
Pierre-Adrien Lair af93de1fb1 Fix corrupted MP4 recordings on Windows by serializing encoder writes
The WGC capture session uses Direct3D11CaptureFramePool::CreateFreeThreaded,
which dispatches FrameArrived callbacks on thread pool threads concurrently.
MFEncoder::writeFrame() accesses non-thread-safe resources (ID3D11DeviceContext,
IMFSinkWriter, shared staging texture and NV12 buffer) without synchronization,
causing MP4 container corruption when callbacks overlap at high frame rates.

Add a mutex to serialize writeFrame() and finalize() calls, preventing
concurrent access to the D3D context and Media Foundation sink writer.

Fixes #96
2026-03-24 17:59:27 +01:00
webadderall d485c0b226 fix(recording): validate native captures and tighten mic menu spacing 2026-03-24 19:04:24 +11:00
webadderall cd7231e927 fix(windows): preserve full monitor ids for native capture 2026-03-23 18:00:00 +11:00
webadderall 89ebfa79ed 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 2b9777d8ab build: add bundled Whisper runtime pipeline
Add the Whisper runtime build script, package integration, runtime manifest, and staged darwin-arm64 Whisper binaries.
2026-03-22 18:30:19 +11:00
VoidGravity f4f73977d9 capturing silently, removing usless noisy warning 2026-03-20 22:29:51 +00:00
VoidGravity 69291eb101 Handle unsupported IsBorderRequired on Windows 10 causing Native Windows capture failure 2026-03-20 22:24:48 +00:00
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 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 e064f738ae Pause native screen capture across platforms 2026-03-18 18:36:25 +11:00
KBCats df1d24f4a5 merge main into feat/cursor-sway 2026-03-16 08:57:03 -07: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
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 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 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 0cf009c08b Initial release of Recordly 2026-03-13 21:14:05 +11:00