Michael Kirk
77997639f5
Use CurrentAppContext instead of compiler flag to affect test behavior
2018-07-18 10:24:08 -06:00
Michael Kirk
12ef25420a
Fixup SSK tests
2018-07-17 19:32:44 -06:00
Michael Kirk
d591fb7f2c
Fix some compiler warnings
2018-07-17 19:22:58 -06:00
Matthew Chen
158aa3abc4
Tweak system messages; incomplete vs. missed calls.
2018-07-11 15:34:16 -04:00
Matthew Chen
a6dbb7704a
Remove overzealous assert in search finder.
2018-06-26 12:47:21 -06:00
Matthew Chen
700e9fa491
Improve logging around deserialization exceptions.
2018-06-22 09:49:57 -04:00
Michael Kirk
737598c731
Return unknown object from deserializer
...
// FREEBIE
2018-06-21 10:40:33 -06:00
Matthew Chen
4abaed0e6d
Tidy up type checking in database views.
2018-06-20 17:09:14 -04:00
Matthew Chen
2e6b4899a7
Remove TSRecipient.
2018-06-20 16:36:43 -04:00
Matthew Chen
21a9ce3b20
Ensure TSRecipient can be deserialized.
2018-06-20 16:36:43 -04:00
Matthew Chen
f1708c0b30
Improve logging around deserialization failures.
2018-06-20 16:36:43 -04:00
Matthew Chen
28047abb6a
Tweak database reset.
2018-06-20 14:46:45 -04:00
Matthew Chen
40e5bcc23f
Respond to CR.
2018-06-15 10:03:15 -04:00
Matthew Chen
e8d0d9ecc0
Index oversize text for search.
2018-06-15 10:03:15 -04:00
Matthew Chen
f8e785ef72
Merge tag '2.26.0.25'
2018-06-15 09:59:45 -04:00
Michael Kirk
a91b6b35e2
update UI DB to latest before showing CVC
...
// FREEBIE
2018-06-14 18:23:13 -04:00
Matthew Chen
c8f2201a37
Respond to CR.
2018-06-14 16:33:27 -04:00
Matthew Chen
527e2715d4
Elaborate the search tests.
2018-06-14 16:18:13 -04:00
Matthew Chen
5c42e4c59e
Improve search query construction.
2018-06-14 16:18:13 -04:00
Matthew Chen
755d30254e
Improve search query construction.
2018-06-14 16:18:13 -04:00
Matthew Chen
153f3fc0a5
Improve search query construction.
2018-06-14 16:18:13 -04:00
Matthew Chen
a51e9b78b0
Improve search query construction.
2018-06-14 16:18:13 -04:00
Matthew Chen
f5a5d84edc
Filter search index text.
2018-06-14 16:18:13 -04:00
Matthew Chen
b5e0265758
Filter search index text.
2018-06-14 16:18:13 -04:00
Matthew Chen
c8fee4efa7
Add swift logging to SSK.
2018-06-13 13:56:55 -04:00
Matthew Chen
44b23d44fd
Respond to CR.
2018-06-13 12:40:34 -04:00
Michael Kirk
dff8d7bf97
Moving code around
...
// FREEBIE
2018-06-12 15:58:35 -04:00
Michael Kirk
f57a5dbc77
Match searches for national number format
...
// FREEBIE
2018-06-12 15:27:13 -04:00
Michael Kirk
fff8474150
adapt to rebase conflicts
2018-06-11 13:52:59 -04:00
Michael Kirk
f415827da6
Contact search results
...
// FREEBIE
2018-06-11 13:51:29 -04:00
Michael Kirk
729befa5cb
CR: Cap max search results
...
// FREEBIE
2018-06-11 11:09:53 -04:00
Michael Kirk
b3705196b3
remove unused code/comments
2018-06-11 10:14:48 -04:00
Michael Kirk
13c43c2520
search groups by member name, cleanup tests
...
// FREEBIE
2018-06-11 09:58:36 -04:00
Michael Kirk
3a03c4f74c
WIP: message indexing
2018-06-11 09:58:36 -04:00
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
2018-06-11 09:58:36 -04:00
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
2018-06-11 09:58:36 -04:00
Michael Kirk
7df158120b
Fix build warnings: mark initWithCoder as designated.
...
// FREEBIE
2018-06-11 09:56:14 -04:00
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
2018-06-01 13:16:43 -04:00
Matthew Chen
3cd6a33aa6
Fix build warnings.
2018-06-01 12:39:13 -04:00
Matthew Chen
d62725d3b7
Add reported application state.
2018-05-31 16:31:51 -04:00
Michael Kirk
a10ae1835e
respond to code review
...
// FREEBIE
2018-05-07 12:51:55 -04:00
Michael Kirk
5ba5e98260
Show downloaded contact avatar in thread
...
// FREEBIE
2018-05-07 12:08:41 -04:00
Michael Kirk
7a1d24a9ab
Avatar updates when contact/profile/group photo changes
...
// FREEBIE
2018-04-26 11:18:18 -04:00
Matthew Chen
aa35594ad5
Respond to CR.
2018-04-25 09:30:23 -04:00
Matthew Chen
67f2d6608f
Detect and handle corrupt database views.
2018-04-25 09:30:23 -04:00
Matthew Chen
1a4c01ae29
Detect and handle corrupt database views.
2018-04-25 09:30:23 -04:00
Matthew Chen
212891c50d
Detect and handle corrupt database views.
2018-04-25 09:30:23 -04:00
Matthew Chen
f70a45ef1b
Clean up ahead of PR.
2018-04-25 09:30:23 -04:00
Matthew Chen
50a59c907d
Detect and handle corrupt database views.
2018-04-25 09:30:23 -04:00
Matthew Chen
d3b484482c
Detect and handle corrupt database views.
2018-04-25 09:30:23 -04:00
Matthew Chen
7f23dfa258
Respond to CR.
2018-04-24 13:15:11 -04:00
Matthew Chen
2265ae08aa
Don't start app version migrations until storage is ready.
2018-04-24 11:56:32 -04:00
Michael Kirk
b3cd6a112b
Add OWSJanksUI assertion
...
// FREEBIE
2018-04-21 20:00:56 -04:00
Michael Kirk
897d4a925b
HomeView caches thread models
...
// FREEBIE
2018-04-21 19:21:18 -04:00
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
2018-04-21 19:21:18 -04:00
Matthew Chen
35ee8c1a0d
Rework flush of registration connection(s).
2018-04-18 17:38:13 -04:00
Matthew Chen
a264268253
Rework flush of registration connection(s).
2018-04-18 17:38:13 -04:00
Matthew Chen
e1138df771
Rework flush of registration connection(s).
2018-04-18 17:38:13 -04:00
Matthew Chen
5bbce14020
Rework flush of registration connection(s).
2018-04-18 17:38:13 -04:00
Matthew Chen
5d627ee89f
Rework flush of registration connection(s).
2018-04-18 17:38:13 -04:00
Matthew Chen
4f1f1a107f
Rework flush of registration connection(s).
2018-04-18 17:38:13 -04:00
Matthew Chen
65015e686f
Tap on quoted replies.
2018-04-10 15:54:46 -04:00
Michael Kirk
622f6bdf21
OrphanDataCleaner vs. QuotedAttachment thumbnails
...
// FREEBIE
2018-04-09 12:47:56 -04:00
Matthew Chen
4915c127cb
Rework quoted reply debug UI.
2018-04-02 16:17:46 -04:00
Matthew Chen
9dfc955ee5
Fix flush of registration connections.
2018-04-02 12:20:30 -04:00
Matthew Chen
684614013e
Revert "Fix flush of registration connections."
...
This reverts commit 52b238c499
.
2018-04-02 12:20:05 -04:00
Matthew Chen
52b238c499
Fix flush of registration connections.
2018-04-02 11:32:24 -04:00
Matthew Chen
4602ad9014
Respond to CR.
2018-04-02 09:39:13 -04:00
Matthew Chen
1dced463cb
Lazy restore attachments.
2018-04-02 09:28:12 -04:00
Matthew Chen
61dc2c0249
Add local cache of backup fragment metadata.
2018-04-02 09:27:34 -04:00
Matthew Chen
e88f5643f7
Add local cache of backup fragment metadata.
2018-04-02 09:27:34 -04:00
Matthew Chen
d0c691bb7f
Lazy attachment restores.
2018-04-02 09:27:34 -04:00
Matthew Chen
610bbacd21
Clean up ahead of PR.
2018-03-20 11:23:56 -04:00
Matthew Chen
0c81d5656f
Rework database snapshot representation, encryption, etc.
2018-03-20 11:23:56 -04:00
Matthew Chen
1bbd41f725
Improve perf of database snapshots.
2018-03-20 11:23:56 -04:00
Michael Kirk
a0bd2c2324
OrphanDataCleaner shouldn't delete active thumbnails
...
// FREEBIE
2018-03-19 14:22:03 -04:00
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
2018-03-19 14:22:03 -04:00
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
2018-03-16 15:55:34 -04:00
Matthew Chen
4746948dfe
Respond to CR.
2018-03-14 10:02:44 -03:00
Matthew Chen
3f822e8ce3
Complete minimal backup MVP.
2018-03-14 09:27:39 -03:00
Matthew Chen
0971bad4b2
Upload database and manifest files to CloudKit.
2018-03-12 16:40:07 -03:00
Matthew Chen
c84bf81cf3
Export database for backup.
2018-03-12 16:40:07 -03:00
Matthew Chen
46a89e89f0
Sketch out OWSBackupStorage.
2018-03-12 16:40:06 -03:00
Matthew Chen
792be8018f
Incremental backup.
2018-03-12 16:40:06 -03:00
Matthew Chen
692ef423be
Rename TSStorageManager to OWSPrimaryStorage.
2018-03-06 17:12:13 -03:00
Matthew Chen
d6f4db1523
Rename TSStorageManager to OWSPrimaryStorage.
2018-03-06 17:12:13 -03:00
Michael Kirk
1d3831eccd
Registration Lock reminder view
...
Also fixed: Don't lose PIN across registrations
// FREEBIE
2018-03-05 09:53:09 -05:00
Michael Kirk
54792ff461
Fix overzealous assert.
...
Sometimes we set values to nil - e.g. when re-registering through
debugUI
// FREEBIE
2018-03-05 09:37:26 -05:00
Matthew Chen
59c745756a
Clean up codebase.
2018-03-02 15:05:14 -05:00
Matthew Chen
e12a1e984a
Work on two-factor auth settings UI.
2018-03-01 15:38:59 -05:00
Matthew Chen
59f480d5c4
Use background tasks during storage registration and disappearing message jobs.
2018-02-27 08:42:30 -05:00
Matthew Chen
4e1e232825
Flush writes from other processes.
2018-02-22 11:46:08 -05:00
Matthew Chen
3bb802189c
Use background tasks during db transactions.
2018-02-21 16:10:55 -05:00
Matthew Chen
706006539f
Improve the robustness of the migration logic.
2018-02-20 20:16:12 -05:00
Matthew Chen
d91507d897
Improve the robustness of the migration logic.
2018-02-20 17:37:14 -05:00
Matthew Chen
9295a56309
Elaborate logging around storage migration.
2018-02-20 16:25:15 -05:00
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
2018-02-18 16:24:29 -05:00
Michael Kirk
3d5f7e6bf3
Clean up logging
...
- tag all log lines for easier filtering
- use up-to-date database path
// FREEBIE
2018-02-14 09:16:42 -08:00
Matthew Chen
ba42ac73d8
Revisit TODOs in the SAE work.
2018-02-12 22:33:26 -05:00
Matthew Chen
b64528e817
Respond to CR.
2018-02-09 10:42:25 -05:00
Matthew Chen
bd0f601792
Respond to CR.
2018-02-09 10:31:29 -05:00
Matthew Chen
38950ae2ed
Respond to CR.
2018-02-09 10:31:29 -05:00
Matthew Chen
6b357f9445
Respond to CR.
2018-02-09 10:31:29 -05:00
Matthew Chen
43765ef3b5
Respond to CR.
2018-02-09 10:31:29 -05:00
Matthew Chen
7d3f79440f
Clean up ahead of PR.
2018-02-09 10:31:29 -05:00
Matthew Chen
bbd689bfd0
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
074046b98e
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
7358f3053f
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
39e353503f
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
71782e0369
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
122ef91e57
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Michael Kirk
4f8db63fb3
Ensure keyspec is generated before DB is created
...
// FREEBIE
2018-01-31 18:05:44 -08:00
Michael Kirk
6f959ff292
CR: be more conservative about deriving key spec, clear old passphrase
...
after deriving key spec.
// FREEBIE
2018-01-31 17:22:42 -08:00
Michael Kirk
d22fc664f2
more granular key access
...
// FREEBIE
2018-01-31 16:08:03 -08:00
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
2018-01-31 16:08:03 -08:00
Michael Kirk
938b9c85b8
Don't crash on clean install
...
Otherwise we'll error when retrieving non-existent password.
// FREEBIE
2018-01-31 13:28:14 -08:00
Matthew Chen
4bfdef520a
Respond to CR.
2018-01-30 12:39:27 -05:00
Matthew Chen
963d0547ad
Clean up ahead of PR.
2018-01-30 10:31:13 -05:00
Matthew Chen
ebbe96a5d5
Clean up ahead of PR.
2018-01-30 10:31:13 -05:00
Matthew Chen
6eddfae214
Improve post-migration testing tools.
2018-01-30 10:31:13 -05:00
matthew chen
8325c37191
Fix build breakage.
2018-01-30 10:30:28 -05:00
matthew chen
873c789132
Fix build breakage.
2018-01-30 10:30:28 -05:00
Matthew Chen
b9ec7d96e9
Register all database views asynchronously.
2018-01-30 10:30:28 -05:00
Matthew Chen
aeeef43416
Register all database views asynchronously.
2018-01-30 10:30:28 -05:00
Matthew Chen
eb180ba5c4
Register all database views asynchronously.
2018-01-30 10:30:28 -05:00
Matthew Chen
100adae245
Register all database views asynchronously.
2018-01-30 10:30:28 -05:00
Matthew Chen
5cf89a0f3d
Register all database views asynchronously.
2018-01-30 10:30:28 -05:00
Matthew Chen
6f7f1b3b08
Improve pre-migration testing tools.
2018-01-30 10:06:46 -05:00
Matthew Chen
6a81d8e5c2
Respond to CR.
2018-01-25 13:16:35 -05:00
Matthew Chen
0cc7f3e00e
Clean up ahead of PR.
2018-01-25 11:00:38 -05:00
Matthew Chen
5d422e03d1
Add support for key specs.
2018-01-25 11:00:38 -05:00
Matthew Chen
c5079ed3d7
Add support for key specs.
2018-01-25 11:00:38 -05:00
Matthew Chen
a3e77019e2
Update storage to use database salts.
2018-01-25 11:00:38 -05:00
Matthew Chen
173da64bc4
Modify YapDatabase to read converted database, part 1.
2018-01-25 11:00:38 -05:00
Michael Kirk
71dc7f55d3
Copy DB setup / keying from Yap into conversion
...
// FREEBIE
2018-01-25 11:00:38 -05:00
Matthew Chen
1bff0f2b0e
Incomplete commit starting work on loading databases for conversion.
2018-01-25 11:00:38 -05:00
Matthew Chen
dc73342573
Convert databases if necessary.
2018-01-25 11:00:38 -05:00
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.
2018-01-16 15:25:58 -05:00
Matthew Chen
0d5b5bc44c
Respond to CR.
2018-01-12 16:49:51 -05:00
Matthew Chen
3de9a4ea55
Add debug UI actions around clearing and snapshotting session state.
2018-01-12 16:42:18 -05:00
Matthew Chen
2b528ad894
Don't use mainApplicationState in business logic.
2018-01-12 14:24:35 -05:00
Matthew Chen
76676659f8
Respond to CR.
2018-01-12 10:25:04 -05:00
Matthew Chen
15b8e58324
Retain changes from session database branch.
2018-01-12 10:23:54 -05:00
Matthew Chen
16f7317579
Complete backup restore/import.
2018-01-11 10:44:03 -05:00
Matthew Chen
1839b10550
Retain changes from session database branch.
2018-01-10 12:18:34 -05:00
Matthew Chen
9ac2383a2c
Retain changes from session database branch.
2018-01-10 12:18:29 -05:00
Michael Kirk
8d2934d86e
CR: remove unnecessary code, comments
...
// FREEBIE
2018-01-08 15:11:35 -05:00
Matthew Chen
d01ec57f0e
Fix storage reset.
2018-01-08 10:51:56 -05:00
Michael Kirk
81268012e5
Better keyboard management.
...
- fixes problems on iOS11.2 where emoji keyboard sometimes obscures text
input.
- better animation for interactive pan gesture when viewing message
details
- more intuitive swipe-to-dismiss keyboard in conversation view
- converge on one mnethod for dismissing keyboard in conversation view
- [ ] Pop keyboard, then hit attachment, dismisses keyboard, which is
fine, but the content should immediately scroll down with the
keyboard, instead it stays up, and scrolls down only once the
attachment action sheet has been dismissed.
// FREEBIE
2018-01-08 01:10:31 -05:00
Matthew Chen
05100b1143
Respond to CR.
2017-12-20 11:32:48 -05:00