Files
simplexmq/migrations
Evgeny Poberezkin 2a89394174 integrate double ratchet into agent (#268)
* separate skipped messages from ratchet

* return diff for skipped messages instead of the whole state (tests fail)

* fix ratchet tests

* JSON encoding/decoding for ratchet state

* schema for ratchets

* split MonadUnliftIO instance for ExceptT to a separate file

* update StrEncoding instance for Str

* ratchet store methods

* updateRatchet store method

* move E2E ratchet params to Ratchet module

* x3dh key agreement for double ratchet

* test/fix x3dh, use x3dh for ratchets initialization

* store/get x3dh keys, save ratchet of fixed X448 type

* double-ratchet encryption integration (tests fail)

* fix double ratchet

* fix padding and message length

* remove unused code for "activations"

* remove comment

* add version checks for forward/backward compatibility

* split loading ratchet and skipped message keys

* remove unused encoding instances for Algorithm types

* update ratchet initialization params
2022-01-10 12:01:54 +00:00
..
2021-05-31 16:38:35 +01:00

SQLite database migrations

These migrations are embedded into the executable and run when SMP agent starts (as a separate executable or as a part of simplex-chat app).

Migration file names must have a format YYYYMMDD-name.sql - they will be executed in the order or lexicographic sorting of the names, the files with any other extension than .sql are ignored.

The proposed approach is to minimize the number of migrations and merge them together when possible, to align with the agent releases.

Please note: Adding or editing migrations will NOT update the migrations embedded into the executable, unless the Migrations module is rebuilt - use stack build --force-dirty (in addition to edited files it seems to rebuild the files with TH splices and their dependencies, not all files as with stack clean).