Matthew Chen
07e0cf36ec
Assert that writes occur on the main thread.
2020-06-07 11:45:47 -03:00
Matthew Chen
24b787125c
Refine the obj-c write macros.
2020-06-07 11:15:43 -03:00
Matthew Chen
ba801f05ce
Label the "slow write transactions" logging with the source of the transaction.
2020-06-07 10:37:55 -03:00
Nora Trapp
59c0f9d091
Device Transfer Service
2020-05-18 20:48:08 -07:00
Matthew Chen
e198261fa1
Respond to CR.
2020-04-07 14:02:27 -03:00
Matthew Chen
d2b713849e
Remove YDB from views.
2020-04-07 13:51:02 -03:00
Matthew Chen
0b7cc8cc00
Tune crash reporting around GRDB initialization failures.
2020-04-02 14:46:18 -03:00
Michael Kirk
f198d9037d
Merge tag '3.5.0.5'
2020-02-19 19:26:05 -07:00
Michael Kirk
4d23a16b63
fix typo in method name
2020-02-17 16:26:31 -07:00
Michael Kirk
07ccc40cd6
extract DebugFlags from FeatureFlags
2020-02-12 15:19:55 -07:00
Matthew Chen
7758bc619b
Log GRDB SQL syntax errors in DEBUG builds.
2019-12-04 10:44:20 -03:00
Matthew Chen
e46eefe50e
Remove readReturningResult().
2019-11-14 10:39:33 -03:00
Matthew Chen
bc0b768f69
Add change collection to database snapshots.
2019-11-08 15:43:04 -03:00
Matthew Chen
55abd1f69b
Refine the main thread db write warning.
2019-11-05 10:03:53 -03:00
Matthew Chen
3a2ce40358
Log db writes on main thread.
2019-11-05 10:03:53 -03:00
Michael Kirk
0fca274e62
Sync Groups and Contacts
2019-11-04 14:06:54 -08:00
Matthew Chen
b2dd31eb9c
Merge remote-tracking branch 'private/release/2.45.0'
2019-10-24 15:42:39 -03:00
Michael Kirk
a1ebb6cf76
log sql with regular logger, but only in dev-qa
2019-10-21 14:10:44 -06:00
Nora Trapp
fef0a2ffbf
Revert "Merge branch 'nt/ipad-split-view'"
...
This reverts commit 3c9a3f8f21 , reversing
changes made to 9a2645497e .
2019-10-21 12:35:02 -07:00
Matthew Chen
cf8e7d862e
Respond to CR.
2019-10-17 10:25:13 -03:00
Matthew Chen
a2a8068ff2
Refine storage modes.
2019-10-16 20:05:11 -03:00
Matthew Chen
2abaf3b198
Refine storage modes.
2019-10-16 19:50:47 -03:00
Matthew Chen
9a3cbc573b
Refine storage modes.
2019-10-16 16:28:28 -03:00
Nora Trapp
90c562e94b
Render conversation list + view in a side-by-side split on iPad
2019-10-08 20:10:01 -07:00
Matthew Chen
2ff2d7dd23
Log database file sizes after YDB-to-GRDB migration.
2019-10-04 15:12:45 -03:00
Michael Kirk
e62c5fffb2
Ignore touch observations during migration saves 75% of migration time and
...
substantially reduces memory footprint.
On an iphone6 with 100k of real messages, attachments, lots of threads, etc.
1. We're re-saving all these objects, so we don't need to repeatedly touch e.g.
the interactions thread.
2. Accruing all these updates for the UI database is also pointless since we
haven't drawn any UI yet.
2019-10-01 11:16:49 -03:00
Matthew Chen
fc9ee2e357
Fix break in database storage.
2019-09-26 17:21:21 -03:00
Matthew Chen
a2c4d728fa
Respond to CR.
2019-09-26 14:12:08 -03:00
Matthew Chen
bf323049c0
Log how long it takes to open the database file.
2019-09-26 14:08:48 -03:00
Matthew Chen
da6ade366f
Protect databases from orphan clean up.
2019-09-23 12:24:13 -03:00
Michael Kirk
ecc25b78c5
better failure logging
2019-09-20 16:25:55 -07:00
Michael Kirk
b28dc167f3
GRDB re-index FTS upon touching
2019-09-19 09:16:31 -07:00
Matthew Chen
550243d1c8
Add SDS.fitsInInt64().
2019-09-18 09:39:24 -03:00
Matthew Chen
f56aae7ac9
Merge remote-tracking branch 'private/release/2.43.0'
...
# Conflicts:
# SignalServiceKit/src/Util/FeatureFlags.swift
# SignalServiceKit/tests/Storage/SDSDatabaseStorageObservationTest.swift
2019-09-16 14:41:22 -03:00
Michael Kirk
1a9c0fae1d
GRDB: Fix disappearing messages vs. long text or media details
...
The generic observer delete was broken for GRDB, because we can't fetch the
uniqueId's of rowIds if the corresponding row was deleted. So instead, we
split the logic: Yap uses uniqueIds, GRDB uses row ids.
2019-09-16 07:53:00 -07:00
Matthew Chen
2146e9693f
Respond to CR.
2019-09-16 10:01:00 -03:00
Matthew Chen
3ff3f9bb0d
Fix tests.
2019-09-16 10:00:26 -03:00
Matthew Chen
4623f674db
Merge remote-tracking branch 'private/release/2.43.0'
2019-09-11 14:11:42 -03:00
Michael Kirk
e2978e25cf
Checking for passphrase happens before dependencies are wired, so we can't depend on Environment.
2019-09-06 10:35:23 -06:00
Michael Kirk
53b2fc1929
touches take effect even in a no-op deferred transaction.
...
UIDatabaseObserver orchestrates notifying views when a transaction commits.
We back UIDatabaseObserver with a DatabaseRegionObserver
DatabaseRegionObservers are not notified if the transaction contains no changes:
https://github.com/groue/GRDB.swift/blob/af0ac15/GRDB/Core/DatabaseRegionObservation.swift#L119
However the more general TransactionObservers *are* notified even if the
transaction contains no changes. Nicely, GRDB does some work to ensure this is
true even in the event of a deferred transaction. See this comment on `databaseDidCommitEmptyDeferredTransaction`
da459386a0/GRDB/Core/TransactionObserver.swift (L444)
2019-09-04 21:47:57 -06:00
Michael Kirk
9b6ddf200e
code clarity: DatabaseStorage orchestrates touches.
...
This isn't a change in behavior - we consolidated touch handling on the
DatabaseStorage, so the touch methods on the individual observers should no
longer be called themselves, except by DatabaseStorage.
2019-09-04 21:47:57 -06:00
Matthew Chen
21ee68cbf7
Fix issues with pure-GRDB mode.
2019-08-29 10:20:40 -03:00
Matthew Chen
4aeb89dda6
Fix issues with pure-GRDB mode.
2019-08-29 10:20:40 -03:00
Matthew Chen
2b31f07752
Fix issues with pure-GRDB mode.
2019-08-29 10:20:40 -03:00
Matthew Chen
dd770f9f2d
Use separate keyspec for GRDB.
2019-08-23 15:34:53 -03:00
Matthew Chen
dee5a0727f
Decompose SDSDatabaseStorage.
2019-08-23 15:32:47 -03:00
Matthew Chen
7e32979512
Respond to CR.
2019-08-22 17:30:11 -03:00
Matthew Chen
549d448724
Rework OWSDisappearingMessagesFinder to support GRDB.
2019-08-22 17:30:11 -03:00
Matthew Chen
db2dacf45f
Fix more tests.
2019-08-21 15:01:13 -03:00
Matthew Chen
5c19d29140
Rework isDatabasePasswordAccessible.
2019-08-21 10:44:58 -03:00