{"version":"2.1.97","anchor":"bug-fixes","canonical_anchor":"bug-fixes","heading":"","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.97\/e\/bug-fixes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.97","markdown":"- Fixed unguarded promise chains in Chrome onboarding and session reconnection that could cause unhandled rejections (search for `.catch(w6)` in `K4A` and `ABY`)\n\n- 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`)\n\n- 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?\"`)\n\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`)\n\n- 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\"`)\n\n- Fixed permission stripping logic to preserve existing rules and add deduplication when stripping dangerous permissions, preventing accidental rule loss (search for `\"strippedD\"` in `ex`)\n\n- Stale marketplace backup directories (`.bak`) are now cleaned up alongside the main directory during marketplace refresh (search for `\".bak\"`)"}