{"id":"c1391","filename":"c1391_brsljani_sprint13_reconnect_eviction_fulldiff.dok.json","weise3_id":"","tip":"sprint","naziv":"K3 Sprint 13 -- P2P Auto-Reconnect + IDB LRU Eviction + Full-Diff Pull","kreator":"genesis","datum":"","snippet":"13A: _reconnect_timers/_reconnect_counts Maps -- auto-reconnect state · 13A: on_peer disconnected -> retry 30s/60s/120s max 3x (exponential backoff) · 13A: on_peer connected -> resetiraj counter, otkazi pending timer","status":"ZATVOREN","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"sprint","naziv":"K3 Sprint 13 -- P2P Auto-Reconnect + IDB LRU Eviction + Full-Diff Pull","chain_id":"c1391","prev_hash":"b6840c24af40ee3deb4967922dbc33df29272ec50da94ad520f32c5b550a0edc","timestamp":"2026-06-14T18:59:39Z","sustav":"fenix-v4/brsljani","status":"ZATVOREN","commit":"5091689","sto_je_napravljeno":["13A: _reconnect_timers/_reconnect_counts Maps -- auto-reconnect state","13A: on_peer disconnected -> retry 30s/60s/120s max 3x (exponential backoff)","13A: on_peer connected -> resetiraj counter, otkazi pending timer","13B: _evictIDB() -- doc_cache max 500, atoms max 200 (LRU po starosti)","13B: IDB eviction pozvan nakon svakog pull ciklusa","13C: /browser-pull?ids= param -- targeted fetch po weise3_id listi (max 50)","13C: _idbGetAllDocIds() -- getAllKeys() na doc_cache store","13C: _fullDiffPull() -- sat diff: /browser-pull-ids vs IDB, missing = fetch /browser-pull?ids=","13C: _fullDiffPull() u _sendHealth() async (ne blokira heartbeat)"],"zakon":["ZAKON 41 (W3C IDB, no external)","ZAKON 17 (pull-only)","ZAKON 43 (krunica_hash)"],"pravilo_buduc":{"tehnologija":"Auto-reconnect -- mesh ostaje gust dulje, veze se obnavljaju same bez signaling-a","sigurnost":"IDB LRU eviction -- browser node ne raste neograniceno, memorija pod kontrolom","mrezni_efekt":"Full-diff pull -- 0 gap-ova, svaki node ima tocno ono sto server ima (konvergencija)"},"hash":"908fb9a7bd702910fc118466bc36222a51899705875c5c11259fa03f4835fd20"}}