Fix #332: pulls default open-only #341

Merged
crueber merged 2 commits from fix/issue-332 into main 2026-09-11 17:48:24 +00:00
Owner

Mirrors the #323 issues resolution for the pulls list: bare /:o/:r/pulls visits resolve to open-only (wire state=open, open tab highlighted), explicit both is ?state=all via a third tab (sent wire-omitted, since the endpoint accepts open|closed|absent only), legacy empty ?state= still reads as both. Backend untouched — ListPRs empty-state=both (service.go:782-784) is now the relied-upon contract for the wire-omitted both-choice; Pulls.jsx is the sole pulls.list consumer. Resolver in web/src/lib/pullState.js + web/test/unit/pull-state.test.js; decision in 03 Decisions (law 12). Tests: node --test 651/651 green, vite+esbuild builds green, go vet clean, go test -race internal/pulls ok, coverage 97.7% (>=95%). Fixes #332.

Mirrors the #323 issues resolution for the pulls list: bare /:o/:r/pulls visits resolve to open-only (wire state=open, open tab highlighted), explicit both is ?state=all via a third tab (sent wire-omitted, since the endpoint accepts open|closed|absent only), legacy empty ?state= still reads as both. Backend untouched — ListPRs empty-state=both (service.go:782-784) is now the relied-upon contract for the wire-omitted both-choice; Pulls.jsx is the sole pulls.list consumer. Resolver in web/src/lib/pullState.js + web/test/unit/pull-state.test.js; decision in 03 Decisions (law 12). Tests: node --test 651/651 green, vite+esbuild builds green, go vet clean, go test -race internal/pulls ok, coverage 97.7% (>=95%). Fixes #332.
Mirror the #323 issues resolution: bare /:o/:r/pulls visits resolve to open-only (wire state=open), explicit both is ?state=all (third tab, wire-omitted), legacy empty ?state= still reads as both. Backend untouched (ListPRs absent=both is the relied-upon contract). Resolver in web/src/lib/pullState.js with node --test cover; decision appended to 03 Decisions (law 12).
Sign in to join this conversation.
No description provided.