Skip to content

chore: migrate to start-sdk 2.0 and bump Bunker46 to latest upstream (0.1.0:3) - #3

Merged
helix-nine merged 5 commits into
masterfrom
next
Jul 21, 2026
Merged

chore: migrate to start-sdk 2.0 and bump Bunker46 to latest upstream (0.1.0:3)#3
helix-nine merged 5 commits into
masterfrom
next

Conversation

@helix-nine

@helix-nine helix-nine commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

start-sdk 2.0 migration

Migrates this package to @start9labs/start-sdk 2.0 (requires StartOS 0.4.0-beta.10).

Changes

  • SDK pin → 2.0.1, TypeScript → ^6, tsconfig.json extends the shipped tsconfig.base.json, Makefile includes the SDK's s9pk.mk (vendored copy removed), reusable CI workflows repointed to Start9Labs/start-technologies.
  • 2.0 API migrations as applicable: sdk.serviceInterface.*sdk.host.* resolved over the LXC bridge, lazy SubContainer, alerts manifest field removed, and other ### Changed / ### Removed items from the SDK 2.0 changelog.

Upstream bump

Bunker46 pins upstream by git commit (BUNKER46_REF in Dockerfile.server / Dockerfile.web) because dsbaars/bunker46 publishes no releases. Advanced the pin from 387d8a6 to 1a9c6c3 (latest main):

The upstream app version is unchanged (0.1.0), so this is a revision bump: StartOS version 0.1.0:20.1.0:3, with release notes updated in all five locales. No state migration is required for existing installs.

Test plan

  • CI build is green (npm citsc → SDK lint → nccs9pk pack).
  • Install the built 0.1.0:3 .s9pk on a StartOS 0.4.0-beta.10 server (fresh install and, separately, an upgrade over an existing 0.1.0:2 install).
  • Start the service; confirm all four daemons come up (bunker46-db, bunker46-valkey, bunker46-server, bunker46-web) and the service reaches its health check and its ui interface loads.
  • Exercise the NIP-46 flow: create/connect a bunker signer through the web UI and confirm the server signs a request.
  • Kill/restart a connected relay (or restart the server subcontainer) and confirm the server recovers rather than staying down — the behavior this upstream bump targets.
  • Run a backup/restore (Postgres withPgDump) and confirm the dump is non-empty and restores cleanly.

🤖 Generated with Claude Code

@helix-nine helix-nine changed the title chore: migrate to start-sdk 2.0 chore: migrate to start-sdk 2.0 and bump Bunker46 to latest upstream (0.1.0:3) Jul 4, 2026
Bumps @start9labs/start-sdk 2.0.1 -> 2.0.3 (dependency and lockfile only).

- 2.0.3 fixes a dependency-gated daemon wedging permanently after its
  dependency's readiness flaps: Daemon.term() unconditionally destroyed the
  daemon's SubContainer, so the next start() threw "already destroyed" and the
  daemon never recovered. Adds a non-destroying Daemon.stop() for
  dependency-driven pauses, and serializes pause/resume transitions.
- 2.0.2 runs s9pk.mk's check-deps before packing, not just before install.

No packaging API changed between 2.0.1 and 2.0.3, so no source changes were
needed. Verified with `npm run check` (tsc --noEmit).
Bumps @start9labs/start-sdk 2.0.3 -> 2.0.5 (dependency and lockfile only).

2.0.5 fixes ExVer range operations ignoring the downstream revision:
compareVersionRangePoints and adjacentVersionRangePoints compared the upstream
twice, so two points sharing an upstream but differing downstream (1.0.0:3 vs
1.0.0:15) collapsed into one. normalize() then dropped the lower of the two,
which made packed manifests advertise a canMigrateFrom/canMigrateTo range
narrower than the truth for any package whose `other` versions share current's
upstream. No upgrade path actually broke — StartOS resolves migrations through
the version graph rather than this field — but the manifests were wrong.

No packaging API changed, so no source changes were needed. Verified with
`npm run check` (tsc --noEmit).
Bumps @start9labs/start-sdk 2.0.5 -> 2.0.6 (dependency and lockfile only).

2.0.6 fixes s9pk.mk failing under `make` in a git repo with no index yet: it
listed $(GIT_DIR)/index as an unconditional prerequisite, but `git init` creates
no index until the first `git add`, so a freshly scaffolded package aborted with
"No rule to make target '.git/index'" before packing. GIT_DEPS now filters
through $(wildcard ...), so a missing HEAD or index drops out of the prerequisite
list instead of halting the build (s9pk pack already handles a commit-less repo).
Build plumbing only.

No packaging API changed, so no source changes were needed. Verified with
`npm run check` (tsc --noEmit).
@helix-nine
helix-nine merged commit cb99b91 into master Jul 21, 2026
3 checks passed
@helix-nine
helix-nine deleted the next branch July 21, 2026 01:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants