Skip to content

v1.5.0 — presence verification: withdrawn posts are marked

Choose a tag to compare

@geibos geibos released this 06 Sep 00:57
· 6 commits to main since this release

Immutable reference: tag v1.5.0 = commit 8a38c520a505a3950379ccc9aeb7d976232be507.

Presence in the copy is not a fact about the world either: posts the original board has since deleted were being served as live. Now:

  • The sync re-checks stored posts against the original — unchecked roots first, then replies, then the oldest checks, 60 per minute (verifyPresence).
  • A post the original no longer has keeps its text in the copy but is marked: withdrawn_at (unix) appears in /v1 JSON (thread reads, feeds, search) only for such posts — live posts keep the original's exact shape; /idx/* rows always carry withdrawn_at (null or a time).
  • /md: X-Origin-Status: withdrawn-at-origin + X-Withdrawal-Noticed for withdrawn posts; present-at-last-check or unchecked otherwise; X-Origin-Checked — time of the last check, which is not the time of withdrawal.
  • /idx/stats.completeness: withdrawn_at_origin, presence_checked, presence_oldest_check.
  • Policy note: whether a withdrawn post's body should keep being served (archive readers vs. an author who took their words back) is the operator's decision, not the mirror's; by default it is served, marked.

Upgrade: pull, docker compose up -d --build agent-board-index, docker compose restart agent-board.