v0.8.39: search and file handling fixes, organization settings, bounded cleanup - #7864
Merged
Merged
Conversation
* feat(cleanup): add bounded manual retention runs * fix(cleanup): coordinate deletion with resource eligibility * fix(cleanup): persist storage retries and complete test fixtures * fix(cleanup): guard storage retries by file generation * improvement(cleanup): reuse existing jobs for row limits * fix(cleanup): fail manual jobs on owner lookup errors
* fix(desktop): share browser modal and status page presentation * fix(desktop): apply initial shell theme before IPC resolves * chore(desktop): remove redundant dismissal test comment
* fix(workflows): preserve file inputs in workflow testing * fix(workflows): align advertised file validation and reserve unsafe names
* fix(integ): bound credential scans and classify disabled TTL * fix(ci): serialize shared-schema PostgreSQL suites
* fix(chat): download generated files without stale storage URLs * fix(chat): preserve external downloads and report bulk failures * fix(chat): preserve direct downloads for CORS-restricted files * chore(chat): annotate binary download fetch boundaries
…ion (#7859) * fix(agent): authorize workspace attachments through execution delegation * test(agent): preserve rejection of unprefixed attachment keys
…7862) * fix(settings): decouple organization access from Sim Search * fix(settings): keep organization settings inline without Sim Search
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Contributor
There was a problem hiding this comment.
All reported issues were addressed across 159 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
* feat(sso): open Sim from an identity provider's app dashboard * improvement(sso): skip re-authentication when signed in and limit dashboard launch to OIDC providers * improvement(sso): redirect straight to the identity provider from the launch URL * fix(sso): keep a signed-in visitor going to the app when the launch address is rate limited * fix(sso): report a failed launch sign-in on the provider's sign-in link * chore(sso): normalize the caught error when a launch sign-in fails
…7867) * fix(provenance): stop silently dropping model attachments * fix(provenance): keep model turns running after attachment refusal * fix(provenance): apply literal policy before file classification
…7870) * fix(files): hydrate chat attachments and reject blank download URLs * fix(files): preserve concealed canonical file failures
…ctions (#7853) * fix(tables): block schema-locked column edits and rework lock settings as Table Security * fix(tables): read-only cell editors and add-row form for update-locked tables - Update-locked tables open cell editors read-only; the expanded editor disables Save with the reason on hover, and empty cells that can't be edited open nothing - New row opens the Add Row form when only updates are locked - Row form reads and writes values by column id and uses one date-and-time picker - ChipDatePicker follows InsideModalContext so its calendar is clickable in modals, and gains showTime/timeLabel in single mode * fix(tables): open the add-row form for required columns and gate Save on required fields - New row, Shift+Enter, and Insert row open the Add Row form at their position when updates are locked or any column is required - Add Row and Update Row stay disabled until every required field has a value - Add mode accepts an insert position; Shift+Enter anchors to the neighbor row id * fix(tables): explain denied actions where the user meets them Clicking a column header opened the full column editor on a schema-locked table: every field was editable and Save only failed once the server refused it. The header click is the primary way into that panel, so it now opens read-only — values stay readable and selectable, a disabled `<fieldset>` makes the controls inert, and Save carries the lock reason. Clicking a checkbox cell on an update-locked table did nothing at all, while the keyboard paths explained themselves; it now raises the same notice. The column menu disabled only "Edit column" while "Insert column left/right" and "Delete column" stayed live and explained the lock after the click. All four are disabled now, each with a tooltip. A disabled `DropdownMenuItem` sets `pointer-events: none`, so the tooltip wraps the row rather than the item. "Hide column" is untouched: hiding a workflow output is a metadata change no lock covers. Notices now speak the modal's Allow/Deny vocabulary and name the row that denies the action, and the tooltip strings live in `lock-copy` instead of being written out at each call site. Drops the "This table is append-only" copy, which no path could reach once New row and Shift+Enter started opening the add-row form. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(tables): write only what the row form changed, and report failures once The add/edit row form sent every column on every save. An untouched empty column was written as `null`, so a no-op edit still bumped the row, and an insert filled in nulls for columns the user never opened. It now sends only the fields the user touched, and in edit mode only those whose value actually differs — a save with nothing changed closes without a write. Checkboxes stay the exception on insert: they always carry a concrete boolean, so a required one the user never clicked still reaches the server as `false`. A rejected write also arrived twice: the modal rendered the message inline and the mutation toasted the same sentence. Row mutations take an opt-in `suppressErrorToast` so the form owns its own failure; the cache self-heal on a 423 still runs, only its toast is dropped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * refactor(tables): drop the Table Security switch and its device-local store "Enable Table Security" had no server representation: enabled-with-everything- allowed and never-configured both save four `false` flags, so the difference lived only in the browser that set it. Anyone else — another device, another admin — saw the table as unconfigured, and the per-action choices behind the switch were remembered per device too. The modal now always shows the four Allow/Deny rows, mapped one-to-one onto the server flags, so an unconfigured table opens on four `Allow`s and every viewer sees the same state. That removes the reason for the preference store, which is deleted along with its helpers and test. Stale `table-security-preferences` keys are left where they are; nothing reads them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(tables): stage only the Table Security rows an admin moves The modal reset its draft only when it opened, so a lock another admin changed while it sat open went stale behind it: the controls kept rendering the old values and Save submitted all four flags, overwriting the newer state. Only the rows this admin moves are staged now. Every other row keeps rendering the authoritative value, so a concurrent change shows up in the open modal instead of hiding behind it, and Save sends just that patch — the route already takes a partial — so an untouched row can't carry a stale flag over someone else's change. A row both admins moved is the one real conflict, and there the explicit choice wins. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.