Commit Graph
1693 Commits
Author SHA1 Message Date
webadderall c6b4f704fb Change logo image source in README.md
Updated the logo image source in the README.
2026-05-05 15:13:57 +10:00
webadderall cb4bb66f2a Merge pull request #413 from webadderallorg/codex/cursor-telemetry-write-api
feat: add writable cursor telemetry API
2026-05-05 14:57:09 +10:00
webadderall c4e60e7f05 fix: address PR review regressions 2026-05-05 11:43:04 +10:00
Recordly Reviewer 2d4d96bc4a fix: address PR review feedback - canonicalize via realpath and gate whisper soft-fail
isAllowedLocalReadPath now resolves the candidate via fs.realpathSync and requires both the lexical and canonical paths to satisfy the policy, so a symlink placed under an allowed prefix that points outside the allowlist is rejected. The redundant 'either resolved or realResolved is allowed' check in read-local-file and generate-wallpaper-thumbnail is removed since the function canonicalizes internally. Adds a regression test that creates such a symlink (skipping when Windows refuses to create it without Developer Mode).

build-whisper-runtime now only soft-fails when invoked from postinstall, in CI, or with WHISPER_RUNTIME_ALLOW_MISSING=1. Direct 'npm run build*' invocations fail loudly when CMake is missing and no bundled runtime is staged so we don't ship release builds with broken auto-captioning.
2026-05-04 14:31:09 -04:00
Recordly Reviewer c767d3a28b fix: tighten local read allowlist and gracefully skip whisper-runtime build without CMake
isAllowedLocalReadPath previously returned true for any existing path because of an existsSync fast-path, which made the read-local-file IPC handler and the local media URL policy effectively allow reading arbitrary files on disk. Drop the existsSync bypass so only paths under app-managed directories or paths that have been explicitly approved (via dialogs, exports, recording sessions, etc.) are accepted. Adjust the local media path policy tests to cover the new behaviour.

Also make build-whisper-runtime fall back to bundled artifacts when CMake is missing (mirroring build-windows-capture) so npm ci does not fail on machines without a C++ toolchain.
2026-05-04 14:21:49 -04:00
webadderall fd8cc22bf8 Merge pull request #415 from webadderallorg/revert-414-codex/behavior-3-13
Revert "feat: bundle cursor motion and temporal blur updates"
2026-05-04 18:17:20 +10:00
webadderall 132c77a5cc Revert "feat: bundle cursor motion and temporal blur updates" 2026-05-04 18:17:04 +10:00
webadderall 0d72a03c80 Merge pull request #414 from webadderallorg/codex/behavior-3-13
feat: bundle cursor motion and temporal blur updates
2026-05-04 18:15:30 +10:00
webadderall 7660bedeb4 feat: bundle cursor motion and temporal blur updates 2026-05-04 18:12:47 +10:00
webadderall ab24e496f5 feat: add writable cursor telemetry API 2026-05-04 17:28:10 +10:00
wiiiii123 3bfb07a3d7 Merge main into native GPU export PR 2026-05-04 11:42:27 +07:00
webadderall 49f8d4ad84 Merge pull request #404 from sharkcreep87/fix/export-2gib-readfile-limit
fix(export): return temp path from buffer-mode FFmpeg muxer (>2 GiB) (#380)
2026-05-04 14:00:59 +10:00
webadderall 73edbb4e10 Merge remote-tracking branch 'origin/main' into codex/clip-flow-cleanup
# Conflicts:
#	src/components/video-editor/timeline/TimelineEditor.tsx
2026-05-04 13:21:05 +10:00
wiiiii123 b1433f9836 Add NVIDIA CUDA export compositor 2026-05-04 09:59:41 +07:00
wiiiii123 05327a12ce Add native GPU static layout export path 2026-05-03 22:43:23 +07:00
aei fc54b0f2bb Merge branch 'main' into codex/feature/camera-crop 2026-05-03 20:13:12 +08:00
wizardAEI 53115672eb Fix webcam speed region sync 2026-05-03 18:32:02 +08:00
wizardAEI 3e6e52d90d Fix webcam squircle clipping 2026-05-03 18:18:53 +08:00
webadderall 18327c0e94 Merge pull request #405 from webadderallorg/copilot/click-cluster-zoom
timeline: suggest zoom tracks from click clusters instead of dwell heuristics
2026-05-02 21:01:01 +10:00
webadderall 0d512debfe harden explicit click zoom suggestions 2026-05-02 20:38:07 +10:00
webadderall d4ee6e0de4 tighten click-cluster zoom suggestions 2026-05-02 20:21:35 +10:00
webadderall b4a0861883 clean up clip-first timeline editing 2026-05-02 20:14:54 +10:00
webadderall 691309869c timeline: suggest zoom tracks from click clusters instead of dwell heuristics
Replace the dwell-ranking-based auto-zoom algorithm with a pure click-cluster
approach:

- Extract explicit click events (click, double-click, right-click, middle-click)
  from cursor telemetry via detectInteractionCandidates
- Chain-merge clicks that occur within 2500 ms of each other into one cluster
- Expand each cluster to a zoom window of [firstClick - 500 ms, lastClick + 500 ms]
- Skip clusters that overlap already-placed zoom regions (reservedSpans)

New exported constants: CLICK_CLUSTER_MERGE_GAP_MS (2500) and CLICK_CLUSTER_PAD_MS (500).
Adds zoomSuggestionUtils.test.ts with 7 unit tests covering the new logic.
2026-05-02 20:00:40 +10:00
webadderall b2ea80c4be Add Tandava Appadoo and Digitalfastmind to supporters 2026-05-02 16:30:50 +10:00
sharkcreep87 ddbae78ca6 chore: update repository URLs to canonical webadderallorg org (#402)
The repo was moved from github.com/webadderall to github.com/webadderallorg
but several files still reference the old URL. GitHub serves a 301
redirect today, but package.json metadata, the Homebrew cask, and the
in-app issues link should point to the canonical location.

Updated:
- package.json (homepage, repository.url, bugs.url)
- README.md and README.zh-CN.md (releases / clone / issues links)
- CONTRIBUTING.md (issues link)
- recordly.rb (Homebrew cask url + homepage)
- src/components/video-editor/TutorialHelp.tsx (RECORDLY_ISSUES_URL)
- src/components/video-editor/videoPlayback/motionSmoothing.ts (attribution comment)
2026-05-02 12:08:28 +10:00
shafeq aa024cf497 fix(export): return temp path from buffer-mode FFmpeg muxer (>2 GiB)
Exports of recordings whose muxed output exceeds 2 GiB failed with
RangeError [ERR_FS_FILE_TOO_LARGE]: Node's fs.readFile rejects files
larger than kIoMaxLength (2 ** 31 - 1). The legacy export pipeline hit
this in muxExportedVideoAudioBuffer, which called
  await fs.readFile(finalized.outputPath)
to ship the muxed bytes back to the renderer.

Mirror the path-based contract that mux-exported-video-audio-from-path
already uses:

- muxExportedVideoAudioBuffer now returns { outputPath, metrics } and
  collects byte size via fs.stat instead of fs.readFile. The unmuxed
  intermediate is still cleaned up; the muxed output is left for the
  IPC handler to register and the renderer to finalize.
- The mux-exported-video-audio IPC handler registers the muxed output
  via registerOwnedExportPath and returns { tempPath, metrics }.
- preload.ts and electron-env.d.ts: tempPath replaces data in the
  renderer-facing return type.
- videoExporter.ts and modernVideoExporter.ts (the
  finalizeExportWithFfmpegAudio fallback paths) now return
  { tempFilePath } so VideoEditor's existing finalize-exported-video
  flow handles the move — the same path the modern stream-mode export
  already takes.

The renderer already preferred tempFilePath over blob in
VideoEditor.tsx for MP4 saves (with the explicit comment "avoids ever
allocating a multi-GiB ArrayBuffer in the renderer"), so this just
removes the buffer-mode regression for large legacy exports.

Adds electron/ipc/export/native-video.test.ts asserting the new
contract: muxExportedVideoAudioBuffer returns a path, never calls
fs.readFile, and still records muxedVideoBytes via stat.

Closes #380
2026-05-02 09:48:05 +08:00
webadderall 1c461734d8 [codex] Fix cursor sync after recording pause (#399)
* Fix cursor sync after recording pause

* Align recorder and cursor pause boundaries
2026-05-01 17:18:35 +10:00
webadderall 6062a6004d Merge pull request #391 from webadderallorg/copilot/presets-draft-pr
Add editor presets menu
2026-05-01 16:49:43 +10:00
webadderall 54bc81bf73 Fix preset review feedback 2026-05-01 16:44:10 +10:00
webadderall b6bc6ea633 update readme vid 2026-05-01 16:39:59 +10:00
webadderall ca44200695 Merge pull request #392 from wizardAEI/codex/feature/subtitle-editor
[codex] Add inline auto-caption editing
2026-05-01 12:29:48 +10:00
webadderall 277ab325e4 timeline: add hover ghost preview and safer zoom placement 2026-05-01 12:05:02 +10:00
wizardAEI 70d13a73b2 Stabilize webcam crop preview 2026-05-01 09:55:52 +08:00
webadderall b269872c2f timeline: add hover ghost preview and safer zoom placement 2026-05-01 11:52:36 +10:00
webadderall 06417b273f Merge pull request #370 from dexisback/fix/linux-capture-fallback
fix(linux): fallback to desktop capture when getDisplayMedia fails
2026-05-01 10:47:43 +10:00
wizardAEI b3fdf180e3 Show webcam preview before playback 2026-05-01 01:14:57 +08:00
wizardAEI bb9551c262 Add keyboard controls for webcam crop 2026-05-01 01:07:07 +08:00
wizardAEI 10f44e6249 Hide webcam overlay until cropped frame is ready 2026-05-01 01:03:59 +08:00
wizardAEI 1c2df99968 Avoid RAF webcam redraw loop with video frame callbacks 2026-05-01 01:01:20 +08:00
wizardAEI a4d71d2764 Add webcam crop and mirror controls 2026-04-30 19:06:23 +08:00
wizardAEI fd77eadc94 Keep caption edit target current 2026-04-30 18:00:09 +08:00
wizardAEI bc26584de8 Add inline auto-caption editing 2026-04-30 16:51:53 +08:00
webadderall b6468ffb9d Merge pull request #379 from kingfive/feat/increase-frame-corner-radius
feat: increase frame corner radius max from 50 to 200
2026-04-30 17:47:08 +10:00
webadderall 3c2f2788ec Update README with updated images and video
Updated README to reflect new screenshots and videos.
2026-04-30 17:44:00 +10:00
webadderall 3bf43a08ca Revert "Stream blob exports through temp files"
This reverts commit 82147ca7ef.
2026-04-30 15:26:02 +10:00
webadderall 82147ca7ef Stream blob exports through temp files 2026-04-30 15:24:05 +10:00
webadderall cb5caaadb2 Stream blob exports through temp files 2026-04-30 15:23:27 +10:00
webadderall 840ec41409 Add editor presets menu 2026-04-30 11:17:01 +10:00
webadderall 297d31a195 Merge pull request #378 from shuwn/main
Fix locale tags
2026-04-29 19:18:31 +10:00
kingfive 6d8b6b4e05 feat: increase frame corner radius 2026-04-29 02:29:32 +08:00