Commit Graph

341 Commits (3bb49e7d76b566ef51b2714cf2f3c74dea20fc9b)

Author SHA1 Message Date
Matthew Chen 708ef6f7dd Fix NPE using mock for unknown database objects. 7 years ago
Matthew Chen 060e0fd062 Fix NPE using mock for unknown database objects. 7 years ago
Matthew Chen 03e5d2973b Delta contact intersections. 7 years ago
Michael Kirk 77997639f5 Use CurrentAppContext instead of compiler flag to affect test behavior 7 years ago
Michael Kirk 12ef25420a Fixup SSK tests 7 years ago
Michael Kirk d591fb7f2c Fix some compiler warnings 7 years ago
Matthew Chen 158aa3abc4 Tweak system messages; incomplete vs. missed calls. 7 years ago
Matthew Chen a6dbb7704a Remove overzealous assert in search finder. 7 years ago
Matthew Chen 700e9fa491 Improve logging around deserialization exceptions. 7 years ago
Michael Kirk 737598c731 Return unknown object from deserializer
// FREEBIE
7 years ago
Matthew Chen 4abaed0e6d Tidy up type checking in database views. 7 years ago
Matthew Chen 2e6b4899a7 Remove TSRecipient. 7 years ago
Matthew Chen 21a9ce3b20 Ensure TSRecipient can be deserialized. 7 years ago
Matthew Chen f1708c0b30 Improve logging around deserialization failures. 7 years ago
Matthew Chen 28047abb6a Tweak database reset. 7 years ago
Matthew Chen 40e5bcc23f Respond to CR. 7 years ago
Matthew Chen e8d0d9ecc0 Index oversize text for search. 7 years ago
Matthew Chen f8e785ef72 Merge tag '2.26.0.25' 7 years ago
Michael Kirk a91b6b35e2 update UI DB to latest before showing CVC
// FREEBIE
7 years ago
Matthew Chen c8f2201a37 Respond to CR. 7 years ago
Matthew Chen 527e2715d4 Elaborate the search tests. 7 years ago
Matthew Chen 5c42e4c59e Improve search query construction. 7 years ago
Matthew Chen 755d30254e Improve search query construction. 7 years ago
Matthew Chen 153f3fc0a5 Improve search query construction. 7 years ago
Matthew Chen a51e9b78b0 Improve search query construction. 7 years ago
Matthew Chen f5a5d84edc Filter search index text. 7 years ago
Matthew Chen b5e0265758 Filter search index text. 7 years ago
Matthew Chen c8fee4efa7 Add swift logging to SSK. 7 years ago
Matthew Chen 44b23d44fd Respond to CR. 7 years ago
Michael Kirk dff8d7bf97 Moving code around
// FREEBIE
7 years ago
Michael Kirk f57a5dbc77 Match searches for national number format
// FREEBIE
7 years ago
Michael Kirk fff8474150 adapt to rebase conflicts 7 years ago
Michael Kirk f415827da6 Contact search results
// FREEBIE
7 years ago
Michael Kirk 729befa5cb CR: Cap max search results
// FREEBIE
7 years ago
Michael Kirk b3705196b3 remove unused code/comments 7 years ago
Michael Kirk 13c43c2520 search groups by member name, cleanup tests
// FREEBIE
7 years ago
Michael Kirk 3a03c4f74c WIP: message indexing 7 years ago
Michael Kirk b00e5a4fd9 Fuzzier search matching
-[] Backend
  -[] indexes e5.25
    -[x] wire up results: Contacts / Conversations / Messages actual: 3hr
    -[ ] group thread est: actual:
      -[x] group name actual: e.25
      -[ ] group member name: e.25
      -[ ] group member number: e.25
    -[ ] contact thread e.5
      -[ ] name
      -[ ] number
    -[ ] messages e1
      -[ ] content
-[] Frontend e10.75
  -[x] wire up VC's a.5
  -[x] show search results only when search box has content a.25
  -[] show search results: Contact / Conversation / Messages e2
   -[x] wire up matchs
   -[] style contact cell
   -[] style conversation cell
   -[] style messages cell
  -[] tapping thread search result takes you to conversation e1
  -[] tapping message search result takes you to message e1
  -[] show snippet text for matched message e1
  -[] highlight matched text in thread e3
  -[] go to next search result in thread e2
  -[] No Results page
  -[] Hide search unless pulled down
7 years ago
Michael Kirk a9e2834d9f WIP: FTS - rudimentary show results
-[] Backend
  -[] indexes e5.25
    -[x] wire up results: Contacts / Conversations / Messages actual: 3hr
    -[ ] group thread est: actual:
      -[x] group name actual: e.25
      -[ ] group member name: e.25
      -[ ] group member number: e.25
    -[ ] contact thread e.5
      -[ ] name
      -[ ] number
    -[ ] messages e1
      -[ ] content
-[] Frontend e10.75
  -[x] wire up VC's a.5
  -[x] show search results only when search box has content a.25
  -[] show search results: Contact / Conversation / Messages e2
   -[x] wire up matchs
   -[] style contact cell
   -[] style conversation cell
   -[] style messages cell
  -[] tapping thread search result takes you to conversation e1
  -[] tapping message search result takes you to message e1
  -[] show snippet text for matched message e1
  -[] highlight matched text in thread e3
  -[] go to next search result in thread e2
  -[] No Results page
  -[] Hide search unless pulled down
7 years ago
Michael Kirk 7df158120b Fix build warnings: mark initWithCoder as designated.
// FREEBIE
7 years ago
Michael Kirk 00f8ea4ff8 Use a single ui connection to share cache.
Primarly two things:
1. using an extension for the first time per connection is slow
2. fetching the same objects (e.g. if you leave/re-enter the same
conversation)

// FREEBIE
8 years ago
Matthew Chen 3cd6a33aa6 Fix build warnings. 8 years ago
Matthew Chen d62725d3b7 Add reported application state. 8 years ago
Michael Kirk a10ae1835e respond to code review
// FREEBIE
8 years ago
Michael Kirk 5ba5e98260 Show downloaded contact avatar in thread
// FREEBIE
8 years ago
Michael Kirk 7a1d24a9ab Avatar updates when contact/profile/group photo changes
// FREEBIE
8 years ago
Matthew Chen aa35594ad5 Respond to CR. 8 years ago
Matthew Chen 67f2d6608f Detect and handle corrupt database views. 8 years ago
Matthew Chen 1a4c01ae29 Detect and handle corrupt database views. 8 years ago
Matthew Chen 212891c50d Detect and handle corrupt database views. 8 years ago
Matthew Chen f70a45ef1b Clean up ahead of PR. 8 years ago
Matthew Chen 50a59c907d Detect and handle corrupt database views. 8 years ago
Matthew Chen d3b484482c Detect and handle corrupt database views. 8 years ago
Matthew Chen 7f23dfa258 Respond to CR. 8 years ago
Matthew Chen 2265ae08aa Don't start app version migrations until storage is ready. 8 years ago
Michael Kirk b3cd6a112b Add OWSJanksUI assertion
// FREEBIE
8 years ago
Michael Kirk 897d4a925b HomeView caches thread models
// FREEBIE
8 years ago
Michael Kirk 1fb1b5bbe2 WIP unjank home screen
verify `description` isn't used elsewhere (notifications? conversation
view?)

Probably want to remove overzealous asserts for now, but would be good
to work towards leaving them enabled.

// FREEBIE
8 years ago
Matthew Chen 35ee8c1a0d Rework flush of registration connection(s). 8 years ago
Matthew Chen a264268253 Rework flush of registration connection(s). 8 years ago
Matthew Chen e1138df771 Rework flush of registration connection(s). 8 years ago
Matthew Chen 5bbce14020 Rework flush of registration connection(s). 8 years ago
Matthew Chen 5d627ee89f Rework flush of registration connection(s). 8 years ago
Matthew Chen 4f1f1a107f Rework flush of registration connection(s). 8 years ago
Matthew Chen 65015e686f Tap on quoted replies. 8 years ago
Michael Kirk 622f6bdf21 OrphanDataCleaner vs. QuotedAttachment thumbnails
// FREEBIE
8 years ago
Matthew Chen 4915c127cb Rework quoted reply debug UI. 8 years ago
Matthew Chen 9dfc955ee5 Fix flush of registration connections. 8 years ago
Matthew Chen 684614013e Revert "Fix flush of registration connections."
This reverts commit 52b238c499.
8 years ago
Matthew Chen 52b238c499 Fix flush of registration connections. 8 years ago
Matthew Chen 4602ad9014 Respond to CR. 8 years ago
Matthew Chen 1dced463cb Lazy restore attachments. 8 years ago
Matthew Chen 61dc2c0249 Add local cache of backup fragment metadata. 8 years ago
Matthew Chen e88f5643f7 Add local cache of backup fragment metadata. 8 years ago
Matthew Chen d0c691bb7f Lazy attachment restores. 8 years ago
Matthew Chen 610bbacd21 Clean up ahead of PR. 8 years ago
Matthew Chen 0c81d5656f Rework database snapshot representation, encryption, etc. 8 years ago
Matthew Chen 1bbd41f725 Improve perf of database snapshots. 8 years ago
Michael Kirk a0bd2c2324 OrphanDataCleaner shouldn't delete active thumbnails
// FREEBIE
8 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
8 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
8 years ago
Matthew Chen 4746948dfe Respond to CR. 8 years ago
Matthew Chen 3f822e8ce3 Complete minimal backup MVP. 8 years ago
Matthew Chen 0971bad4b2 Upload database and manifest files to CloudKit. 8 years ago
Matthew Chen c84bf81cf3 Export database for backup. 8 years ago
Matthew Chen 46a89e89f0 Sketch out OWSBackupStorage. 8 years ago
Matthew Chen 792be8018f Incremental backup. 8 years ago
Matthew Chen 692ef423be Rename TSStorageManager to OWSPrimaryStorage. 8 years ago
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 8 years ago
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

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

// FREEBIE
8 years ago
Matthew Chen 59c745756a Clean up codebase. 8 years ago
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 8 years ago
Matthew Chen 59f480d5c4 Use background tasks during storage registration and disappearing message jobs. 8 years ago
Matthew Chen 4e1e232825 Flush writes from other processes. 8 years ago
Matthew Chen 3bb802189c Use background tasks during db transactions. 8 years ago
Matthew Chen 706006539f Improve the robustness of the migration logic. 8 years ago
Matthew Chen d91507d897 Improve the robustness of the migration logic. 8 years ago
Matthew Chen 9295a56309 Elaborate logging around storage migration. 8 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
8 years ago
Michael Kirk 3d5f7e6bf3 Clean up logging
- tag all log lines for easier filtering
- use up-to-date database path

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

// FREEBIE
8 years ago
Michael Kirk d22fc664f2 more granular key access
// FREEBIE
8 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
8 years ago
Michael Kirk 938b9c85b8 Don't crash on clean install
Otherwise we'll error when retrieving non-existent password.

// FREEBIE
8 years ago
Matthew Chen 4bfdef520a Respond to CR. 8 years ago
Matthew Chen 963d0547ad Clean up ahead of PR. 8 years ago
Matthew Chen ebbe96a5d5 Clean up ahead of PR. 8 years ago
Matthew Chen 6eddfae214 Improve post-migration testing tools. 8 years ago
matthew chen 8325c37191 Fix build breakage. 8 years ago
matthew chen 873c789132 Fix build breakage. 8 years ago
Matthew Chen b9ec7d96e9 Register all database views asynchronously. 8 years ago
Matthew Chen aeeef43416 Register all database views asynchronously. 8 years ago
Matthew Chen eb180ba5c4 Register all database views asynchronously. 8 years ago
Matthew Chen 100adae245 Register all database views asynchronously. 8 years ago
Matthew Chen 5cf89a0f3d Register all database views asynchronously. 8 years ago
Matthew Chen 6f7f1b3b08 Improve pre-migration testing tools. 8 years ago
Matthew Chen 6a81d8e5c2 Respond to CR. 8 years ago
Matthew Chen 0cc7f3e00e Clean up ahead of PR. 8 years ago
Matthew Chen 5d422e03d1 Add support for key specs. 8 years ago
Matthew Chen c5079ed3d7 Add support for key specs. 8 years ago
Matthew Chen a3e77019e2 Update storage to use database salts. 8 years ago
Matthew Chen 173da64bc4 Modify YapDatabase to read converted database, part 1. 8 years ago
Michael Kirk 71dc7f55d3 Copy DB setup / keying from Yap into conversion
// FREEBIE
8 years ago
Matthew Chen 1bff0f2b0e Incomplete commit starting work on loading databases for conversion. 8 years ago
Matthew Chen dc73342573 Convert databases if necessary. 8 years ago
Michael Kirk a423fe8a0e WIP Merge tag '2.19.4.4'
- restore video playback in fullscreen

This was a large merge, so I'm opting to make some changes in separate
commits.
8 years ago
Matthew Chen 0d5b5bc44c Respond to CR. 8 years ago
Matthew Chen 3de9a4ea55 Add debug UI actions around clearing and snapshotting session state. 8 years ago
Matthew Chen 2b528ad894 Don't use mainApplicationState in business logic. 8 years ago
Matthew Chen 76676659f8 Respond to CR. 8 years ago
Matthew Chen 15b8e58324 Retain changes from session database branch. 8 years ago
Matthew Chen 16f7317579 Complete backup restore/import. 8 years ago
Matthew Chen 1839b10550 Retain changes from session database branch. 8 years ago
Matthew Chen 9ac2383a2c Retain changes from session database branch. 8 years ago
Michael Kirk 8d2934d86e CR: remove unnecessary code, comments
// FREEBIE
8 years ago