Why it’s better for mobile / low-end devices
- Debounced I/O — IndexedDB writes are debounced by 500ms, ensuring zero main-thread blockage during rapid typing
- No Monaco overhead — Monaco is powerful but struggles on low-end Androids due to heavy worker threading; Ace Editor is substantially lighter
- Visual viewport anchoring — PWA implementations often suffer layout thrashing when the soft keyboard appears; Veyrix anchors directly to the
window.visualViewportAPI, freezing the reflow
Error Handling Behavior
”Incognito” / Private Mode restraints
Safari and Firefox frequently restrict or completely block IndexedDB access in Private Browsing. IfDB.init() fails, Veyrix degrades gracefully to an in-memory volatile state. A UI toast warns the user that files will be lost when the tab closes, prompting manual downloads.
DOMException: QuotaExceededError
Triggered when the device runs out of disk space, or the browser’s origin quota is exceeded. Veyrix catches this in theDB.save() promise rejection, halting autosave and notifying the user to clear space or delete older snapshots.
Copyright © 2025–2026 Amit Dutta