Compare commits

..

2 Commits

Author SHA1 Message Date
sulthan 2ac1f0c507 fix: BROWSER_WS_URL reaches the container again (#171 dropped the line) 2026-08-23 12:55:26 +07:00
sulthan e93e79c1bb Spec #137: per-Series poll failure state, completion hint, and outbound owner notification (#174)
Implements spec #137 (spec 4 of 4 from wayfinder map #114).

Closes #137.

Tickets: #164, #165, #166, #167, #168, #169, #170, #171, #172, #173 — all closed, landed on this branch.

## Summary
- #164/#168: sixth outcome word `not_found`; per-Site completed marker predicate.
- #165/#169: `poll_failures` row is the failure state; the pass remembers a Site-reported completion.
- #166/#171: two new admin filters (`failing`, `unverified`); outbound owner notification + stall condition.
- #167/#170: a failure names itself on the Series page; the completion hint reaches the owner and decides nothing.
- #172: the other three fault conditions (no-browser-route, sidecar-down, adapter-broken) feeding the notifier.
- #173: the landing verdict line shares the same `latest.FaultsFrom` judgement the notifier uses, so the page and the push cannot disagree.

`cd backend && go test ./...` green on the merged branch (8 packages).

Reviewed-on: #174
Co-authored-by: Sulthan Zaki <sultankiki05@gmail.com>
Co-committed-by: Sulthan Zaki <sultankiki05@gmail.com>
2026-08-23 11:31:10 +07:00
+2
View File
@@ -75,6 +75,8 @@ services:
# Host header is an IP address or "localhost" — confirmed 2026-08-03, # Host header is an IP address or "localhost" — confirmed 2026-08-03,
# independent of chromedp's own dial logic. The same trap that used to # independent of chromedp's own dial logic. The same trap that used to
# force a pinned Docker IP now forbids the tailnet name. # force a pinned Docker IP now forbids the tailnet name.
BROWSER_WS_URL: ${BROWSER_WS_URL:-}
#
# Owner-notice webhook (issue #171). Empty default, never a # Owner-notice webhook (issue #171). Empty default, never a
# required-guard: unset means the whole path is off, so a local stack # required-guard: unset means the whole path is off, so a local stack
# runs exactly as it does today. An env var not listed here never # runs exactly as it does today. An env var not listed here never