Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: simstudioai/sim
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 28b56d7
Choose a base ref
...
head repository: simstudioai/sim
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 4ddad74
Choose a head ref
  • 5 commits
  • 22 files changed
  • 3 contributors

Commits on Jul 17, 2026

  1. fix(mcp): recover cleanly from OAuth failures (#5595)

    * fix(mcp): improve OAuth failure recovery
    
    * fix(mcp): address OAuth recovery review findings
    
    * fix(mcp): prefer static bearer auth in connection tests
    
    * fix(mcp): preserve discovery failure state
    
    Treat static-header 401s as credential failures, keep OAuth failures pending, and prevent failed refreshes or reflected upstream errors from masquerading as connected state.
    j15z authored Jul 17, 2026
    Configuration menu
    Copy the full SHA
    c9baae7 View commit details
    Browse the repository at this point in the history
  2. feat(admin): show recently impersonated users in admin panel (#5750)

    * feat(admin): show recently impersonated users in admin panel
    
    * improvement(admin): align user table with settings list idiom
    
    * fix(admin): address review findings on recent impersonations
    
    * fix(admin): exact server-side email filter for recent impersonation lookup
    TheodoreSpeaks authored Jul 17, 2026
    Configuration menu
    Copy the full SHA
    a4e2fb9 View commit details
    Browse the repository at this point in the history
  3. perf(mothership): restore static markdown parse for settled chat mess…

    …ages (#5751)
    
    * perf(mothership): restore static markdown parse for settled chat messages
    
    Settled/reloaded chat messages rendered through Streamdown's streaming
    parser (remend + incomplete-markdown repair + per-block re-parse, running
    the rehype raw/sanitize/harden chain once per block). Because rows are
    virtualized, every up/down scroll remounted the messages crossing the
    overscan boundary and re-paid that N-block cost — the scroll lag.
    
    - Render never-streamed mounts (reloaded history, or an in-session message
      scrolled out of the virtualized window and back) with mode='static': one
      whole-document parse instead of streaming's per-block re-parse. In-session
      streaming keeps the streaming parser for its mount life (no drain flash).
    - Cache Prism highlight output in a module-level bounded LRU so a code block
      re-highlights at most once across the unmount/remount virtualization does
      on scroll (a component useMemo would not survive the unmount).
    
    * fix(mothership): don't cache fallback-highlighted code blocks
    
    An unregistered language highlighted via the JavaScript fallback was cached
    under its own name, so if that Prism grammar registered later in the session
    a remount would keep serving the stale fallback render. Resolve the grammar
    inside the highlight helper and skip the cache entirely on the fallback path.
    waleedlatif1 authored Jul 17, 2026
    Configuration menu
    Copy the full SHA
    87edbc5 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2026

  1. improvement(mcp): align tool discovery timeouts and retries with MCP …

    …protocol standard (#5753)
    
    * improvement(mcp): align tool discovery timeouts and retries with MCP protocol standard
    
    - Raise tools/list idle timeout 10s -> 30s (derived from per-server config,
      clamped to max execution timeout) with a 60s hard cap via maxTotalTimeout,
      matching the SDK's DEFAULT_REQUEST_TIMEOUT_MSEC. Enable resetTimeoutOnProgress
      with an onprogress handler so slow-but-alive servers are not spuriously failed.
    - Retry read-only tools/list on transient transport errors (timeout,
      connection-closed, 429/5xx, session 404/400, network) with jittered backoff.
      tools/call stays conservative (session-error retry only) since it is not
      idempotent. The MCP SDK does not retry POST requests, so the app owns this.
    - Wire client.onerror so out-of-band transport failures are observed, not
      silently dropped.
    - Map timeouts to a user-facing message and surface refresh/remove failures via
      the standard emcn toast instead of swallowing them.
    
    * chore(mcp): trim comments to match codebase density
    
    * fix(mcp): don't fail refresh with 500 when post-discovery workflow sync throws
    
    Discovery already persists status and caches tools; a syncToolSchemasToWorkflows
    failure was escaping the refactored try/catch and returning 500 despite the
    refresh having succeeded. Guard the secondary sync so it degrades to zero
    workflows updated instead.
    
    * fix(mcp): keep tools/list absolute timeout ceiling hard
    
    A configured per-server timeout above 60s was expanding maxTotalTimeout past
    the intended absolute discovery ceiling. Clamp the idle timeout to the ceiling
    too so tools/list can never hang the UI beyond it; connect() and callTool()
    still honor the full configured/execution timeout.
    waleedlatif1 authored Jul 18, 2026
    Configuration menu
    Copy the full SHA
    c739dd6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4ddad74 View commit details
    Browse the repository at this point in the history
Loading