chore: migrate to start-sdk 2.0 (0.3.0:1) - #8
Merged
Merged
Conversation
6 tasks
MattDHill
approved these changes
Jul 21, 2026
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
start-sdk 2.0 migration of 0.3.0
Ports the 0.3.0 feature release (merged in #6) from start-sdk 1.5.3 → 2.0.6. Version
0.3.0:0 → 0.3.0:1; no upstream change (still simplex-chat 6.5.5, imagelundog/simplex-websocket-bridge:6.5.5-2).Supersedes #7, which migrated the older 0.2.0 base and is now stale against 0.3.0.
Changes
Config (mechanical)
package.json:@start9labs/start-sdk1.5.3 → 2.0.6, TypeScript ^5.9.3 → ^6.0.3Makefile: include the SDK'ss9pk.mkinstead of the vendored copy;s9pk.mk(138 lines) deletedtsconfig.json: extends@start9labs/start-sdk/tsconfig.base.jsonCode — exactly two API changes (the entire 0.3.0 codebase otherwise type-checks unchanged against 2.0):
startos/serverConfig.ts—sdk.serviceInterfaceis removed in 2.0. Local-relay resolution now walks the owning host's bindings viasdk.host.get({ packageId, hostId }). SMP binds on the SimpleX Server'smainhost, XFTP on itsxftphost. The binding scan is port-agnostic (looks the interface up by id rather than pinning a port) so an upstream port change doesn't break resolution. The interface'saddressInfocomes pre-filled, so the existingfilter(...)/format('urlstring')tier preference — and the full credentialedsmp://<fingerprint>:<password>@hostURI — are preserved exactly.startos/main.ts— lazySubContainer:await sdk.SubContainer.of(...)→sdk.SubContainer.of(...).Docs
AGENTS.md: corrected the file-exchange bullet, which still described the old/simplexre-mount. 0.3.0: client configuration, address management, relays, and file exchange #6 moved to a single/datamount (.simplex/{files,tmp,outbound}); also refreshed the action-id list.Verification
Built and installed on StartOS 0.4.0-beta.10 (x86_64) hardware, fresh install:
make x86green — tsc + ncc +s9pk pack, SDK 2.0.6.mainand all daemons launch:waitForBotReady(/user),configureServers(/_servers 1), address reconcile (/_show_address,/_address) →SimpleX client settings synced.view-addressreturned the live reusable SimpleX address with QR — action →bot-client→ WS confirmed working on 2.0.Not exercised: the
localrelay path (thesdk.host.getchange) — thesimplexSimpleX Server package isn't installed on the test box, so onlypublicmode ran. That path compiles and preserves the prior logic, but wants a run against an installed SimpleX Server before relying on it.Test plan
npm run check(tsc) green;make x86packs a valid s9pk on SDK 2.0.6.main.view-addressaction returns the reusable address + QR.create-invitation,reset-address,reset-clientactions.Configure Client: live display-name / avatar change applies without restart.localrelay mode against an installed SimpleX Server (exercisessdk.host.get).0.3.0:0.