Brand and design · Hi-fi screens · S18 Read · Read

Data-binding map: S18 Read · Read

Data-binding map of Read · Read: every field to its source, and what each required state shows.

Generated by botgumi-design index from ../../screens.json. Edit that file, not this page.

Every field S18 shows and where it comes from.

Field Source (endpoint or local state) Format Fallback
kind tag api GET /sessions/{session_id} kind · session.kind read.tag.<kind> —
topic tag api GET /sessions/{session_id} article.topic.name · session.article.topic.name (Accept-Language) — hide
language tag api GET /sessions/{session_id} language · session.language lang.short.<tag> (title = endonym) —
read time api GET /sessions/{session_id} article.est_read_seconds · session.article.est_read_seconds common.read_* hide
length api GET /sessions/{session_id} article.length.label · session.article.length.label as is hide
title / byline / paragraphs / hint api GET /sessions/{session_id} article · session.article.* (article language) t-reading, lang= load error → read.load_error, never another article
source line api GET /sessions/{session_id} article.source.name · session.article.source.name, version read.source hide
source line api GET /sessions/{session_id} article.version
CTA call POST /sessions/{id}/reading-complete · POST /v1/sessions/{id}/reading-complete {read_duration_ms = now − local:reader.openedAt} — offline: queued, proceed
session.article.byline api GET /sessions/{session_id} article.byline · From the board's data-bind; no row in data-binding.md yet.
session.article.paragraphs[0] api GET /sessions/{session_id} article.paragraphs[] · From the board's data-bind; no row in data-binding.md yet.
session.article.paragraphs[1] api GET /sessions/{session_id} article.paragraphs[] · From the board's data-bind; no row in data-binding.md yet.
session.article.paragraphs[2] api GET /sessions/{session_id} article.paragraphs[] · From the board's data-bind; no row in data-binding.md yet.
session.article.paragraphs[3] api GET /sessions/{session_id} article.paragraphs[] · From the board's data-bind; no row in data-binding.md yet.
session.article.paragraphs[4] api GET /sessions/{session_id} article.paragraphs[] · From the board's data-bind; no row in data-binding.md yet.
session.article.paragraphs[5] api GET /sessions/{session_id} article.paragraphs[] · From the board's data-bind; no row in data-binding.md yet.
session.article.paragraphs[6] api GET /sessions/{session_id} article.paragraphs[] · From the board's data-bind; no row in data-binding.md yet.
session.article.paragraphs[7] api GET /sessions/{session_id} article.paragraphs[] · From the board's data-bind; no row in data-binding.md yet.
session.article.paragraphs[8] api GET /sessions/{session_id} article.paragraphs[] · From the board's data-bind; no row in data-binding.md yet.
session.article.reading_hint api GET /sessions/{session_id} article.reading_hint · From the board's data-bind; no row in data-binding.md yet.
session.article.source.name + version api GET /sessions/{session_id} article.source.name · From the board's data-bind; no row in data-binding.md yet.
session.article.source.name + version api GET /sessions/{session_id} article.version
session.article.title api GET /sessions/{session_id} article.title · From the board's data-bind; no row in data-binding.md yet.
session.stage → derived step api GET /sessions/{session_id} stage · From the board's data-bind; no row in data-binding.md yet.

Binds on the boards

The data-bind values across every state.

  • session.article.byline
  • session.article.est_read_seconds
  • session.article.length.label
  • session.article.paragraphs[0]
  • session.article.paragraphs[1]
  • session.article.paragraphs[2]
  • session.article.paragraphs[3]
  • session.article.paragraphs[4]
  • session.article.paragraphs[5]
  • session.article.paragraphs[6]
  • session.article.paragraphs[7]
  • session.article.paragraphs[8]
  • session.article.reading_hint
  • session.article.source.name + version
  • session.article.title
  • session.article.topic.name
  • session.kind
  • session.language
  • session.stage → derived step

States

  • Loading: From states.md (Read): article skeleton
  • Empty: From states.md (Read): n/a
  • Error (retryable / not): From states.md (Read): read.load_error + Retry, never another article · fatal: 404 → generic error, session abandoned
  • Offline: From states.md (Read): cached article (daily quest is prefetched)