Update V 0.5.7


Version 0.5.7 (2025‑07‑19)

Today I’m shipping a major behind‑the‑scenes improvement: IDBRequestQueue, a lightweight, event‑driven queuing system for all my IndexedDB operations. This new layer makes saving data rock‑solid, eliminating subtle race conditions and ensuring that every action on the website persists in the database exactly as intended.

What’s Changed

  • Centralized Request Queue
    I’ve introduced an IDBRequestQueue class that wraps all IndexedDB requests. Rather than firing off multiple reads/writes in parallel, each operation is enqueued and processed one at a time. This guarantees that:

    • Writes never step on each other

    • Reads always reflect the most up‑to‑date state

    • Error handling and retry logic behave predictably

  • Event‑Driven Handler
    A new event listener now intercepts every IndexedDB request, pushes it into the queue, and emits success or failure events when the operation completes. You can subscribe to these events to:

    • Trigger UI updates only after data is safely written

    • Capture analytics on DB latency or failures

    • Implement custom retry policies or back‑off strategies

  • Improved Reliability & Maintainability
    By funneling all database interactions through a single queue, I’ve greatly reduced the risk of:

    • Overwriting newer data with stale writes

    • Unhandled promise rejections from simultaneous requests

    • Subtle bugs that only surface under heavy load or on slower devices

Why It Matters

With this update, you’ll experience far fewer “ghost” save errors, and I’ll spend less time chasing down concurrency bugs. Whether your app triggers dozens of DB writes in quick succession or just runs quietly in the background, IDBRequestQueue makes persistence predictable, fast, and bullet‑proof.

Files

Version 0.5.7.zip Play in browser
1 day ago

Leave a comment

Log in with itch.io to leave a comment.