Never let the notice or documents hold up the day #2

Merged
nicolas merged 2 commits from fix/optional-feeds into main 2026-09-09 12:43:06 +00:00
Owner

The shift endpoint is the whole contract; the day's message and its documents are extras. Their fetches already fail silently, but the view model awaited them before clearing the refreshing flag, so a server without those endpoints, or one slow to answer them, kept the spinner up after the roster had landed. They now load alongside the day and land when they land.

A core test pins the contract against a dead host: currentShift() throws Unreachable, message() returns null, documents() returns empty.

🤖 Generated with Claude Code

The shift endpoint is the whole contract; the day's message and its documents are extras. Their fetches already fail silently, but the view model awaited them before clearing the refreshing flag, so a server without those endpoints, or one slow to answer them, kept the spinner up after the roster had landed. They now load alongside the day and land when they land. A core test pins the contract against a dead host: `currentShift()` throws `Unreachable`, `message()` returns null, `documents()` returns empty. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The shift endpoint is the whole contract; the day's message and its
documents are extras. Their fetches already fail silently, but the view
model awaited them before clearing the refreshing flag, so a server
without those endpoints, or one slow to answer them, kept the spinner
up after the roster had landed. They now load alongside the day and
land when they land. A core test pins the contract: the roster fails
out loud, the extras never do.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Pins the contract from the driver's side: against a server that answers
only the shift endpoint, the roster loads, the connection test passes,
and the missing notice and documents never reach the banner.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
nicolas deleted branch fix/optional-feeds 2026-09-09 12:43:06 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
glong/driver-android!2
No description provided.