Nuvaka › Geliştirici belgeleri › SSS

Sık sorulan sorular

localStorage ya da IndexedDB neden çalışmıyor?

Arayüz çerçevesi aynı köken izni olmadan kum havuzunda çalışır; tarayıcı depoları kapalıdır. nuvaka.storage kullan: sunucuda durur, cihazlar arası eşitlenir ve arka planla paylaşılır. Bkz. MVCC.

fetch neden "CSP" hatası veriyor?

Çerçevede connect-src 'none' vardır ve arka planda fetch yoktur. Manifestte net iznine alan adını yaz ve nuvaka.net.fetch kullan. Yalnız https ve yalnız listelenen tam alan adları çalışır.

alert() ya da confirm() hiçbir şey göstermiyor.

Kum havuzu modal pencerelere izin vermez. Soruyu sayfanın içinde göster (örnekler: yerel düzenleyici, pano geçmişi).

Bir CDN'den kütüphane yükleyebilir miyim?

Hayır. Uzak <script src> ve uzak import() paket taramasında reddedilir, CSP de engeller. Kütüphaneyi pakete koy; küçültülmüş büyük dosyalar için .map dosyasını da ekle.

Arka planda import kullanabilir miyim?

Hayır; arka plan tek dosyalık bir ES modülüdür. Birden çok dosyayı bir paketleyiciyle tek dosyada birleştir. Aynı dosyayı arayüzde <script src="background.js"> ile yükleyip olay dinleyicilerini if (nuvaka.background) içinde kurarak kod paylaşabilirsin.

Arka plan uygulama kapalıyken çalışır mı?

Hayır. Arka plan yalnız uygulama açıkken çalışır. Uygulama kapalıyken kaçırılan zamanlama bir sonraki açılışta bir kez tetiklenir.

Zamanlamam iki kez çalıştı.

Uygulama açık olan her cihaz kendi zamanlamasını çalıştırır. Yalnız bir kez yapılması gereken işi depoda storage.update ile sahiplen: işlevin koşul tutmazsa undefined döndürsün, yazmayı başaran cihaz işi yapsın (örnek).

version_conflict hatası alıyorum.

Okuduğun sürüm artık güncel değil: başka bir cihaz, arka plan ya da başka bir sekme araya yazdı. Oku-değiştir-yaz için storage.update kullan; güncel değeri okuyup yeniden dener. set kullanıyorsan hatadaki e.data.current ve e.data.value ile birleştirip yeniden yaz.

Kendi yazdığım değer için onChanged neden çağrılmıyor?

Bir bağlamın kendi yazmaları ona geri gelmez; yazdığın değeri zaten biliyorsun. Arka planın yazması arayüze (ve tersi), başka cihazların yazmaları her ikisine gelir.

Kullanıcı izni kurulumda vermişken neden yine soruluyor?

Mail okuma/gönderme, bağlantı şifrelerini okuma ve Nuvaka dosyalarına yazma kritiktir: her kullanımda sorulur, kalıcı onay yoktur. Kullanıcı 15 dakika ya da 1 saat için onay verebilir. Reddederse permission_denied gelir.

Bildirimlerim gelmiyor.

Uzantı başına son 60 saniyede varsayılan en çok 3 bildirim gönderilebilir (yerel + push ortak). Sınır aşılınca kullanıcıya sorulur; kullanıcı yükseltmezse çağrı notify_limit hatası verir. Bildirimleri birleştir, hatayı yakala ve sonra yeniden dene.

Klasörden yüklediğim uzantıda depolama çalışmıyor.

Depolama, notlar, bulut, pano havuzu, mail, push ve me() sunucu uçlarıdır; uzantı token'ı yalnız hesabında kurulu uzantı için alınır. Bir sürümü yayınlayıp Mağaza'dan kur. Kurulu uzantıyla aynı kimliği taşıyan geliştirme kopyası sunucu uçlarını, kurulu sürümde kullanıcının verdiği izinlerle kullanır; yeni eklediğin bir sunucu izni ancak o izni içeren sürüm yayınlanıp onaylanınca çalışır.

Uzantı kimliğimi ya da yayıncı adımı değiştirebilir miyim?

Hayır. Kimlik (<kullanıcı-adın>.<ad>) bir kez yayınlanınca değişmez. Görünen adı (name) istediğin zaman değiştirebilirsin.

İlk sürümüm neden "review" durumunda?

Yayıncının ilk uzantısı ve kritik izin isteyen her yeni sürüm yönetici onayı bekler. Onaylı (verified) uzantıların her yeni sürümü de incelenir. Bkz. Yayınlama ve inceleme.

İmza anahtarımı kaybettim.

Uygulamada Profil › Geliştirici › Yayıncı imza anahtarları'ndan eski anahtarı kaldır, nuvaka-ext keys create ile yenisini üretip ekle. Anahtar kayıtlı olduğu sürece her yükleme imzalı olmalıdır.

Uzantım hangi dilde görünmeli?

Manifestteki metinlerde tr zorunlu, en isteğe bağlıdır. Arayüzde nuvaka.ready bağlamındaki locale (ya da nuvaka.ui.locale()) uygulamanın dilidir; değişince locale olayı gelir.

Android'de çalışır mı?

Şimdilik uzantılar yalnız masaüstü uygulamasında (Windows, Linux, macOS) çalışır.

WebAssembly kullanabilir miyim?

Arayüzde evet: CSP 'wasm-unsafe-eval' içerir ve .wasm dosyaları pakette serbesttir.

Nuvaka Apps API v1 · son güncelleme 2026-09-27