Skip to content

feat: add GPU fallback compression and upload controls#1

Open
deanxbox wants to merge 5 commits into
dyno-bytes:mainfrom
deanxbox:main
Open

feat: add GPU fallback compression and upload controls#1
deanxbox wants to merge 5 commits into
dyno-bytes:mainfrom
deanxbox:main

Conversation

@deanxbox
Copy link
Copy Markdown

  • prefer hardware encoders with CPU fallback
  • add compression ETA and size delta reporting
  • support cancelling compression and pending uploads
  • read compressed output through native IPC instead of file URLs

deanxbox added 5 commits May 1, 2026 00:12
- prefer hardware encoders with CPU fallback
- add compression ETA and size delta reporting
- support cancelling compression and pending uploads
- read compressed output through native IPC instead of file URLs
- Support JPEG, PNG, and WebP compression in-browser
- Add KB/MB/GB controls for compression target and threshold
- Improve upload cancellation tracking for pending uploads
- Prevent duplicate handling of paste/drop batches
- Update progress overlay positioning and sizing
- Refresh README notes for image support and size units
Add compression mode, failure fallback, original fallback, and concurrency settings
Support custom image/video dimensions and optional hardware decoding
Add diagnostics report button for ffmpeg/GPU troubleshooting
Show post-compression previews and improve upload cancellation handling
Document new settings and behavior in README
Add an uploadIfSmaller setting to keep compressed output when it is
smaller than the original, even if it exceeds the configured target.

Also improve result notes for above-target outputs, upload original
fallbacks regardless of target size, tune media bitrate handling, clear
progress estimates on stop, and remove noisy encoder detection logs.
- Add optional "Prompt to compress after every media insertion" setting
- Allow users to choose between compression and uploading originals per insertion
- Improve format detection to check file extensions in addition to MIME types
- Add bitrate scaling retry logic to get compressed files closer to target size
- Refactor image compression into reusable compressCanvasToTarget function
- Auto-select MP4 or M4A output format based on media type
- Improve ffmpeg metadata handling with selective removal
- Support GIF files as video media
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