Ignore:
Timestamp:
08/15/2026 07:33:20 AM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
e1da6a1
Parents:
732272a
Message:

AP: eerste pagina serveren op elke collectie die first belooft

/ap/users/dev/library gaf 200 met first en last, maar ?page=1 gaf de
bibliotheek opnieuw: zelfde id, type Library, first weer naar zichzelf.
open.audio volgde die verwijzing bij "search a remote object" en gaf een
500 op onze URL terug.

pagedCollection kon dit al; vier routes gaven ?page= door en vier niet
(featured, tracks, playlists, library, library/followers). De bouwers
nemen nu een page aan en de routes reiken paginaNr(req) aan.

De test loopt over HTTP en in een lus over alle collecties. Over HTTP
omdat de unit-test op buildLibrary er al stond en groen was terwijl het
gat openstond -- het zat in de doorgifte, niet in de bouwer. In een lus
omdat het gat juist ontstond doordat de helft van de routes het wel had:
een rijtje losse gevallen vraagt om dezelfde vergeetachtigheid. Hij vond
meteen featured, die ik in deze ronde ook was vergeten.

Co-Authored-By: Claude Opus 5 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ActivityPubService.js

    r732272a r5e16b8a  
    12001200// these as the "Featured" tab (pinned to the profile). Posts come ordered by pin
    12011201// rank; embedded as full Notes so a remote server doesn't need extra fetches.
    1202 export function buildFeatured(base, site, posts) {
     1202export function buildFeatured(base, site, posts, { page = false } = {}) {
    12031203  const id = `${actorId(base, site.slug)}/featured`;
    12041204  const items = (posts || []).map((p) => buildNote(base, site, p));
    1205   return pagedCollection(id, items);
     1205  return pagedCollection(id, items, { page });
    12061206}
    12071207
Note: See TracChangeset for help on using the changeset viewer.