Der Client legt Follows über createRecord mit app.bsky.graph.follow an. Das Lexicon war in der PDS aber nicht registriert, und createRecord validiert per Default — jede Anfrage kam mit 400 lex validation failed: unknown lexicon: app.bsky.graph.follow zurück. Der Follow-Button kann also nie funktioniert haben, auch wenn der Commit, der ihn eingeführt hat, "end-to-end follow / unfollow" heißt. Beim Gegenprüfen des Firehose-Pfads aufgefallen: der Testaufbau scheiterte schon am Anlegen des Follows. Das Lexicon ist jetzt da (subject als DID-String, nicht als strongRef — genau das, was der Client schickt und was follow_subject_did in der AppView liest) und registriert. Live geprüft: anlegen, in der AppView indiziert, löschen, Zeile weg. Dazu ein zweiter Grund, warum das nie auffiel: create_record_with nahm einen Parameter `_validate` entgegen und verwarf ihn. Der eine Aufrufer, der `false` übergab, bekam trotzdem Validierung. Der Parameter wird jetzt tatsächlich mitgeschickt; der Repost-Pfad steht auf `true`, weil genau das bisher schon passiert ist und funktioniert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013HC9HLrUU1LNwkzp8nkDLX
19 lines
371 B
JSON
19 lines
371 B
JSON
{
|
|
"lexicon": 1,
|
|
"id": "app.bsky.graph.follow",
|
|
"defs": {
|
|
"main": {
|
|
"type": "record",
|
|
"key": "tid",
|
|
"record": {
|
|
"type": "object",
|
|
"required": ["subject", "createdAt"],
|
|
"properties": {
|
|
"subject": { "type": "string", "format": "did" },
|
|
"createdAt": { "type": "datetime" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|