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/v1406
vault / ruview / v1406

ruview @ v1406

integrity

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

release notes

Automated release from CI pipeline

Changes: feat(homecore iter 3): DELETE /api/states/ + confirm modal in UI

CRUD increment 3/6. Full delete path lands end-to-end.

Backend (homecore-api): rest.rs +18 LOC — new delete_state handler. Idempotent (matches HA's removal semantics): returns 204 No Content whether the entity existed or not. 4xx only for malformed entity_id or auth failure. app.rs +6 LOC — adds .delete(rest::delete_state) to the /api/states/:entity_id route alongside existing GET + POST.

Backend curl smoke: POST /api/states/sensor.test_delete 201 DELETE /api/states/sensor.test_delete 204 GET /api/states/sensor.test_delete 404

Frontend: components/StateCard.ts +25 LOC — small × delete button in the card's top-right corner. opacity 0 by default, fades in on hover or keyboard focus. dispatches hc-state-card-delete (NOT hc-state-card-click) with stopPropagation so the card's own click-to-edit handler doesn't also fire.

pages/Dashboard.ts +45 LOC — deletingState (StateView | null), a confirm modal that names the entity_id in the body, Cancel / Delete buttons in the footer (Delete styled in muted red), _confirmDelete() dispatches DELETE with bearer, toast on success, grid refresh.

Browser-verified end-to-end on real homecore-server :8123:

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

Docker Image: ghcr.io/ruvnet/RuView:c0bb6f4fc77461e3981dd8f019f8964cf876235d

download

unix · zip
curl -fL -o v1406.zip https://ratatoskr.space/pkg/ruview/v1406.zip
                    printf '%s  %s\n' 'e8f54afc88741a988f10934dcb4dc732185661b4fbd8efd100f0c4d16e04a8da' 'v1406.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v1406.zip"
$out = "v1406.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "e8f54afc88741a988f10934dcb4dc732185661b4fbd8efd100f0c4d16e04a8da") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1406.tar.gz https://ratatoskr.space/pkg/ruview/v1406.tar.gz
                    printf '%s  %s\n' 'b75c6349cad8f5aeb4c213289f0e930365908700e876b1da76d31ea7debc7f84' 'v1406.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v1406.tar.gz"
$out = "v1406.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "b75c6349cad8f5aeb4c213289f0e930365908700e876b1da76d31ea7debc7f84") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v1406.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1406.zip
                    printf '%s  %s\n' 'e8f54afc88741a988f10934dcb4dc732185661b4fbd8efd100f0c4d16e04a8da' 'v1406.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1406.zip"
$out = "v1406.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "e8f54afc88741a988f10934dcb4dc732185661b4fbd8efd100f0c4d16e04a8da") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1406.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1406.tar.gz
                    printf '%s  %s\n' 'b75c6349cad8f5aeb4c213289f0e930365908700e876b1da76d31ea7debc7f84' 'v1406.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1406.tar.gz"
$out = "v1406.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "b75c6349cad8f5aeb4c213289f0e930365908700e876b1da76d31ea7debc7f84") { throw "sha256 mismatch" }
artifact format size hashes
v1406.zip zip 60.4 MiB
blake3-24 14f06e64c24c5c0e5d794dd8cf6f13a94dac62a461725cb5
sha256 e8f54afc88741a988f10934dcb4dc732185661b4fbd8efd100f0c4d16e04a8da
sha1 cba4a699a73a98614010aecaeddeb7fc9d900972
v1406.tar.gz tar.gz 58.7 MiB
blake3-24 4771e00b91f9e55e3724ae02e9ce65dbb55c682475647cfd
sha256 b75c6349cad8f5aeb4c213289f0e930365908700e876b1da76d31ea7debc7f84
sha1 1dd2c6779a98f8f00dba7c934b4caceca7b63955

install

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