Skip to content

Home: "Latest TWIC issue" tile is TWIC-only — generalise for multi-source updates #176

Description

@jozef2svrcek

Summary

The home screen's database-stats panel (DatabaseStats.tsx) is a 3-tile grid: Games · Players · Latest TWIC issue. The third tile is hardcoded to TWIC (status.last_twic_issue + import date). Now that the app can pull ongoing updates from multiple feeds (TWIC and Lichess Broadcasts), and also refreshes the FIDE player list monthly, a TWIC-only "latest issue" readout is too narrow — it says nothing about Lichess updates, and reads oddly for a user who only enabled Lichess (or neither).

Where

  • chess-client/src/components/DatabaseStats.tsx (~L54–69) — the "Latest TWIC issue" tile.
  • Also mirrored in MaintenancePanel.tsx (~L136, "Latest TWIC").
  • Backing fields: status.last_twic_issue / last_twic_published / import date (types.ts ~L212).

What we already have to build on

  • Per-source status is available via sources::list_statusSourceStatus { name, kind, enabled, last_run, last_status, items }. So the home tile could reflect recent sync activity across enabled sources rather than a single hardcoded feed.

Possible directions (decide during design)

  1. "Last updated" tile — replace "Latest TWIC issue" with the most recent successful sync across all enabled feeds: e.g. "TWIC #1649 · 2 days ago" or "Lichess Broadcasts · 3h ago", whichever is newest. Falls back to "—" when no feeds are enabled.
  2. Per-source mini-summary — a small stacked list of enabled feeds with each one's last-sync time (compact), instead of one number.
  3. Keep a TWIC number only when TWIC is enabled, otherwise show the generic "last updated" — least disruptive.

Whichever we pick, the tile should:

  • Not reference TWIC when TWIC isn't an enabled source.
  • Cover Lichess Broadcasts (and future feeds) via the source registry, not new hardcoded fields.
  • Probably also surface the monthly FIDE-list refresh somewhere (maybe not this tile).

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions