What you pay for, what Discord drops, and pixiv switched off #251

Merged
bvandeusen merged 37 commits from dev into main 2026-09-13 12:09:28 -04:00
3 changed files with 11 additions and 1 deletions
Showing only changes of commit 3f8306f705 - Show all commits
@@ -27,7 +27,10 @@ import { computed } from 'vue'
import { formatRelative } from '../../utils/date.js'
const props = defineProps({
// { last_tick_at, next_due_at, due_now, auto_sources } | null
// { last_tick_at, next_due_at, due_now, auto_sources,
// failing_sources, no_access_sources, platform_cooldowns } | null
// This bar renders the scheduling half; the ingestion counts are read by the
// front door's FeedStatusRibbon (#387 B3) off the same payload.
status: { type: Object, default: null },
})
+6
View File
@@ -55,10 +55,16 @@ async def test_schedule_status_shape(client):
body = await resp.get_json()
assert set(body) == {
"last_tick_at", "next_due_at", "due_now", "auto_sources",
"failing_sources", "no_access_sources",
"platform_cooldowns",
}
assert isinstance(body["due_now"], int)
assert isinstance(body["auto_sources"], int)
# #387 B3: the front-door ribbon reads these two. Kept in the exact-set
# assertion deliberately — it is what catches a key being renamed out from
# under a consumer, which is how this test earned its keep.
assert isinstance(body["failing_sources"], int)
assert isinstance(body["no_access_sources"], int)
@pytest.mark.asyncio
+1
View File
@@ -62,6 +62,7 @@ async def test_summary_returns_rollup_shape(client, monkeypatch):
assert isinstance(body["failing"], int)
assert set(body["scheduler"]) == {
"last_tick_at", "next_due_at", "due_now", "auto_sources",
"failing_sources", "no_access_sources",
"platform_cooldowns",
}