Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
331bac1
[Fix] Correct cancelled input request label (#1626)
roomote-community[bot] Aug 26, 2026
0acbfbe
fix(web): remove shared page transition skeleton (#1676)
roomote-community[bot] Aug 26, 2026
c014438
[Improve] Make task memory MCPs pluggable (#1693)
roomote-roomote[bot] Aug 26, 2026
edb0e7a
[Fix] Fast stops after provider failures during tool use (#1691)
roomote-roomote[bot] Aug 26, 2026
cc79dba
fix: steer Fast follow-ups before replying (#1694)
roomote-roomote[bot] Aug 26, 2026
6ca15fd
[Chore] Remove unused onboarding task suggestions service (#1695)
mrubens Aug 26, 2026
cdb5901
fix: web-run Fast turns in the standalone production image (#1697)
mrubens Aug 26, 2026
23c15e1
fix: reconcile image-only Fast session replies (#1692)
roomote-roomote[bot] Aug 26, 2026
ce7532f
[Feat] Let Fast remember Brain context (#1623)
roomote-roomote[bot] Aug 26, 2026
90e39a6
fix: fence Brain task-memory ingestion on a per-row revision (#1698)
mrubens Aug 26, 2026
2f34f53
fix: deliver Fast automations to Slack DMs (#1701)
roomote-roomote[bot] Aug 26, 2026
ce40954
[Improve] Clarify repository context in Fast coding task kickoffs (#1…
roomote-roomote[bot] Aug 26, 2026
7d6b26b
[Fix] Review threads accumulate stale action buttons (#1650)
roomote-roomote[bot] Aug 26, 2026
461633b
[Feat] Give Fast mode access to packaged and repository skills (#1657)
roomote-roomote[bot] Aug 26, 2026
a6b9854
[Fix] PR review notifications miss completed findings (#1690)
daniel-lxs Aug 26, 2026
2fabc6d
[Improve] Default homepage composer to Fast mode when preferred (#1705)
roomote-roomote[bot] Aug 26, 2026
73469f6
fix: settle idle Slack task cards (#1706)
roomote-roomote[bot] Aug 26, 2026
07029f4
[Feat] Deliver Fast automations across every chat provider (#1709)
roomote-roomote[bot] Aug 26, 2026
2227460
[Fix] Saved workspace overrides Fast homepage default (#1712)
roomote-roomote[bot] Aug 26, 2026
36b0752
[Feat] Render widgets in Fast session transcripts (#1707)
roomote-roomote[bot] Aug 26, 2026
b6f965e
fix: render Slack review resolutions as context (#1715)
roomote-roomote[bot] Aug 26, 2026
9971142
[Fix] Teams Fast automation DMs fail to deliver without a route row (…
roomote-roomote[bot] Aug 26, 2026
96d2105
[Improve] Show submitted task memory in tool results (#1713)
roomote-roomote[bot] Aug 26, 2026
c96c42c
Release Roomote 0.44.0 (#1703)
roomote-roomote[bot] Aug 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 18 additions & 7 deletions .docker/app/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -113,16 +113,16 @@
ENV S3_ENDPOINT=http://minio:9000
ENV S3_PRESIGN_ENDPOINT=http://minio:9000
ENV S3_REGION=us-east-1
ENV S3_ACCESS_KEY_ID=roomote

Check warning on line 116 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Docker Build (app, amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "S3_ACCESS_KEY_ID") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 116 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "S3_ACCESS_KEY_ID") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 116 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (arm64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "S3_ACCESS_KEY_ID") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
ENV S3_SECRET_ACCESS_KEY=roomote-local-artifacts-password

Check warning on line 117 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Docker Build (app, amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "S3_SECRET_ACCESS_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 117 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "S3_SECRET_ACCESS_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 117 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (arm64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "S3_SECRET_ACCESS_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
ENV S3_BUCKET_ARTIFACTS=roomote-artifacts
ENV JOB_AUTH_PRIVATE_KEY=local-self-host-build-job-auth-private-key

Check warning on line 119 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Docker Build (app, amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "JOB_AUTH_PRIVATE_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 119 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "JOB_AUTH_PRIVATE_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 119 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (arm64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "JOB_AUTH_PRIVATE_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
ENV JOB_AUTH_PUBLIC_KEY=local-self-host-build-job-auth-public-key
ENV PREVIEW_AUTH_PRIVATE_KEY=local-self-host-build-preview-auth-private-key

Check warning on line 121 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Docker Build (app, amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PREVIEW_AUTH_PRIVATE_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 121 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PREVIEW_AUTH_PRIVATE_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 121 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (arm64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "PREVIEW_AUTH_PRIVATE_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
ENV PREVIEW_AUTH_PUBLIC_KEY=local-self-host-build-preview-auth-public-key
ENV DASHBOARD_PASSWORD=roomote-local-admin

Check warning on line 123 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Docker Build (app, amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "DASHBOARD_PASSWORD") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 123 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "DASHBOARD_PASSWORD") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 123 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (arm64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "DASHBOARD_PASSWORD") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
ENV ENCRYPTION_KEY=local-roomote-encryption-key-0001

Check warning on line 124 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Docker Build (app, amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "ENCRYPTION_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 124 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "ENCRYPTION_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 124 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (arm64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "ENCRYPTION_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
ENV ARTIFACT_SIGNING_KEY=local-roomote-artifact-signing-key-1

Check warning on line 125 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Docker Build (app, amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "ARTIFACT_SIGNING_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 125 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (amd64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "ARTIFACT_SIGNING_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 125 in .docker/app/Dockerfile

View workflow job for this annotation

GitHub Actions / Build app (arm64)

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "ARTIFACT_SIGNING_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
ENV PREVIEW_PROXY_BASE_URL=http://localhost:18081
ENV PREVIEW_DOMAINS=localhost,127.0.0.1,roomotepreview.localhost

Expand Down Expand Up @@ -178,12 +178,14 @@
# Runtime-only dependency tree for the externals tsup does not bundle. Install
# from its standalone lockfile so unrelated workspace packages stay excluded.
COPY .docker/app/runtime-deps/api /runtime-deps/
# The zod parity check guards the Fast agent's native tool runtime: it
# symlinks an on-disk zod into each generated OpenCode tool directory via
# require.resolve, which the api bundle (noExternal) cannot satisfy on its
# own. A version drifting from the workspace would silently change what the
# generated tool sources execute against.
# Version parity keeps API externals aligned with the workspace. Zod also
# guards the Fast agent's native tool runtime, which symlinks it into each
# generated OpenCode tool directory via require.resolve.
RUN cd /runtime-deps && pnpm install --prod --frozen-lockfile && \
test "$(node -p "require(require('node:path').join(require('node:path').dirname(require.resolve('dompurify')), '../package.json')).version")" = \
"$(cd /roomote/apps/api && node -p "require(require('node:path').join(require('node:path').dirname(require.resolve('dompurify')), '../package.json')).version")" && \
test "$(node -p "require('jsdom/package.json').version")" = \
"$(cd /roomote/apps/api && node -p "require('jsdom/package.json').version")" && \
test "$(node -p "require('snowflake-sdk/package.json').version")" = \
"$(cd /roomote/apps/api && node -p "require('snowflake-sdk/package.json').version")" && \
test "$(node -p "require('zod/package.json').version")" = \
Expand Down Expand Up @@ -310,6 +312,12 @@

ARG OPENCODE_CLI_VERSION=1.18.10

# Fast mode uses bounded, temporary partial Git fetches to discover
# repository-defined skills without exposing a checkout to the model.
RUN apt -qq update && \
apt -qq install -y git && \
rm -rf /var/lib/apt/lists/*

# The install and version check run as root; with the image's HOME=/tmp they
# would bake root-owned dotdirs (npm cache, OpenCode's data/config/cache
# dirs) into the layer. The runtime user shares that HOME and must be able to
Expand Down Expand Up @@ -376,6 +384,7 @@
COPY --from=build-api /roomote/apps/api/package.json ./apps/api/
COPY --from=build-api /roomote/apps/api/dist ./apps/api/dist/
COPY --from=build-api /runtime-deps/node_modules ./apps/api/node_modules/
COPY --chown=roomote-app:roomote-app --from=build-api /roomote/packages/cloud-agents/src/server/workflows/skills/standard ./skills/standard/
COPY --from=build-api /migrate /roomote/migrate/
COPY --from=build-controller /roomote/releases /roomote/releases/
COPY --from=build-controller /roomote/apps/controller/package.json ./apps/controller/
Expand All @@ -388,8 +397,10 @@
COPY --from=build-preview-proxy /roomote/apps/preview-proxy/dist ./apps/preview-proxy/dist/
COPY --from=build-preview-proxy /runtime-deps/node_modules ./apps/preview-proxy/node_modules/
COPY --from=github-cli /usr/bin/gh /usr/local/bin/gh
RUN command -v gh >/dev/null && command -v opencode >/dev/null && \
cd /roomote/apps/bullmq && node -e "require.resolve('zod/package.json')"
RUN command -v git >/dev/null && command -v gh >/dev/null && \
command -v opencode >/dev/null && \
cd /roomote/apps/bullmq && node -e "require.resolve('zod/package.json')" && \
ls -d /roomote/node_modules/.pnpm/zod@*/node_modules/zod >/dev/null

USER roomote-app:roomote-app
EXPOSE 3000 3001 3002 8081
2 changes: 2 additions & 0 deletions .docker/app/runtime-deps/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
"private": true,
"packageManager": "pnpm@10.29.3",
"dependencies": {
"dompurify": "3.4.13",
"jsdom": "26.1.0",
"snowflake-sdk": "2.4.3",
"zod": "3.25.76"
},
Expand Down
Loading
Loading