fix: 6 bugs (timeline path value, seer SSE cursor, erasure checksum, subtle compare, build status code, dead WorkerName branch)
Some checks failed
Test / test (push) Has been cancelled

This commit is contained in:
drjones
2026-07-05 07:06:59 +00:00
parent 3678b199d0
commit f923b1ef54
6 changed files with 61 additions and 16 deletions

View File

@@ -70,7 +70,7 @@ func (h *ForgeHandler) TriggerBuild(w http.ResponseWriter, r *http.Request) {
builds, err := h.Pipeline.BuildAll(req.Public)
if err != nil {
auth.JSON(w, http.StatusOK, map[string]any{
auth.JSON(w, http.StatusInternalServerError, map[string]any{
"ok": false,
"message": err.Error(),
})

View File

@@ -36,10 +36,15 @@ func (h *SeerHandler) Stream(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Cache-Control", "no-cache")
w.Header().Set("Connection", "keep-alive")
// Send last 20 events as backlog, track the most recent timestamp as cursor.
var cursor string
events, _ := h.Store.ListSeerEvents(20)
for _, ev := range events {
payload, _ := json.Marshal(ev)
fmt.Fprintf(w, "data: %s\n\n", payload)
if ev.CreatedAt > cursor {
cursor = ev.CreatedAt
}
}
flusher.Flush()
@@ -51,13 +56,18 @@ func (h *SeerHandler) Stream(w http.ResponseWriter, r *http.Request) {
case <-r.Context().Done():
return
case <-ticker.C:
events, err := h.Store.ListSeerEvents(5)
newEvents, err := h.Store.ListSeerEventsSince(cursor, 50)
if err != nil {
continue
}
for _, ev := range events {
for _, ev := range newEvents {
payload, _ := json.Marshal(ev)
fmt.Fprintf(w, "data: %s\n\n", payload)
if ev.CreatedAt > cursor {
cursor = ev.CreatedAt
}
}
if len(newEvents) > 0 {
flusher.Flush()
}
}