Greptile ekibi, yapay zeka destekli kod inceleme araçları için bir özellik geliştirirken GitHub API'sında beklenmedik bir sorunla karşılaştı. Amaç, GitHub PR yorumlarına tıklanabilir bağlantılar ekleyerek kullanıcıların doğrudan incelemelerden ilgili GitHub tartışmalarına geçmesini sağlamaktı. Ancak, depolanan yorum ID'leri ile oluşturulan bağlantılar çalışmadı. Yapılan araştırmalar, GitHub'ın iki ayrı kimlik sistemi kullandığını ortaya koydu: GraphQL API'sinin döndürdüğü PRRC_kwDOL4aMSs6Tkzl8 gibi node ID'ler ve web URL'lerinde kullanılan 2475899260 gibi tamsayı veritabanı ID'leri. Bu durum, ya milyonlarca kaydı güncellemeyi ya da tüm veritabanını migrate etmeyi gerektiren büyük bir sorun teşkil ediyordu.
Geliştirici, bu iki ID formatı arasındaki ilişkiyi bulmak için detaylı bir inceleme başlattı. Node ID'lerin base64 ile kodlandığını fark ederek, PRRC_ kısmından sonraki bölümü çözmeye çalıştı. Çözülen değerler, veritabanı ID'leri ile aynı oranda artan 96 bitlik çok uzun tamsayılar ortaya çıkardı. Bu gözlem, veritabanı ID'sinin node ID'nin içinde bir yerde gömülü olduğu fikrini güçlendirdi.
Sonunda, veritabanı ID'sinin, çözülmüş node ID'nin alt 32 bitinde yer aldığı keşfedildi. Basit bir bitmask işlemi (decoded & ((1 << 32) - 1)) ile node ID'den doğrudan veritabanı ID'sini çıkarmak mümkün oldu. Bu zekice çözüm, geliştiricinin tüm veritabanı migrate etme zorunluluğunu ortadan kaldırarak önemli ölçüde zaman ve kaynak tasarrufu sağladı. Bu keşif, GitHub API'si ile çalışan diğer geliştiriciler için de değerli bir bilgi sunmaktadır.
Bu çözüm, yaygın bir API entegrasyonu sorununa akıllıca bir geçici çözüm sunarak, önemli geliştirme çabası ve kaynak tasarrufu sağlıyor.