mirror of
https://github.com/sartoopjj/thefeed.git
synced 2026-05-19 10:46:51 +03:00
2bd4835674
- Persist display names in per-channel JSON cache files (Name + DisplayName fields on cachedChannel). GetAllTitles reads all ch_*.json files; PutTitle updates a channel file in-place without losing messages. - Replace blocking FetchTitles calls in fetchMeta and refreshChannel with an instant disk read (GetAllTitles) applied before the SSE broadcast, so channels appear with cached titles immediately on every load. - ensureTitlesFetched runs in a single background goroutine (titlesMu + titlesLoading guard prevents duplicates). On success it persists titles and pushes an SSE update. On error or empty response it backs off for 5 minutes so an old server does not cause endless retries. - Block 0 of TitlesChannel now carries a uint16 total-block-count prefix (added in rebuildTitlesBlocks). FetchTitles reads the count from block 0 and fetches all remaining blocks in parallel instead of sequentially. - FetchTitles timeout raised from 10 s to 1 minute.