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
Daniel Gasienica
106ce21c49
Remove redundant log message
7 years ago
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)
7 years ago
Daniel Gasienica
c765422fa1
Extract `deferredToPromise`
7 years ago
Daniel Gasienica
e2f1339ab9
Explicitly run post-attachment migrations
7 years ago
Daniel Gasienica
d7c8d33edb
Extract `runMigrations`
7 years ago
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.
7 years ago
Daniel Gasienica
b24dad23ea
Fix search view conversation reset bug
...
When searching for an existing conversation using a phone number, it’s possible
to click on ‘Start conversation…’ and have that new dummy entry overwrite the
existing conversation.
This change ensures we are always showing a dummy conversation model that is not
part of the conversation collection. Adding it is always idempotent as it goes
through `getOrCreateAndWait`.
7 years ago
Daniel Gasienica
08f6886f3e
Strengthen precondition of `ConversationController.getOrCreate`
7 years ago
Daniel Gasienica
83c979fb84
Rename `createTemporary` to `dangerouslyCreateAndAdd`
...
Class: `ConversationController`.
This function should not be used in application code as it creates potentially
invalid `Conversation` instances in our global conversation collection. We keep
making it available for testing purposes.
7 years ago
Daniel Gasienica
90de9d85a3
Remove type annotation
7 years ago
Daniel Gasienica
4c10fcfa17
Reduce threshold until optimization appears to 1s
7 years ago
Daniel Gasienica
dede0f1e25
Improve user messaging during initialization
...
- We first show a localized loading message.
- If initialization takes longer than a certain threshold, we show a different
‘optimization’ message.
- If initialization is below the threshold the message change is canceled right
before the regular loading screen.
7 years ago
Daniel Gasienica
add19aa732
Add initialization view
7 years ago
Daniel Gasienica
f253fef5c6
Explicitly make `onDestroy` have `void` return type
7 years ago
Daniel Gasienica
9b112489cd
Upgrade 2 messages every 30 seconds
...
This results in 4 messages per minute or 240 messages per hour.
7 years ago
Daniel Gasienica
7c2fde4433
Add `Signal.Workflow` namespace
7 years ago
Daniel Gasienica
4a7cc22de3
🎨 Use `window.requestIdleCallback`
7 years ago
Daniel Gasienica
5c9f18e1ae
Wire up background message migration
7 years ago
Daniel Gasienica
4651cbc2eb
Improve ``Message.upgradeSchema` preconditions
7 years ago
Daniel Gasienica
ca28f3030b
Add `MessageMigration` module
7 years ago
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.
7 years ago
Daniel Gasienica
09ee2d4ea2
Switch to using `requestIdleCallback`
...
Example:
https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API#Example
7 years ago
Daniel Gasienica
d13668544d
Rename `IdleListener` to `IdleDetector`
7 years ago
Daniel Gasienica
92ace67846
Start idle listener on startup
7 years ago
Daniel Gasienica
3140e4d66d
Implement basic `IdleListener`
7 years ago
Daniel Gasienica
0c06fff47b
Wire up `Message` / `Attachment` migration functions on startup
...
Makes `migrationContext` obsolete.
7 years ago
Daniel Gasienica
867f73b80a
Use double quotes for identifiers in error messages
7 years ago
Daniel Gasienica
70cdd2b350
Add `stringToArrayBuffer` utility
...
This way we can avoid an extra dependency.
7 years ago
Daniel Gasienica
2ad0fd7db6
Use Lodash `omit` instead of `delete`
7 years ago
Daniel Gasienica
ef2be2cf5f
Make `MessageView::onUnload` synchronous
...
Our tests rely on that.
7 years ago
Daniel Gasienica
b3251a8de2
Prevent potential NPE
7 years ago
Daniel Gasienica
9d25aa4e43
Delete attachment files on disk upon message delete
7 years ago
Daniel Gasienica
279b3f81c7
Add `Attachment.deleteData`
7 years ago
Daniel Gasienica
833a203559
Remove Vim modeline
7 years ago
Daniel Gasienica
e1c1b1aa72
Load attachment data before rendering
...
Prevent double rendering of attachments by multiple entries into
`MessageView::render` using promises.
7 years ago
Daniel Gasienica
97e3b49a36
Whitelist `js/views/message_view.js` for ESLint
7 years ago
Daniel Gasienica
b5721c2594
Remove Vim modeline
7 years ago
Daniel Gasienica
38e2468b2e
Set `schemaVersion` in `handleMessage`
7 years ago
Daniel Gasienica
e3dbeba963
Initialize schema version during `Message` construction
7 years ago
Daniel Gasienica
9a540d6d18
Load attachment data before sending message
7 years ago
Daniel Gasienica
8218e308cd
Improve identifier names
7 years ago
Daniel Gasienica
6355c54114
Return relative path from `writeAttachmentData`
...
This will make our app more robust to changes in location on the file system.
7 years ago
Daniel Gasienica
2cd3d5ac16
Add `Message` schema version 3
7 years ago
Daniel Gasienica
e0428355be
Wire up `writeAttachment`
7 years ago