Support for IndexedDB. updates #1105
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.
Showing
This diff is collapsed.
... | @@ -83,7 +83,7 @@ | ... | @@ -83,7 +83,7 @@ |
"install": "^0.9.5", | "install": "^0.9.5", | ||
"jasmine-core": "2.99.1", | "jasmine-core": "2.99.1", | ||
"jsdoc": "^3.6.2", | "jsdoc": "^3.6.2", | ||
"lerna": "^3.16.4", | "lerna": "^3.18.1", | ||
"lodash-template-webpack-loader": "jcbrand/lodash-template-webpack-loader", | "lodash-template-webpack-loader": "jcbrand/lodash-template-webpack-loader", | ||
"mini-css-extract-plugin": "^0.7.0", | "mini-css-extract-plugin": "^0.7.0", | ||
"minimist": "^1.2.0", | "minimist": "^1.2.0", | ||
... | ... |
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment