- Son birkaç ayda Safari tarayıcısında GitHub web sitesinin hızı giderek düştü
- Özellikle büyük PR’lerde veya binlerce satırlık kod dosyalarında ekranın render edilmesi fiilen imkânsız hale geldi
- Tarayıcının render sürecinin %100 kullanılması, kaydırma sırasında boş ekran görünmesi ve arama·yorum işlevlerinde ciddi gecikmeler yaşanıyor
- CSS değişiklikleri ve transform kullanımı, Safari’nin performans hatalarıyla çakışarak soruna yol açıyor; Chrome gibi diğer tarayıcılarda durum görece daha iyi
- WebKit tarafında bazı performans yamaları yapıldı, ancak Safari’nin bir sonraki sürümüne kadar GitHub frontend ekibinin geçici önlemler alması gerektiği belirtiliyor
Arka plan ve temel sorunlar
- Son dönemde Safari tarayıcısında GitHub web sitesine erişimde genel bir performans düşüşü belirgin hale geldi
- Özellikle Pull Request (PR) içinde binlerce satırı aşan değişiklikleri incelerken veya büyük kod dosyalarında gezinirken, render işlemi neredeyse yapılamaz hale geliyor
- Activity Monitor’da render süreci CPU’nun %100’ünü kullanıyor ve sayfa çok yavaş render edildiği için kaydırma sırasında ekran boş alan gibi görünüyor
- Arama, yorum gibi etkileşimli işlevlerde ciddi gecikmeler yaşanıyor; PR incelemesi sırasında bir onay kutusuna tıklamak bile birkaç saniyeden uzun sürebiliyor
- En yeni Apple Silicon’lu üst seviye MacBook Pro’larda da aynı durum görülüyor; Chrome veya diğer tarayıcılarda ise deneyim çok daha iyi
Sorunun nedeni ve analiz
- Safari 18.6 sürümü kullanıcılarından (ve beta/Tech Preview sürümlerinden) benzer şikâyetler geliyor
- Bazı kullanıcılar, Safari genelinde değil, özellikle yalnızca GitHub’da çok ciddi performans düşüşü yaşandığını belirtiyor
- CSS seçicileri ile
transform: translateY kullanımının, Safari’nin GPU katmanı işleme sınırlarıyla doğrudan çakıştığı ifade ediliyor
- GitHub frontend’i tüm metin satırlarını
transform: translateY ile konumlandırınca Safari binlerce GPU katmanı oluşturmak zorunda kalıyor
- Chrome ise bu tür animasyonlar olmadığında katman oluşturmayı optimize ederek görece daha az yavaşlıyor
- Geçici çözüm olarak
transform özelliğini kaldıran bir betik uygulandığında hız artsa da konum hassasiyeti mükemmel olmuyor
Kullanıcı deneyimi ve farklı bildirimler
- Birçok kullanıcı, PR’de reviewer·etiket ekleme, PR açıklamasını düzenleme gibi tüm etkileşimlerin birkaç saniyeden fazla geciktiğini söylüyor
- Safari’de kod tarayıcısı ve otomatik tamamlama (arama çubuğu, komut paleti vb.) arayüzü çok yavaş çalışıyor
- iOS Safari’de geri gitme yerel düğmesi gibi tarayıcı işlevlerinin bile düzgün çalışmadığı örnekler var
- Erişilebilirlik (VoiceOver) açısından da performans düşüşü çok ciddi; görme engelli kullanıcılar için kullanım neredeyse imkânsız hale gelmiş durumda
Çözüm ve alınan önlemler üzerine tartışmalar
- WebKit (Safari motoru) tarafında ilgili CSS/compositor performans sorununun bazı kısımlarına yönelik yamalar yakın zamanda uygulanmış olsa da, Safari’nin bir sonraki sürümünden önce sorunun hemen çözülmesi zor görünüyor
- GitHub mühendisleri için, Safari’nin sonraki sürümünden önce hataya yönelik önlem alma ve performans sorunları hakkında önceden iletişim kurma gerekliliğinden söz ediliyor
- Çeşitli frontend arayüz değişikliklerinin (ör. PR dosya değişikliği arayüzü, yeni özellikler vb.) performans düşüşüyle doğrudan bağlantılı olduğu düşünülüyor
- Bazı kullanıcılar Graphite.dev, GitLab veya özel protokol yönlendiricileri (ör. Finicky, Velja vb.) üzerinden geçici çözüm ya da alternatif arayüz kullanıyor
Diğer yorumlar ve pratik kullanıcı ipuçları
- Geçici bir kaçış yolu olarak, Safari’de issue/PR oluşturduktan sonra tablo tabanlı etiket ekleme işlevinin kullanılması öneriliyor
- Aşırı karmaşık CSS, mühendislik yapısındaki değişimler ve Chrome’a aşırı odaklanma konusundaki kaygılar dile getiriliyor; çoklu tarayıcı desteğinin önemi vurgulanıyor
- Bazı kullanıcılar performans sorununa eleştirel ya da mizahi yorumlar ekliyor (gereksiz duygusal tartışmalara karşı dikkat çağrısı yapılıyor)
- Performans optimizasyonu gerektiren frontend geliştirme yaklaşımının yeniden değerlendirilmesi ve çoklu tarayıcı testlerinin önemi konusunda hem içeriden hem dışarıdan görüşler paylaşılıyor
Sonuç
- GitHub’ın son dönemdeki arayüz yapısı değişiklikleri ve CSS kullanım biçimi, Safari’nin kendine özgü render özellikleriyle çakışarak sektör standardı bir iş birliği platformunda ciddi tarayıcı sorunlarına yol açıyor
- Hem WebKit’in hem de GitHub’ın daha kararlı iyileştirmeler yapması gerekiyor; kısa vadede Safari ve erişilebilirlik kullanıcılarını merkeze alan bir müdahale gerekli
- Geliştirme işini aksatacak düzeydeki bu performans sorunu, topluluk içinde geniş bir ortak tepki ve öfke yaratmış durumda
1 yorum
Hacker News görüşleri
Github web sitesi genel olarak her yerde yavaş. Performans, UX/UI, her açıdan iyi bir yazılım demek zor; birçok kişinin KPI’ı ve planlamasının içine girdiği bir ürün gibi duruyor. Geliştiriciler için sosyal ağ olması zaten en “yenilikçi” tarafı ve günlük geliştirme işlerinde o kadar sıradan kalıyor ki Gitlab’in çok daha iyi olduğunu düşündürüyor. Bu sorun Rails yüzünden değil; meseleyi teknolojiyle ambalajlayıp özünden kaçmak doğru değil
WebKit ekibi son 2 günde Github performans sorununu iyileştiren bir değişiklik uyguladı ilgili bağlantı. Ekip içinde 1000’den fazla dosya içeren büyük PR’lar da açılıyormuş; ekip arkadaşları PR yüklenene kadar bekleyip “açılınca onaylarım” diyormuş
Microsoft Github’ı satın alır almaz Github neredeyse hemen JavaScript render yaklaşımına (SPA) geçti. Önceden 2011 model bir Mac Mini’de JavaScript kapalıyken bile Github’da gezilebiliyordu; şimdi ise JS açık olsa bile eski tarayıcı uyumluluğu yüzünden Github kullanılamıyor. Hangisinin daha büyük sorun olduğunu söylemek zor ama iki tarafın da payı var diye düşünüyorum. Daha yeni bir cihaza geçilebilir elbette, ama eski cihaz desteğinin bilerek bırakılması ve gelecekteki işlevsellikten çok planned obsolescence dayatılması yüzünden web standartlarına olan güven bile sarsılıyor gibi
React’e çok eleştiri var ama bu olay CSS transform sorunuyla ilgili. İlgili bağlantıdaki içeriği gerçekten okumayı tavsiye ederim
Forgejo, Codeberg ve SourceHut’a geçmeyi öneririm. Github ve Gitlab’a kıyasla yıldırım gibi hızlılar Forgejo / Codeberg / SourceHut
Büyük organizasyonlarda bu tür sorunların nasıl tekrar tekrar yaşandığını merak ediyorum. Ana tarayıcı testlerinde performans problemlerinin kesin görülmüş olması gerekir; birinin yine de zorla onay vermiş olmasını anlamakta zorlanıyorum
Bir React geliştiricisi olarak bu başlığı okurken dünyanın nefretini hissediyorum. Gerçek dışı takvimler ve backend mantığını da frontend’e yığan SPA tuzakları çok fazla. React’in kendisi mi yanlış bir tercih, yoksa gerçekten iyi yapılmış React uygulamaları var mı merak ediyorum
Genel olarak bilişim dünyasında her şey yavaşlamış gibi geliyor. En yeni Mac Studio M4 Max ve 64GB RAM kullanıyor olsam da tüm web siteleri 2011 MacBook Pro dönemine göre daha yavaş hissettiriyor
HN’de Github’ın UI’ı React’e taşındıkça yavaşladığını çok duydum ama gerçekten öyle mi merak ediyorum. Küçük projelerde bu etkiyi görmediğim için daha sağlam bir dayanak arıyorum
Sadece Safari değil, Firefox’ta da Github aşırı yavaş; her yerde loading spinner görünüyor ve sayfa geçişleri eskisine göre daha uzun sürüyor. Eskiden kusursuz çalışan SSR’ı hangi metriğe bakıp SPA’ye çevirdiler gerçekten anlamıyorum