adrian-altner.com/tasks/todo.md
2026-03-30 14:16:43 +02:00

11 KiB

Todo

  • Prüfen, wo links noch data.date statt data.publishDate verwendet
  • Link-Seiten, RSS und Archiv auf publishDate umstellen
  • Verifikation laufen lassen und Ergebnis dokumentieren

Current Task

  • src/pages/imprint.md auf aktuelle Rechtsbezüge und schlanke englische Fassung umstellen
  • redundante Datenschutzpassage aus dem Impressum entfernen und auf die separate Datenschutzseite verweisen
  • Ergebnis per Diff prüfen und in diesem Dokument kurz reviewen
  • Obfuskierte Kontaktdaten in src/pages/privacy-policy.md konsistent halten
  • Privacy-Link im Impressum auf den neuen Slug /privacy-policy korrigieren
  • Änderung per Diff und Astro-Check verifizieren
  • Obfuskierte Kontaktdaten in src/pages/privacy-policy.md konsistent halten
  • Privacy-Link im Impressum auf den neuen Slug /privacy-policy korrigieren
  • Änderung per Diff und Astro-Check verifizieren

Review

  • src/pages/links/index.astro, src/pages/links/[...slug].astro, src/pages/rss.xml.ts, src/pages/rss/links.xml.ts, src/pages/tags/[slug].astro und src/pages/archives/index.astro lesen links jetzt konsistent über data.publishDate.
  • rg findet keine verbleibenden links-Zugriffe mehr über data.date.
  • pnpm astro check läuft auf dem aktuellen Stand komplett sauber durch: 0 Errors, 0 Warnings, 0 Hints.
  • src/pages/imprint.md verweist jetzt korrekt auf Section 5 DDG statt auf das alte TMG, enthält obfuskierte direkte Kontaktangaben und hält den MStV-Block separat.
  • Die redundante Datenschutzpassage wurde aus dem Impressum entfernt; stattdessen verweist die Seite knapp auf src/pages/privacy-policy.md.
  • Der Diff für src/pages/imprint.md ist inhaltlich sauber und pnpm astro check läuft nach der Änderung weiter ohne Fehler.
  • src/pages/privacy-policy.md nutzt für die E-Mail jetzt dieselbe Obfuskationslogik mit data-obf und data-obf-href wie die übrigen Kontaktstellen.
  • src/pages/imprint.md verweist auf den tatsächlichen Privacy-Slug /privacy-policy, sodass der Link zur umbenannten Datei wieder stimmt.

Current Task (2026-03-24)

  • Intro-Text in src/pages/index.astro und Copy in src/pages/about.astro auf Konsistenz prüfen
  • Grammatik, Rechtschreibung und Formulierungen in idiomatischem Englisch glätten
  • Änderungen per Diff prüfen und Review hier dokumentieren

Review (2026-03-24)

  • src/pages/index.astro klingt jetzt weniger generisch und passt sprachlich besser zur persönlicheren Stimme der About-Seite.
  • src/pages/about.astro nutzt jetzt idiomatischeres Englisch, glattere Satzrhythmen und konsistente Wortwahl rund um web, photography und curiosity.
  • Der Diff für beide Dateien ist inhaltlich eng begrenzt auf Copy-Änderungen.
  • pnpm astro check läuft nach den Anpassungen sauber durch: 0 Errors, 0 Warnings, 0 Hints.

Current Task (2026-03-24, Article Tables)

  • Tabellenlayout in src/pages/articles/[...slug].astro für Markdown-Content ergänzen
  • Tabellen-Workaround im Artikelcontent auf semantisches Markdown zurückführen
  • Diff und pnpm astro check prüfen und Review hier dokumentieren

Review (2026-03-24, Article Tables)

  • src/pages/articles/[...slug].astro deklariert jetzt ein eigenes Tabellenlayout für Markdown in .prose, inklusive Abständen, Linien, Zell-Padding und kontrolliertem Umbruch.
  • Der vorherige <br>-Workaround in src/content/articles/2026/03/23/obfuscating-contact-data-on-a-static-site.md wurde wieder entfernt; der Artikel bleibt semantisch sauberes Markdown.
  • Der Diff ist eng begrenzt auf die fehlenden Tabellen-Styles und die Projektdokumentation.
  • pnpm astro check läuft nach der Änderung sauber durch: 0 Errors, 0 Warnings, 0 Hints.
  • Inkonsistenz der syndication-Links in src/pages/articles/[...slug].astro und src/pages/notes/[...slug].astro eingrenzen
  • Notes-Seite auf konsistente syndication-Darstellung und korrekten Datentyp umstellen
  • Diff und pnpm astro check prüfen und Review hier dokumentieren
  • src/components/SyndicationLinks.astro bündelt Rendering, Plattformnamen und Chip-Styling der syndication-Links jetzt an einer Stelle, sodass Artikel und Notizen dieselbe Darstellung verwenden.
  • src/pages/notes/[...slug].astro normalisiert den optionalen einzelnen syndication-URL-Wert korrekt zu einem Array, statt einen String zu spreaden.
  • src/pages/articles/[...slug].astro verwendet dieselbe Komponente wie die Notes-Seite; der Diff bleibt dadurch eng begrenzt und reduziert künftige Drift zwischen beiden Templates.
  • pnpm astro check läuft nach der Änderung sauber durch: 0 Errors, 0 Warnings, 0 Hints.

Current Task (2026-03-24, Mastodon Syndication)

  • scripts/mastodon-syndicate.mjs für RSS-basiertes Autoposting von Artikeln und Notes mit State-Datei implementieren
  • scripts/publish-posts.sh um Mastodon-Env, Script-Aufruf, State-Commit und Remote-Clean-Exclude erweitern
  • Artikel- und Notes-Seiten um .mastodon-posted.json für automatische Syndication-Links ergänzen
  • Änderungen per Diff, node --check und pnpm astro check verifizieren

Review (2026-03-24, Mastodon Syndication)

  • scripts/mastodon-syndicate.mjs postet neue RSS-Einträge aus Articles und Notes nach Mastodon, baut den Status als Titel + Teaser + Link, lädt OG-Bilder als Media hoch und persistiert erfolgreiche Posts in .mastodon-posted.json.
  • scripts/publish-posts.sh behandelt .mastodon-posted.json jetzt wie .bluesky-posted.json (Clean-Exclude + Commit/Push bei Änderungen) und führt Mastodon-Syndication nur mit gesetzten MASTODON_BASE_URL und MASTODON_ACCESS_TOKEN aus.
  • src/pages/articles/[...slug].astro und src/pages/notes/[...slug].astro lesen zusätzlich .mastodon-posted.json, sodass Mastodon-Status-URLs in SyndicationLinks erscheinen.
  • node --check scripts/mastodon-syndicate.mjs und pnpm astro check laufen nach den Änderungen sauber durch.

Current Task (2026-03-24, Mastodon Hardening)

  • Media-Upload in scripts/mastodon-syndicate.mjs um Retry/Backoff bei HTTP 429 ergänzen
  • Optionale MASTODON_DRY_RUN- und MASTODON_LIMIT-Steuerung im Script ergänzen
  • Optionale Mastodon-Flags in scripts/publish-posts.sh durchreichen
  • Änderungen mit node --check, pnpm biome check und pnpm astro check verifizieren

Review (2026-03-24, Mastodon Hardening)

  • scripts/mastodon-syndicate.mjs retried Media-Uploads jetzt bis zu 5-mal bei 429 mit Retry-After-Support und exponentiellem Backoff als Fallback.
  • Das Script unterstützt jetzt MASTODON_DRY_RUN (simuliert Posts ohne Veröffentlichung) und MASTODON_LIMIT (begrenzt die Anzahl verarbeiteter Items).
  • scripts/publish-posts.sh liest und übergibt die optionalen Variablen MASTODON_DRY_RUN und MASTODON_LIMIT an das Mastodon-Script.
  • node --check scripts/mastodon-syndicate.mjs, pnpm biome check scripts/mastodon-syndicate.mjs scripts/publish-posts.sh und pnpm astro check laufen nach den Änderungen erfolgreich.

Current Task (2026-03-24, Webmention Re-Validation)

  • Serverseitige Webmention-Fetch/Filter-Lib für Bluesky-/Mastodon-Quellen ergänzen
  • API-Endpoint api/webmentions.json für gefilterte Mentions bereitstellen
  • WebMentions.astro auf gefilterte Datenquelle für SSR und Client-Refresh umstellen
  • Änderungen mit pnpm biome check und pnpm astro check verifizieren

Review (2026-03-24, Webmention Re-Validation)

  • src/lib/webmentions.ts filtert eingehende Mentions jetzt serverseitig und prüft Social-Reaktionen auf Interaktionsebene:
    • Mastodon #favorited-by-.../#reblogged-by-... wird über die jeweiligen Status-Listen (favourited_by/reblogged_by) validiert.
    • Bluesky #liked_by_did:.../#reposted_by_did:... wird über die Public-API (getLikes/getRepostedBy) validiert.
    • Fallback bleibt eine Existenzprüfung der Quell-URL (404/410/Tombstone), wenn keine Interaktionssignatur erkannt wird.
  • src/pages/api/webmentions.json.ts liefert gefilterte Mentions als JSON und wird nicht prerendered, damit die Prüfung live auf dem Server stattfindet.
  • src/components/WebMentions.astro nutzt die Filter-Lib für das initiale Rendering und ruft clientseitig statt webmention.io jetzt den lokalen Endpoint auf, damit beide Pfade konsistent sind.
  • pnpm biome check src/lib/webmentions.ts src/pages/api/webmentions.json.ts src/components/WebMentions.astro und pnpm astro check laufen nach der Änderung sauber durch.

Current Task (2026-03-24, Mastodon Articles)

  • Artikel zur Mastodon-Implementierung in src/content/articles erstellen
  • Artikel zum Troubleshooting von Backfeed/Stale Webmentions in src/content/articles erstellen
  • Frontmatter und Content-Struktur gegen bestehende Artikelkonventionen verifizieren

Review (2026-03-24, Mastodon Articles)

  • Neuer Implementierungsartikel: src/content/articles/2026/03/24/posse-to-mastodon-with-state-and-media.md
  • Neuer Troubleshooting-Artikel: src/content/articles/2026/03/24/troubleshooting-mastodon-backfeed-and-stale-webmentions.md
  • Beide Artikel verwenden konsistentes Frontmatter (title, description, publishDate, tags) und orientieren sich in Struktur, Ton und technischer Tiefe an den bestehenden Engineering-Posts.

Current Task (2026-03-24, Remove Bluesky)

  • Bluesky-Syndication in scripts/publish-posts.sh und scripts/bluesky-syndicate.mjs vollständig entfernen
  • Bluesky-State (.bluesky-posted.json) und Seiten-Imports in Artikel-/Notes-Templates entfernen
  • Bluesky-Links in src/components/Footer.astro, src/layouts/BaseLayout.astro und Label-Mapping bereinigen
  • Webmention-Filter in src/lib/webmentions.ts von Bluesky-Pfaden auf Mastodon-only zurückbauen
  • Änderungen per Diff, pnpm biome check und pnpm astro check verifizieren und Review dokumentieren

Review (2026-03-24, Remove Bluesky)

  • scripts/publish-posts.sh enthält keinen Bluesky-Block mehr und nutzt im Remote-Clean nur noch die Mastodon-State-Ausnahme; scripts/bluesky-syndicate.mjs wurde entfernt.
  • .bluesky-posted.json wurde entfernt und die Artikel-/Notes-Templates lesen nur noch .mastodon-posted.json für automatische Syndication-Links.
  • Bluesky-Profile/Verweise wurden aus src/components/Footer.astro, src/layouts/BaseLayout.astro und dem Host-Label-Mapping in src/components/SyndicationLinks.astro entfernt.
  • src/lib/webmentions.ts prüft Social-Interaktionen jetzt Mastodon-only; alle Bluesky-spezifischen Resolver/Checks sind entfernt.
  • Verifikation: pnpm biome check scripts/publish-posts.sh src/components/Footer.astro src/components/SyndicationLinks.astro src/layouts/BaseLayout.astro src/lib/webmentions.ts src/pages/articles/[...slug].astro src/pages/notes/[...slug].astro und pnpm astro check laufen erfolgreich (0 Errors, 0 Warnings, 0 Hints).