From 72be4cbd6cc2896f5a7dab63f3268db84df40922 Mon Sep 17 00:00:00 2001 From: Helix <267227783+helix-nine@users.noreply.github.com> Date: Fri, 3 Jul 2026 17:47:21 +0000 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20revert=20start-core/SDK=20dist=20co-?= =?UTF-8?q?target=20=E2=80=94=20it=20breaks=20CI's=20make=20-t=20flow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #3391's grouped `dist/package.json dist/node_modules/.package-lock.json &:` co-target (to force a rebuild when the bundled node_modules is missing) is incompatible with the ISO build's "Prevent rebuild of compiled artifacts" step, which runs `make -t compiled-.tar` to mark the downloaded artifacts current. `make -t` reaching the group via `dist/package.json` touches only that target, NOT the grouped sibling stamp — so the stamp stays missing and `make startos-iso` re-runs `make -C start-core dist`, which cascades into a web-UI rebuild that reads an empty config.json and fails (`Unexpected end of file in JSON`). Restore the plain single-target rule, which `make -t` suppresses cleanly. Keeps the projects/start-sdk ls-files dead-edge fix. --- projects/start-sdk/build.mk | 5 ++--- shared-libs/ts-modules/build.mk | 7 ++----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/projects/start-sdk/build.mk b/projects/start-sdk/build.mk index 5ce5b1a33..8d1d0969a 100644 --- a/projects/start-sdk/build.mk +++ b/projects/start-sdk/build.mk @@ -2,10 +2,9 @@ test-sdk: $(call ls-files, projects/start-sdk) shared-libs/ts-modules/start-core $(MAKE) -C shared-libs/ts-modules/start-core test cd projects/start-sdk && make test -# Co-target the bundled dist/node_modules stamp (see shared-libs/ts-modules/build.mk). -projects/start-sdk/dist/package.json projects/start-sdk/dist/node_modules/.package-lock.json &: $(call ls-files, projects/start-sdk) shared-libs/ts-modules/start-core/dist/package.json +projects/start-sdk/dist/package.json: $(call ls-files, projects/start-sdk) shared-libs/ts-modules/start-core/dist/package.json (cd projects/start-sdk && make bundle) - touch projects/start-sdk/dist/package.json projects/start-sdk/dist/node_modules/.package-lock.json + touch projects/start-sdk/dist/package.json .PHONY: clean-sdk clean-sdk: diff --git a/shared-libs/ts-modules/build.mk b/shared-libs/ts-modules/build.mk index 7a6624101..067522ac7 100644 --- a/shared-libs/ts-modules/build.mk +++ b/shared-libs/ts-modules/build.mk @@ -7,12 +7,9 @@ COMPRESSED_WEB_UIS := projects/start-os/web/dist/static/ui/index.html projects/s # start-core (the shared TS lib formerly start-sdk/base): web consumes its built # dist via the root file: dep; the SDK and container-runtime consume it too. -# The bundled dist/node_modules stamp is a co-target so a missing/incomplete -# vendored node_modules forces a rebuild — otherwise an incremental build ships -# a dist whose compiled JS requires deps its node_modules lacks. -shared-libs/ts-modules/start-core/dist/package.json shared-libs/ts-modules/start-core/dist/node_modules/.package-lock.json &: $(call ls-files, shared-libs/ts-modules/start-core) shared-libs/ts-modules/start-core/lib/osBindings/index.ts +shared-libs/ts-modules/start-core/dist/package.json: $(call ls-files, shared-libs/ts-modules/start-core) shared-libs/ts-modules/start-core/lib/osBindings/index.ts $(MAKE) -C shared-libs/ts-modules/start-core dist - touch shared-libs/ts-modules/start-core/dist/package.json shared-libs/ts-modules/start-core/dist/node_modules/.package-lock.json + touch shared-libs/ts-modules/start-core/dist/package.json package-lock.json: package.json shared-libs/ts-modules/start-core/dist/package.json npm --prefix . i From a185be2075643053cf6b9ace29495ce4fe76fc03 Mon Sep 17 00:00:00 2001 From: Helix <267227783+helix-nine@users.noreply.github.com> Date: Fri, 3 Jul 2026 17:47:21 +0000 Subject: [PATCH 2/2] fix: repair SystemForEmbassy call to removed getServiceInterface helper #3392 removed util.getServiceInterface from start-core but left this legacy call site using it, breaking the container-runtime tsc build on master. Reconstruct the same filled-interface lookup inline from the retained effects.getServiceInterface + effects.getHostInfo + utils.filledAddress. --- .../Systems/SystemForEmbassy/index.ts | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/projects/start-os/container-runtime/src/Adapters/Systems/SystemForEmbassy/index.ts b/projects/start-os/container-runtime/src/Adapters/Systems/SystemForEmbassy/index.ts index 8a948e09f..dcd56db96 100644 --- a/projects/start-os/container-runtime/src/Adapters/Systems/SystemForEmbassy/index.ts +++ b/projects/start-os/container-runtime/src/Adapters/Systems/SystemForEmbassy/index.ts @@ -1331,19 +1331,26 @@ async function updateConfig( mutConfigValue[key] = "" return } - const filled = await utils - .getServiceInterface(effects, { + const filled = await (async () => { + const serviceInterface = await effects.getServiceInterface({ packageId: specValue["package-id"], - id: serviceInterfaceId, + serviceInterfaceId, }) - .once() - .catch((x) => { - console.error( - "Could not get the service interface", - utils.asError(x), - ) - return null + if (!serviceInterface) return null + const host = await effects.getHostInfo({ + packageId: specValue["package-id"], + hostId: serviceInterface.addressInfo.hostId, }) + return { + ...serviceInterface, + addressInfo: host + ? utils.filledAddress(host, serviceInterface.addressInfo) + : null, + } + })().catch((x) => { + console.error("Could not get the service interface", utils.asError(x)) + return null + }) const catchFn = (fn: () => X) => { try { return fn()