fix: replace btoa/atob with encodeURIComponent for Unicode support - #1725
fix: replace btoa/atob with encodeURIComponent for Unicode support#1725Youngmaster0304 wants to merge 14 commits into
Conversation
Changed the h1 element in the header to a span element to ensure there is only one h1 per page (the main REFRAME title in VideoEditor). Fixes reframe-oss#69 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Added title attributes to quick action buttons (Instagram Reels, TikTok, YouTube Short, YouTube, Twitter/X) showing exact dimensions. Fixes reframe-oss#71 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Added data-testid attributes for automated testing: - file-upload-zone: File upload drop zone - export-button: Export video button - export-progress: Progress bar during export - download-button: Download result button - reset-button: Reset/upload new video button - quality-slider: Quality CRF slider - speed-slider: Speed control slider Fixes reframe-oss#56 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Added formatTimeWithDecimal helper function and updated trim control labels to show formatted time (e.g., 01:05.5 instead of 65.5). Fixes reframe-oss#78 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Added animate-pulse-subtle class to export button for visual feedback. Respects prefers-reduced-motion to disable animation for accessibility. Fixes reframe-oss#236 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Added How It Works section with 4 common questions about privacy, formats, performance, and offline use. Uses semantic details/summary elements for accessibility. Fixes reframe-oss#198 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Fixed broken social media links to point to Reframe accounts. Replaced outdated Twitter bird icon with X (Twitter) logo. Fixes reframe-oss#1016 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Added LICENSE file to clarify usage terms and encourage contributions. Fixes reframe-oss#1045 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Fixed dark mode issues in ComparisonPreview and TrimControl components. Replaced bg-white and text-black with appropriate CSS variable tokens. Fixes reframe-oss#673 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Added RatioBox visual thumbnails to quick action buttons for better preset identification. Each button now shows the correct aspect ratio. Fixes reframe-oss#672 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Added subtle hr dividers between Trim, Rotation, Text Overlay, and Audio sections for better visual grouping. Fixes reframe-oss#192 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Fixed typo in globals.css where detail>summary should be details>summary. Fixes reframe-oss#1659 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
Fixed crash when copying link with Unicode characters in recipe. btoa throws on non-Latin1 chars, so using encodeURIComponent instead. Fixes reframe-oss#1660 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
|
@Youngmaster0304 is attempting to deploy a commit to the magic-peach1's projects Team on Vercel. A member of the Team first needs to authorize it. |
✅ PR Format Check Passed — @Youngmaster0304Basic format checks passed. A maintainer will review your code changes. This does not mean the PR is approved — it just means the format is correct. |
👋 Thanks for your PR, @Youngmaster0304!Welcome to Reframe — a browser-based video editor built for everyone 🎬
What happens next
Quick checklist
Useful links
Happy coding! 🎉 |
Fixed Unicode crash by replacing btoa/atob with encodeURIComponent. Added warning for URLs exceeding 2000 chars to prevent browser limits. Fixes reframe-oss#1660 Contributor: Abhinav Jha (@Youngmaster0304) Email: abhinavjha0304@gmail.com GSSoC 2026 Participant
|
Extended: Added URL length warning (2000+ chars) to prevent issues with older browsers. The core fix remains replacing btoa/atob with encodeURIComponent for Unicode support. |
|
👋 This PR has been inactive for 21 days. It will be automatically closed in 14 days if there's no further activity. If you need help with this PR, please comment or ping a maintainer. |
What this does
Fixed crash when copying share link with Unicode characters in recipe settings.
Why
btoa()throws on non-Latin1 characters, causing the Copy Link feature to crash when text overlays contain Unicode (e.g., Chinese, emoji, accented characters).Changes
btoa(JSON.stringify(recipe))withencodeURIComponent(JSON.stringify(recipe))inVideoEditor.tsxatob(encoded)withdecodeURIComponent(encoded)inuseVideoEditor.tsAcceptance Criteria
Contributor
Abhinav Jha (@Youngmaster0304) | abhinavjha0304@gmail.com
GSSoC 2026 Participant
Fixes #1660