cherry-studio/src/renderer
SuYao 76ee67d4d7
fix: prevent OOM when handling large base64 image data (#12244)
* fix: prevent OOM when handling large base64 image data

- Add memory-safe parseDataUrl utility using string operations instead of regex
- Truncate large base64 data in ErrorBlock detail modal to prevent freezing
- Update ImageViewer, FileStorage, messageConverter to use shared parseDataUrl
- Deprecate parseDataUrlMediaType in favor of shared utility
- Add GB support to formatFileSize
- Add comprehensive unit tests for parseDataUrl (18 tests)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor: simplify parseDataUrl API to return DataUrlParts | null

- Change return type from discriminated union to simple nullable type
- Update all call sites to use optional chaining (?.)
- Update tests to use toBeNull() for failure cases
- More idiomatic and consistent with codebase patterns (e.g., parseJSON)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-06 00:34:14 +08:00
..
src fix: prevent OOM when handling large base64 image data (#12244) 2026-01-06 00:34:14 +08:00
index.html feat: refactor Knowledge Base (#8384) 2025-09-04 17:23:31 +08:00
miniWindow.html feat: Use different window name for Quick Assistant (#9217) 2025-08-16 11:21:29 +08:00
selectionAction.html style: set eol to lf, code formatting (#7923) 2025-07-08 09:50:33 +08:00
selectionToolbar.html style: set eol to lf, code formatting (#7923) 2025-07-08 09:50:33 +08:00
traceWindow.html refactor: streamline system prompt handling and introduce built-in tools (#7714) 2025-07-23 17:27:39 +08:00