Currently job events are sent as separate messages, but really we should only have one announcement per pipeline and edit that each time a job is updated.
This probably involves storing the pipeline state somewhere so that we can regenerate the message when editing. I think the best solution would be to cache the pipeline data in memory and also send it in the Matrix event. If the bot is restarted during a pipeline, the data can be loaded from the event. The event ID is already stored in the db.
Currently job events are sent as separate messages, but really we should only have one announcement per pipeline and edit that each time a job is updated.
This probably involves storing the pipeline state somewhere so that we can regenerate the message when editing. I think the best solution would be to cache the pipeline data in memory and also send it in the Matrix event. If the bot is restarted during a pipeline, the data can be loaded from the event. The event ID is already stored in the db.