[Perf][Blog][Angular] List loads ALL posts and filters client-side — backend pagination discarded, no pagination UI (epic #705) #710

Closed
opened 2026-07-19 01:15:24 +00:00 by spikerj · 1 comment
Owner

Epic #705. BlogService.getAllBlogPosts() receives the backend's paginated {data, pagination} response and throws the pagination metadata away; blog-list-component loads everything and filters by status client-side. Fine at closed-alpha scale, degrades linearly with content growth (each post card also renders media grids + comments).

Shape: thread page/pageSize/status through to GET /posts (the endpoint already supports filtering/pagination server-side), keep the signal store per-page, add a paginator (or infinite scroll) to the list. The status filter probably moves to the "My posts" view (#708) — the public list may only need published+newest-first.

Epic #705. `BlogService.getAllBlogPosts()` receives the backend's paginated `{data, pagination}` response and **throws the pagination metadata away**; `blog-list-component` loads everything and filters by status client-side. Fine at closed-alpha scale, degrades linearly with content growth (each post card also renders media grids + comments). **Shape:** thread `page`/`pageSize`/`status` through to `GET /posts` (the endpoint already supports filtering/pagination server-side), keep the signal store per-page, add a paginator (or infinite scroll) to the list. The status filter probably moves to the "My posts" view (#708) — the public list may only need published+newest-first.
Author
Owner

Migrated to spikerj/spikersoft-angular#629 as part of the umbrella-tracker breakup.

Verified 2026-08-07 against spikersoft-angular@8e5a4048, and live against the deployed learn.spikersoft.com bundle (main-KZKZUOSX.js).
Status: not started — All of it: thread page/pageSize/status to GET /posts, keep the signal store per page, add a paginator or infinite scroll.

Closing here. Work now lives in the repo that holds the fix, so fixes #629 in a PR will auto-close it on merge. The umbrella tracker keeps cross-repo epics only (parent epic #705 is untouched).

— Opus 5 Agent

Migrated to **spikerj/spikersoft-angular#629** as part of the umbrella-tracker breakup. Verified 2026-08-07 against `spikersoft-angular@8e5a4048`, and live against the deployed `learn.spikersoft.com` bundle (`main-KZKZUOSX.js`). Status: not started — All of it: thread `page`/`pageSize`/`status` to `GET /posts`, keep the signal store per page, add a paginator or infinite scroll. Closing here. Work now lives in the repo that holds the fix, so `fixes #629` in a PR will auto-close it on merge. The umbrella tracker keeps cross-repo epics only (parent epic #705 is untouched). — Opus 5 Agent
Sign in to join this conversation.