Skip to content

v0.8.38: concurrent knowledgebase operations, media lightbox for chat - #7844

Open
waleedlatif1 wants to merge 11 commits into
mainfrom
staging
Open

waleedlatif1 wants to merge 11 commits into
mainfrom
staging

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

@vercel

vercel Bot commented Sep 15, 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 15, 2026 4:57am UTC

Request Review

@greptile-apps

greptile-apps Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 4/5

The behavioral changes appear safe, but the explicit repository import-order requirement must be satisfied before merging; adding video attachments to the chat lightbox would also complete the advertised media experience.

Findings

  1. P2 Video Lightbox Missing
  2. P2 Import Order Violated

Summary

This PR introduces a shared zoomable media lightbox, relaxes knowledge-base save locking to permit independent concurrent document operations, and repairs workflow loading for legacy loop counts while exposing retryable load errors.

  • Consolidates image and video viewing into the EMCN Lightbox and moves wheel-zoom utilities into the shared package.
  • Changes connector persistence to hold a shared knowledge-base lock while retaining document-level serialization and deletion safety.
  • Normalizes malformed legacy loop counts and adds workflow-load error and retry handling.
  • Adds focused unit and PostgreSQL integration coverage for zoom behavior, loop recovery, registry retries, and lock compatibility.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  MediaTrigger[Docs, landing, or chat media] --> SharedLightbox[EMCN Lightbox]
  SharedLightbox --> Zoom[Wheel and toolbar zoom]
  SharedLightbox --> Modal[Modal focus and dismissal]
  ConnectorSave[Connector document save] --> KBShare[Knowledge base SHARE lock]
  KBShare --> LeaseShare[Connector lease SHARE lock]
  LeaseShare --> DocumentLock[Per-document update lock]
  DeleteKB[Knowledge-base deletion] --> KBNoKey[Knowledge base NO KEY UPDATE lock]
  KBShare -. blocks .-> KBNoKey
  WorkflowLoad[Normalized workflow load] --> CountRepair[Repair nonnumeric legacy count]
  CountRepair --> Registry[Workflow registry hydration]
  Registry --> ErrorRetry[Error UI and same-workflow retry]
Loading

Reviews (1) · Last reviewed commit: "fix(workflows): recover loads with legac..."

Comment thread apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/pdf-viewer.tsx Outdated
…t reads (#7847)

* fix(executor): load permission config once per run and retry transient reads

Every block ran on a shallow copy of the execution context, so the permission-config memo written onto it was discarded and the full permission-group config reloaded from the database before every block. That per-block load had no retry, so a single transient database error failed the whole run, and the raw query error (SQL and bound parameters) surfaced as the block error.

- Memoize the in-flight load in a run-scoped map shared by every block copy, keyed by governed subject and workspace; failed loads are evicted
- Move the bounded transient-read retry from the tool-only wrapper into the shared loader so block, model, agent and tool gates all get it
- Replace a database query error's message in the block error handler and log only its redacted cause
- Redact bound parameters in the execution failure cause log

* fix(executor): honor caller cancellation in unshared permission loads
…tandalone settings surfaces (#7849)

* fix(organizations): seed the server deployment shape on the organization surface

* chore(organizations): describe organization-surface deployment shape seeding

* improvement(settings): carry the deployment shape on the organization context and seed standalone settings
…he grants (#7850)

- Seed largeValueKeys/fileKeys in createExecutionContext so keys a block records on its per-block context copy reach later blocks; child executors get their own lists, never the parent's
- Share one exact-key grant predicate between the async storage check and the sync large-value cache, which previously honored a granted key without checking the key's workspace and workflow
- Correct the executionFilesById TSDoc: the index is built per block from block states
…7851)

* feat(providers): refresh model catalogs and support custom routing

* fix(providers): add verified Qwen 3.8 release dates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants