a303cb0648
Every watch sentence (card, banner, toast, email, Slack, webhook) now comes from app/presenters/v3/dashboardAgent. The condition is written once per kind in four registers instead of in four switches across three files, and a plain-text block renderer lets the non-React surfaces say what the card says.
Trigger webapp - powered by Remix
To start, run with pnpm run dev --filter webapp
Build the docker image locally:
pnpm run docker:build:webapp
docker run -it triggerdotdev-webapp sh