Ignore:
Timestamp:
07/29/2026 12:12:38 PM (6 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
d56d471
Parents:
08ab8ad
Message:

Een dichte poort mag zeggen dat hij dicht is

Robin tikte op een videokaart in de app en er gebeurde niets. Geen speler, geen
melding, geen reactie. De speler was niet stuk: de afspeel-poort staat voor dat
account dicht, dus de server stuurt geen playerUrl mee en de kaart is niet
aantikbaar. Correct gedrag, maar het leest als kapot.

De kaart zegt nu dat er iets achter de poort zit. timelineEmbed voegt
shaer:playable toe wanneer er wel een speler zou zijn maar de poort dicht is.
Dat kost niets: de kaart toont al een videothumbnail, dus dat er video achter
zit is geen nieuws. Het is een mededeling, nooit een ingang.

Het verschil dat dit maakt: "deze app is stuk" wordt "dit is niet aan mij". Een
kaart die een tik opslokt leert geen van beide. En het staat de guardians
nergens in de weg: niets hieraan zet iets aan.

Changed files:
src/services/ActivityPubService.js

  • timelineEmbed: shaer:playable bij een dichte poort met een speler erachter

test/gated-settings.test.js

  • een dichte poort geeft geen speler maar geeft dat wel toe
  • een nieuwsartikel is geen dichte poort, die belooft niets

remarks: 333 tests groen. De clientkant (het regeltje op de kaart) zit in de
app-repos.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ActivityPubService.js

    r08ab8ad r6100ce9  
    30993099    // player for PeerTube. Without one the card stays a thumbnail.
    31003100    const player = playback ? playerUrlFor(e.url) : null;
    3101     return player ? { ...e, 'shaer:playerUrl': player } : e;
     3101    if (player) return { ...e, 'shaer:playerUrl': player };
     3102    // The gate is shut and there IS something behind it. Saying so costs
     3103    // nothing (the card already shows a video thumbnail) and saves the child
     3104    // from tapping a card that will never answer: the app can explain instead
     3105    // of doing nothing. It stays a statement of fact, never a way in.
     3106    return playerUrlFor(e.url) ? { ...e, 'shaer:playable': true } : e;
    31023107  } catch { return undefined; }
    31033108}
Note: See TracChangeset for help on using the changeset viewer.