Closed Gnuxie closed 6 days ago
This needs breaking up some more. We need to describe precisely how we will unify config in one model that requires a description object that describes with a JSON path where the value came from (as in the specific file, or MPS interface implementation, or a default).
After this is done, the implication is that the old config/production.yaml
will be parsed using JSONSchema before we pick off and feed the unified config model.
It should be noted that until we have #6 we will just have to disable all protections outright in safe mode.
Feedback:
Description
A Draupnir moderator's Mjolnir fails to start due to a configuration issue. For example, sometimes it's not possible for the homeserver to find the room associated with a room reference in
org.matrix.mjonir.watched_lists
and we have previously had to encourage them to manually login as the Mjolnir user, open devtools, and remove the reference from the event manually. This is obviously not something that is at all possible indraupnir4all
or for a non technical user. Instead, Draupnir starts in a limited safe mode, and no protections are given any capabilities for consequences. The moderator is well aware that Draupnir is in safe mode and is notified about the source of the problem (e.g. watched lists config) even if an exact diagnosis cannot be given. The user should be able to use commands to edit the configuration in account data or room state without opening up devtools. After the configuration has been edited, the user should be able to restart the bot into the normal mode of operation by issuing a command.Acceptance Criteria
rooms remove
orrooms add
). Even if the exact reason for the config's failure to load is not diagnosable.Issues
Tasks
Dependencies
Total Pain
54