Skip to content

Migrate to StartOS SDK 2.0.5 - #1

Merged
stupleb merged 1 commit into
masterfrom
migrate-sdk-2.0.5
Jul 18, 2026
Merged

Migrate to StartOS SDK 2.0.5#1
stupleb merged 1 commit into
masterfrom
migrate-sdk-2.0.5

Conversation

@stupleb

@stupleb stupleb commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Migrates the package from SDK 1.5.3 to 2.0.5 and cuts packaging revision 2026.6.30:0:1.

SDK changes

Two 2.0 breaking changes reach this package:

  • sdk.serviceInterface.getOwn removed. getNonLocalUrls now goes through sdk.host.getOwn, walking host.bindings[port].interfaces to the 'ui' interface; addressInfo arrives pre-filled. The host id is the MultiHost id ('ui-multi'), not the interface id.
  • SubContainer.of() is now lazy and synchronous. The await is dropped at all three call sites; .rootfs is a promise on the lazy handle and is awaited at both writes. It materializes with the declared mounts, so the /data volume mount is unchanged.

Plus typescript → 6.0.3 and tsconfig.json collapsed onto the SDK's tsconfig.base.json.

CI

Dropped the Pin start-cli v0.4.0-beta.9 step from both workflows. It existed only because the package was SDK 1.5.3, and that CLI cannot pack a 2.0.5 package — leaving it in would have broken the release build. build.yml returns to the shared Start9 reusable workflow, which it had been inlined away from solely to host that pin. Both workflows are now identical to bentopdf's, which already releases green on 2.0.5.

Verification

  • tsc, ncc, and s9pk pack green on both x86_64 (37M) and aarch64 (35M)
  • Device-tested: fresh install, in-place upgrade from :0, sessions + timeline load, primary URL (install default, Set Primary URL action, survives restart), Basic Auth end to end, and both critical-task branches (all sessions removed; primary URL's address removed)

🤖 Generated with Claude Code

Bump @start9labs/start-sdk 1.5.3 -> 2.0.5 and typescript -> 6.0.3, and
collapse tsconfig.json onto the SDK's tsconfig.base.json (ES2022, module
preserve, moduleResolution bundler).

Two 2.0 breaking changes reach this package:

- sdk.serviceInterface.getOwn is removed. getNonLocalUrls now goes through
  sdk.host.getOwn, walking host.bindings[port].interfaces to the 'ui'
  interface; addressInfo arrives pre-filled. Note the host id is the
  MultiHost id ('ui-multi'), not the interface id.
- SubContainer.of() is now lazy and synchronous, so the await is dropped;
  .rootfs is a promise on the lazy handle and is awaited at both writes.
  It materializes with the declared mounts, so the /data volume mount is
  unchanged.

Bump the packaging revision 2026.6.30:0 -> :1. No data migration, so
current.ts is edited in place rather than spun off into a new version file.

CI: drop the "Pin start-cli v0.4.0-beta.9" step from both workflows. It
existed only because the package was SDK 1.5.3, and that CLI cannot pack a
2.0.5 package -- leaving it would have broken the release build. build.yml
returns to the shared Start9 reusable workflow, which it was inlined away
from solely to host that pin.

Verified: tsc, ncc and s9pk pack (x86_64 + aarch64), plus device-testing of
fresh install, in-place upgrade from :0, sessions/timeline, primary URL and
Basic Auth, and both critical-task branches.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@stupleb
stupleb merged commit a1ac121 into master Jul 18, 2026
3 checks passed
@stupleb
stupleb deleted the migrate-sdk-2.0.5 branch July 18, 2026 15:13
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.

1 participant