$ the-wire · showcase
pkgsite drops ctxhttp, tour returns real 404s
By RepoJournal · Filed · About Go · Composed from the cited sources · methodology
A quiet day across the Go project: pkgsite retired a deprecated context shim, the tour stopped redirecting on bad lesson URLs, and two CI and test fixes landed behind them.
internal: stop using golang.org/x/net/context/ctxhttp golang/pkgsite
pkgsite stopped using golang.org/x/net/context/ctxhttp in favor of the http package's native context support. The behavior change matters if you match on errors: a request canceled by its context now fails with a *url.Error wrapping ctx.Err() rather than a bare ctx.Err(), which existing errors.Is checks still match through the wrapper.
website/tour: Return 404 for non-existent tour lesson in url. golang/website
The tour now returns a real 404 for a lesson that does not exist in the URL, sending readers to a tour/notfound page that says the lesson is missing and links back to the table of contents. The bad URL stays in the address bar instead of redirecting away.
website/tour: display notfound.html on bad tour page (404) golang/website
The companion change wires the tour's notfound.html into that flow. The author notes the alternative, a 302 to tour/notfound, would have worked for scrapers but retains the redirected URL, so the fix keeps the original bad URL and serves the page with a 404 instead.
integration_test.go: run the container CI stages from go test golang/pkgsite
pkgsite's TestIntegration now runs the remaining container CI stages that devtools/ci/ci.sh executes under Kokoro, since LUCI's golangbuild recipe only runs go test ./... . Teardown runs both before the stages and from t.Cleanup because a build killed partway through leaves containers behind, which should make a custom LUCI recipe unnecessary.
internal/queue/pgqueue: deflake TestPollDeletesTaskOnError golang/pkgsite
TestPollDeletesTaskOnError was flaky because it closed its done channel at the top of processFunc, while claimAndProcess only issues the DELETE after processFunc returns, so the test's fixed wait started before the delete was issued. One failure saw the DELETE take 147ms with the package suite running under -race against a single containerized Postgres.
all: update google.golang.org/grpc golang/vulndb
Also in the long tail: vulndb picked up an update to google.golang.org/grpc and added GO-2026-6472 to data/excluded.