KAOS/TASKS/reports/T16-report.md
djuka ddc54e739a T16: SSE auto-refresh dashboarda sa polling i hash detekcijom
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:09:12 +00:00

1.6 KiB

T16 Izveštaj: SSE auto-refresh dashboarda

Agent: coder Model: Opus Datum: 2026-02-20


Šta je urađeno

Dashboard se automatski ažurira kad se stanje taskova promeni putem SSE.

Novi fajlovi

Fajl Opis
internal/server/events.go EventBroker, polling (2s), hashTaskState, SSE handler

Izmenjeni fajlovi

Fajl Izmena
internal/server/server.go events field, GET /events ruta, startPolling u Run()
internal/server/render.go renderBoardFragment() za SSE updates
internal/server/server_test.go 4 nova testa
web/templates/layout.html initSSE(), isDragging flag, onStart handler
web/templates/partials/column.html Uklonjen hx-trigger="every 5s" (zamenjeno SSE-om)

Kako radi

  1. Server poluje TASKS/ svake 2s
  2. Računa SHA-256 hash svih task ID:status parova
  3. Ako se hash promenio → broadcast SSE event svim klijentima
  4. Browser EventSource prima event → zameni board HTML
  5. Tokom drag & drop — SSE update se ignoruje (isDragging flag)

Endpoint

Ruta Opis
GET /events SSE stream — event taskUpdate sa board HTML

Novi testovi — 4 PASS

TestSSE_EventsEndpoint       PASS  — proverava Content-Type text/event-stream
TestHashTaskState            PASS  — hash se menja kad se status menja, stabilan za isti set
TestSSE_BroadcastOnChange    PASS  — premesti fajl → broadcast event
TestSSE_NoBroadcastWithoutChange PASS — bez promene → bez eventa

Ukupno projekat: 129 testova, svi prolaze

  • go vet ./... — čist
  • go build ./... — prolazi