yggvault ratatoskr-space connected via regular web
Color theme
also available via yggdrasil mesh http://[203:b338:2a84:a18f:986:47ae:1a4:d8d3]/pkg/ruview/v1230
vault / ruview / v1230

ruview @ v1230

integrity

size
59.6 MiB
downloaded
last checked
source https://github.com/ruvnet/RuView · available · github

release notes

Automated release from CI pipeline

Changes: cog-ha-matter (ADR-116 P4): live mDNS responder + handle

Closes the mDNS half of P4. runtime::start_mdns_responder binds multicast via mdns_sd::ServiceDaemon::new, builds the ServiceInfo from MdnsService::to_service_info (iter 9), and registers — returning a typed handle that owns both daemon and fullname.

Handle shape:

pub struct MdnsResponderHandle { daemon: ServiceDaemon, fullname: String, }

impl MdnsResponderHandle { pub fn fullname(&self) -> &str; pub fn shutdown(self) -> Result<(), mdns_sd::Error>; } impl Drop for MdnsResponderHandle { /* best-effort */ }

Why explicit shutdown + best-effort Drop: a clean shutdown sends a goodbye packet so HA's discovery integration sees the service leave (good UX — no stale device card). Drop is the fallback for panics / process termination but swallows errors since panicking-in-Drop would mask the real failure.

1 new live-I/O test:

64/64 cog tests green (63 → 64).

ADR-116 P4: mDNS half ✅ (record-builder + ServiceInfo + live responder), witness half ✅ (chain + JSONL + file + Ed25519). Last piece is the embedded rumqttd broker so external mosquitto becomes optional.

Co-Authored-By: claude-flow ruv@ruv.net

Docker Image: ghcr.io/ruvnet/RuView:07b792715f8be98c1a821d5ffe497a2fe475984c

download

unix · zip
curl -fL -o v1230.zip https://ratatoskr.space/pkg/ruview/v1230.zip
                    printf '%s  %s\n' '898451588eccd4d4e622b7d0c7a9931ea3ec6c0cd836541edcb4279dbd6f94fc' 'v1230.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v1230.zip"
$out = "v1230.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "898451588eccd4d4e622b7d0c7a9931ea3ec6c0cd836541edcb4279dbd6f94fc") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1230.tar.gz https://ratatoskr.space/pkg/ruview/v1230.tar.gz
                    printf '%s  %s\n' 'cda1aa9fa4b9691bd4283a4a93182e5b7585a4ccf5f79c63215bb82deabe481b' 'v1230.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v1230.tar.gz"
$out = "v1230.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "cda1aa9fa4b9691bd4283a4a93182e5b7585a4ccf5f79c63215bb82deabe481b") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v1230.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1230.zip
                    printf '%s  %s\n' '898451588eccd4d4e622b7d0c7a9931ea3ec6c0cd836541edcb4279dbd6f94fc' 'v1230.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1230.zip"
$out = "v1230.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "898451588eccd4d4e622b7d0c7a9931ea3ec6c0cd836541edcb4279dbd6f94fc") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1230.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1230.tar.gz
                    printf '%s  %s\n' 'cda1aa9fa4b9691bd4283a4a93182e5b7585a4ccf5f79c63215bb82deabe481b' 'v1230.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1230.tar.gz"
$out = "v1230.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "cda1aa9fa4b9691bd4283a4a93182e5b7585a4ccf5f79c63215bb82deabe481b") { throw "sha256 mismatch" }
artifact format size hashes
v1230.zip zip 59.6 MiB
blake3-24 d7e71a5040c031351902b4b32907e8aed4793757f2e7c57b
sha256 898451588eccd4d4e622b7d0c7a9931ea3ec6c0cd836541edcb4279dbd6f94fc
sha1 2786fd1a1d6eff2b58f648251d82e93a1929c2e5
v1230.tar.gz tar.gz 58.1 MiB
blake3-24 a7ed04a32d73587e7becccb733b71e0d4cc7d39c5b9b2c58
sha256 cda1aa9fa4b9691bd4283a4a93182e5b7585a4ccf5f79c63215bb82deabe481b
sha1 e5b004014b358bb87a604c59cc1cb374b6438428

install

bazel
http_archive(
    name = "ruview",
    urls = ["https://ratatoskr.space/pkg/ruview/v1230.tar.gz"],
    integrity = "sha256-zaGqn6S5aRvUKDpKkxguW3WFpMz195xjIVu4Leq+SBs=",
    strip_prefix = "ruview-v1230",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v1230.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
    name = "ruview",
    urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1230.tar.gz"],
    integrity = "sha256-zaGqn6S5aRvUKDpKkxguW3WFpMz195xjIVu4Leq+SBs=",
    strip_prefix = "ruview-v1230",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1230.tar.gz",
← v1231v1229 →