Commit Graph
1693 Commits
Author SHA1 Message Date
webadderall cd021a1f02 Change logo image source in README.md
Updated the logo image source in the README.
2026-05-05 15:13:57 +10:00
webadderall ad9895a1c4 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 c01981fd5e fix: address PR review regressions 2026-05-05 11:43:04 +10:00
Recordly Reviewer b0ab0bf184 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 dce19d5209 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 42c6cf458e 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 be01bccb7a Revert "feat: bundle cursor motion and temporal blur updates" 2026-05-04 18:17:04 +10:00
webadderall dedf43720a 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 0abc7a3098 feat: bundle cursor motion and temporal blur updates 2026-05-04 18:12:47 +10:00
webadderall 6cc83b31e9 feat: add writable cursor telemetry API 2026-05-04 17:28:10 +10:00
wiiiii123 23f17f2772 Merge main into native GPU export PR 2026-05-04 11:42:27 +07:00
webadderall 35c6038e36 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 572000bf0d 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 94bbd0280f Add NVIDIA CUDA export compositor 2026-05-04 09:59:41 +07:00
wiiiii123 9c81006e5c Add native GPU static layout export path 2026-05-03 22:43:23 +07:00
aei cf40acedf7 Merge branch 'main' into codex/feature/camera-crop 2026-05-03 20:13:12 +08:00
wizardAEI 57a070d615 Fix webcam speed region sync 2026-05-03 18:32:02 +08:00
wizardAEI 6b3c7e4209 Fix webcam squircle clipping 2026-05-03 18:18:53 +08:00
webadderall 816116de26 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 dad073ebed harden explicit click zoom suggestions 2026-05-02 20:38:07 +10:00
webadderall 676d01827f tighten click-cluster zoom suggestions 2026-05-02 20:21:35 +10:00
webadderall 3e871b924d clean up clip-first timeline editing 2026-05-02 20:14:54 +10:00
webadderall d4b5cf77ec 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 5090910ce3 Add Tandava Appadoo and Digitalfastmind to supporters 2026-05-02 16:30:50 +10:00
sharkcreep87 df3527c1e9 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 01f61dfada 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 5570c119ca [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 666a690b3c Merge pull request #391 from webadderallorg/copilot/presets-draft-pr
Add editor presets menu
2026-05-01 16:49:43 +10:00
webadderall 7a87763ca3 Fix preset review feedback 2026-05-01 16:44:10 +10:00
webadderall bebac5cc60 update readme vid 2026-05-01 16:39:59 +10:00
webadderall d0fb2343d8 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 9d97e415a9 timeline: add hover ghost preview and safer zoom placement 2026-05-01 12:05:02 +10:00
wizardAEI 27754223cc Stabilize webcam crop preview 2026-05-01 09:55:52 +08:00
webadderall c0a1299687 timeline: add hover ghost preview and safer zoom placement 2026-05-01 11:52:36 +10:00
webadderall 92dbe7be4f 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 bb34721677 Show webcam preview before playback 2026-05-01 01:14:57 +08:00
wizardAEI 0df9dc8259 Add keyboard controls for webcam crop 2026-05-01 01:07:07 +08:00
wizardAEI 3f1050fa38 Hide webcam overlay until cropped frame is ready 2026-05-01 01:03:59 +08:00
wizardAEI aa279a1761 Avoid RAF webcam redraw loop with video frame callbacks 2026-05-01 01:01:20 +08:00
wizardAEI 4152f27f2e Add webcam crop and mirror controls 2026-04-30 19:06:23 +08:00
wizardAEI 8bfd739eca Keep caption edit target current 2026-04-30 18:00:09 +08:00
wizardAEI cace34d3ad Add inline auto-caption editing 2026-04-30 16:51:53 +08:00
webadderall d686ee1874 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 fa7aee06e8 Update README with updated images and video
Updated README to reflect new screenshots and videos.
2026-04-30 17:44:00 +10:00
webadderall d02f369249 Revert "Stream blob exports through temp files"
This reverts commit 18916b1afc.
2026-04-30 15:26:02 +10:00
webadderall 18916b1afc Stream blob exports through temp files 2026-04-30 15:24:05 +10:00
webadderall c04255db7b Stream blob exports through temp files 2026-04-30 15:23:27 +10:00
webadderall a095ab050c Add editor presets menu 2026-04-30 11:17:01 +10:00
webadderall f3ee139336 Merge pull request #378 from shuwn/main
Fix locale tags
2026-04-29 19:18:31 +10:00
kingfive 5610f436b1 feat: increase frame corner radius 2026-04-29 02:29:32 +08:00