-
v4.0.0
Stablereleased this
2026-09-09 20:57:59 +00:00 | 1 commits to main since this releaseBreaking
-
The web UI is gone. The info-beamer package (
package-buergerschule) renders the
schedule itself fromGET /api/events, andpackage-display-controller, the consumer
of/api/hours, is retired. Nothing renders the HTML pages any more, so/,
/wochenplan,/no-zoomand/logo.pngno longer exist; a kiosk browser still
pointed at them gets a JSON404. Next.js, React and Tailwind are removed with them.
What remains is an API-only service on a plainnode:httpserver:/api/events,
/api/hoursand the new/api/health. -
The container healthcheck target changed from
/logo.pngto/api/health.
The quadlet unit indeploy/podman/event-display.containercarries the new
HealthCmd. A host still probing/logo.pngwill mark the new image unhealthy and
podman-auto-updatewill roll back to v3.2.0 in a loop — see the upgrade notes. -
[frontend],calendar.refreshIntervalandcalendar.timeouthave no meaning any
more. They are still accepted and ignored, so an existingconfig.tomlkeeps
validating unchanged.
Changed
-
/api/eventsfetches each calendar once per request instead of once per day.
A poll of the default 7-day feed used to send one CalDAVREPORTper calendar per
day — 84 requests against Nextcloud for 12 calendars, about 2.5 s, every minute. One
REPORTper calendar now spans the whole window and the days are derived locally, so
a poll costs 12 requests and well under a second. The response is unchanged. -
A single unreachable calendar no longer takes the whole feed down. A calendar
that times out (20 s), answers with an error status or returns an unparseable
response is logged on stderr ascalendar <name>: …and left out of that response;
the other rooms are served normally with HTTP200. Only when no calendar at all
could be read do/api/eventsand/api/hoursanswer502, which makes the
info-beamer package keep its cached copy. Previously any single failure was a502
that did not name the calendar. -
The image is smaller (about 182 MB instead of 211 MB) and runs
node dist/server.js
as userapp; the port,CONFIG_PATHand the bind-mountedconfig.tomlwork as
before.
Upgrade notes
Update the quadlet unit on the host before the new image is pulled: replace the
HealthCmdline in~/.config/containers/systemd/event-display.containerwith the one
fromdeploy/podman/event-display.container(/api/healthinstead of/logo.png),
thensystemctl --user daemon-reload. Without that, the auto-update healthcheck fails
and the host rolls back to v3.2.0.No changes to
config.tomlare required. The[frontend]section and the
refreshInterval/timeoutkeys can be deleted at leisure; they do nothing now.If a kiosk browser or bookmark still opens
/or/wochenplan, retire it: the
schedule is rendered by the info-beamer package now./api/eventsand/api/hours
keep their query parameters and response shapes.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-