Skip to content

Document IndexedDB delete/read sync boundary#56

Open
issackjohn wants to merge 1 commit into
responsive-designfrom
fix-indexeddb-sync-boundaries
Open

Document IndexedDB delete/read sync boundary#56
issackjohn wants to merge 1 commit into
responsive-designfrom
fix-indexeddb-sync-boundaries

Conversation

@issackjohn
Copy link
Copy Markdown
Owner

@issackjohn issackjohn commented Jun 1, 2026

Follow-up for local issue 53.

This documents the delete/read synchronization boundary in the IndexedDB workload and removes the hard-coded 9 page-transition check.

Research summary:

  • TodoApp.moveToPreviousPage() awaits todo-list.moveToPreviousPage() before dispatching previous-page-loaded.
  • todo-list.moveToPreviousPage() awaits storageManager.getTodos(...), so previous-page-loaded means the previous page read has completed.
  • Each previous-page read fetches lower item numbers than the page just deleted, so it does not race the pending delete writes for the just-deleted page.
  • FinishDeletingItemsFromDB still waits for all delete transactions before the suite advances.

Validation:

  • git diff --check

Note: local Node/npm tooling was not available in this shell, so browser CI should cover the end-to-end validation.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR documents the delete/read synchronization boundary in the IndexedDB TodoMVC workload and makes the “previous page” transition conditional on the configured iteration count instead of a hard-coded constant, aligning the control flow with the workload’s loop bounds.

Changes:

  • Replace the hard-coded j < 9 guard with j < numberOfIterations - 1 for the delete loop’s previous-page transition.
  • Add inline documentation explaining why the previous-page read does not race the just-triggered delete writes, and that the suite still waits for all deletes via FinishDeletingItemsFromDB.
  • Mirror the same update into the built dist copy of the workload.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
experimental/javascript-wc-indexeddb/src/workload-test.mjs Removes hard-coded iteration boundary for delete paging and documents the delete/read sync boundary.
experimental/javascript-wc-indexeddb/dist/src/workload-test.mjs Propagates the same boundary fix and documentation to the distribution artifact.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants