Skip to content

v0.8.40: browser agent improvements, permission requests - #7876

Merged
waleedlatif1 merged 43 commits into
mainfrom
staging
Sep 17, 2026
Merged

waleedlatif1 merged 43 commits into
mainfrom
staging

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

icecrasher321 and others added 6 commits September 15, 2026 17:25
…7868)

* chore(db): drop retired usage columns and compatibility scaffolding

* fix(db): forward force flags for local and dev schema pushes
…ty (#7872)

* fix(browser): preserve click targets and bound screenshot capture

* fix(browser): preserve observations and support native form controls

* fix(browser): share snapshot text budget with inline fragments
* feat(access-requests): request and review permission access

* fix(access-requests): reuse resource states and harden review lifecycle

* fix(access-requests): recheck rollout and retain public models
* fix(workspace): hydrate access policy before rendering chat

* fix(workspace): update layout test setup for access prefetch
@waleedlatif1
waleedlatif1 requested a review from a team as a code owner September 16, 2026 06:09
@vercel

vercel Bot commented Sep 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Sep 17, 2026 3:16am UTC

Request Review

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

github-actions Bot commented Sep 16, 2026

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#502 — merged into staging (this PR targets main) — fix(browser): align structured input and multiple selection contracts
  • ⚠️ simstudioai/mothership#505 — merged into staging (this PR targets main) — fix(billing): admit assistant spend once per logical turn
  • ⚠️ simstudioai/mothership#506 — merged into staging (this PR targets main) — fix(browser): preserve Gemini tool identities and add BrowserGym evaluation

@greptile-apps

greptile-apps Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 4/5

The PR should not merge until a timed-out native screenshot capture has a recovery path that does not permanently disable screenshots for the affected tab.

Findings

  1. P1 Stalled capture blocks retries

Summary

This release introduces organization-governed permission access requests, contracts retired database columns, improves desktop browser automation, hydrates workspace policy earlier, and updates sidebar/menu behavior.

  • Adds request discovery, submission, cancellation, administrator preview and resolution, notification, audit, and organization-settings flows.
  • Adds the permission-access-request schema and removes retired usage/file-size compatibility columns and scripts.
  • Improves browser snapshots, native structured controls, multi-select handling, click reliability, and cancellation.
  • Exposes restricted workspace features as requestable states while preserving existing behavior when requests are disabled.
  • Refines sidebar row actions, menus, and workspace policy hydration.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Member[Workspace member] --> Discovery[Discover restricted capability]
  Discovery --> Request[Create access request]
  Request --> DB[(Permission access request)]
  DB --> Outbox[Notification outbox]
  Outbox --> Admin[Organization administrator]
  Admin --> Preview[Recompute policy preview and impact]
  Preview --> Decision{Decision}
  Decision -->|Decline| History[Record final decision and audit]
  Decision -->|Apply| Lock[Acquire organization and policy locks]
  Lock --> Recheck[Reauthorize and verify fingerprint]
  Recheck --> Policy[Update permission group or member limit]
  Policy --> History
  History --> Requester[Notify requester]
Loading

Reviews (1) · Last reviewed commit: "fix(workspace): hydrate access policy be..."

Comment thread apps/desktop/src/main/browser-agent/cdp.ts

@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.

All reported issues were addressed across 222 files

Note: This PR contains a large number of files. cubic selects up to 200 of the highest-priority eligible files for this review, so some files may not have been reviewed.
Tip: instead of fixing issues one by one fix them all with cubic

Re-trigger cubic

Comment thread packages/db/scripts/push.ts
Comment thread apps/desktop/src/main/browser-agent/cdp.ts
Comment thread apps/sim/lib/permission-access-requests/policy.ts
Comment thread apps/sim/lib/api/contracts/access-requests.ts
Comment thread apps/sim/components/access-requests/my-access-requests.tsx
Comment thread apps/sim/lib/permission-groups/application/read-user-config.ts
Comment thread .github/CONTRIBUTING.md Outdated
… Difference? (#7878)

* feat(library): AI Personal Assistant vs. AI Agent Builder: What's the Difference?

* Pi Babysit: address PR #7878 feedback

---------

Co-authored-by: Sim Pi Agent <pi@sim.ai>
* fix(credentials): restore scoped Slack bot reconnects

* chore(credentials): add const assertions to reconnect fixtures
* feat(sso): let organizations require single sign-on

Adds an organization setting that refuses password and email-code sign-in
for members, enforced when a session is created so enabling it signs
nobody out. Owners keep every sign-in method as a break-glass path, and
the requirement stops enforcing if no identity provider on a verified
domain is left to satisfy it.

* fix(sso): close policy gaps found in review

- Let an admin turn the requirement off after the organization loses its
  SSO entitlement, so a restored entitlement cannot silently resume it
- Fail closed when the requirement cannot be read: a failed lookup no
  longer admits a password sign-in
- Invalidate the policy cache when a provider is deleted or a domain's
  verification changes, on the server and in the query client
- Report whether the stored requirement is actually enforced, and say so
  in the settings copy

* refactor(sso): move the sign-in requirement behind an application use case

- Replace the hand-rolled route guards with organization operations, the
  pattern the SSO domain already uses for its primary-provider change
- Drop the multi-membership scan: users belong to at most one
  organization, the same assumption the expiry clamp makes
- Match the provider check to what sign-in resolution actually requires,
  so a capable provider is never read as incapable
- Invalidate the policy cache when a provider is registered or edited
- Show a policy refusal as a form-level message rather than marking the
  password field wrong

* fix(sso): close the fail-open paths an independent audit found

- Ask the entitlement read to throw rather than answer "not entitled" on
  an outage, so a blip cannot drop the requirement and cache that
- Keep the membership read's old resilience for paths the requirement
  allows anyway, and fail closed only on the ones it governs
- Say why a verification code was refused instead of calling it invalid
- Report the requirement from fresh reads, so the settings surface cannot
  disagree with what sign-in enforces
- Document that social sign-in is refused too, and how an owner without a
  password gets back in
…ws (#7880)

* fix(access-requests): align permission checks and pending request flows

* fix(access-requests): align settings and state with shared patterns

* fix(access-requests): show readable integration policy names

* improvement(access-requests): trim redundant interface copy

* fix(access-requests): clear recovered limit dialogs and align review spacing
…7882)

* fix(credentials): clean up personal secrets in archived workspaces

* fix(mcp): use a deterministic clock for discovery timeout test
)

* fix(search): retain permission sync failures and clarify progress

* docs(search): explain permission warnings and sync continuation

* fix(search): report rejected permission grants as incomplete

* fix(search): distinguish member failures from continuation

* fix(testing): include member sync failure columns in schema mocks

* fix(search): retain central indexing dispatch warnings
#7899)

* fix(search): preserve indexed vector retrieval and literal source text

* fix(search): keep benchmark corpus defaults within valid bounds

* fix(search): retain ANN recall settings and verify distinct queries
* fix(slack): allow installation before organization setup

* fix(slack): keep installation guidance neutral
* fix(ci): prepare tasks before app rollout and promote at cutover

* fix(ci): correlate retry snapshots before checking failure
* fix(knowledge): bound KB block vector retrieval

* fix(knowledge): align search fixtures with scoped probing
* chore(ci): unify Trigger preparation and promotion jobs

* chore(ci): remove Trigger deployment test harness
…ce pickers (#7907)

* feat(coda): add Coda integration with API-token credential and resource pickers

* chore(coda): regenerate artifacts and fix block registry audit false positive

* fix(coda): retry field-setting PATCH updates on rate limits and server errors

* fix(coda): declare nullable outputs and harden review edge cases
* fix(insights): reduce activity aggregation overhead

* fix(db): declare activity index as concurrent
* fix(outbox): process cron batches outside HTTP requests

* fix(outbox): preserve polling capacity with larger workers
…7904)

* fix(credential-groups): expose provider emails and align people rows

* fix(credential-groups): keep people rows compact and active only

* fix(audit): compare effective block fields from base snapshots
* fix(file-search): bound dispatcher database work

* fix(file-search): preserve compatible dispatch cleanup

* fix(file-search): target PostgreSQL 17 transaction deadlines

* test(file-search): observe cleanup deadlines without sleeping
@waleedlatif1
waleedlatif1 merged commit 2b302ff into main Sep 17, 2026
29 checks passed
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.

3 participants