{"version":"2.1.233","anchor":"kill-ring-and-two-other-ui-state-pieces-become-per-session-c","canonical_anchor":"kill-ring-and-two-other-ui-state-pieces-become-per-session-c","heading":"Kill ring and two other UI state pieces become per-session contexts","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.233\/e\/kill-ring-and-two-other-ui-state-pieces-become-per-session-c","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.233","markdown":"### Kill ring and two other UI state pieces become per-session contexts\n\nThe cut\/yank buffer and two other input state pieces are now created per session.\n\n**What**\n\nThe emacs-style cut\/yank buffer used by the input box is now created per session and passed into the terminal UI root, instead of being one buffer shared at module level. A scroll-chrome context and an input-selection bridge got the same treatment.\n\n**Details**\n\n- All three hooks now throw if used outside their provider rather than silently falling back to a module default.\n\n**Evidence**\n\n`useKillRing cannot be called outside of a <KillRingProvider \/> (mounted around every Ink root by src\/ink.ts)`\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5"}