From 03147afc36cc4a8ade6a9c266aaba2d48f570513 Mon Sep 17 00:00:00 2001 From: Matthew Horsfall Date: Wed, 5 Aug 2026 09:08:57 -0400 Subject: [PATCH 1/2] Rototron: Log JMAP errors so we can figure out what's going on --- lib/Synergy/Reactor/Rototron.pm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/Synergy/Reactor/Rototron.pm b/lib/Synergy/Reactor/Rototron.pm index c8b52f3c..ee6c169d 100644 --- a/lib/Synergy/Reactor/Rototron.pm +++ b/lib/Synergy/Reactor/Rototron.pm @@ -263,10 +263,13 @@ sub _replan_range ($self, $from_dt, $to_dt) { ], }); - # This is terrible. It just crashes on failure, so we get a "something went - # wrong". But it's easy, and it's better than "We never look at $res so - # errors are unreported." - $res->assert_successful_set("CalendarEvent/set"); + eval { + $res->assert_successful_set("CalendarEvent/set"); + }; + + if ($@) { + $Logger->log(["Failed to CalendarEvent/set. Res: %s", $res->response_payload ]); + } $self->rototron->_duty_cache->%* = (); # should build this into Rototron From 7757ebdcbf994c015054640a9091140a8d0cca62 Mon Sep 17 00:00:00 2001 From: Matthew Horsfall Date: Wed, 5 Aug 2026 09:11:42 -0400 Subject: [PATCH 2/2] Synergy/Rototron: JMAP Calendars now need a 'version' field --- lib/Synergy/Rototron.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Synergy/Rototron.pm b/lib/Synergy/Rototron.pm index 528fb479..54d11dd9 100644 --- a/lib/Synergy/Rototron.pm +++ b/lib/Synergy/Rototron.pm @@ -243,6 +243,7 @@ sub compute_rotor_update ($self, $from_dt, $to_dt) { my $start = $day->ymd . "T00:00:00"; $want{ $rotor->keyword }{ $start } = { + version => '2.0', prodId => "$PROGRAM_ID", title => join(q{ - }, $rotor->description, $name), start => $start,