atproto relay implementation in zig zlay.waow.tech
9
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix build: drop unused err1 capture in resolveHostAuthority

584571a tried to discard the first-attempt error via `_ = err1` to
document intent, but zig 0.16 rejects that pattern with "error set is
discarded". build failed on the operator's ReleaseFast pipeline and
slipped past my local `zig build test` because the test binary is
lazy — no test references resolveHostAuthority, so zig never analyzed
the function body. `zig build` (the exe) does reach it via
frame_worker.processFrame and trips the error immediately.

just drop the capture. the comment explaining why only err2 is logged
is preserved.

+7 -9
+7 -9
src/validator.zig
··· 578 578 579 579 var resolver = &self.host_resolvers[idx]; 580 580 581 - // first resolve attempt 582 - var doc = resolver.resolve(parsed) catch |err1| { 581 + // first resolve attempt. the first-attempt error is not captured: 582 + // resolver.resolve upstream collapses everything into 583 + // DidResolutionFailed, so both attempts produce the same error kind 584 + // here and only the second one is worth logging. 585 + var doc = resolver.resolve(parsed) catch { 583 586 // retry once on network failure 584 - var doc2 = resolver.resolve(parsed) catch |err2| { 587 + var doc2 = resolver.resolve(parsed) catch |err| { 585 588 _ = self.stats.host_authority_reject_resolve.fetchAdd(1, .monotonic); 586 - // log the second-attempt error kind — first-attempt kind is 587 - // dropped because resolver.resolve already swallows it into 588 - // DidResolutionFailed upstream, so both errors look the same 589 - // here. detail field captures @errorName for upstream triage. 590 - self.sampleLogReject("resolve", did, @errorName(err2), incoming_host_id, 0); 591 - _ = err1; 589 + self.sampleLogReject("resolve", did, @errorName(err), incoming_host_id, 0); 592 590 return .reject; 593 591 }; 594 592 defer doc2.deinit();