ruview @ v1229
integrity
- size
- 59.6 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: cog-ha-matter (ADR-116 P4): MdnsService -> mdns-sd ServiceInfo bridge
Pure conversion from our wire-format MdnsService to the
mdns_sd::ServiceInfo shape the responder daemon consumes. No
socket binding, no daemon registration yet — that lands next iter
as a runtime::spawn_mdns_responder(info) JoinHandle returning
helper, same shape as runtime::spawn_publisher.
MdnsService::to_service_info(hostname, ipv4) -> Result<ServiceInfo, mdns_sd::Error>mdns-sd = "0.11"added — aligned with the workspace pin from wifi-densepose-desktop so the lockfile doesn't fork dalek-like surfaces.
3 new tests:
- to_service_info_carries_service_type_and_port — locks that
_ruview-ha._tcp(with or without mdns-sd's trailing-dot normalisation) and the control port round-trip through the conversion - to_service_info_propagates_txt_records — every locked TXT
key from iter 4 (cog_id, mqtt_port, privacy, proto, node_id,
cog_version) reachable via
get_property_val_stron the converted ServiceInfo - to_service_info_does_not_silently_drop_caller_hostname — locks the caller-side responsibility for the .local. suffix. mdns-sd 0.11 accepts bare hostnames (verified empirically by initial test expecting it to reject — it didn't), so the wrapper layer must do the trailing-dot dance. Documenting that via a named test catches future bumps where the lib starts mutating the value.
63/63 cog tests green (60 → 63).
ADR-116 P4 now ⁶⁄₇: ✅ mDNS record-builder, ✅ chain, ✅ JSONL, ✅ file persistence, ✅ Ed25519 signing, ✅ ServiceInfo conversion; ⏳ daemon register + embedded broker.
Co-Authored-By: claude-flow ruv@ruv.net
Docker Image:
ghcr.io/ruvnet/RuView:34eced880f9e39b9ebf043848003df5249770521
download
unix · zip
curl -fL -o v1229.zip https://ratatoskr.space/pkg/ruview/v1229.zip
printf '%s %s\n' '495a089cad34311aa426344de386be5725feabba57767dda50c3b3afe25b98bb' 'v1229.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v1229.zip"
$out = "v1229.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "495a089cad34311aa426344de386be5725feabba57767dda50c3b3afe25b98bb") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1229.tar.gz https://ratatoskr.space/pkg/ruview/v1229.tar.gz
printf '%s %s\n' 'fa54ef992eb321ad4986585c8b5721d7d44443efc258cfbb221ba6c08aebb142' 'v1229.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v1229.tar.gz"
$out = "v1229.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "fa54ef992eb321ad4986585c8b5721d7d44443efc258cfbb221ba6c08aebb142") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v1229.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1229.zip
printf '%s %s\n' '495a089cad34311aa426344de386be5725feabba57767dda50c3b3afe25b98bb' 'v1229.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1229.zip"
$out = "v1229.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "495a089cad34311aa426344de386be5725feabba57767dda50c3b3afe25b98bb") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1229.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1229.tar.gz
printf '%s %s\n' 'fa54ef992eb321ad4986585c8b5721d7d44443efc258cfbb221ba6c08aebb142' 'v1229.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1229.tar.gz"
$out = "v1229.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "fa54ef992eb321ad4986585c8b5721d7d44443efc258cfbb221ba6c08aebb142") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1229.zip | zip | 59.6 MiB |
blake3-24 cf825206a18603804e7befab1b3b902e56fabe780cd46c65
sha256 495a089cad34311aa426344de386be5725feabba57767dda50c3b3afe25b98bb
sha1 40f3f228f75a3b502566ae0ce84f3f0de0d3cfa4
|
| v1229.tar.gz | tar.gz | 58.1 MiB |
blake3-24 861a9e7e528ff63ee684bc59663b39697f7cb63b8603d624
sha256 fa54ef992eb321ad4986585c8b5721d7d44443efc258cfbb221ba6c08aebb142
sha1 58c4b5e10394309d13ae2c766d56abed4d638612
|
install
bazel
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1229.tar.gz"],
integrity = "sha256-+lTvmS6zIa1Jhlhci1ch19REQ+/CWM+7IhumwIrrsUI=",
strip_prefix = "ruview-v1229",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v1229.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1229.tar.gz"],
integrity = "sha256-+lTvmS6zIa1Jhlhci1ch19REQ+/CWM+7IhumwIrrsUI=",
strip_prefix = "ruview-v1229",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1229.tar.gz",