the-draupnir-project / planning

0 stars 0 forks source link

[Story] Safe Mode #1

Closed Gnuxie closed 6 days ago

Gnuxie commented 9 months ago

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 in draupnir4all 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

Issues

Tasks

Dependencies

Total Pain

54

Gnuxie commented 5 months 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.

Gnuxie commented 5 months ago

It should be noted that until we have #6 we will just have to disable all protections outright in safe mode.

Gnuxie commented 1 month ago

Feedback: