We introduced a new PolicyRuleChangeType enum with a variant for
revealed literals. And we changed our mind about where reversal will
happen, it'll happen in the room state manager factory.
This cleans up all of the code surrounding schema migration and allows
the migration procedure to be transactional so that people can
downgrade draupnir if something explodes.
Co-authored-by: Bea <20361868+enbea@users.noreply.github.com>
We need to do this because they will be impossible to obtain once the
room has been blocked on the server.
We also need to make sure we now include the server the room was
created on, and the creator in the room hash store.
I want to change the APIs a little bit so that we can get a takedown
reporter like the audit log but for message rendering and testing.
I also want to make the BetterSqliteStore concrete not depend
on where the database came from so that we can use in memory
databases for unit testing stores.
There are a couple other FIXME's littered around so be sure to check
those before merging.
Make appservice datapath example consistent with docker image.
Make the appservice config schema check the admin room properly.
We now parse the room id/alias/or permalink.
Make sure to parse the config from cli.ts
* Set up state store if configured in d4all mode
Signed-off-by: MTRNord <mtrnord1@gmail.com>
* Ensure the dataPath is set in both the example and harness appservice config
Signed-off-by: MTRNord <mtrnord1@gmail.com>
* Move the SqliteRoomStateBackingStore creation to a static method instead
Signed-off-by: MTRNord <mtrnord1@gmail.com>
* Make the storage path canonicalization less confusing
---------
Signed-off-by: MTRNord <mtrnord1@gmail.com>
Explicitly set the `temp_store` pragma to `file` instead of `memory`
after deciding to place temporary files in `/data` to keep RAM usage
down while addressing #746.
Added a helper function to automatically "flatten" transactions
when you don't need SAVEPOINTs to avoid unnecessary temporary files.
Signed-off-by: Bea <20361868+enbea@users.noreply.github.com>