Daniel Gasienica
696b23a3e0
Ensure first message is not cut off in iOS theme
...
Without this, the user couldn’t scroll all the way up and the first message was
cut off as panel extended below header.
7 years ago
Daniel Gasienica
51d17a6dcb
Create IndexedDB index from `schemaVersion` to `Message` ( #2128 )
7 years ago
Daniel Gasienica
bde8436829
Remove `idb` dependency
...
See f3c879a3b516645f908783a92c73bdfc143f20f2 for details.
7 years ago
Daniel Gasienica
c88381efe3
Use `async` / `await` to improve readability
7 years ago
Daniel Gasienica
2642844c27
Rewrite migration 17 without `idb`
...
We ran into issues when doing async operations inside of an IndexedDB
`onupgradeneeded` handler. The errors were ‘The transaction is not active’ or
‘Transaction has finished’. The following documentation confirmed that
transactions are committed/terminated when control returns to the event loop:
Spec
- https://www.w3.org/TR/IndexedDB/#transaction-lifetime-concept
- https://www.w3.org/TR/IndexedDB/#upgrade-transaction-construct
Stack Overflow
- https://stackoverflow.com/a/11059085
- https://stackoverflow.com/a/27338944
Since the initial database migration is so critical, I decided to avoid `idb`
with promise support for IndexedDB for now, but will reconsider using it for
other tasks in the future to improve readability of IndexedDB code.
7 years ago
Daniel Gasienica
db2941cbb0
Measure duration of migration
7 years ago
Daniel Gasienica
a619d48fac
Update schema version history
7 years ago
Daniel Gasienica
0e20e8e2ea
Use `Errors.toLogFormat`
7 years ago
Daniel Gasienica
cd3aee962d
Upgrade message schema before sending
7 years ago
Daniel Gasienica
a5edbf8328
Initialize schema as first step in `upgradeSchema`
7 years ago
Daniel Gasienica
5d927b73e6
Use `while` loop for IDB cursor iteration
...
Previously, I messily combined promises and callbacks because I thought we
were affected by the microtask issue:
https://github.com/gasi/idb#iteratecursor--iteratekeycursor
ESLint’s `more/no-then` encouraged me to revisit this and it works as expected.
7 years ago
Daniel Gasienica
a76a6098c4
Simplify log statement
7 years ago
Daniel Gasienica
dbdf6fd880
Run version 17 migration upon startup
7 years ago
Daniel Gasienica
ac31dcbd75
Expose `Signal.Migrations` namespace
7 years ago
Daniel Gasienica
182e6ffe10
Add version 17 migration
7 years ago
Daniel Gasienica
752c8f97e6
🎨 Format ternaries
7 years ago
Daniel Gasienica
8dfaa5619f
Prefix private functions with underscore
7 years ago
Daniel Gasienica
fa209fb98f
Add `idb` fork with `upgradeDBFromTransaction` support
...
This allows us to use `async` / `await` with IndexedDB.
7 years ago
Daniel Gasienica
ed336d31d7
Move schema versioning from `Attachment` to `Message`
7 years ago
Daniel Gasienica
7e3cc432d6
Whitelist `js/database.js` for ESLint
7 years ago
Daniel Gasienica
b9e9f5e19a
🎨 `withInheritedSchemaVersion` to `inheritSchemaVersion`
7 years ago
Daniel Gasienica
df693ade7c
Allow `Attachment.fileName` to be `null`
7 years ago
Daniel Gasienica
c81ce1dc92
Fix log line
7 years ago
Daniel Gasienica
c27746b79e
Add `Message.withInheritedSchemaVersion`
7 years ago
Daniel Gasienica
e9e46464c2
Add `SchemaVersion` type
7 years ago
Daniel Gasienica
add4b11df3
Skip invalid attachments and make function sync
7 years ago
Daniel Gasienica
3dfc823716
Add `Attachment.removeSchemaVersion`
7 years ago
Daniel Gasienica
37d35db3c3
Merge pull request #2144 from signalapp/ios-theme-conversation-panel-height
...
iOS Theme: Ensure conversation panel fills screen vertically
7 years ago
Daniel Gasienica
685f05a99d
Ensure conversation panel fills screen vertically
...
Required addition to the following change:
ef041b29d0
7 years ago
Scott Nonnenberg
bbbd527985
v1.7.0-beta.1
...
New option in settings: delete all application data
(383e02edc4
)
Remove all configuration in database when we discover we are unlinked
(9acb189650
)
Delete everything in database when we link with a different phone number
from previous link (9acb189650
)
Windows: Delete all data on uninstall
(c8555974e4
)
Dev:
- Switch to a new service for debug logs, since GitHub is retiring
anonymous gists (#2111 )
- Redact file paths in anything that goes to the log on disk (#2110 )
- When top-level process errors happen, don't show dialog with stack
trace (#2110 )
- Add `nsp` to CI runs
(fd056e1b4c
)
- Add eslint-plugin-mocha to disallow exclusive tests using *.only
(#2110 )
7 years ago
Scott Nonnenberg
256b87aa7a
Refactor newly-added ClearDataView in settings_view.js
7 years ago
Scott Nonnenberg
ef041b29d0
Remove scrollbar when placeholder is showning when in iOS theme
7 years ago
Scott Nonnenberg
b01b939d15
Clear conversation list when the conversations collection resets
7 years ago
Scott Nonnenberg
c760fe29ac
Fix broken storeNames.forEach, since it's not an array
7 years ago
Scott Nonnenberg
a728c9efbf
Remove all mention of obsolete safety-number-approval setting
7 years ago
Scott Nonnenberg
26c273618a
Refactor: db tasks to database.js, log delete to modules/logs.js
7 years ago
Scott Nonnenberg
3527740598
Format updates to js/database.js
7 years ago
Scott Nonnenberg
3a151393c5
Move wrapDeferred from background.js to preload.js
...
It's necessary anywhere that will have to deal with Deferreds.
7 years ago
Scott Nonnenberg
a824e2b42d
Start moving towards semantic CSS class names
7 years ago
Scott Nonnenberg
2373840df8
Use proper logging if error pops when deleting all logs
7 years ago
Scott Nonnenberg
12d9d41548
Move to better database deletion call; clears in-memory caches
7 years ago
Scott Nonnenberg
c81d3f5c0b
Allow ConversationController.load() to be called more than once
7 years ago
Scott Nonnenberg
2ffabdcdd9
Delete data screen: Remove scrollbar when no convo selected
...
Turns out that the welcome screen had a min-height which caused weird
things when you take the window down to minimum height. It looked
particularly bad with the new full-screen delete data confirmation
screen.
7 years ago
Scott Nonnenberg
383e02edc4
New section in settings screen, full-screen 'are you sure?'
7 years ago
Scott Nonnenberg
928906e0f3
Enable deletion of all logs on disk via IPC
7 years ago
Scott Nonnenberg
198f356792
Return number (not id) in getNumber, remove unnecessary comment
7 years ago
Scott Nonnenberg
9acb189650
Remove config after unlink, clear db when linked with new number
7 years ago
Scott Nonnenberg
fd056e1b4c
Add nsp to dev dependencies and to travis and CI scripts
7 years ago
Scott Nonnenberg
c8555974e4
Delete data on windows uninstall
7 years ago
Scott Nonnenberg
6e86bf238e
Disable all webviews, since we never intend to create them ( #2114 )
7 years ago