Daniel Gasienica
|
30037e5308
|
Reduce attachment migration batch size to 1
This prevents ‘Maximum IPC message size exceeded’ due to IDB `getAll` operation.
- https://github.com/zincbase/zincdb/issues/17
- https://cs.chromium.org/chromium/src/content/browser/indexed_db/indexed_db_database.cc?q=%22Maximum+IPC+message+size+exceeded%22&sq=package:chromium&l=1160
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
21147a20a0
|
Add sleep module
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
08f73b8420
|
Remove last processed index after attachment migration
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
696a144ab7
|
Add settings.deleteItem
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
5910f84af4
|
Remove outdated documentation
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
efe3cd67fc
|
Allow attachment migration run on higher database version
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
921c3dba7c
|
Skip migrations that have already been applied
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
417511ffd2
|
Add database.getVersion
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
c5c94bc3ab
|
Extract getMigrationVersions
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
6aea36240d
|
Rename closeDatabase to closeDatabaseConnection
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
016432826b
|
Extract database and settings modules
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
5bea894abd
|
Close database connection via Backbone IDB adapter
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
f50e9ae364
|
Log closing connection of database
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
4ff8bc3357
|
Use camelCase for non-constructors
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
3720c3f3bb
|
Improve log message
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
ce5b450fdb
|
Log targetSchemaVersion
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
f7f24b5822
|
Log total number of processed messages
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
eca930770c
|
Remove hard-coded database connection settings
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
1df6dc8378
|
Abort processing if there are no more messages
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
d5d0eabdfd
|
Remove usage of storage module
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
8966e80284
|
Improve identifier names
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
3e2d575506
|
Document MessageDataMigrator module design
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
3c57dbfb56
|
Extract NUM_MESSAGES_PER_BATCH
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
85788d3c4a
|
Match items storage format to Backbone adapter
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
7de7fcf561
|
Avoid no-param-reassign violation
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
070235b59b
|
Implement MessageDataMigrator.processAll
Upgrades schema of all messags upon startup.
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
178a3cc262
|
Reduce work for verifying transaction completion
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
b6e978f74c
|
Implement MessagesDataMigrator.processAll
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
457bf7ab9d
|
Add createCollection function
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
8ea257ad4d
|
Use double quotes for identifiers in error messages
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
172616ca4f
|
Add log message for dummy migration 18
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
579b01283e
|
Replace wrapDeferred with deferredToPromise
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
40c40c800a
|
Prefer exports
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
da144edc56
|
Manually close database connection after migration
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
106ce21c49
|
Remove redundant log message
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
fcd30cd919
|
Close database after migration
This is not 100% reliable as database connections are closed in a separate
thread according to the documentation:
- https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase/close
- https://stackoverflow.com/a/18639298
- 80c7a06d5c/backbone-indexeddb.js (L558-L565)
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
c765422fa1
|
Extract deferredToPromise
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
e2f1339ab9
|
Explicitly run post-attachment migrations
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
d7c8d33edb
|
Extract runMigrations
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
d16178638e
|
Split database migrations into pre- and post-attachment migration
- Run light-weight migrations before attachment migration.
- Run regular migrations after attachments have been moved to disk.
|
2018-04-02 12:17:36 -04:00 |
|
Daniel Gasienica
|
90de9d85a3
|
Remove type annotation
|
2018-03-26 16:56:37 -04:00 |
|
Daniel Gasienica
|
4c10fcfa17
|
Reduce threshold until optimization appears to 1s
|
2018-03-26 16:56:37 -04:00 |
|
Daniel Gasienica
|
add19aa732
|
Add initialization view
|
2018-03-26 16:56:37 -04:00 |
|
Daniel Gasienica
|
9b112489cd
|
Upgrade 2 messages every 30 seconds
This results in 4 messages per minute or 240 messages per hour.
|
2018-03-26 16:49:21 -04:00 |
|
Daniel Gasienica
|
7c2fde4433
|
Add Signal.Workflow namespace
|
2018-03-26 16:49:21 -04:00 |
|
Daniel Gasienica
|
4a7cc22de3
|
🎨 Use window.requestIdleCallback
|
2018-03-26 16:49:21 -04:00 |
|
Daniel Gasienica
|
4651cbc2eb
|
Improve `Message.upgradeSchema preconditions
|
2018-03-26 16:49:21 -04:00 |
|
Daniel Gasienica
|
ca28f3030b
|
Add MessageMigration module
|
2018-03-26 16:49:21 -04:00 |
|
Daniel Gasienica
|
8e762797c0
|
Remove attachment validation
Turns out `fileName` is optional and maybe even `contentType`. We should revisit
this at a later point in time.
|
2018-03-26 16:49:21 -04:00 |
|
Daniel Gasienica
|
09ee2d4ea2
|
Switch to using requestIdleCallback
Example:
https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API#Example
|
2018-03-26 16:49:21 -04:00 |
|