fix: address the review findings raised on the v0.8.21 release PR - #7451
fix: address the review findings raised on the v0.8.21 release PR#7451waleedlatif1 wants to merge 4 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Eight of the thirteen threads were real. Each was verified against source before changing anything; three were pushed back on and are unchanged. Knowledge and credential groups: - The connector Access field resolved its provider through the standard-OAuth subset, which excludes Slack — Slack collects accounts through a custom bot. The field never rendered for a Slack connector, so it could not enter members mode and, worse, a per-member Slack connector had no way back to workspace mode. Resolved across all credential-group providers instead. - The v1 document delete looked the document up with an ACL scope and then ran an unscoped delete. The access-aware path already existed and v2 already used it; v1 was the last surface on the old one. The window is small and not attacker-controllable, but the divergence is worth closing. - Enrollment surfaced `CredentialGroupEnrollmentError` as a bare 500. A missing, disabled, or unconfigured credential group is the admin's to act on, so the policy now projects its 404/409 the way the credential-group routes do. - The workspace-level member-connector listing used knowledge-base concealment and answered "Knowledge base not found" where its siblings return an authorization response. It names a workspace, not a base, so it now uses an unconcealed policy — the convention the policy file already documents. Home: - Restoring a queued Build message left the search query in the URL, and the rule that forces Search whenever a query is present flipped the composer straight back. The edit was discarded and the original message dispatched. Clearing the query alongside the mode restore batches into the same nuqs update, so the forcing rule never observes the intermediate state. Docs and tooling: - `redis.mdx` claimed completed work is unaffected by losing Redis. Webhook idempotency markers live wherever the cache does, with a 7-day TTL sized to the longest provider retry window, and the bundled Redis runs without persistence — so a redelivery after a restart can re-run a finished workflow with its real side effects. Billing, checkout, and Chat-send idempotency are pinned to PostgreSQL. Corrected the same claim in the chart's values. - `/ship` Phase A never regenerated the docs manifest that Phase B hard-gates on, so adding or renaming a docs page aborted the command. - The CLI updater prints a yarn command, but the upgrade tabs offered none. - Documented that Ask may reach an integration for an explicitly requested action, not only when sources cannot answer. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015BwsJTEQRzWJaY4BRCkPZt
Greptile SummaryThis follow-up addresses review findings from the v0.8.21 release work.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| apps/sim/app/workspace/[workspaceId]/home/home.tsx | Clears Search URL state before restoring a queued message’s composer mode. |
| apps/sim/app/workspace/[workspaceId]/knowledge/[id]/hooks/use-connector-member-group-options.ts | Resolves custom credential-group providers such as Slack and exposes only provisionable options. |
| apps/sim/app/api/v1/knowledge/[id]/documents/[documentId]/route.ts | Reuses the resolved access scope for both document lookup and deletion. |
| apps/sim/lib/knowledge/orchestration/documents.ts | Routes document deletion through the knowledge-base- and access-scoped lifecycle service. |
| apps/sim/lib/knowledge/api/route-policies.ts | Projects credential-group enrollment failures and separates workspace-level connector authorization policy. |
| apps/docs/content/docs/platform/self-hosting/redis.mdx | Documents the duplicate-webhook risk caused by losing Redis idempotency markers. |
| helm/sim/values.yaml | Aligns bundled Redis persistence guidance with its operational consequences. |
Reviews (4): Last reviewed commit: "fix: name Chat-send among the PostgreSQL..." | Re-trigger Greptile
be65c17 to
d236a68
Compare
Any change under helm/sim/ requires a Chart.yaml bump. This one only corrects a comment about what a Redis restart costs, so it is a patch. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015BwsJTEQRzWJaY4BRCkPZt
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
- The Access picker offered Slack options that member provisioning would then reject: it filtered on `status` but not `configurationStatus`. Rendering the field for Slack is what exposed this, so it belongs with that change. Now mirrors provisioning, which skips anything not `ready`. - "The bundled Redis runs without persistence" was only true of the chart. The Compose stack leaves Redis on its default snapshotting with no mounted volume, so webhook markers survive a restart there but not recreating the container. - Redis is not optional at one replica: CLI authentication's approval store has no fallback and throws without it. The values guidance implied the requirement began above one replica. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015BwsJTEQRzWJaY4BRCkPZt
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
1 issue found across 11 files
Confidence score: 3/5
helm/sim/Chart.yamlleaves unpinned chart installs deployingv0.8.18with thev0.8.21release, so default deployments may run an outdated image; setappVersiontov0.8.21and regenerate the image inventory.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="helm/sim/Chart.yaml">
<violation number="1" location="helm/sim/Chart.yaml:5">
P1: Unpinned chart installs still deploy `v0.8.18` even though this chart version is being shipped with the `v0.8.21` release. Set `appVersion` to `v0.8.21` and regenerate the image inventory so default installs receive the release features.
(Based on your team's feedback about keeping appVersion current for unpinned Helm installs.)</violation>
</file>
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
The values comment listed billing and checkout but not Chat-send, which is pinned the same way. An operator weighing restart risk could have mistaken chat-send deduplication for a Redis marker. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015BwsJTEQRzWJaY4BRCkPZt
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
Summary
Fixes the review findings raised on the v0.8.21 release PR (#7446). Thirteen threads were triaged; each was verified against source before anything changed.
Three landed on
stagingindependently while this was in progress — the/shipdocs-manifest regeneration (#7450), the CLI Yarn upgrade tab (#7448), and the table view-pin (#7449) — so this branch was rebased and those duplicates dropped. What remains:Knowledge / credential groups
CredentialGroupEnrollmentErroras a bare 500. A missing, disabled, or unconfigured credential group is the admin's to act on, so its 404/409 now project the way the credential-group routes do.Knowledge base not foundwhere its siblings return an authorization response. It names a workspace, not a base — now unconcealed, matching the convention its own policy file documents.Home
qin the URL, and the rule that forces Search whenever a query is present flipped the composer straight back: the edit was discarded and the original message dispatched. Clearing the query alongside the mode restore batches into the same nuqs update, so the forcing rule never observes the intermediate state.Docs
redis.mdxclaimed completed work is unaffected by losing Redis. Webhook idempotency markers live wherever the cache does, with a 7-day TTL sized to the longest provider retry window, and the bundled Redis runs--save "" --appendonly no— so a redelivery after a restart can re-run a finished workflow with real side effects. Billing, checkout, and Chat-send idempotency are pinned to PostgreSQL. The same claim invalues.yamlis corrected too.Pushed back on (unchanged, reasoning left on each thread)
canManageBlock). The suggested rewrite would make the page inconsistent with every other "you" on it.defaultValueguard is deliberate (landing-prompt seed path). The suggested fix would destroy user-typed text on every mode switch and break the queued-edit fix above.<source>payload — the file's own TSDoc documents this as an accepted trade; it only bites when the tag is also code-span-wrapped, costing one chip. Loosening the pattern removes the bound that stops a bogus match spanning code fences.Type of Change
Testing
bun run lint,bun run check:audits(45),bun run docs-manifest:check, andbun run type-checkall pass; 1210 tests pass acrosslib/knowledge. The new access-scope test is mutation-verified — it goes red when the scope is not forwarded to the delete./cleanuppasses (effects, state, callbacks, url-state, comments), with its three comment findings applied.Checklist