Repository navigation
v0.9.41: browser extension, ci improvements - #9579
Conversation
* improvement(ci): refresh integration shard duration weights * improvement(ci): parallelize acceptance suites and avoid slow dependency restores * improvement(ci): advance extension access polling in acceptance tests * chore(ci): document acceptance timing and shard refresh * fix(ci): settle extension screenshots after advancing browser timers * fix(ci): finish finite animations in clock-controlled extension checks * fix(ci): preserve access revalidation budgets with virtual timers
…ead of redirecting on send (#9557) * improvement(billing): show the Chat plan card above the composer instead of redirecting on send * fix(billing): hold queued Chat sends while the plan is required * fix(billing): resume held queued sends once Chat is allowed and keep Send now side-effect free
Run extension native and access acceptance in parallel with independent fixtures, apps, databases, and reports. Overlap independent desktop-pickup deadlines and isolated recovery backoff cases, and use faster integration runners with the existing GitHub fallback. Update Playwright for the upstream WebKit compositor fix and disable focus emulation at the native blur boundary after reloads. Preserve all acceptance assertions and real timing contracts. Validated with root tests, all workspace type checks, lint, all audits, generated-artifact checks, real integration and Electron acceptance runs, and negative controls for the protected behaviors.
…f session-loss statuses (#9561) * fix(mcp): answer workflow MCP JSON-RPC errors over HTTP 200 instead of session-loss statuses * fix(mcp): build the routed test request from a standard Request
…expand IT helpdesk coverage (#9567)
* chore(ci): give the Trigger.dev upload job room for a slow image push (#8115) (cherry picked from commit 43c9f6c) * improvement(extension): document browser data handling and limited use * fix(extension): attach Sim pages and streamline composer controls (#9560) * fix(extension): attach Sim pages and streamline composer controls * fix(extension): normalize Sim paths before capture * fix(extension): exclude revealed secrets and keep large composers usable * fix(extension): disclose link handling and keep gesture checks passive --------- Co-authored-by: Siddharth Ganesan <33737564+Sg312@users.noreply.github.com> Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com> Co-authored-by: Theodore Li <theo@sim.ai>
…ounts, and product status (#9566) * improvement(comparisons): re-verify competitor pricing, integration counts, and product status * fix(comparisons): surface plan limits in short values and keep related facts consistent * improvement(comparisons): drop a redundant source and repeated gateway wording * fix(comparisons): qualify the Cowork rollout and local-task scheduling, retitle the Vellum limitation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…nge Monitoring in 2026? (#9570) Co-authored-by: Sim Pi Agent <pi@sim.ai>
…nt Triggers (#9572) Co-authored-by: Sim Pi Agent <pi@sim.ai>
… Workflows (#9571) Co-authored-by: Sim Pi Agent <pi@sim.ai>
All four workflow run tools reach the same executor, but the catalog only gated run_workflow and run_workflow_until_block. The approval gate is a pure catalog lookup, so an agent steered into run_from_block (which runs every block downstream of its start) or run_block executed the workflow with no approval card. Flag both siblings and assert every tool in WORKFLOW_TOOL_NAMES carries requiresApproval.
[Medium impact] The PR reaches workspace Chat, workflow MCP callers, CI workflows, and public marketing pages. The PR has no established blocking behavior failure, but the new heading must satisfy the repository’s styling requirement before merging. Findings
SummaryThis release splits acceptance checks into parallel jobs and shows the paid-plan card before users send a chat message.
Reviews (1) · Last reviewed commit: "chore(release): merge main into the v0.9..." · Reviewed by Greptile |
There was a problem hiding this comment.
All reported issues were addressed across 88 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
… command line (#9575) * fix(copilot): require approval for terminal input, which can submit a command line * fix(copilot): claim an ungated terminal operation in the desktop Stop fixture
…ms (#9580) * fix(realtime): enforce the Files capability on workspace document rooms * fix(realtime): pass the route context in the document access integration check
Presidio's REGEX_TIMEOUT_SECONDS bounds one custom pattern on one text, so a batch request could cost texts x patterns x that timeout (2,000 texts x 20 patterns x 2s) on a single handler thread. Charge every custom-pattern match to a per-request 60s budget and reject the request with a 400 once it is spent.
…9581) Browser tools that act on a page (navigate, click, type, submit, upload, ...) run as the user in a browser carrying their signed-in sessions, but the approval gate read only the catalog flag, which no browser tool declares, so none of them ever prompted. toolRequiresApproval now gates every browser tool that BROWSER_TOOL_OBSERVES_ONLY does not mark observe-only, so a browser tool added later is gated by default, and both the dispatch gate and the in-band lane read the same answer. "Don't ask again" answers for browser tools are stored under one shared key, so a single answer covers the browser instead of one prompt per kind of action.
…9583) Select acceptance work from the task graph, separate docs site and platform checks, and preserve complete comparison history for push attribution. Build docs once and run isolated acceptance groups in parallel after bounded server readiness. Reuse validated content and incremental build inputs with bounded retention. Validate native source/toolchain fingerprints and restored output integrity, seed trusted branch caches, and balance desktop smoke across four whole-file shards. Bound organization-search diagnostics and reclaim closed-PR merge-ref caches. Validation: full root tests, all workspace types, lint and 62 audits; real cache invalidation and Git attribution controls; complete hosted docs, integration, organization-search, Electron and packaged smoke coverage; final-head bot reviews.
…ity (#9578) * feat(trigger): reach AWS from trigger.dev runs through workload identity Trigger.dev runs reached S3, AppConfig, CloudWatch and hosted Bedrock with the app IAM user's static keys. With TRIGGER_AWS_ROLE_ARN set, Sim's own AWS clients now use temporary credentials for that role, exchanged for the run's Trigger.dev workload-identity token (SDK 4.8.3). One session serves the worker process, refreshed at each attempt's start so the post-run metrics flush keeps valid credentials. Static keys and the default chain are unchanged for ECS and self-hosted deployments. * chore(deps): allow trigger.dev 4.8.3 ahead of the release-age window 4.8.3 is the first release with workload identity. The exclusion is temporary and comes out once it clears the 7-day threshold on 2026-11-06. Hosted-key metrics now key off Sim Cloud itself instead of the presence of static AWS keys, so removing those keys never silences them. * refactor(trigger): run the per-attempt setup through one module The init hook loads app modules by relative path, which the source-convention ratchet caps. Warming Redis and refreshing workload-identity credentials now sit behind prepareTriggerAttempt, so init still imports one module. * fix(aws): keep the default chain outside workload identity and cover ses getAwsCredentials returned explicit static keys when present, which dropped AWS_SESSION_TOKEN for clients that used to reach it through the default chain (Bedrock, CloudWatch). It now returns the workload-identity provider or undefined, so every non-Trigger path resolves exactly as before. The SES email client reads it too, so worker email keeps working once static keys leave Trigger.dev. The release-age comment records why the exclusions are bare names. * test(uploads): give the presigner credentials where the client now reads them The S3 client resolves credentials through the SDK default chain, which reads process.env, so the presigner test stubs the keys there instead of the env module mock. * fix(aws): serve unexpired workload credentials when an exchange fails Outside an executing attempt no workload-identity token can be minted, so a post-run metrics flush near the refresh window failed even though the cached credentials were still valid. A failed exchange now keeps serving the cached credentials until a minute before they expire.
…ilities (#9582) The permission gate decided by catalog lookup alone, and sim_cli has no catalog entry, so no CLI command was ever held. The worker exposes deploy, promote, run and cancel only through the CLI, so those catalog approval flags guarded nothing, and the CLI's own confirmation is answered by --yes in model argv. Resolve the argv with the CLI's own parser to the command it would run and the v2 operations it declares, and hold the call when one is the capability of an approval-gated catalog tool. Both lanes ask the same predicate. Always-allow covers a CLI call only when its row names the command the parser resolves.
|
… each profile (#9585) * fix(compare): keep Cowork, Make, and Langflow facts consistent within each profile * fix(compare): carry the local-task exception into the Cowork alerting summary * fix(compare): use Anthropic's local files or apps wording for every Cowork exception * fix(compare): carry the local-task exception into the Cowork trigger summary
…ovider (#9586) * fix(sso): mark email verified on sign-in through a verified-domain provider * fix(sso): only verify the email the domain check approved
…#9587) * improvement(sandbox): log per-phase timing for each sandbox execution * test(sandbox): time the unchanged-CLI warm path on a controlled clock
…ed search's limit (#9590) * improvement(search): page Slack Real-time Search to fill a Slack-scoped search's limit * fix(search): keep earlier Slack pages on any later-page failure and page past short pages
…ile values models send (#9589) * improvement(cli): accept the file references, list shapes and multi-file values models send files batch-delete answers to --ids and --paths, reads a JSON array or a comma-joined run of ids as its entries, and the v2 bulk delete resolves files/ VFS paths through the canonical resolver after authorization, refusing the whole batch when one path names no single live file. tables rows batch-delete answers to --row-ids and the log reads to --workflow-ids, the request fields behind their shortened flags. Workflow edits store a multi-file upload field as the list of file objects the editor writes, and an empty list clears it. A document page selection that lists separate pages says to read one range per call. * refactor(cli): share the path predicate and other-spellings list * test(files): drop unit cases the bulk-delete integration suite proves * test(cli): use a flag batch-delete still refuses as the guessed-flag example * fix(cli): refuse an empty entry in a joined file-reference list * improvement(cli): name the metadata command when an embedded download refuses binary output
#9588) * improvement(mothership): let a code call run for up to fifteen minutes A render or build that needs more than five minutes was cut off at the ceiling and failed, and the model started over in smaller pieces or escaped the call with a background process the paused workbench then stalled. Mothership code calls now run up to 900 seconds. The worker's schema still decides what a model may request, so this is inert until the worker raises its own maximum. * fix(mothership): renew a running code call's sandbox CLI scope past its expiry * fix(mothership): keep a long code call's upload bindings for its whole lifetime
Uh oh!
There was an error while loading. Please reload this page.