Converting 16,000 pasted lines to Markdown now takes 74 ms instead of 8.6 seconds, with byte-identical output. The converter got about 4x slower each time the text doubled, so every keystroke in the chat input after a large paste took seconds; its latest release fixes that and this is a plain version bump.
| Pasted lines | Before | After |
|---|---|---|
| 16,000 | 8,634 ms | 74 ms |
| 8,000 | 2,232 ms | 39 ms |
| 4,000 | 575 ms | 17 ms |
| 1,000 | 31 ms | 16 ms |
Related to #12087.
Pressing Backspace inside an unconfirmed IME composition in the chat input ended the composition, so the next keystrokes started a new one and the text appeared twice. This started in 0.12.4, when the editor library picked up a release that treats every deletion as a Backspace key press, including deletions the IME makes inside a composition, and the editor's Backspace handling then disturbs the composition. Pinning that library to the last release without this behaviour restores normal IME editing.
Fixes#33223
The web UI still shipped version 3.4.11 of DOMPurify, the library that strips unsafe HTML before content is shown, six releases behind DOMPurify's own latest. This moves it to 3.4.17, and new installs now require at least that version.
Co-authored-by: wesyoung2022 <115102004+wesyoung2022@users.noreply.github.com>
Since 0.12.3 every frontend build first verifies the prebuilt encryption module, and on Windows that check failed before the build started, because it mishandled Windows paths and Git's default Windows line endings changed the source files it hashes. The check now gives the same result on Windows, Linux and macOS, including in existing Windows clones, so npm run build works on Windows again. The stored source fingerprint changes because the check script is one of the files it covers. Past the check, the build ran out of memory under Node's default limit, so it now runs with a 12 GB limit, the same value the Docker CI build uses.
Fixes#32656