From 12fee3edeb29515c14ef28c7eb995fa0116f562c Mon Sep 17 00:00:00 2001 From: Javier Ribal del Rio Date: Sun, 12 Jul 2026 20:08:37 +0200 Subject: [PATCH] feat(backend): propagate fault --- backend/pkg/vehicle/vehicle.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/backend/pkg/vehicle/vehicle.go b/backend/pkg/vehicle/vehicle.go index 6e51cbb24..65fbfdd81 100644 --- a/backend/pkg/vehicle/vehicle.go +++ b/backend/pkg/vehicle/vehicle.go @@ -46,6 +46,17 @@ func (vehicle *Vehicle) UserPush(push abstraction.BrokerPush) error { return nil } + // Orders with id 0 are faults: broadcast them to every board instead + // of routing them like a regular order + if order.Id == 0 { + if transp, ok := vehicle.transport.(*transport.Transport); ok { + transp.SendFault() + vehicle.notifyError("PROPAGATING ORDER FAULT", errors.New("order with id 0 received, fault broadcasted to all boards")) + return nil + } + return fmt.Errorf("cannot propagate fault: transport does not support SendFault") + } + packet, err := order.ToPacket() if err != nil { fmt.Fprintf(os.Stderr, "error converting order to packet: %v\n", err)