Týž jazyk, mluvený jinak

Díl 3 ze 7 — ./blog.sh v1.4

Komentáře jsou tu odpovědi na toot a GoToSocial mluví API Mastodonu – takže komentáře na instanci GTS měly prostě fungovat. Nefungovaly, ani jednou, a nikdo neviděl, že selhávají: arch-linux.cz, první web, který tento engine spojil s vlastní instancí GTS, nikdy neukázal pod žádným příspěvkem jediný komentář. Moje vlastní testy měly Mastodon na obou koncích, takže to nikdy zachytit nemohly.

Nářečí není jazyk

V cestě stály dva přízvuky. GoToSocial píše adresu statusu ve vlastním tvaru a vzor v enginu trval na tvaru Mastodonu – číselné id tam, kde GTS odpovídá 26znakovým ULID. A GTS vyžaduje token i ke čtení veřejného vlákna, zatímco Mastodon ho dá každému, kdo si řekne. První přízvuk rozbil čtení adresy; druhý rozbil celou myšlenku živých komentářů, což je prohlížeč návštěvníka stahující vlákno – prohlížeč, kterému token dát nemůžeš.

Moderace jsou dveře dovnitř

Na GoToSocial jsou tedy komentáře z principu ty moderované: comments.approval: fav, a cron čte vlákno s tokenem, na straně serveru, a zveřejňuje odpovědi, které ohvězdičkuješ. Vedlejší účinek je ten, který si weby na Mastodonu volí záměrně: prohlížeče návštěvníků přestanou tvou instanci kontaktovat úplně.

doctor --online teď testuje schopnost, ne značku – dokáže anonymní požadavek přečíst vlákno? – takže instance Mastodonu v zabezpečeném režimu dostane stejně poctivou odpověď. A oprava se potvrdila tam, kde se chyba našla: první ohvězdičkovaná odpověď na arch-linux.cz se objevila pod svým příspěvkem týž den, kdy tam 1.4 přistála.

Komentáře