Sınırlar
Süre, bellek, işlemci, ağ ve depolama sınırları; aşıldığında ne olur.
Eklentiler Adanotch'u ve Mac'i yavaşlatmamalı. Her eklenti kendi sürecinde çalışır ve Adanotch bu süreci izler.
Çalışma
| Sınır | Değer | Aşılınca |
|---|---|---|
| Tek senkron tur | 200 ms | Süreç kapatılır ve yeniden başlatılır (bir ihlal) |
| Bellek | 64 MB | Süreç kapatılır (bir ihlal) |
| İşlemci | 10 saniyede ortalama %50 | Süreç kapatılır (bir ihlal) |
update hatası | — | Bir ihlal |
setup ya da yükleme hatası | — | Eklenti hemen durur |
Üst üste üç ihlal eklentiyi durdurur; Ayarlar › Eklentiler'de nedeni görünür ve oradan yeniden açabilirsin. Başarılı her update sayacı sıfırlar. Yeniden başlatmalar arasında bekleme süresi her ihlalde iki katına çıkar.
200 ms bir turdur, update'in tamamı değil
await her seferinde turu bitirir. Ağdan veri beklemek sınırı tüketmez; büyük bir diziyi tek seferde işlemek tüketir. Ağır bir hesabı parçalara böl ve arada await new Promise((r) => setTimeout(r, 0)) ile nefes aldır.
async function sumInChunks(values: number[]) {
let total = 0;
for (let i = 0; i < values.length; i += 10_000) {
for (const v of values.slice(i, i + 10_000)) total += v;
await new Promise((resolve) => setTimeout(resolve, 0));
}
return total;
}Ağ
| Sınır | Değer |
|---|---|
| Protokol | Yalnız HTTPS, yalnız network: alan adları |
| Eşzamanlı istek | 6 |
| Dakikada istek | 120 |
| Yanıt boyutu | 5 MB |
| İstek gövdesi | 1 MB |
| Zaman aşımı | Varsayılan 15 sn; timeout ile 1–60 sn |
Çerez ve önbellek yoktur. Aşımlar NetworkError, TimeoutError ya da PermissionError olarak döner.
Diğer
| Sınır | Değer |
|---|---|
| Görünüm | En fazla 2000 düğüm, 32 seviye derinlik |
chart | En fazla 500 değer |
| Depolama | Eklenti başına 512 KB (JSON) |
| Zamanlayıcı | Aynı anda 200; setInterval en sık 50 ms |
console | 10 saniyede 200 satır, satır başına 2000 karakter |
Ada etkinliği (island.show) | Aynı anda 8 |
| Panoya yazma | 1 MB |
open(url) | Yalnız https: ve mailto:, kullanıcı bir kontrolünü kullandıktan sonraki 10 sn içinde |
Paket (dist/index.js) | 4 MB |
Olmayanlar
DOM, window, document, require, process, dosya sistemi ve Node API'leri yoktur. Paketlediğin npm kütüphaneleri bunlara dayanmamalı. Hangi web API'lerinin olduğunu Web API'leri sayfasında bulabilirsin.