v0.9.31: mothership activity headers, deploy reliability by waleedlatif1 · Pull Request #9292 · simstudioai/sim · GitHub
Skip to content

v0.9.31: mothership activity headers, deploy reliability - #9292

Open
waleedlatif1 wants to merge 17 commits into
mainfrom
staging
Open

waleedlatif1 wants to merge 17 commits into
mainfrom
staging

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

waleedlatif1 and others added 14 commits October 21, 2026 09:33
…n Gemini 3 (#9278)

* fix(gemini): send the lowest thinking level when thinking is 'none' on Gemini 3

* fix(gemini): resolve the lowest thinking level for Vertex resource-name model IDs
* docs(library): update langgraph-alternatives

* fix(library): replace Sim superlatives with fit language and fix langgraph-alternatives facts

* fix(library): disclose Sim authorship in LangGraph alternatives

---------

Co-authored-by: Sim Pi Agent <pi@sim.ai>
…nd Scheduled AI Agents (#9280)

* feat(library): 5 Best Claude Cowork Alternatives in 2026 for Shared and Scheduled AI Agents

* fix(library): replace Sim superlatives with fit framing and correct Claude Cowork facts

---------

Co-authored-by: Sim Pi Agent <pi@sim.ai>
…tomation (#9283)

* feat(library): 6 Best Lindy Alternatives in 2026 for AI Agents and Automation

* fix(library): correct Lindy alternatives pricing and integration facts, drop Sim superlatives and FAQ URLs

* fix(library): drop self-scored ranking from Lindy alternatives

---------

Co-authored-by: Sim Pi Agent <pi@sim.ai>
* feat(library): 6 Best OpenClaw Alternatives for Teams in 2026

* fix(library): replace Sim superlatives with fit language in OpenClaw alternatives post

* fix(library): drop self-scored ranking from OpenClaw alternatives

---------

Co-authored-by: Sim Pi Agent <pi@sim.ai>
* feat(library): 6 Best Workato Alternatives for AI Agents in 2026

* Pi Babysit: address PR #9282 feedback

* fix(library): correct Workato self-service pricing, Pipedream Workflows shutdown, and Sim superlatives in Workato alternatives post

* fix(library): mention Workato Free in the cheaper-alternative FAQ

---------

Co-authored-by: Sim Pi Agent <pi@sim.ai>
…l arguments (#9284)

* fix(mothership): keep display activity out of integration and mcp tool arguments

* fix(mothership): strip only the display label, and keep a tool's own activity argument

* refactor(mothership): one display-activity check, and omit for stripping it

* fix(mothership): hold an inherited activity beside a call's arguments instead of stripping it at execution

* fix(mothership): persist an inherited grouping for an operation without arguments
… call's title streams, and pacing across a run's calls (#9286)

* improvement(mothership): keep the wait wording until a call's own title streams, and hold refined cli placeholders

* improvement(mothership): pace the activity header across a run's liveness flips

* test(mothership): cover header selection and pacing through their logic, not rendered text

* refactor(mothership): one Thinking label, and note where the header holds the refined cli verb

* improvement(mothership): a placeholder header gives way to the call's title at once

* fix(mothership): pace only the header label, never its liveness

* fix(mothership): a label that stops being a placeholder starts holding the header
* improvement(docs): reduce build work and instrument performance

* improvement(docs): defer collapsed navigation and refine performance checks

* improvement(docs): streamline navigation without visitor telemetry

* fix(docs): preserve dates when loading page content

* fix(docs): preserve sitemap dates with lazy content
…Projects (#9288)

* fix(mothership): let the agent copy files between workspaces without Projects

A copy between workspaces needs only the turn's resource admission, but the copy
authorizer required the Projects rollout for every copy and the agent was offered
copies only through Project file-owner negotiation, so with Projects off every
agent copy failed. The authorizer now requires Projects only for a copy that names
a Project owner. Admitted chat turns declare the worker's workspace-file-copy
capability whether or not Projects are on, the recovery marker restoring
admission is written for every admitted turn, and the sandbox lease records and
exports the same so the workbench terminal binds workspace copies under the
paired grant.

* fix(mothership): keep a turn's payload shape unless it declares workspace copies

* chore(mothership): sync the workspace-file-copy capability wording from the worker contract
* improvement(emails): refresh the platform update broadcast

* fix(emails): preserve Outlook conditional markup
* feat(chat): recall sent messages from composer

* fix(chat): preserve recalled chips and caret navigation

* fix(chat): validate saved integration labels before recall
…les after a resume or cancel (#9290)

* fix(mothership): report a Copilot workflow tool whose paused run settles after a resume or cancel

* test(mothership): cover a paused Copilot workflow a resume completes

* fix(mothership): read a paused run's Copilot binding before loading the reporter, keep a reload of a paused run tool quiet
@waleedlatif1
waleedlatif1 requested a review from a team as a code owner October 21, 2026 19:57
@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

@github-actions github-actions Bot added the requires-mothership-merge Has a companion PR on the mothership/copilot side — merge in lockstep label Oct 21, 2026
@github-actions

Copy link
Copy Markdown

⚠️ Cross-repo companion check

One or more companion PRs aren't merged into main yet (aggregated across the feature PRs in this release). Merging this without them will leave copilot and sim out of sync — merge them in lockstep.

  • ⚠️ simstudioai/mothership#794 — merged into staging (this PR targets main) — feat(worker): copy files between workspaces where Sim declares it without Projec

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 76 files

Confidence score: 3/5

  • In tool.ts, a matching ID can replace the operation’s activity argument with the gateway grouping, so the tool may receive the wrong value. Preserve args.activity for execution and keep the inherited grouping separate.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/sim/lib/mothership/request/handlers/tool.ts">

<violation number="1" location="apps/sim/lib/mothership/request/handlers/tool.ts:600">
P2: This can overwrite an operation-owned `activity` argument with the gateway grouping when both use the same id, changing the value sent to the tool. Preserve the frame's `args.activity` for execution and keep inherited/completed grouping state outside the execution arguments.</violation>
</file>

Heads up: you’re close to your flex budget. Increase your flex budget so reviews don’t pause.

Turn on auto-fix | Re-trigger cubic

Comment thread apps/sim/lib/workflows/executor/human-in-the-loop-manager.ts
Comment thread apps/sim/lib/workflows/executor/execution-state.ts
Comment thread apps/sim/lib/mothership/chat/context.ts
Comment thread apps/docs/components/page-actions.tsx Outdated
const displayArgs = activity ? { ...args, activity } : args
// Only a label the frame's own arguments carry is completed in place. An inherited one stays
// off the arguments, which execute as given (an MCP schema refuses keys it never declared).
const displayArgs = activity && argsActivity ? { ...args, activity } : args

@cubic-dev-ai cubic-dev-ai Bot Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This can overwrite an operation-owned activity argument with the gateway grouping when both use the same id, changing the value sent to the tool. Preserve the frame's args.activity for execution and keep inherited/completed grouping state outside the execution arguments.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At apps/sim/lib/mothership/request/handlers/tool.ts, line 600:

<comment>This can overwrite an operation-owned `activity` argument with the gateway grouping when both use the same id, changing the value sent to the tool. Preserve the frame's `args.activity` for execution and keep inherited/completed grouping state outside the execution arguments.</comment>

<file context>
@@ -579,15 +586,19 @@ async function handleCallPhase(
-  const displayArgs = activity ? { ...args, activity } : args
+  // Only a label the frame's own arguments carry is completed in place. An inherited one stays
+  // off the arguments, which execute as given (an MCP schema refuses keys it never declared).
+  const displayArgs = activity && argsActivity ? { ...args, activity } : args
+  if (existing && activity && !argsActivity) existing.activity = activity
   const isSubagent = scope === 'subagent'
</file context>
Suggested change
const displayArgs = activity && argsActivity ? { ...args, activity } : args
const displayArgs = args
Fix with cubic

@greptile-apps

greptile-apps Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 4/5

[High impact] The PR reaches chat, workflow execution, file movement, provider calls, documentation, and customer-facing content.

The PR appears safe to merge, with non-blocking fixes recommended for saved activity grouping and the docs copy check.

Findings

  1. P2 Activity groups change after reload ▶
  2. P2 Copy checks accept empty pages ▶

Summary

This release updates chat activity headers, adds sent-message recall, enables admitted workspace file copies without Projects, and reports paused workflow outcomes after resume or cancellation.

  • The chat composer can bring back sent messages with their context and files.
  • Activity headers wait for each tool call’s title to arrive.
  • Admitted Copilot runs can copy files between workspaces without Projects.
  • Copilot workflow tools report results after a paused run resumes or is cancelled.
  • Display-only activity details stay out of integration and MCP tool arguments.
  • Gemini 3 requests use its lowest thinking level when thinking is set to none.
  • Docs pages load navigation details on demand and keep closed folders lightweight.
  • The library adds four agent-platform comparisons and refreshes its LangGraph guide.
  • The platform update email has refreshed content and imagery.
  • Dependency versions now pin patched releases for several packages.

Diagram

sequenceDiagram
  participant Browser
  participant Workflow
  participant PauseManager
  participant ToolStore
  Browser->>Workflow: Start Copilot workflow tool
  Workflow-->>Browser: Paused
  Note over Browser: Leave final reporting to the server
  PauseManager->>Workflow: Resume or cancel
  Workflow-->>PauseManager: Stored terminal outcome
  PauseManager->>ToolStore: Complete bound tool call
  ToolStore-->>Browser: Publish confirmation
Loading

Reviews (1) · Last reviewed commit: "fix(mothership): report a Copilot workfl..." · Reviewed by Greptile

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Activity groups change after reload

When a resolved integration operation has its own argument such as activity: 'Development', persistedParams drops the gateway’s display grouping because params.activity already exists. The live browser keeps that grouping in node.activity, but saved history loses it. Reloading the chat can therefore change or split the activity group. Save the display grouping separately from executable arguments so both values survive.

Comment thread apps/docs/scripts/test-navigation-e2e.ts
* fix(chat): validate restored contexts against send schema

* fix(chat): hold queued sends with unavailable context

* fix(chat): show queue warnings and bound recovered contexts
…9295)

* fix(docs): cover clipboard activation and exported content

* fix(docs): preserve clipboard activation and reject blank exports

* fix(docs): isolate clipboard permissions in browser checks

This branch was successfully deployed

1 active deployment
Preview — b8be2f0d Deployed Oct 21, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

requires-mothership-merge Has a companion PR on the mothership/copilot side — merge in lockstep

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant