Daniel Gasienica
2e4893f4c1
Clarify implications of introducing new migrations
7 years ago
Daniel Gasienica
7413b787b6
Make `migrations` private
7 years ago
Daniel Gasienica
b07c66eaa7
Generate attachments from local files
...
This ensures our benchmarking is closer to real-world usage, e.g. images, video,
etc. that are not compressible.
7 years ago
Daniel Gasienica
064a40544c
Fix error message formatting
7 years ago
Daniel Gasienica
442f5d7295
Use `done` to match JavaScript iterators
...
See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators
7 years ago
Daniel Gasienica
a4f0c5242f
Document why batch size is one
7 years ago
Daniel Gasienica
805031ade8
Conditionally run post-attachment migrations
...
Introduce placeholder migrations for Backbone models so they never implicitly
run migrations whenever they are `fetch`ed. We prefer to run our migrations
explicitly upon app startup and then let Backbone models be (slightly) dumb(er)
models, without inadvertently triggering migrations.
7 years ago
Daniel Gasienica
bfbeedab5c
Temporarily disable post-attachment migration migrations
7 years ago
Daniel Gasienica
d9be6a0f94
Destructure Lodash `require`s
7 years ago
Daniel Gasienica
b7b6195cfc
Extract IIFE into separate function
7 years ago
Daniel Gasienica
11f98474ba
Capture how many messages we have to process
7 years ago
Daniel Gasienica
0fdc1140dd
Add `Database.getCount` function
7 years ago
Daniel Gasienica
1f8556b049
Remove unused `createCollection`
7 years ago
Daniel Gasienica
c67c2a858a
Remove Backbone references for attachment migration
...
It has to run without any other migrations interfering.
7 years ago
Daniel Gasienica
0c40f35623
Document disadvantage of fetching messages without index
7 years ago
Daniel Gasienica
d3c9de4712
Add debug module
...
Lets us generate large conversations with large attachments.
7 years ago
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
7 years ago
Daniel Gasienica
21147a20a0
Add `sleep` module
7 years ago
Daniel Gasienica
08f73b8420
Remove last processed index after attachment migration
7 years ago
Daniel Gasienica
696a144ab7
Add `settings.deleteItem`
7 years ago
Daniel Gasienica
5910f84af4
Remove outdated documentation
7 years ago
Daniel Gasienica
efe3cd67fc
Allow attachment migration run on higher database version
7 years ago
Daniel Gasienica
921c3dba7c
Skip migrations that have already been applied
7 years ago
Daniel Gasienica
417511ffd2
Add `database.getVersion`
7 years ago
Daniel Gasienica
c5c94bc3ab
Extract `getMigrationVersions`
7 years ago
Daniel Gasienica
6aea36240d
Rename `closeDatabase` to `closeDatabaseConnection`
7 years ago
Daniel Gasienica
016432826b
Extract `database` and `settings` modules
7 years ago
Daniel Gasienica
5bea894abd
Close database connection via Backbone IDB adapter
7 years ago
Daniel Gasienica
f50e9ae364
Log closing connection of database
7 years ago
Daniel Gasienica
4ff8bc3357
Use `camelCase` for non-constructors
7 years ago
Daniel Gasienica
3720c3f3bb
Improve log message
7 years ago
Daniel Gasienica
ce5b450fdb
Log `targetSchemaVersion`
7 years ago
Daniel Gasienica
f7f24b5822
Log total number of processed messages
7 years ago
Daniel Gasienica
eca930770c
Remove hard-coded database connection settings
7 years ago
Daniel Gasienica
1df6dc8378
Abort processing if there are no more messages
7 years ago
Daniel Gasienica
d5d0eabdfd
Remove usage of `storage` module
7 years ago
Daniel Gasienica
8966e80284
Improve identifier names
7 years ago
Daniel Gasienica
3e2d575506
Document `MessageDataMigrator` module design
7 years ago
Daniel Gasienica
3c57dbfb56
Extract `NUM_MESSAGES_PER_BATCH`
7 years ago
Daniel Gasienica
85788d3c4a
Match `items` storage format to Backbone adapter
7 years ago
Daniel Gasienica
7de7fcf561
Avoid `no-param-reassign` violation
7 years ago
Daniel Gasienica
070235b59b
Implement `MessageDataMigrator.processAll`
...
Upgrades schema of all messags upon startup.
7 years ago
Daniel Gasienica
178a3cc262
Reduce work for verifying transaction completion
7 years ago
Daniel Gasienica
b6e978f74c
Implement `MessagesDataMigrator.processAll`
7 years ago
Daniel Gasienica
457bf7ab9d
Add `createCollection` function
7 years ago
Daniel Gasienica
8ea257ad4d
Use double quotes for identifiers in error messages
7 years ago
Daniel Gasienica
172616ca4f
Add log message for dummy migration 18
7 years ago
Daniel Gasienica
579b01283e
Replace `wrapDeferred` with `deferredToPromise`
7 years ago
Daniel Gasienica
40c40c800a
Prefer `exports`
7 years ago
Daniel Gasienica
da144edc56
Manually close database connection after migration
7 years ago