Changeset 19430fa in Klonkt for src/services/ArchiveImportService.js
- Timestamp:
- 08/14/2026 12:40:43 AM (4 weeks ago)
- Branches:
- main
- Children:
- 5a49eba
- Parents:
- 919b82d
- File:
-
- 1 edited
-
src/services/ArchiveImportService.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ArchiveImportService.js
r919b82d r19430fa 285 285 rapport.origin = manifest.origin || null; 286 286 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. 291 303 const idsBehouden = !!(manifest.origin && eigenOrigin && manifest.origin === eigenOrigin); 292 304 rapport.idsBehouden = idsBehouden; 293 305 if (!idsBehouden) { 294 306 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.`, 296 308 ); 297 309 } … … 307 319 const o = JSON.parse(files.get(pad).toString('utf8')); 308 320 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; 310 324 idKaart.set(oudId, nieuwId); 311 325
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)