webamp/packages
Jordan Eldredge a209c0998b Fix UTF-8 character encoding in playlist HTML export
- Fix getAsDataURI to properly encode UTF-8 characters before base64 conversion
- Add React import required for JSX
- Add comprehensive unit tests for playlistHtml including non-Latin-1 characters
- Test coverage includes emoji, Chinese, and Cyrillic characters

The previous implementation used window.btoa() directly which only supports Latin-1 (ISO-8859-1) characters. This caused InvalidCharacterError when playlist track names contained UTF-8 characters like emoji or non-Latin scripts.

The fix encodes UTF-8 strings to percent-encoded format first, then converts to Latin-1 bytes before base64 encoding, ensuring all Unicode characters are properly preserved.
2025-12-16 08:36:57 -08:00
..
ani-cursor Add ESLint to ani-cursor and include in CI (#1323) 2025-11-27 18:31:36 -08:00
skin-database Fix lints (#1335) 2025-12-15 22:12:14 -08:00
skin-museum-og Consolidate ESLint configs into root (#1324) 2025-11-27 21:32:10 -08:00
webamp Fix UTF-8 character encoding in playlist HTML export 2025-12-16 08:36:57 -08:00
webamp-docs Consolidate ESLint configs into root (#1324) 2025-11-27 21:32:10 -08:00
webamp-modern Clean up outdated references to yarn 2025-11-03 15:39:26 -08:00
winamp-eqf Remove legacy JS files from winamp-eqf package (#1327) 2025-11-28 11:51:02 -08:00