-
JC Brand authored
Depend on latest backbone.browserStorage which has support for IndexedDB via localforage. Storage operations are now asynchronous and transactional. Bugs fixed (mostly by waiting for operations to complete): * Rooms are now fetched asynchronously, so wait before triggering `show` or when closing. * Make sure chat create/update transactions complete before firing events * Make sure chats and messages have been fetched before creating new ones. * When doing a `fetch` with `wait: false` on a collection and then creating a model in that collection, then once the read operation finishes (after creating the model), the collection is emptied again. * Patch and wait when saving. Otherwise we have previously set attributes overriding later ones. * Make sure api.roomviews.close returns a promise Test fixes: * Chats are now asynchronously returned, so we need to use `await` * Wait for the storage transaction to complete when creating and updating messages * Wait for all chatboxes to close Otherwise we get sessionStorage inconsistencies due to the async nature of localforage. * Wait for room views to close in spec/chatroom.js In the process, remove the `closeAllChatBoxes` override in converse-controlbox by letting the `close` method decide whether it should be closed or not.
1fa203c9
Analyzing file…