Skip to content

Promote to production: FFmpeg bundling + lint cleanup - #42

Merged
slaveofcode merged 7 commits into
mainfrom
develop
Jul 27, 2026
Merged

Promote to production: FFmpeg bundling + lint cleanup#42
slaveofcode merged 7 commits into
mainfrom
develop

Conversation

@slaveofcode

Copy link
Copy Markdown
Owner

Promotes the two merged develop changes to production.

Included

  • feat(desktop): bundle ffmpeg as a sidecar (feat(desktop): bundle ffmpeg as a sidecar #40) — externalBin: ["bin/ffmpeg"] re-enabled; compile-time validation handled via a stub in desktop-check.yml, real per-target download in release.yml, and beforeDev/BuildCommand auto-fetch locally. Verified green on macOS/Windows/Linux.
  • chore(lint): resolve all source-code lint warnings (chore(lint): resolve all source-code lint warnings #41) — every ESLint warning in shipped source resolved (109 → 99; remainder are intentional no-explicit-any and test scaffolding). No behavior change.

Verification

429 tests pass · astro build green · tsc net-zero new errors.

Notes

  • The FFmpeg bundling only affects desktop builds (tauri build); it ships when the next desktop-v* tag is cut off main. No effect on the web deploy.
  • Merging this triggers the production Cloudflare Workers build (goodwebtools.com).

Kresna and others added 4 commits July 27, 2026 01:00
Re-enable externalBin "bin/ffmpeg" so recordings/conversions use a bundled
ffmpeg instead of a system install. The compile-time sidecar validation that
broke desktop-check before is handled: desktop-check stubs an empty sidecar
(cargo check never runs it), release.yml downloads the real per-target binary,
and beforeDev/BuildCommand auto-fetch it locally. ffmpeg_path() already prefers
the bundled binary next to the exe.
feat(desktop): bundle ffmpeg as a sidecar
Polish/bug-sweep pass over ESLint warnings (109 -> 99; remaining are
intentional no-explicit-any and test scaffolding):
- Remove 5 unnecessary eslint-disable directives (deps arrays were already
  correct) and their leftover blank lines.
- Prefix intentionally-unused vars with _ (worker.store destructure-omit,
  file.service stub param); drop a discarded register() return in HotkeyTest;
  remove a dead downloadService import in CodeScratchpad.
- @ts-ignore -> @ts-expect-error in platform detection.
- exhaustive-deps: key ToolHost's useMemo on the stable tool ref; document
  JsonCompare's intentional toggle-only effect. Both reviewed as non-bugs.

No behavior change. 429 tests pass; build green.
chore(lint): resolve all source-code lint warnings
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 26, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
goodwebtools 3e6f9b5 Jul 27 2026, 08:53 AM

Kresna and others added 3 commits July 27, 2026 15:17
Previously parseTimestamp treated any numeric string longer than 10 digits
as milliseconds, so a 19-digit nanosecond value (e.g. 1784694237438743460)
overflowed Date's range and failed with 'Could not parse that as a date or
Unix timestamp.'

Now the unit is inferred from digit length — ~10 = seconds, ~13 = ms,
~16 = µs, ~19 = ns — and normalized to milliseconds. The UI surfaces the
detected unit so the interpretation is explicit. Seconds/millis cutoffs are
unchanged, so existing behavior is preserved.

Adds coverage for micro/nanosecond parsing and detectNumericUnit.
fix(timestamp): detect & convert microsecond/nanosecond epochs
Bundles FFmpeg for desktop; timestamp micro/nanosecond parsing; lint cleanup.
Syncs Cargo.toml/Cargo.lock (were stale at beta.1) with tauri.conf.json.
@slaveofcode
slaveofcode merged commit 86200b6 into main Jul 27, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant