Six community pull requests and two fixes. Thank you @sth2258, @ghveem and @ibizaman.
Two new weather providers — by @sth2258 (#97, #99)
- Weather Underground (The Weather Company) — asked for in #67 by @majo1989. Owners of a personal weather station get a key for free, and the widget can overlay your own station's readings.
- Pirate Weather — the drop-in replacement for the retired Dark Sky API, asked for in #91 by @bapesupreme. The free tier (10,000 calls a month) covers a wall display.
Both keys go into .env for now (WUNDERGROUND_API_KEY, PIRATEWEATHER_API_KEY). There is no card on the Integrations page yet — which also means the Home Assistant add-on cannot use these two providers until that card exists. That follow-up is on the list. Details on the wiki's Weather providers page.
Calendar: blur slider for glass tiles — by @sth2258 (#98)
The calendar widget's backdrop blur is now an inspector control, consistent with the other card widgets — asked for in #94 by @mattplate.
Norwegian — by @ghveem (#89)
Bokmål and Nynorsk join German and English. Anything a translation does not cover falls back to English. While merging, two helpers that still decided "English, otherwise German" (the weather text and the notification age) were changed to follow the same rule — a Norwegian display would otherwise have shown German weather.
Two example modules — by @sth2258 (#96)
School Rotation and Daily Inspiration, as custom modules under examples/modules/. Good starting points for writing your own — see Custom modules. Whether school rotation should become a core widget is being discussed in #102.
Nix packaging — by @ibizaman (#92)
The Geist fonts are now bundled locally, so a build no longer calls Google Fonts. The --webpack switch was not taken over: it would have moved every build (Docker, CI, install.sh) from Turbopack to Webpack to solve a problem only the Nix sandbox has — the Nix derivation passes the flag itself.
Fixes
- Caddy 2.11: reload failed with 403 (#95, reported by @brownprogrammer). Fresh installs pull Caddy 2.11, which checks the Origin of browser-like requests. Node's
fetch()sendsSec-Fetch-Mode: corswithout an Origin, so a new 1.5.3 install could not save its HTTPS settings. The two admin calls now go throughnode:http, which sends no such headers. Fixed on the app side on purpose, not in the Caddyfile: an existing install loads its old Caddyfile, and that one has to go through before anything can be repaired. - Untitled calendar events said "(kein Titel)" in English (#100, reported by @brownprogrammer). The placeholder is now translated in the widget — the only place that knows the display language.
Upgrade: curl -fsSL https://raw.githubusercontent.com/jeremiaa/magic-frame/main/deploy/install.sh | bash — add-on users: add-on store → Reload → Update.