tipkod
zakon[
"ZAKON 17 — PULL ONLY",
"ZAKON 2 — BRŠLJAN JE NAŠ INTERNET"
]
statusDONE
commit_pwac52a0f6
commit_genesis453b081
faze[
{
"id": "C1",
"naziv": "RTC signaling server (genesis)",
"status": "DONE",
"opis": "4 endpointa: POST /rtc/offer, GET /rtc/offer/{id}, POST /rtc/answer/{id}, GET /rtc/poll/{id}. Redis db=5, TTL=120s. Testirano curl-om — session_id vraćen OK."
},
{
"id": "C2",
"naziv": "brsljani-rtc.js (413 linija)",
"status": "DONE",
"opis": "RTCPeerConnection, DataChannel, STUN (Google), createSession, joinSession, pollAnswer, MANIFEST/PULL/BLOCK protokol (ZAKON 17), rend
protokol{
"initiator": "createSession() → offer → genesis → QR/session_id → poll",
"responder": "joinSession(id) → GET offer → answer → POST → DataChannel",
"razmjena": "MANIFEST:{weise3_ids[]} → PULL:{id} → BLOCK:{json}",
"zakon17": "BLOKOVI TEKU U ODGOVORU NA PULL — nikad push"
}
ogranicenja{
"signaling": "Treba internet za exchange offer/answer (STUN). Nakon toga WebRTC je P2P.",
"potpuno_offline": "Oba uređaja bez interneta = nema signaling. Rješenje: unaprijed razmijeni session_id (QR dok si online).",
"webrtc_support": "PWA WebRTC radi u Chrome/Firefox/Safari. Edge OK."
}
brsljaniTrue