Skip to content

StoneGate v2.0.3

Choose a tag to compare

@xsiphr xsiphr released this 17 Jun 23:59
· 5 commits to main since this release

🚀 v2.0.3 - Privacy Clean-Up, Bulletproof Focus Redirection, and Complete Obsidian Linter Compliance

We are pleased to release v2.0.3, focusing on resolving user experience focus issues when locked, protecting developer system privacy, and fixing all linter issues flagged by the Obsidian Review tool.

🛠️ Key Improvements & Fixes

  • Capture-Phase Focus Lock: Implemented a global window capture-phase listener for focus events. Any attempt by background views, panes, or active leaves (like setting tabs) to steal focus is intercepted and redirected back to the lock screen password input.
  • Modal Trap Mitigation: Active .modal-container elements are dynamically hidden (display: none;) while the lock screen is visible to disable their focus traps, and are restored seamlessly on successful unlock.
  • Recovery Bypass Modal Enter Fix: Resolved an issue where pressing Enter did not trigger the recovery code verification.
  • Auto-Clear Password Input on Fail: Input values inside settings modals (PasswordModal and ConfirmPasswordModal) now reset to "" instantly upon verification failure.

🔒 Privacy Updates

  • Removed all hardcoded absolute system paths from esbuild.config.mjs, replacing them with an environment variable (OBSIDIAN_VAULT_PATH) to prevent leaking OS usernames in build scripts.

🤖 Obsidian Bot & Linter Compliance

  • Bumped minimum app version in manifest.json to 1.6.6.
  • Renamed the "General" settings header to "Core".
  • Replaced direct calls to the deprecated setWarning() with typed dynamic fallback bracket access ["setWarning"] via DestructiveButton interface.
  • Resolved all floating and misused Promise warnings by wrapping async callbacks in void IIFEs.
  • Removed regex control character warnings (\u0000).