Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/activitypub.js

    r7090fd2 rdc802b4  
    11151115     ORDER BY pinned DESC, COALESCE(published_at, created_at) ASC LIMIT 20`
    11161116  ).all(site.id);
    1117   AP.sendAP(res, AP.buildFeatured(baseUrl(req), site, posts, { page: paginaNr(req) }));
     1117  AP.sendAP(res, AP.buildFeatured(baseUrl(req), site, posts));
    11181118});
    11191119
     
    11301130  const site = publicSite(req.params.slug);
    11311131  if (!site) return res.status(404).end();
    1132   AP.sendAP(res, AP.listPlaylistsAP(baseUrl(req), site, wantsEnriched(req, res), { page: paginaNr(req) }));
     1132  AP.sendAP(res, AP.listPlaylistsAP(baseUrl(req), site, wantsEnriched(req, res)));
    11331133});
    11341134
     
    11391139  const site = publicSite(req.params.slug);
    11401140  if (!site) return res.status(404).end();
    1141   AP.sendAP(res, AP.buildTrackCollection(baseUrl(req), site, AP.siteOpenTracks(site.id, { alles: await magAlles(req, site.slug) }), { page: paginaNr(req) }));
    1142 });
    1143 
    1144 // De bibliotheek van deze site (shaer-0nh). Funkwhale's Audio draagt een
    1145 // `library`, en dat is bij hen het haakje waar een UPLOAD aan komt te hangen --
    1146 // zonder die bak blijft een binnengehaalde track daar een naam zonder geluid.
    1147 // Gemeten op 13-8: open.audio had onze vier tracks wel, met onze eigen AP-id's,
    1148 // maar uploads leeg en is_playable false.
    1149 //
    1150 // Openbaar, want alles erin is fedi_open. Er valt dus niets goed te keuren en de
    1151 // volgerslijst blijft leeg: wie ons volgt volgt de ACTOR, niet de bak.
    1152 //
    1153 // `?page=` MOET hier doorgegeven worden. Zonder dat adverteert de wortel een
    1154 // `first` die op zichzelf uitkomt: de lezer volgt hem, krijgt weer een `Library`
    1155 // in plaats van een pagina, en klapt eruit -- open.audio gaf op 15-8 een 500 op
    1156 // precies deze URL. Dezelfde les als bij de outbox (shaer-sk4): een `first`
    1157 // beloven is een pagina beloven.
    1158 router.get('/ap/users/:slug/library', (req, res) => {
    1159   const site = publicSite(req.params.slug);
    1160   if (!site) return res.status(404).end();
    1161   AP.sendAP(res, AP.buildLibrary(baseUrl(req), site, AP.siteOpenTracks(site.id), { page: paginaNr(req) }));
    1162 });
    1163 
    1164 // De volgerscollectie die hun docs als vereist noemen. Leeg en eerlijk: er is
    1165 // geen goedkeuringspad omdat de bibliotheek openbaar is.
    1166 router.get('/ap/users/:slug/library/followers', (req, res) => {
    1167   const site = publicSite(req.params.slug);
    1168   if (!site) return res.status(404).end();
    1169   AP.sendAP(res, AP.pagedCollection(`${AP.libraryId(baseUrl(req), site)}/followers`, [], { page: paginaNr(req) }));
     1141  AP.sendAP(res, AP.buildTrackCollection(baseUrl(req), site, AP.siteOpenTracks(site.id, { alles: await magAlles(req, site.slug) })));
    11701142});
    11711143
     
    12021174  const site = publicSite(req.params.slug);
    12031175  if (!site) return res.status(404).end();
    1204   const pl = db.prepare('SELECT id, title, artist, year, cover_url, kind, release_date, mb_release_id, created_at FROM playlists WHERE id = ? AND site_id = ?')
     1176  const pl = db.prepare('SELECT id, title, artist, year, cover_url, kind FROM playlists WHERE id = ? AND site_id = ?')
    12051177    .get(req.params.id, site.id);
    12061178  if (!pl) return res.status(404).end();
     
    13891361router.post(['/ap/users/:slug/inbox', '/ap/inbox'], apInboxLimiter, apJson, async (req, res) => {
    13901362  try { return res.status(await AP.handleInbox(req, req.params.slug || null) || 202).end(); }
    1391   // Met de STACK erbij. Hier stond alleen `e.message`, en op 15-8 leverde dat
    1392   // zes keer "[AP inbox] error: slug is not defined" op zonder één aanwijzing
    1393   // waar -- een ReferenceError in een handler van duizenden regels, met een
    1394   // naam die overal voorkomt. Een fout die je niet kunt plaatsen is niet
    1395   // gemeld. Het type en de activiteit erbij, want dat zegt welke tak liep.
    1396   catch (e) {
    1397     const soort = req.body && req.body.type;
    1398     console.warn('[AP inbox] error:', e.message, '| type:', soort, '| slug:', req.params.slug || '(gedeeld)');
    1399     console.warn(e.stack);
    1400     return res.status(202).end();
    1401   }
     1363  catch (e) { console.warn('[AP inbox] error:', e.message); return res.status(202).end(); }
    14021364});
    14031365
Note: See TracChangeset for help on using the changeset viewer.