Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ArchiveImportService.js

    r98acb97 r19430fa  
    285285  rapport.origin = manifest.origin || null;
    286286
    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.
     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.
    291303  const idsBehouden = !!(manifest.origin && eigenOrigin && manifest.origin === eigenOrigin);
    292304  rapport.idsBehouden = idsBehouden;
    293305  if (!idsBehouden) {
    294306    rapport.waarschuwingen.push(
    295       `origin verschilt (archief ${manifest.origin || '?'} vs deze site ${eigenOrigin || '?'}): nieuwe AP-ids, de oude blijven als verwijzing staan`,
     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.`,
    296308    );
    297309  }
     
    307319    const o = JSON.parse(files.get(pad).toString('utf8'));
    308320    const oudId = decodeURIComponent(String(o.id || '').split('/ap/notes/')[1] || path.basename(pad, '.json'));
    309     const nieuwId = idsBehouden ? oudId : randomUUID();
     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;
    310324    idKaart.set(oudId, nieuwId);
    311325
Note: See TracChangeset for help on using the changeset viewer.