2.0.4
Sessions now last for weeks instead of hours, an expired session finally asks you to sign in again, and a ready-made dashboard card ships with the integration.
Fixed
- The Family session no longer expires after a few hours. Sign-in used to go through the mobile app's OAuth page, which never offers "Stay signed in?", so Microsoft dropped the session after roughly 7 hours. The flow now signs you in on the regular Microsoft account page first, where that question is asked, and fetches the mobile token itself from the same sign-in. You still sign in exactly once. Answer Yes to "Stay signed in?" and the captured cookies are valid for about a year.
- An expired Family session is now escalated to reauthentication. When Microsoft has dropped the Family session but the account page still answers, the integration used to sit on "connected" with every schedule
unknownand no prompt. It now detects the state across two consecutive updates, marks the connection sensordegradedwithreauth_recommended, raises the notification and starts the reauthentication flow. - Cookie expiry is no longer lost. Two code paths reloaded cookies in a way that dropped their expiry, so persistent Microsoft cookies were written back as session cookies on every update. Expiry now survives capture and storage.
- "Microsoft authentication host not allowed" during sign-in. Microsoft's sign-in page emits some links with an explicit port (
login.microsoftonline.com:443); the proxy rejected them. The port is now ignored. - One warning per episode in the log instead of three per update while a session is expired.
Added
- Service
microsoft_family_safety.request_reauthto start the sign-in flow on demand, for example from a dashboard button or an automation. - A per-child dashboard card in
examples/: connection health (click it to reauthenticate), screen time, blocked apps, pending requests, lock / Windows lock / limits switches, today's top apps and the weekly limits grid. Built as a decluttering-card template so one card per child only needs a few variables. See the README section Dashboard card.
Changed
- Sign-in texts and the install guide now tell you to answer Yes to "Stay signed in?" and to wait for the completion screen, which can take up to about a minute.
Note for existing installs
Update, then run Reauthenticate once so the new sign-in captures a long-lived session. Until you do, the current session keeps its old lifetime and you will be prompted when it expires.