{"id":"c0996","filename":"c0996_dokarh_pdf_fix_sati_ink.dok.json","weise3_id":"c0996_dokarh_pdf_fix_sati_ink","tip":"fix","naziv":"DokArh PDF fix — sati_pdf 500 greška i viewer gumb","kreator":"genesis","datum":"","snippet":"","status":"DONE","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"fix","naziv":"DokArh PDF fix — sati_pdf 500 greška i viewer gumb","sto_treba":"Popraviti /api/v1/sati/pdf/{w3} koji vraca 500 za dokumente bez sati_ink JSON datoteke, dodati DokArh PDF gumb u genesis viewer za slike","zakon":"ZAKON 32 (svaki fix ima chain entry), ZAKON 40 (genesis identity + arhiva flow)","status":"DONE","faze":[{"naziv":"Instaliraj pikepdf","sto":"pip install pikepdf u genesis venv na EU i NEW serveru","status":"DONE"},{"naziv":"DB fallback u sati_pdf","sto":"Dodaj EntityORM fallback u _citaj_meta() logiku — kad nema JSON fajla, cita iz genesis_db.entities","status":"DONE","datoteka":"/var/www/genesis/api/sati_ink.py"},{"naziv":"content_type inferiranje","sto":"Ako content_type nije u meta, inferira se iz ekstenzije filename (jpg→image/jpeg, png→image/png, pdf→application/pdf)","status":"DONE"},{"naziv":"Viewer DokArh PDF gumb","sto":"genesis viewer (/view/{w3}) sada prikazuje DokArh PDF gumb za slike (jpg/png/webp/gif)","status":"DONE","datoteka":"/var/www/genesis/api/viewer.py"},{"naziv":"fenix-v4 archive sati meta bridge","sto":"Fenix-v4 archive upload sada pise genesis sati_ink meta JSON (disk_path → V4 storage) za buduće uploade","status":"DONE","datoteka":"/var/www/fenix-v4/archive/router.py"}],"bug_opis":"kamera_1779198413150.jpg (w3=cb07550c...) uploadana kroz genesis /api/v1/docs/upload. Taj endpoint ne sprema fajl na disk niti kreira sati_ink JSON meta. /api/v1/sati/pdf/{w3} padao s 500 (pikepdf nije bio instaliran, a i meta JSON nije postojao). Viewer nije prikazivao PDF gumb za slike.","rjesenje":"pikepdf instaliran. sati_pdf fallback na EntityORM DB. content_type inference. Viewer gumb dodan. Fenix-v4 archive kreira genesis sati meta pri svakom novom uploadu.","weise3_id":"c0996_dokarh_pdf_fix_sati_ink","sesija":"2026-05-19"}}