Small UX patch. No breaking changes to your config or saved data.
Fixed: the shop toggle button now reliably closes the shop as well as opens it. It previously sat behind the dimmed backdrop, so clicking it while the shop was open did nothing.
Changed: clicking the dimmed background no longer closes the shop. It was too easy to trigger by accident, especially on mobile. Close with the X button or the toggle instead. To restore the old click-outside-to-close behavior, set Config.UI.CloseOnBackdropClick = true.
Free update for all owners.
• BindToClose now snapshots all canPersist players synchronously before any yield. Immune to the PlayerRemoving race on Studio stop and crash scenarios — sessions always release their lock cleanly.
• Removed the v1.0 "skip BindToClose in Studio" early-return that left stuck locks in DataStore during dev testing. Studio now gets the same save+release path as production.
• Periodic save now refreshes the lock heartbeat unconditionally for canPersist players (v1.0 only saved on dirty, so idle players' locks could expire mid-session).
• LockTTLSeconds default reduced 300 → 60 for faster recovery from crashed sessions. PeriodicSaveSeconds reduced 60 → 30 to refresh the lock twice per TTL window.
• NEW: _G.CoreShunShop_CanPersist(player) — query session-only mode so your UI can surface an "offline" badge.
API surface unchanged. Drop-in upgrade — replace the rbxmx and your existing config carries over.
