{"id":"c0175","filename":"c0175_pos_login_popup_fix.dok.json","weise3_id":"","tip":"fix","naziv":"c0175 — POS login popup fix + popup.html expires_at payload","kreator":"CC/sonnet","datum":"2026-05-09","snippet":"","status":"DONE","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"fix","naziv":"c0175 — POS login popup fix + popup.html expires_at payload","datum":"2026-05-09","autor":"CC/sonnet","prioritet":"P0","status":"DONE","bugovi":[{"id":"POS-BUG-1","naziv":"auth_callback.html redirecta POPUP umjesto PARENT prozora","simptom":"Korisnik se uspješno prijavi u Genesis popup → popup se preusmjeri na /hr/pos/omega/ → MAIN WINDOW ostaje zauvijek na 'Čekam Genesis prozor...' jer nema listener niti redirekciju","root_cause":"auth_callback.html koristio window.location.href = url koji radi u kontekstu POPUP prozora. Main window nema postMessage listener niti poll mehanizam.","fix":"isPopup = !!(window.opener && !window.opener.closed). Popup mod: window.opener.location.href = url + window.close(). Redirect mod: window.location.href = url (mobilni fallback).","fajl":"fenix-v3/templates/genesis_connect/auth_callback.html","commit":"b2636bf"},{"id":"POPUP-BUG-1","naziv":"sendResult() nije slao expires_at i auth_method u payload","simptom":"Digigraf, sati.ink i drugi konzumenti defaultali na 24h TTL bez obzira na tier TTL. Biometric session nije imao expires_at → nikad istekao u genesis-auth.js provjeri.","root_cause":"payload = { session_token, weise3_id, display_name, tier } — nedostajali expires_at i auth_method.","fix":"Dodano expires_at: session.expires_at || 0 i auth_method: session.auth_method || 'passphrase' u payload. Biometric session dobio expires_at = now + (tier_ttl || 7200).","fajl":"genesislogin/pwa/popup.html","commit":"b46e3b6"}],"verifikacija":{"auth_callback_servirano":"curl genesispos.online/genesis/auth-callback/ | grep isPopup → 11 linija ✓","verify_endpoint":"POST /genesis/verify/ s invalid tokenom → 401 ✓","fenix_v3_active":"systemctl is-active gunicorn-fenix-v3.service → active ✓"},"sto_dolazi":"Ivan testira flow: genesispos.online/hr/accounts/login/?next=/hr/pos/omega/ → Genesis popup → POS dashboard","zakon":["ZAKON 32 — svaki P0 fix ima chain entry"],"_chain_meta":{"prev_entry":"c0174_km_key_management.dok.json","lanac_visina":175}}}