Article

GitHub Issues - Von Latenz zu sofortiger Navigation

Das GitHub Issues Team hat clientseitiges Caching und Service Worker eingesetzt, um die Navigation spürbar zu beschleunigen.

Kurzbeschreibung

Mit IndexedDB-basiertem Caching, Smart Prefetching und Service Workern hat GitHub die Issues-Navigation radikal beschleunigt. Ganz ohne Backend-Neuschreibung.

Abstract

GitHub hat die Performance von Issues grundlegend überarbeitet und dabei den Fokus auf wahrgenommene Latenz statt reine Backend-Metriken gelegt. Das Team nutzt HPC (Highest Priority Content), eine Metrik ähnlich wie Web Vitals LCP, um zu messen, wann der primäre Inhalt einer Seite gerendert wird. Die Buckets sind einfach: Instant bedeutet unter 200ms, Fast unter 1000ms, und alles darüber ist Slow.

Die Lösung basiert auf drei Säulen: Erstens ein clientseitiges Caching mit IndexedDB, das Daten lokal speichert und sofort rendert, während im Hintergrund revalidiert wird. Zweitens eine Preheating-Strategie, die Cache-Hit-Raten verbessert, ohne Requests zu spammen. Drittens ein Service Worker, der auch bei Hard Navigations gecachte Daten nutzbar macht.

Besonders wichtig: Das Team hat erkannt, dass p90/p99-Optimierung allein nicht reicht. Die Mehrheit der Nutzer muss eine schnelle Erfahrung haben. Die Architektur ist auf andere datenintensive Web Apps übertragbar: Lokal-First mit IndexedDB, Service Worker für Offline-Fähigkeit, und intelligente Preheating-Strategien.

Die Ergebnisse sprechen für sich: Navigation fühlt sich sofort an, der Flow wird nicht mehr unterbrochen. Für ein Tool, das wöchentlich von Millionen Menschen weltweit genutzt wird, ist das ein massiver Qualitätssprung.

Link: From latency to instant: Modernizing GitHub Issues navigation performance