Manifest V3'e taşıma ile ilgili bilinen sorunlar

Kısa süre önce, Manifest V2'nin kullanımdan kaldırılmasına yönelik zaman çizelgesinde değişiklikler yaptığımızı duyurmuştuk. Manifest V3'e olan bağlılığımızı sürdürmekle birlikte, yapılacak daha fazla iş olduğunun farkındayız.

  • Kullanımdan kaldırmayla ilgili yeni bir zaman çizelgesi duyurmadan önce, öncelikli platform boşluklarını gidermeyi bitirdik ve bu sayfada belgelenen kritik hataları kapattık.
  • Manifest V2'ye yönelik desteğin kaldırılması için zaman çizelgesi duyurusu ile beklemedeki denemeler arasında en az altı ay garanti ederek geliştiricilere derleme işlemi yapmaları için zaman vermiştik.

Platform boşluğunu kapatma

Manifest V2'nin kullanımdan kaldırılmasına yönelik yeni bir zaman çizelgesi duyurmadan önce aşağıdaki eksiklikleri gidermeyi taahhüt ediyoruz:

Sorunlar iş ortaklarından, hata raporlarından ve geliştiricilerden gelen geri bildirimlere göre toplandı. Uzantı platformunun kararlılığını ve genel performansını iyileştirmek için çalışmaya devam edeceğiz.

Şu anda kritik platform açığı olarak kabul edilen açık sorun yok.

Aşağıdaki sorunlar yakın zamanda giderilmiştir:

  1. chrome.fileBrowserHandler [Chrome 120] yerine ChromeOS'te dosya işleme desteği.
  2. Kullanıcı Komut Dosyası desteği: İçerik komut dosyalarının yeni userScripts API [Chrome 120] ile rastgele kodla kaydedilmesine izin verin.
  3. Beş dakikadan uzun süren belirli işlemler için ek güçlü hizmet çalışanı koruma.
    • Chrome 116'da permissions.request(), desktopCapture.chooseDesktopMedia(), identity.launchWebAuthFlow() ve management.uninstall() için eklendi.
    • chrome.debugger için Chrome 118'de eklendi
  4. Bildirimli Net İstek (DNR) için statik ve etkin kural kümelerinin sayısını artırın. Etkinleştirilen statik kural kümeleri 10'dan 50'ye, toplam statik kural kümeleri ise 50'den 100'e yükseldi [Chrome 120].
  5. Ekran dışı doküman kullanımına ilişkin daha fazla nedeni desteklemek için Ekran dışı doküman işlevini genişletin. GEOLOCATION, Chrome 116 sürümüne eklendi.
  6. chrome.tabCapture API desteği [Chrome 116] iyileştirildi:
    • Service Worker'dan getMediaStreamId() numaralı telefonu arama desteği.
    • Ekran dışı bir dokümandaki akış kimliğinden MediaStream alma desteği.
  7. Etkin WebSocket bağlantıları [Chrome 116] olduğunda hizmet çalışanı ömürlerini uzatma.

Manifest V3 ile ilgili sık sorulan sorular

S: Hizmet çalışanlarını kalıcı olarak desteklemeyi planlıyor muyuz?
Y: Arka plan komut dosyalarından Service Worker'lara geçişin temel nedenlerinden biri, Service Worker'ların geçici yapısından kaynaklanan, bellek açısından daha verimli olan etkinliğe dayalı programlama modelidir. Bu nedenle, kalıcı hizmet çalışanlarını desteklemeyi planlamıyoruz. Ancak uzantı geliştiricilerinin özel ihtiyaçlarını karşılamak amacıyla Service Worker'ları iyileştirmeye devam ediyoruz. Özellikle:

  • Tüm uzantı etkinlikleri ve API çağrıları, hizmet çalışanının ömrünü uzatır.
  • Yerel mesajlaşma gibi seçili kullanım alanları, uzantılar hizmeti çalışanlarının 5 dakikadan daha uzun süre etkin kalmasını sağlar.

S: Service Worker'larda DOM'a erişmenin bir yolu var mıdır?
Y: Web Platformu'nun benimsediği yaklaşımı, web çalışanlarına DOM erişimini dahil etmeme yaklaşımını uyguluyoruz (hizmet çalışanları dahil). Service Worker'ların arka planda DOM'ye erişmesini gerektiren kullanım alanlarını desteklemek amacıyla, tam DOM erişimi sağlayan kısa ömürlü ekran dışı dokümanlara arka plan çalışmaları için yetki verme olanağını kullanıma sunduk.

S: Manifest V3'te uzaktan kodu desteklemenin bir yolu olacak mı?
Y: Chrome Uzantılarını daha güvenli hale getirmek için Chrome uzantılarında rastgele uzaktan barındırılan kodların çalıştırılmasına izin vermemeye devam edeceğiz. Ancak bu, her tür dinamik kod yürütmeye izin vermediğimiz anlamına gelmez. Chrome uzantılarında kodu dinamik olarak çalıştırmak için farklı seçenekleri desteklemeye devam ediyoruz:

S: Manifest V2 uzantım, Manifest V3'te desteklenmeyen webRequestChrome'u temel alıyor. Manifest V3'te aynı işlevi sağlamaya nasıl devam edebilirim?
C: İstekleri engelleyen kullanım alanlarının çoğu yeni declarativeNetRequest API ile çözülebileceğinden eminiz. Bu API; işlemler arası iletişimin, her istekte kod yürütme veya istek anında etkin bir uzatma işlemi gerektirme gibi performans ek yükünü ortadan kaldırır. Ancak karmaşık kurumsal (veya eğitim amaçlı) kullanım alanlarında dinamik istek engelleme desteklenmeye devam eder.

Kaçırdığımız bir şey mi var? Lütfen bize bildirin.