Commit Graph

171 Commits (8542a18f33d0d77f367e7c85c0974961fae5ee40)

Author SHA1 Message Date
Matthew Chen 4602ad9014 Respond to CR. 7 years ago
Matthew Chen 1dced463cb Lazy restore attachments. 7 years ago
Matthew Chen 61dc2c0249 Add local cache of backup fragment metadata. 7 years ago
Matthew Chen e88f5643f7 Add local cache of backup fragment metadata. 7 years ago
Matthew Chen d0c691bb7f Lazy attachment restores. 7 years ago
Matthew Chen 610bbacd21 Clean up ahead of PR. 7 years ago
Matthew Chen 0c81d5656f Rework database snapshot representation, encryption, etc. 7 years ago
Matthew Chen 1bbd41f725 Improve perf of database snapshots. 7 years ago
Michael Kirk a0bd2c2324 OrphanDataCleaner shouldn't delete active thumbnails
// FREEBIE
7 years ago
Michael Kirk dfd628250d Gallery performance
- [x] share uiDatabaseConnection to share cache
- [x] increase cache size
- [x] load less initially
- [x] lazy loading
  - [x] slider view
  - [x] tile view

// FREEBIE
7 years ago
Michael Kirk 4ac9a1019b Media page view controller
First pass at a swipe-through media view for conversations.

Future work could include

- title label per item
  - sender name
  - date/time
- photo rail
- include caption

// FREEBIE
7 years ago
Matthew Chen 4746948dfe Respond to CR. 7 years ago
Matthew Chen 3f822e8ce3 Complete minimal backup MVP. 7 years ago
Matthew Chen 0971bad4b2 Upload database and manifest files to CloudKit. 7 years ago
Matthew Chen c84bf81cf3 Export database for backup. 7 years ago
Matthew Chen 46a89e89f0 Sketch out OWSBackupStorage. 7 years ago
Matthew Chen 792be8018f Incremental backup. 7 years ago
Matthew Chen 692ef423be Rename TSStorageManager to OWSPrimaryStorage. 7 years ago
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 7 years ago
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
7 years ago
Michael Kirk 54792ff461 Fix overzealous assert.
Sometimes we set values to nil - e.g. when re-registering through
debugUI

// FREEBIE
7 years ago
Matthew Chen 59c745756a Clean up codebase. 7 years ago
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 7 years ago
Matthew Chen 59f480d5c4 Use background tasks during storage registration and disappearing message jobs. 7 years ago
Matthew Chen 4e1e232825 Flush writes from other processes. 7 years ago
Matthew Chen 3bb802189c Use background tasks during db transactions. 7 years ago
Matthew Chen 706006539f Improve the robustness of the migration logic. 7 years ago
Matthew Chen d91507d897 Improve the robustness of the migration logic. 7 years ago
Matthew Chen 9295a56309 Elaborate logging around storage migration. 7 years ago
Michael Kirk 033505afd7 Remove slow file protection updates from launch path
To avoid blocking launch, file protection is now updated async for most
moved files. Out of paranoia, the database files are also update
redundantly on a sync code path.

It's still critical that we update permissions recursively for two
reasons:

1. Updating a containing directories FileProtection does not affect
   existing files in that directory.

2. Because we've changed the containers default file protection level
   (from unspecified to NSFileProtectionComplete), some existing files
   will have there file protection updated upon launching Signal 2.20.
   It's not clear to me which files this affects, and I haven't found
   any relevant documentation, but from observation, it seems to affect
   any top-level files in the container. Regardless, we're now doing the
   right thing: after launching 2.20, ensure all file permissions are
   what we expect.

Also removed no-op file protection on legacy db files. They've already
been moved by the time this method runs in AppSetup.

// FREEBIE
7 years ago
Michael Kirk 3d5f7e6bf3 Clean up logging
- tag all log lines for easier filtering
- use up-to-date database path

// FREEBIE
7 years ago
Matthew Chen ba42ac73d8 Revisit TODOs in the SAE work. 7 years ago
Matthew Chen b64528e817 Respond to CR. 7 years ago
Matthew Chen bd0f601792 Respond to CR. 7 years ago
Matthew Chen 38950ae2ed Respond to CR. 7 years ago
Matthew Chen 6b357f9445 Respond to CR. 7 years ago
Matthew Chen 43765ef3b5 Respond to CR. 7 years ago
Matthew Chen 7d3f79440f Clean up ahead of PR. 7 years ago
Matthew Chen bbd689bfd0 Add protocol context to protocol kit. 7 years ago
Matthew Chen 074046b98e Add protocol context to protocol kit. 7 years ago
Matthew Chen 7358f3053f Add protocol context to protocol kit. 7 years ago
Matthew Chen 39e353503f Add protocol context to protocol kit. 7 years ago
Matthew Chen 71782e0369 Add protocol context to protocol kit. 7 years ago
Matthew Chen 122ef91e57 Add protocol context to protocol kit. 7 years ago
Michael Kirk 4f8db63fb3 Ensure keyspec is generated before DB is created
// FREEBIE
7 years ago
Michael Kirk 6f959ff292 CR: be more conservative about deriving key spec, clear old passphrase
after deriving key spec.

// FREEBIE
7 years ago
Michael Kirk d22fc664f2 more granular key access
// FREEBIE
7 years ago
Michael Kirk 426c9baa16 Key material changes
- For new installs, generate raw key-spec rather than derive it
- Adapt to separated concerns of the key derivation migration from the unencrypted header migration
- Reduce number of places where we delete/generate keying information
- Only store relevant keying material

// FREEBIE
7 years ago
Michael Kirk 938b9c85b8 Don't crash on clean install
Otherwise we'll error when retrieving non-existent password.

// FREEBIE
7 years ago
Matthew Chen 4bfdef520a Respond to CR. 7 years ago