feat(invoice-generator): add client-side image compression#805
Draft
MikaelSiidorow wants to merge 1 commit intomainfrom
Draft
feat(invoice-generator): add client-side image compression#805MikaelSiidorow wants to merge 1 commit intomainfrom
MikaelSiidorow wants to merge 1 commit intomainfrom
Conversation
Compress image attachments eagerly when selected, before form submission. This significantly reduces payload size for receipt photos (often 90%+ reduction), helping avoid rate limiting issues with large uploads. Features: - Eager compression on file selection with loading spinner - Image preview thumbnails after compression - File size display with compression ratio - Lazy-loaded browser-image-compression library - Web Worker support for non-blocking compression Fixes #551 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
browser-image-compressionlibrary (lazy-loaded, Web Worker enabled)This significantly reduces payload sizes for receipt photos, helping avoid rate limiting issues when uploading large images.
Fixes #551
Technical notes
Uses
browser-image-compressionas a pragmatic choice. The code includes a TODO for upgrading towasm-vipswhen browser support forcredentiallessiframes improves (currently blocks due to Google Forms embeds needing COEP/COOP headers).Test plan
🤖 Generated with Claude Code