Some checks failed
The banner on a host comes from `npx vibe-kanban` fetching upstream's published 0.1.44, which embeds upstream's frontend. Our fork already fixes that UI -- the revert restored LocalProjectKanban and showCloudShutdownBanner is pinned false in SharedAppLayout, which local-web uses -- it just was not in the binary anyone was running. npx cannot be pointed at us. npx-cli resolves its download from R2_BASE_URL, a placeholder substituted at npm-publish time to BloopAI's bucket, with no runtime override. That bucket serves the sunset binary and dies with them. So build our own. crates/server embeds packages/local-web/dist via rust-embed and crates/server/build.rs reads VK_SHARED_API_BASE at compile time, so one build yields the fixed UI and our endpoints as defaults, with no environment on the command line -- std::env::var still wins at runtime for overrides. Packaged as an RPM to rpm.lair.cafe, mirroring lair/claude-desktop-package: package and publish on the `rpm` runner, sign, rsync to oolon, createrepo under the shared flock. The compile runs first on a podman runner instead, so this never depends on the rpm host's toolchain matching the nightly pinned in rust-toolchain.toml. Built on bookworm although the target is Fedora 43/44: glibc compatibility is forward-only, so one binary covers both. The build fails closed if the sunset strings reappear or the baked endpoint is missing. Needs RPM_SIGNING_KEY, RPM_SIGNING_KEY_ID and RSYNC_SSH_KEY on this repo; they currently exist only on lair/claude-desktop-package.