Skip to content

Pano kilitlenmesini, fail-open karari ve kimlik dogrulamasiz yayini duzelt - #1

Open
emrefbulut wants to merge 3 commits into
mainfrom
fix/dashboard-and-failsafe
Open

Pano kilitlenmesini, fail-open karari ve kimlik dogrulamasiz yayini duzelt#1
emrefbulut wants to merge 3 commits into
mainfrom
fix/dashboard-and-failsafe

Conversation

@emrefbulut

Copy link
Copy Markdown
Owner

Duzeltilen hatalar

Pano hicbir zaman guncellenmiyordu. socketserver.TCPServer tek is parcaciklidir
ve /video_feed sonsuza kadar akan bir yanittir; tarayici video'yu actigi anda tek
worker kalici olarak bloke oluyor, /api/status yoklamalari cevap alamiyordu.
ThreadingHTTPServer'a gecildi.

Erisim karari fail-open'di. Model yuklenemez ya da cikarim hata verirse doluluk
0 gorunuyor ve kapi aciliyordu. Artik tespit calismadiginda karar DENY.

Canli kamera yayini kimlik dogrulamasizdi. Pano 0.0.0.0'a baglaniyor ve
Access-Control-Allow-Origin: * gonderiyordu. Varsayilan 127.0.0.1 yapildi,
istege bagli access token eklendi, joker CORS kaldirildi.

Sayaclar yaniltiyordu. total_grants her karede artiyordu (30 FPS'te saniyede 30).
Artik karar degistiginde artiyor.

CI

Python 3.10 ve 3.12 uzerinde pytest kosan GitHub Actions eklendi.
README'deki sabit "build passing" gorseli gercek CI rozetiyle degistirildi.

🤖 Generated with Claude Code

emrefbulut and others added 3 commits July 29, 2026 10:27
…uzelt

Web panosu:
- socketserver.TCPServer tek is parcacikliydi ve /video_feed sonsuza kadar akan
  bir yanit oldugu icin tek worker'i kalici olarak blokluyordu. Tarayici video'yu
  actigi anda /api/status yoklamalari cevap alamiyor, panodaki durum/doluluk/FPS
  kutulari hicbir zaman guncellenmiyordu. ThreadingHTTPServer'a gecildi.
- Varsayilan bind adresi 0.0.0.0 -> 127.0.0.1. Canli kamera goruntusu ve doluluk
  verisi artik varsayilan olarak agdaki herkese acik degil.
- Istege bagli access_token eklendi (Bearer basligi veya ?token=). Token'siz
  sekilde 0.0.0.0'a acilirsa uyari log'lanir.
- Access-Control-Allow-Origin: * kaldirildi.
- Ayni kare tekrar tekrar gonderiliyordu; artik yalnizca yeni kare yayinlanir.

Erisim karari:
- Cikarim hatasi doluluk 0 gibi gorunuyor ve kapi aciliyordu. Tespit
  calismadiginda karar artik DENY (detection_unavailable). Monitor dongusu
  cikarim istisnasini yakalayip bu durumu karar motoruna bildiriyor.
- total_grants/total_denials her karede artiyordu; 30 FPS'te saniyede 30 artan
  bu sayaclarin gercek erisim olaylariyla ilgisi yoktu. Artik karar
  degistiginde artiyorlar.

CI:
- GitHub Actions ile Python 3.10/3.12 uzerinde pytest kosuluyor (CPU-only torch).
- README'deki sabit "build passing" rozeti gercek CI rozetiyle degistirildi.
- pytest, [dev] opsiyonel bagimligi olarak tanimlandi.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Token dogrulamasi BaseHTTPRequestHandler metodunun icindeydi; guvenlik karari
oldugu halde dogrudan test edilemiyordu. Mantik `is_request_authorized`
fonksiyonuna cikarildi, handler yalnizca onu cagiriyor.

Yeni testler: Bearer basligi, sorgu parametresi (img/MJPEG baslik gonderemez),
yanlis anahtar, eksik anahtar, bozuk sema ve anahtarin yalnizca onekiyle
erisim denemesi.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
"Enterprise-grade", "high-throughput", "glassmorphic" gibi pazarlama dili,
projenin gercekten ilginc olan muhendislik kararlarini golgeliyordu. Yeni metin
onlari one cikariyor: karar motorunun neden fail-safe oldugu, iki ayri debounce
mekanizmasinin ne ise yaradigi, firmware'in neden host'a guvenmedigi ve
sayaclarin neden kare degil gecis saydigi.

Ayrica:
- Mermaid pipeline diyagrami guncellendi (fail-safe ve otomatik kilitleme dahil)
- Config referansi tam: tracker, frame_skip, half_precision, buffer_size,
  role komutlari ve min_command_interval_seconds artik dokumante
- make-dataset-yaml komutu tabloya eklendi
- Pano guvenlik notu ve token kullanimi acikca anlatildi
- Test kapsami gercekte test edilenleri listeliyor

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant