Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ArchiveImportService.js

    r19430fa r98acb97  
    285285  rapport.origin = manifest.origin || null;
    286286
    287   // IDENTITEIT. Het INTERNE id blijft altijd (Robins besluit, 14-8).
    288   //
    289   // Dat is iets anders dan de AP-URI. Die is domeingebonden en wordt hoe dan
    290   // ook nieuw: https://nieuw/ap/notes/<id> is een ander adres dan
    291   // https://oud/ap/notes/<id>. Je claimt dus niets van een ander door het GUID
    292   // te hergebruiken, en je wint dat elke INTERNE verwijzing blijft kloppen:
    293   // [[track:]], [[playlist:]] en [[album:]] wijzen na een verhuizing nog naar
    294   // het goede ding.
    295   //
    296   // Voorheen hing dit aan de origin, en alleen voor posts; tracks en playlists
    297   // hielden hun id al wel. Die scheve tabel was precies waarom een post uit de
    298   // zip met [[track:oud]] naast een nummer uit de pull met een nieuw id kwam te
    299   // staan, en je de shorthand als kale tekst in je bericht zag.
    300   //
    301   // `idsBehouden` gaat hieronder alleen nog over de AP-URI: gelijke origin
    302   // betekent dat ook die identiek blijft, en dan valt er niets te vertalen.
     287  // IDENTITEIT. Gelijke origin -> de AP-ids blijven, en daarmee vinden de boosts
     288  // en antwoorden die er al naar wijzen hun post terug. Anders nieuwe ids, want
     289  // een id op andermans domein publiceren is een vervalsingsoppervlak en andere
     290  // servers halen het daar toch op.
    303291  const idsBehouden = !!(manifest.origin && eigenOrigin && manifest.origin === eigenOrigin);
    304292  rapport.idsBehouden = idsBehouden;
    305293  if (!idsBehouden) {
    306294    rapport.waarschuwingen.push(
    307       `origin verschilt (archief ${manifest.origin || '?'} vs deze site ${eigenOrigin || '?'}): de berichten krijgen een nieuw AP-adres. Hun interne id blijft, dus verwijzingen binnen je site blijven kloppen.`,
     295      `origin verschilt (archief ${manifest.origin || '?'} vs deze site ${eigenOrigin || '?'}): nieuwe AP-ids, de oude blijven als verwijzing staan`,
    308296    );
    309297  }
     
    319307    const o = JSON.parse(files.get(pad).toString('utf8'));
    320308    const oudId = decodeURIComponent(String(o.id || '').split('/ap/notes/')[1] || path.basename(pad, '.json'));
    321     // Altijd het id uit het archief. Staat er hier al iets met dat id, dan is
    322     // dat hetzelfde object, en dat handelt de botsingscontrole hieronder af.
    323     const nieuwId = oudId;
     309    const nieuwId = idsBehouden ? oudId : randomUUID();
    324310    idKaart.set(oudId, nieuwId);
    325311
Note: See TracChangeset for help on using the changeset viewer.