Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
0612e0f
[Fix] Enable Azure sandbox idle suspension by default (#2250)
mrubens Sep 5, 2026
df58526
[Fix] Refresh inference cost when task info opens (#2253)
mrubens Sep 5, 2026
0b39c2e
[Refactor] Run every custom automation as a Fast Session turn (#2251)
mrubens Sep 5, 2026
4afdbe9
[Feat] Offer GPT-6 Astra through Vercel, GitHub Copilot, and OpenCode…
roomote-roomote[bot] Sep 5, 2026
2fcf5e1
[Feat] Post suggested tasks when a delegated automation task settles …
mrubens Sep 5, 2026
42cf887
[Fix] Automation avatars are glaring white in dark mode (#2256)
roomote-roomote[bot] Sep 5, 2026
9eb0908
fix: honor Fast automation session model overrides (#2257)
roomote-roomote[bot] Sep 5, 2026
94d8e72
fix: preserve automation parent identity in delegated tasks (#2258)
roomote-roomote[bot] Sep 5, 2026
b111fc0
fix: reduce automations mobile side margins (#2261)
roomote-roomote[bot] Sep 5, 2026
8ce9bc4
[Refactor] Simplify Fast task delegation payload construction (#2262)
roomote-roomote[bot] Sep 5, 2026
6b4237b
[Improve] Make Session tool exchanges inspectable (#2263)
roomote-roomote[bot] Sep 5, 2026
0702ee9
fix: reset new session model to default (#2259)
roomote-roomote[bot] Sep 5, 2026
a9713a0
fix: recover device authorization after reopening failed connection (…
roomote-roomote[bot] Sep 5, 2026
4738f29
[Feat] Let Fast Sessions schedule reminders and recurring checks (#2239)
daniel-lxs Sep 5, 2026
fc9b3de
[Fix] Completed visual proof is reported as timed out during delivery…
roomote-roomote[bot] Sep 5, 2026
16eaaf5
fix: support seconds in session wakeup schedules (#2265)
roomote-roomote[bot] Sep 5, 2026
d1e42c3
test: guard Fast Slack closeout reactions across turns (#2266)
roomote-roomote[bot] Sep 5, 2026
0f52ba3
refactor: share inference error envelope decoding (#2267)
roomote-roomote[bot] Sep 5, 2026
6729a33
[Fix] Reactions and platform events no longer supersede parked Fast t…
mrubens Sep 5, 2026
8dff355
[Fix] Fast follow-ups disappear when sent during response closeout (#…
roomote-roomote[bot] Sep 6, 2026
3eb6ec1
[Fix] Automation suggestions leave the session and Slack thread when …
roomote-roomote[bot] Sep 6, 2026
9752479
feat: allow OpenCode subagent depth of two (#2278)
roomote-roomote[bot] Sep 6, 2026
f060b8a
fix: provision local artifact storage during sandbox setup (#2279)
roomote-roomote[bot] Sep 6, 2026
6a5f226
[Improve] Reduce skill context overhead and focus task handoffs (#2269)
roomote-roomote[bot] Sep 6, 2026
b0603c9
[Fix] Large USD costs lack consistent thousands separators (#2280)
roomote-roomote[bot] Sep 6, 2026
d63957e
[Fix] Review handoffs fail with 403 User context required (#2281)
mrubens Sep 6, 2026
47830bc
fix: preserve UTF-8 characters across streamed output chunks (#2276)
roomote-roomote[bot] Sep 6, 2026
d638659
[Fix] Signed PR screenshots are missing from merge announcements (#2283)
roomote-roomote[bot] Sep 6, 2026
443e290
fix: hide runtime task navigation in web transcripts (#2284)
roomote-roomote[bot] Sep 6, 2026
72d630b
fix: prevent composer suggestion hints from overlapping text (#2285)
roomote-roomote[bot] Sep 6, 2026
f62e48e
fix: contain sessions board cards on mobile (#2286)
roomote-roomote[bot] Sep 6, 2026
2e6e2e3
fix(discord): omit reply references in threads (#2017)
roomote-roomote[bot] Sep 6, 2026
8999039
[Fix] Discord automation replies require mentions and task links lack…
roomote-roomote[bot] Sep 6, 2026
d9ae83d
[Fix] Sentry triage assumes internal projects and implicit organizati…
roomote-roomote[bot] Sep 6, 2026
7460166
fix: preserve artifacts when replacement uploads are interrupted (#2275)
roomote-roomote[bot] Sep 6, 2026
622c1e0
fix: preserve Slack working status when late titles arrive (#2270)
roomote-roomote[bot] Sep 6, 2026
316e98d
[Fix] PR feedback waits for scheduled recovery after triage failures …
roomote-roomote[bot] Sep 6, 2026
134904e
fix: validate structured provider qualification tool calls (#2273)
roomote-roomote[bot] Sep 6, 2026
1b50316
fix: show semantic native tool activity labels (#2292)
roomote-roomote[bot] Sep 6, 2026
3bc2b44
fix: keep Slack working status aligned with session turn ownership (#…
roomote-roomote[bot] Sep 6, 2026
979f178
[Improve] Offer bounded monitoring for ongoing processes (#2291)
roomote-roomote[bot] Sep 6, 2026
b85611e
fix: avoid dangling refs in Fast integration tool schemas (#2295)
roomote-roomote[bot] Sep 6, 2026
99732f2
refactor: centralize artifact path lookup persistence (#2298)
roomote-roomote[bot] Sep 6, 2026
88823cd
chore: sync Roomote 1.3.2 release metadata (#2297)
roomote-roomote[bot] Sep 6, 2026
0726cf4
fix: correct Telegram automation continuation copy (#2287)
roomote-community[bot] Sep 6, 2026
d95a5fd
[Improve] Show filenames and file counts in edit activity (#2294)
roomote-roomote[bot] Sep 6, 2026
f5d217c
fix: preserve Slack working status between streamed replies (#2299)
roomote-roomote[bot] Sep 7, 2026
4b64ce0
fix: warn about whitespace-only doctor auth credentials (#2300)
roomote-roomote[bot] Sep 7, 2026
1b8c8ae
fix: retain saved Slack channel selection markers (#2301)
roomote-roomote[bot] Sep 7, 2026
629b881
fix: name the pull request delivery control for accessibility (#2303)
roomote-roomote[bot] Sep 7, 2026
eec1a4d
fix: align PR analytics with local calendar days (#2304)
roomote-roomote[bot] Sep 7, 2026
098e909
fix: stop retrying rejected model settings saves (#2305)
roomote-roomote[bot] Sep 7, 2026
2861493
[Fix] Unexpected web logouts when users return to the site (#2306)
roomote-roomote[bot] Sep 7, 2026
96a8458
feat: include build identity in assistant release prompts (#2310)
roomote-roomote[bot] Sep 7, 2026
25019e2
fix: respect human ownership while preserving authorized autonomy (#2…
roomote-roomote[bot] Sep 7, 2026
9685ed5
fix: shorten composer suggestion hint on mobile (#2318)
roomote-roomote[bot] Sep 7, 2026
dac52ba
chore: remove duplicate PR review title test (#2321)
roomote-roomote[bot] Sep 7, 2026
3fc1211
fix: include Monday OAuth resource indicator (#1982)
roomote-community[bot] Sep 7, 2026
ae1395f
[Fix] Suggested tasks start in a new Slack thread when launched from …
roomote-roomote[bot] Sep 7, 2026
1bd4507
[Feat] Add recognizable robot icons to tasks (#2219)
roomote-roomote[bot] Sep 7, 2026
4f889ba
[Feat] Set up a manager channel when users connect Slack (#2322)
roomote-roomote[bot] Sep 7, 2026
0278858
fix: support required local provider tool probes (#2311)
roomote-roomote[bot] Sep 7, 2026
c99d6ec
fix: include stable workers in release fallback (#2315)
roomote-roomote[bot] Sep 7, 2026
a0e7170
fix: allow local startup when unrelated port 7060 is occupied (#2316)
roomote-roomote[bot] Sep 7, 2026
9efb0a9
fix: fail Brain backups when database probes fail (#2314)
roomote-roomote[bot] Sep 7, 2026
8a25224
fix: keep Slack provider error notifications compact (#2328)
roomote-roomote[bot] Sep 7, 2026
97f5873
fix: unify slow rightward shimmer animations (#2329)
roomote-roomote[bot] Sep 7, 2026
31b47e5
[Fix] Actual task report is missing from expanded summary YAML (#2327)
roomote-roomote[bot] Sep 7, 2026
421e2b2
[Feat] Show current Session viewers in the header (#2330)
roomote-roomote[bot] Sep 7, 2026
f9b55bc
[Feat] Show scheduled wakeups above the Session composer (#2331)
roomote-roomote[bot] Sep 7, 2026
a6f0d97
fix: unify task communication receipt icons and running feedback (#2332)
roomote-roomote[bot] Sep 7, 2026
8d47252
fix: exclude self from session viewer indicators (#2334)
roomote-roomote[bot] Sep 7, 2026
855a448
feat: animate Session and Task workspace panel transitions (#2335)
roomote-roomote[bot] Sep 7, 2026
e9fd2e8
[Fix] MCP connections lose registration when users reauthorize after …
roomote-roomote[bot] Sep 7, 2026
daac542
refactor: centralize automation Slack destination selection (#2338)
roomote-roomote[bot] Sep 7, 2026
62ce574
[Improve] Let agents choose the most useful visual proof (#2337)
roomote-roomote[bot] Sep 7, 2026
d6a4932
[Fix] Environment tasks cannot push to other enabled GitHub repositor…
roomote-roomote[bot] Sep 7, 2026
dd6503e
[Improve] Show Discord and Telegram typing while Roomote responds (#2…
roomote-roomote[bot] Sep 7, 2026
44f76b2
[Feat] Send task recordings as native Slack videos (#2341)
roomote-roomote[bot] Sep 8, 2026
806e1f9
[Docs] Document recent user-facing behavior (#2342)
roomote-community[bot] Sep 8, 2026
d14e18d
[Chore] Update qs to resolve two denial-of-service advisories (#2343)
roomote-roomote[bot] Sep 8, 2026
4b19dd9
[Improve] Reuse cached Mintlify tooling for sandbox docs previews (#2…
roomote-roomote[bot] Sep 8, 2026
823707c
[Feat] Add optional high-FPS animation recording (#2344)
roomote-roomote[bot] Sep 8, 2026
32171b6
fix: keep transcript session titles on one line (#2351)
roomote-roomote[bot] Sep 8, 2026
9db5bd3
fix: skip browser setup for agent-browser help (#2350)
roomote-roomote[bot] Sep 8, 2026
cd17a34
fix: scope platform issue Slack alerts to channel owner (#2345)
roomote-roomote[bot] Sep 8, 2026
e600095
fix: expose terminal provider blockers in task summaries (#2346)
roomote-roomote[bot] Sep 8, 2026
bdb44db
fix: stop feature demo recording after capture failures (#2347)
roomote-roomote[bot] Sep 8, 2026
0bcd3bb
fix: use upgraded agent-browser CLI (#2348)
roomote-roomote[bot] Sep 8, 2026
af05a24
fix: repair runtime Telegram webhook setup (#2349)
roomote-roomote[bot] Sep 8, 2026
16cc539
chore: release Roomote 1.4.0 (#2290)
roomote-roomote[bot] Sep 8, 2026
76073d8
Reconcile v1.4.0 with pinned main
github-actions[bot] Sep 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 6 additions & 1 deletion .docker/app/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,11 @@
ARG R_APP_ENV
ARG RELEASE_VERSION
ARG RELEASE_PRODUCT_VERSION
ARG GITHUB_SHA
ENV R_APP_ENV=${R_APP_ENV}
ENV RELEASE_VERSION=${RELEASE_VERSION}
ENV RELEASE_PRODUCT_VERSION=${RELEASE_PRODUCT_VERSION}
ENV GITHUB_SHA=${GITHUB_SHA}

# ---------------------------------------------------------------------------
# web: Next.js standalone build. The placeholder env values only satisfy
Expand All @@ -113,16 +115,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 118 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/
ENV S3_SECRET_ACCESS_KEY=roomote-local-artifacts-password

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 "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 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 "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 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 "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 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 "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 126 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/
ENV ARTIFACT_SIGNING_KEY=local-roomote-artifact-signing-key-1

Check warning on line 127 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/
ENV PREVIEW_PROXY_BASE_URL=http://localhost:18081
ENV PREVIEW_DOMAINS=localhost,127.0.0.1,roomotepreview.localhost

Expand Down Expand Up @@ -297,9 +299,11 @@
ARG R_APP_ENV
ARG RELEASE_VERSION
ARG RELEASE_PRODUCT_VERSION
ARG GITHUB_SHA
ENV R_APP_ENV=${R_APP_ENV}
ENV RELEASE_VERSION=${RELEASE_VERSION}
ENV RELEASE_PRODUCT_VERSION=${RELEASE_PRODUCT_VERSION}
ENV GITHUB_SHA=${GITHUB_SHA}
ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1
ENV HOME=/tmp
Expand All @@ -314,8 +318,9 @@

# Fast mode uses bounded, temporary partial Git fetches to discover
# repository-defined skills without exposing a checkout to the model.
# Native Slack video delivery converts WebM copies to H.264/AAC MP4.
RUN apt -qq update && \
apt -qq install -y git && \
apt -qq install -y git ffmpeg util-linux && \
rm -rf /var/lib/apt/lists/*

# The install and version check run as root; with the image's HOME=/tmp they
Expand Down
19 changes: 15 additions & 4 deletions .docker/sandbox/install-browser-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ set -euo pipefail
# 1. Worker image builds (Dockerfiles) to prebake browser automation.
# 2. Worker setup compatibility fallbacks on older Linux images.

AGENT_BROWSER_VERSION="${AGENT_BROWSER_VERSION:-0.33.2}"
AGENT_BROWSER_VERSION="${AGENT_BROWSER_VERSION:-0.37.0}"
AGENT_BROWSER_INSTALL_ROOT="${AGENT_BROWSER_INSTALL_ROOT:-/opt/agent-browser}"
AGENT_BROWSER_EXECUTABLE_PATH="${AGENT_BROWSER_EXECUTABLE_PATH:-${AGENT_BROWSER_INSTALL_ROOT}/chrome}"
AGENT_BROWSER_SAVED_CLI_PATH="${AGENT_BROWSER_SAVED_CLI_PATH:-${AGENT_BROWSER_INSTALL_ROOT}/.cli-path}"
Expand Down Expand Up @@ -427,6 +427,19 @@ should_seed_preview_cookies() {
return 1
}

is_informational_invocation() {
local arg
for arg in "${AGENT_BROWSER_EXEC_ARGS[@]}"; do
case "$arg" in
--help|-h|--version|-V)
return 0
;;
esac
done

return 1
}

should_clear_seed_cache() {
case "$AGENT_BROWSER_COMMAND" in
close|quit|exit)
Expand Down Expand Up @@ -547,7 +560,7 @@ collect_cli_browser_args "$@"
parse_cli_context "${AGENT_BROWSER_EXEC_ARGS[@]}"
configure_local_preview_host_resolution

if should_seed_preview_cookies; then
if ! is_informational_invocation && should_seed_preview_cookies; then
seed_preview_cookies
fi

Expand Down Expand Up @@ -652,8 +665,6 @@ main() {
printf '%s\n' "$AGENT_BROWSER_VERSION" > "$AGENT_BROWSER_INSTALL_MARKER"
fi

real_cli_path="$(find_real_agent_browser_cli_path)"

if [ -z "$real_cli_path" ]; then
echo "agent-browser install: failed to resolve real CLI after install/repair" >&2
exit 1
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,8 @@ jobs:
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Verify a failed image pull preserves deployment metadata
run: bash deploy/host/tests/upgrade-failed-pull.sh
- name: Distinguish absent Brain databases from failed probes
run: bash deploy/host/tests/backup-brain-probe.sh
- name: Restore an encrypted bundle onto empty volumes
run: bash deploy/host/tests/backup-restore.integration.sh

Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/publish-ghcr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,13 @@ jobs:
- name: Checkout code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Resolve checked-out commit
id: commit
shell: bash
run: |
sha="$(git rev-parse HEAD)"
echo "sha=$sha" >> "$GITHUB_OUTPUT"

# Blacksmith's builder mounts a persistent NVMe layer cache into the
# runner (per repo/Dockerfile/arch). Unlike type=gha caching this has
# no 10GB repo cap or per-ref scoping, and skips the multi-minute
Expand Down Expand Up @@ -279,6 +286,7 @@ jobs:
R_APP_ENV=${{ needs.prepare.outputs.app_env }}
RELEASE_VERSION=${{ needs.prepare.outputs.version }}
RELEASE_PRODUCT_VERSION=${{ needs.prepare.outputs.product_version }}
GITHUB_SHA=${{ steps.commit.outputs.sha }}

- name: Export digest
shell: bash
Expand Down
10 changes: 9 additions & 1 deletion .roomote/environments/roomote.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ repositories:
run: printf 'DATABASE_URL=postgresql://postgres@localhost:5432/roomote_development\nREDIS_URL=redis://localhost:16379\nR_APP_ENV=development\nWEB_DEV_LOGIN_ENABLED=true\n' > .env.local
timeout: 600
continue_on_error: false
- name: Provision and verify local artifact storage
# Serialized and PM2-supervised without requiring nested Docker. Loopback
# URLs support server calls and the sandbox-local browser, not remote browsers.
run: flock /tmp/roomote-sandbox-minio.lock pnpm exec dotenvx run --quiet -f .env.local -- pnpm --filter @roomote/api exec tsx scripts/setup-sandbox-minio.ts
timeout: 600
continue_on_error: false
- name: Create development database
run: psql -h localhost -U postgres -c "CREATE DATABASE roomote_development" || true
timeout: 600
Expand Down Expand Up @@ -104,7 +110,9 @@ repositories:
logfile: /tmp/roomote-controller.log
- name: Start Mintlify docs preview
# Mint is needed only for this optional final service.
run: mise install node@22.20.0 && mise exec node@22.20.0 -- npm install -g mint && cd apps/docs && mise exec node@22.20.0 -- mint dev --port 3333 --no-open
# Reuse cached CLI packages/metadata; fetch on a cold cache. The docs
# package owns the version pin, without adding Mint to every worker image.
run: npm_config_prefer_offline=true pnpm --filter @roomote/docs dev --port 3333 --no-open
timeout: 600
continue_on_error: true
detached: true
Expand Down
62 changes: 62 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,68 @@

This file tracks product releases for Roomote (single monorepo version). Automated release entries are prepended by `pnpm run version`.

## 1.4.0 (2026-09-08)

Roomote 1.4 brings reminders, clearer shared Sessions, and richer video evidence together with easier automation setup and more reliable everyday work.

### Highlights

- Schedule reminders and bounded monitoring in a Session, see upcoming wakeups above the composer, and cancel them when they are no longer needed.
- Follow shared work through current-viewer avatars, recognizable task identities, and inspectable task reports.
- Share task recordings as native Slack videos and opt into higher-frame-rate capture for motion-heavy demos.
- Keep automation work in continuous Sessions, set up a Slack manager channel more easily, and choose GPT-6 Astra through additional providers.

### Minor changes

- Enable GPT-6 Astra through Vercel AI Gateway, GitHub Copilot, or OpenCode Zen alongside existing providers, subject to the connected account's model access. Existing model defaults remain unchanged.
- Expand Session tool exchanges to inspect image questions and results, instructions sent to delegated tasks, and incoming task reports. Consistent robot identities and task links make handoffs easier to follow, and expanded task inspections include the latest submitted report with secret redaction rather than unrelated assistant messages.
- OpenCode subagents can make one further nested delegation or consultation, allowing depth-two assistance while preserving each role's existing tool permissions.
- Custom automations now run through Sessions, report delegated results together with actionable suggestions, and keep accepted suggestions in their originating Session and, on Slack, its report thread, including suggestions published directly by Fast reports. Configured environments are delegation preferences rather than guaranteed sandbox launches. Configure a report destination for chat delivery; otherwise results remain in the web Session without an owner-DM fallback. Runs use the creator's credentials, automations without a creator need an admin to re-save them, and Run now reports queued rather than a launched task ID.
- Ask a Fast Session for a reminder or recurring check, including whole-second delays, and receive results in the same conversation. Fast can offer a specific, bounded follow-up when it can verify an outstanding outcome, scheduling it after you accept; explicit monitoring requests need no additional opt-in. Ongoing-process monitoring stays quiet without news and stops at the agreed bound or earlier when resolved or no longer actionable. Upcoming wakeups show countdowns above the Session composer and can be cancelled by the Session owner or an admin. Wakeups require no administrator to schedule, are limited to ten per Session, and are cancelled when the Session is archived; delivery is best effort rather than an exact-time guarantee.
- See other people viewing a Session through header avatars and name tooltips; your own avatar is omitted, and the indicator disappears when you are the only viewer.
- Connecting a Slack account can set up a public #roomote-managers channel when no Manager Channel is configured, without enabling automations or replacing explicit report destinations. Existing Slack apps need updated permissions, reinstallation, and an account reconnect to use automatic channel setup.
- Fast replies can deliver task recordings as native Slack videos, with authorized viewer links when delivery is unavailable. Motion-heavy demos can opt into native recording up to 60 FPS while ordinary recordings remain at 30 FPS. Existing Slack installations need the new files:write permission, and higher-FPS capture requires the updated recording runtime.

### Patch changes

- Automation avatars no longer show glaring white backgrounds in dark mode, while retaining their light-mode appearance.
- Azure sandboxes enable idle suspension by default and refresh the policy when reused, resumed, or restored. The policy follows the configured timeout, normally five hours; an explicit zero retains the opt-out.
- Web transcripts hide newly marked runtime navigation messages already represented by task cards while preserving ordinary conversation links.
- Previously uploaded artifacts remain available when a replacement upload is interrupted; unversioned task and Session lookups return the latest completed upload while explicit-version reads retain their existing behavior.
- Completed visual proof is no longer reported as timed out while subsequent review or pull request delivery continues.
- USD costs use consistent thousands separators, and Task Info refreshes inference costs when opened and while visible instead of leaving stale totals on screen.
- Device-code connections can recover after a failed authorization dialog is closed and reopened, including GitHub Copilot, ChatGPT, and xAI connections.
- Discord automation threads accept directed follow-ups without another mention, thread replies avoid invalid inline reply references, and coding-task links clearly identify newly started work.
- Honor custom automation model and reasoning overrides for the Fast session across initial and resumed turns, without applying them to delegated coding tasks.
- Fast retains follow-up messages sent during response closeout for the next turn, while reactions and platform events no longer discard parked questions or turn their retry notices into false interruptions.
- Merge announcements recover uniquely matched signed pull request screenshot URLs after redaction so images remain available without relaxing safe-fetch restrictions.
- Session board cards and long labels stay within mobile layouts, composer suggestion hints no longer overlap typed text, and mobile suggestion buttons use a shorter Accept label while desktop retains the keyboard hint. Automations uses more of the available screen width.
- Pull request feedback triage uses its configured queue retries after preparation failures instead of unnecessarily waiting for scheduled recovery.
- Provider qualification verifies a real structured tool call, rejecting misleading response text while accepting fragmented streamed function names and compatible local servers that require required-tool selection instead of named-function selection. Thanks to @DarthAffe for reporting [#1862](https://github.com/RooCodeInc/Roomote/issues/1862).
- Review handoffs resolve the acting user or human owner when messaging linked tasks instead of failing solely because the token lacks user context.
- Sentry triage uses the requested accessible organization, projects, and time scope rather than assuming internal project names or implicit defaults, and asks for clarification when the scope is ambiguous.
- New Sessions start correctly after resetting the model picker to Default.
- Keep Slack's working indicator aligned with the active Session turn, including durable retry waits and pauses between streamed replies while tools run. Late titles and stale turn cleanup no longer clear a newer turn's indicator, and settlement waits for pending stream operations. Background delegated tasks retain their separate activity indicators.
- Streamed output preserves UTF-8 characters split across chunks instead of replacing multibyte characters with corrupted text.
- Native tool activity shows clear read, edit, and skill-loading labels instead of treating result text as a tool name. Edit receipts identify a filename or file count, with consistent wording across running, completed, failed, and expanded activity. Grouped edit headers continue counting edit calls rather than distinct files.
- Correct Telegram custom automation setup guidance to explain that chat replies continue the automation Session, matching existing behavior.
- Discord and Telegram show native typing activity while Roomote thinks and uses tools during an active Session turn, including after intermediate replies.
- Slack provider-error notices show a compact warning and safe error message instead of repeating recovery instructions and the task link.
- Desktop Session and Task panels open and close smoothly while preserving surviving panel state and focus, and status text uses a consistent, slower shimmer. Manual resizing stays immediate, and reduced-motion preferences are respected.
- Roomote can choose screenshots, video, both, or no visual evidence according to what best demonstrates the work, without requiring an explicit video request.
- Environment-backed tasks can push and create or update pull requests in other deployment-active GitHub repositories on the same GitHub App installation, without requiring those repositories in the prepared workspace.
- MCP OAuth client registrations remain reusable through token expiry and reauthorization, with a 90-day inactivity window renewed by successful authorization exchanges and refreshes. Token lifetimes remain unchanged.
- Fix Monday account linking and token refresh failing with an invalid OAuth resource request.
- Reduce unexpected web logouts with 30-day sessions and reliable rolling renewal that updates both the browser cookie and database expiry.
- Settings stop repeatedly retrying failed model saves, restore saved values when available, and show a clear error. Saved Slack automation destinations remain visibly selected, and the Pull request delivery selector has an accessible name.
- Include all server-local-day pull requests in PR analytics on non-UTC deployments, matching task and cost reporting.
- Clarify that Roomote should not assign people work or commit them to plans without authorization, while remaining proactive about its own authorized work.
- Include the running build's commit SHA and deployment label alongside the release version in assistant prompts, explicitly reporting unavailable commit metadata as unknown.
- Brain-enabled host backups fail clearly when the index database cannot be checked, rather than reporting success with a potentially incomplete backup.
- Stable sandbox workers can be selected through the release-list fallback when GitHub blocks tag lookup.
- Make Doctor warn about whitespace-only Slack and Microsoft authentication configuration instead of reporting it as configured.
- Update qs to 6.16.0 to address denial-of-service and array-limit-bypass vulnerabilities in query and form parsing dependencies.

## 1.3.2 (2026-09-06)

Roomote 1.3.2 fixes integration tool schema errors that can prevent Fast conversations from responding.
Expand Down
Loading
Loading