semantic bufo search find-bufo.com
bufo

feat(bot): show jetstream endpoint on stats dashboard and switch to waow.tech relay

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

+10 -4
+1 -1
bot/fly.toml
··· 5 5 dockerfile = "Dockerfile" 6 6 7 7 [env] 8 - JETSTREAM_ENDPOINT = "jetstream2.us-east.bsky.network" 8 + JETSTREAM_ENDPOINT = "jetstream.waow.tech" 9 9 STATS_PORT = "8080" 10 10 11 11 [http_service]
+2
bot/src/stats.zig
··· 19 19 blocks_respected: std.atomic.Value(u64) = .init(0), 20 20 errors: std.atomic.Value(u64) = .init(0), 21 21 bufos_loaded: u64 = 0, 22 + jetstream_endpoint: []const u8 = "", 22 23 23 24 // track per-bufo match counts: name -> {count, url} 24 25 bufo_matches: std.StringHashMap(BufoMatchData), ··· 337 338 const html = try std.fmt.allocPrint(allocator, template.html, .{ 338 339 uptime, 339 340 uptime_str, 341 + self.jetstream_endpoint, 340 342 self.posts_checked.load(.monotonic), 341 343 self.posts_checked.load(.monotonic), 342 344 self.matches_found.load(.monotonic),
+7 -3
bot/src/stats_template.zig
··· 1 1 // HTML template for stats page 2 - // format args: uptime_secs, uptime_str, posts_checked (x2), matches_found (x2), 3 - // posts_created (x2), cooldowns_hit (x2), blocks_respected (x2), 4 - // errors (x2), bufos_loaded (x2), top_section 2 + // format args: uptime_secs, uptime_str, jetstream_endpoint, posts_checked (x2), 3 + // matches_found (x2), posts_created (x2), cooldowns_hit (x2), 4 + // blocks_respected (x2), errors (x2), bufos_loaded (x2), top_section 5 5 6 6 pub const html = 7 7 \\<!DOCTYPE html> ··· 125 125 \\<div class="stat"> 126 126 \\ <span class="stat-label">uptime</span> 127 127 \\ <span class="stat-value" id="uptime" data-seconds="{}">{s}</span> 128 + \\</div> 129 + \\<div class="stat"> 130 + \\ <span class="stat-label">relay</span> 131 + \\ <span class="stat-value">{s}</span> 128 132 \\</div> 129 133 \\<div class="stat"> 130 134 \\ <span class="stat-label">posts checked</span>