Event listeners and developer indicating intent

I agree in general, although I think the question is mostly about auto-sync and syncing various paths within a module. There are several ways to solve this problem, e.g. options on claimAccess, a standardized init function, etc. – most of them would have in common, that you state your intent, before remoteStorage.js assumes you just want to sync all data of a whole category automatically.

There’s one misunderstanding in the original post:

This is only how the documents module works. Requesting a listing is just that in other modules: requesting a listing. It’s probably bad naming as well. E.g. the pictures module has the concept of “albums”, so you “open” an album to interact with it. As opening something is a separate act, you can put the init code there, and then list, get, store, etc. as if you would on a non-sharded category with only a single collection of items.

[edit] Sorry, events are the same question as sync, but the solution must make it possible to request events for different paths than sync. Coupling these is too much of a assumption about what app developers need. I can imagine a couple of scenarios where you might not want to sync a path’s data, but get change events for it.