109 Commits
Author SHA1 Message Date
webadderall 65a4222294 Fix Recordly 2.0 part 2 follow-up review findings
Preserve existing PR history and integrate validated second-cycle fixes.
2026-11-07 15:57:57 +11:00
webadderall eaf87be95b Recordly 2.0 local review stack 2/6
Dependency-ordered review preparation. Not pushed or remotely reviewed.
2026-11-06 05:24:21 +11:00
webadderall 9d7285a118 Keep audio finalization alive while encoding progresses 2026-10-17 18:26:03 +11:00
webadderall 9fc4df1bdb Bound gap recovery work and tighten alignment checks 2026-10-17 18:15:38 +11:00
webadderall 08c245b636 Preserve macOS audio timing through encoder stalls 2026-10-17 18:12:31 +11:00
sourabhxyzandClaude Opus 5.5 13edd56a44 Prefer a known device ID over the stripped-label match
Resolve the microphone by exact label, then by a device ID that names a
real capture device, and only then by the label without Chromium's
transport suffix, so the name heuristic cannot override a precise
identifier.

Move the matching into a pure function and replace the source-text
assertions with a test that compiles it with swiftc and checks the
results against a fixed device list, following the lifecycle test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 12:16:56 +05:30
sourabhxyzandClaude Opus 5.5 e029d11663 Match the selected macOS microphone despite Chromium's label suffix
The renderer passes the microphone's enumerateDevices() label to the
ScreenCaptureKit helper, which resolves it by exact comparison with
AVCaptureDevice.localizedName. Chromium decorates that label with a
transport suffix ("Shure MV7 (14ed:1012)", "MacBook Pro Microphone
(Built-in)", "BlackHole 16ch (Virtual)"), so the comparison failed for
almost every device and the helper silently recorded the system default
input instead. With the lid closed that default is the built-in mic,
which delivers digital silence, so recordings came out without a voice.

Try the raw label first, then the label without its trailing
parenthetical.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 12:02:35 +05:30
webadderall c3bc809a1f Complete account settings and authenticated permission onboarding 2026-10-10 13:26:30 +11:00
webadderall d1ebb4e2b5 Update Tahoe cursor pack to Golden Gate artwork 2026-10-04 17:38:59 +11:00
KevinandClaude Opus 5.5 f91d1a1288 Pick a window, a screen or an area on screen
"Select area or window" in the source menu opens a picker over every
display. Hovering highlights the window under the cursor, or the whole
screen over the desktop, and a click picks it. Dragging draws an area,
and moving or resizing any pick turns it into an area. Record, Enter or
a double-click starts recording, Select only picks, Escape cancels.

The window-list helper gains a --z-order mode that lists windows front
to back with their owner process, so the picker hits the frontmost
window and skips Recordly's own. A picked window or screen becomes the
same source the lists offer. An area becomes an area:<displayId> source
that the capture helper crops like a window that never moves, cursor
telemetry normalizes to, and a dashed outline marks while recording.
The main process validates every pick: a window must be one the picker
offered. Picker windows stay hidden until they have painted, so opening
the picker does not flash the app background.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:14:23 -07:00
webadderall d660b8bb59 Make recorder and dashboard regression tests deterministic 2026-09-23 16:37:58 +10:00
webadderall ef4ca06068 Guard failed capture shutdown and address dashboard review feedback 2026-09-23 15:43:43 +10:00
webadderall 0979839fee Stop macOS capture helper when parent closes its input 2026-09-23 14:56:55 +10:00
webadderall d8bdc4a939 Start recordings at the first accepted video frame 2026-09-15 17:36:21 +10:00
webadderall bc664b0d35 Fall back when microphone names are ambiguous 2026-09-13 10:54:22 +10:00
webadderall 435f647351 Avoid recording from the wrong Windows microphone 2026-09-13 10:50:46 +10:00
webadderall 04663fc31b Use native WASAPI for Windows microphone recording 2026-09-13 10:41:30 +10:00
webadderall 11237400c1 fix(windows): mask resized window captures 2026-09-05 14:11:27 +10:00
webadderall e8935bedf5 fix(windows): crop window captures without padding 2026-09-05 14:11:27 +10:00
young 0c3cdb24ce Keep window crops aligned as windows change 2026-09-04 20:06:05 +10:00
young af968551f1 Record selected windows by cropping full-screen captures 2026-09-04 19:48:22 +10:00
young af470212b0 Address HUD protection review feedback 2026-09-03 11:51:48 +10:00
young 58faea68f1 Fix HUD capture protection across recording backends 2026-09-03 11:38:03 +10:00
young f411b2ac64 Fix washed-out Mac screen recordings 2026-09-01 18:49:33 +10:00
webadderall bb268188dc Correct colour handling during recording
Record captured frames with BT.709 conversion and explicit limited-range metadata. Share the Windows conversion code between capture engines and apply matching colour metadata on macOS and FFmpeg fallbacks.
2026-08-31 12:25:28 +10:00
young 4fcf2deaa7 Apply consistent project formatting 2026-08-28 09:54:42 +10:00
webadderall bfe1de884a fix macOS countdown resume recording race 2026-08-24 18:05:16 +10:00
webadderall 31d8db76f7 fix: harden native capture lifecycle 2026-08-24 17:14:21 +10:00
young bc7d44f11f fix macOS capture finalization race 2026-08-24 14:14:01 +10:00
young 53be186b93 fix: address follow-up capture review 2026-08-24 13:19:17 +10:00
young 6819440371 fix: address native capture review feedback 2026-08-24 11:43:50 +10:00
young 117bbfe0eb fix: stabilize macOS countdown capture 2026-08-24 10:29:43 +10:00
webadderall 700e4a9d4f fix: warm start native capture before countdown 2026-08-23 19:31:37 +10:00
webadderall d95686ffcc fix: avoid duplicate mic audio in native mac recordings 2026-06-02 10:24:50 +10:00
wiiiii123 a18d8469ca fix(export): address CUDA dimension review notes 2026-05-27 18:31:00 +07:00
wiiiii123 38f5ded48d fix(recording): stabilize capture quality and CUDA export canvas 2026-05-27 18:12:21 +07:00
wiiiii123 25c7a44ead fix: stabilize Windows recording preview 2026-05-25 02:50:09 +07:00
wiiiii123 4fd2a27d30 fix(windows): normalize WGC video timestamps 2026-05-22 17:47:37 +07:00
wiiiii123 0deecfc1c4 fix(windows): validate WGC encoder fps 2026-05-22 17:13:43 +07:00
wiiiii123 bb97ffc53a fix(windows): guard WGC frame extension fps 2026-05-22 17:06:22 +07:00
wiiiii123 a533f54581 fix(windows): preserve WGC duration through static frames 2026-05-22 15:56:36 +07:00
wiiiii123 d302bea66d fix(recording): fail cleanly on WGC resize errors 2026-05-09 07:49:54 +07:00
wiiiii123 8166d763ce fix(recording): stabilize WGC resize frames 2026-05-09 00:06:53 +07:00
wiiiii123 ae40a13e85 fix(export): harden native release gates 2026-05-08 12:24:04 +07:00
wiiiii123 85bf77e5a4 fix(export): support native cropped layouts 2026-05-08 03:20:28 +07:00
wiiiii123 678ece2f4a fix(export): harden native beta pipeline 2026-05-07 22:37:27 +07:00
wiiiii123 b2e2410b7c fix(recording): compact silent mic discontinuities 2026-05-06 23:11:16 +07:00
wiiiii123 3a661db717 fix(export): support native background blur 2026-05-06 20:53:44 +07:00
wiiiii123 d15561723b fix(recording): compact short mic discontinuities 2026-05-06 20:16:32 +07:00
wiiiii123 7a36240ccf fix(recording): soften native mic gap boundaries 2026-05-06 18:50:06 +07:00