Skip to content

store.findAll() return deleted items if pouchdb-browser is initialized with a low “revs_limit” and “auto_compaction: true” #890

Open
@PiTomar

Description

I initialize my hoodie/ pouchdb like this:

const PouchDB = require('pouchdb-browser');
const pouchdb = PouchDB.default.defaults({ revs_limit: 1, auto_compaction: true });

const Hoodie = require('@hoodie/client');
const hoodie = new Hoodie({
            url: someURL,
            PouchDB: pouchdb   
});

When I delete an element with store.remove I experience the following behavior:

  • The store.remove promise does never resolve or reject.
  • When I inspect the indexedDB (with chrome-dev-tools) for the element I want to be deleted , I see a new revision of this element.
  • This is also correctly marked as deleted (delete date set).
    Old revisions are still not deleted (but this is probably a pouchdb bug discussed here: revs_limit hides, but does not actually delete, old document data pouchdb/pouchdb#4372)
  • However, when I do a store.findAll() the deleted element is still returned respectively to be more specific: the previous revision of the "deleted" element is returned.

When I set the pouch-db revs_limit e.g to 5 it seems to work.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions