Signal-iOS/SignalServiceKit
Michael Kirk be958fffea fix crash in schema migration for old users by introducing "data migrations"
which run *after* any migrations which mutate the schema.

If a user hasn't been keeping up to date, it's possible they'll crash when
running several migrations in sequence.

Any migration which leverages SDSModel serialization must occur *after* changes to the
database schema complete.

Otherwise, for example, consider we have these two pending migrations:
 - Migration 1: resaves all instances of Foo (Foo is some SDSModel)
 - Migration 2: adds a column "new_column" to the "model_Foo" table

Migration 1 will fail, because the generated serialization logic for Foo expects
"new_column" to already exist before Migration 2 has even run.

The solution is to always split logic that leverages SDSModel serialization into a
separate migration, and ensure it runs *after* any schema migrations. That is, new schema
migrations must be inserted *before* any of these Data Migrations.
2020-02-03 22:59:30 -07:00
..
protobuf Create and fetch groups v2. 2020-01-17 17:26:18 -03:00
Resources PR Feedback 2020-02-02 21:23:39 -08:00
src fix crash in schema migration for old users by introducing "data migrations" 2020-02-03 22:59:30 -07:00
tests Additional KBS vectors and normalization fix 2020-01-23 08:56:05 -08:00
Utilities Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00
.clang-format Import SSK (and history) into Signal-iOS 2017-07-21 13:55:01 -04:00
.gitignore Import SSK (and history) into Signal-iOS 2017-07-21 13:55:01 -04:00
.travis.yml Import SSK (and history) into Signal-iOS 2017-07-21 13:55:01 -04:00
CONTRIBUTING.md Update to the new GitHub organization name 2018-02-13 10:52:07 -05:00
LICENSE Import SSK (and history) into Signal-iOS 2017-07-21 13:55:01 -04:00
README.md Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00

SignalServiceKit

SignalServiceKit is an Objective-C library for communicating with the Signal messaging service for iOS & OS X

To use SignalServiceKit via CocoaPods add the following to your Podfile

pod 'SignalServiceKit', git: 'https://github.com/signalapp/Signal-iOS.git'