Notes

Last updated: 2 September 2026 · Deutsch

Write-ups from building AI-Cockpit for macOS, iOS and watchOS. Mostly defects: what broke, what actually caused it, and what was done about it. Written for people who work on the same platforms — you should get something out of these whether or not you ever install the app.

The widget that froze because it refreshed too often

2 September 2026

A Date field in a Codable struct joined the synthesized Equatable, so every poll looked like a change and the app asked WidgetKit to reload thousands of times a day — against a documented allowance of 40 to 70. WidgetKit throttles silently, and the tile stops moving. How the comparison went wrong, why the test that covered it was green anyway, and why the fix is a projection rather than a custom ==.

Swift · WidgetKit · Equatable · App Groups