From b943a78da939e3807061fd07dfb7be7ecf2ecaba Mon Sep 17 00:00:00 2001 From: Evie Gauthier Date: Sun, 8 Mar 2026 22:14:26 -0400 Subject: [PATCH 1/2] fix: add element-call multi-stage build to Dockerfile upstream/dev added the element-call submodule as a file: dependency (@element-hq/element-call-embedded) but the Dockerfile had no step to build it, causing the vite static-copy plugin to fail with: No file was found to copy on node_modules/@element-hq/element-call-embedded/dist/* Add a new element-call-builder stage that: - Fetches the pinned submodule commit with --depth=1 - Enables corepack to activate yarn 4.x (required by packageManager field) - Runs yarn build:embedded to produce embedded/web/dist/ The builder stage then COPYs the pre-built package into place before npm ci, so npm can resolve the file: dep and vite finds the assets. --- Dockerfile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Dockerfile b/Dockerfile index a0b76dfdd0..a79295ef9e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,18 @@ +## Element Call embedded build +FROM --platform=$BUILDPLATFORM node:24.13.1-alpine AS element-call-builder + +RUN apk add --no-cache git + +WORKDIR /element-call + +ARG ELEMENT_CALL_COMMIT=ecef381c246c177af28b8c99c5076da19878a136 +RUN git init && \ + git remote add origin https://github.com/melogale/element-call.git && \ + git fetch --depth=1 origin ${ELEMENT_CALL_COMMIT} && \ + git checkout FETCH_HEAD + +RUN corepack enable && yarn install && yarn build:embedded + ## Builder FROM --platform=$BUILDPLATFORM node:24.13.1-alpine AS builder @@ -8,6 +23,10 @@ ARG VITE_IS_RELEASE_TAG=false ENV VITE_BUILD_HASH=$VITE_BUILD_HASH ENV VITE_IS_RELEASE_TAG=$VITE_IS_RELEASE_TAG +# Copy the pre-built element-call embedded package so npm ci can resolve the +# file: dependency and vite can find the dist/ assets to copy. +COPY --from=element-call-builder /element-call/embedded/web /src/element-call/embedded/web + COPY .npmrc package.json package-lock.json /src/ RUN npm ci --ignore-scripts COPY . /src/ From 78bd6cb9bd9da182efc551dc0872716200ac2dba Mon Sep 17 00:00:00 2001 From: Evie Gauthier Date: Sun, 8 Mar 2026 22:17:28 -0400 Subject: [PATCH 2/2] chore: add changeset for element-call docker build fix --- .changeset/fix-element-call-docker-build.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-element-call-docker-build.md diff --git a/.changeset/fix-element-call-docker-build.md b/.changeset/fix-element-call-docker-build.md new file mode 100644 index 0000000000..613cd364d8 --- /dev/null +++ b/.changeset/fix-element-call-docker-build.md @@ -0,0 +1,5 @@ +--- +sable: patch +--- + +Fix Docker builds failing after the element-call submodule was introduced.