Repository navigation
Note: This update covers Live Releases only, if you need offline versions, use the previous release
Handling massive files (30k+ lines) in a browser DOM has always been a challenge compared to native desktop applications. This update focuses heavily on resolving the input lag and browser freezing associated with huge documents, without breaking the core features that make this editor work.
Previous aggressive optimizations caused issues with invisible text during rapid typing, broken word wrap alignment, and broken syntax highlighting. Version 2.0.2 addresses these bottlenecks properly.
Core Changes & Fixes:
- Implemented "Smart Debounce" Rendering: Typing in massive files previously forced Prism.js to re-evaluate tens of thousands of spans on every keystroke, locking the UI thread. The editor now checks the file size dynamically:
- Normal files (< 2,000 lines): Processed instantly with real-time syntax highlighting.
- Large files (> 2,000 lines): Raw text is pushed to the DOM instantly so you can type without invisible characters or input lag. The heavy syntax highlighting is delayed by 500ms and only fires after you pause typing.
- Restored Exact-Height Word Wrap Engine: Removed the mathematical character-width prediction engine (which caused wrapping misalignment) and restored the original invisible block-mirror engine. Line numbers will once again sync perfectly with wrapped text.
- Added Word Wrap Failsafe for Massive Files: Because the exact-height measurement engine injects thousands of hidden div elements to measure line wraps, turning it on for a 30k+ line file will crash most web browsers. Word wrap will now automatically disable itself with a warning if a file exceeds 4,000 lines to preserve performance.
- Scroll Stutter Fix: Removed an experimental virtualization engine that was rebuilding the DOM on every scroll event. Scrolling is back to native browser performance, ensuring the line numbers and text layers stay pixel-perfect.
All existing tools (Macros, Base64, Hex conversion, drag-and-drop tabs) remain fully intact. Thanks to everyone for the patience while we dialed in the balance between performance and accuracy in the browser environment.