Fixed unguarded promise chains in Chrome onboarding and session reconnection that could cause unhandled rejections (search for .catch(w6) in K4A and ABY)
Fixed text input handling: replaced regex-based .replace(/\r/g, ...) with .replaceAll("\r", ...) and added proper handling for meta+backspace, super+backspace, ctrl+backspace, meta+delete, and super+delete key combinations (search for ".replaceAll" in aQ8)
Fixed CRLF line-ending normalization: content is now normalized with .replace(/\r\n?/g, "\n") before splitting, preventing blank lines or split errors on Windows-originated text (search for "\\r\\n?")
Fixed variable reference in text processing: corrected f6.slice(1) to J6.slice(1), fixing incorrect text extraction (search for J6.slice(1) in kn4)
Added explicit error type checking for TC6 errors in the error handling cascade, preventing these errors from being swallowed by generic catch blocks (search for "instanceof TC6")
Fixed permission stripping logic to preserve existing rules and add deduplication when stripping dangerous permissions, preventing accidental rule loss (search for "strippedD" in ex)
Stale marketplace backup directories (.bak) are now cleaned up alongside the main directory during marketplace refresh (search for ".bak")