-
Notifications
You must be signed in to change notification settings - Fork 3.3k
v0.2.9: fix + feat #643
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v0.2.9: fix + feat #643
Conversation
* fix(sharing): fixed folders not appearing when sharing workflows * cleanup * fixed error case
… throughout (#620) * use cascade deletion * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan>
* chore: use t3-env as source of truth * chore: update mock env for failing tests
* feat(logs): enhanced logging system with cleanup and theme fixes - Implement enhanced logging cleanup with S3 archival and retention policies - Fix error propagation in trace spans for manual executions - Add theme-aware styling for frozen canvas modal - Integrate enhanced logging system across all execution pathways - Add comprehensive trace span processing and iteration navigation - Fix boolean parameter types in enhanced logs API * add warning for old logs * fix lint * added cost for streaming outputs * fix overflow issue * fix lint * fix selection on closing sidebar * tooltips z index increase --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan> Co-authored-by: Waleed Latif <walif6@gmail.com>
…igrated logs (#624) * fix(frozen canvas): don't error if workflow state not available for old logs * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan>
* fix(reddit): change tool to use oauth token * fix lint * add contact info * Update apps/sim/tools/reddit/get_comments.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update apps/sim/tools/reddit/hot_posts.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update apps/sim/tools/reddit/get_posts.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * fix type error --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local> Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* added tool re-ordering in agent block * styling
…nused local storage code (#628) * fix(oauth): fixed oauth state not persisting in credential selector * remove unused local storage code for oauth * fix lint * selector clearance issue fix * fix typing issue * fix lint * remove cred id from logs * fix lint * works --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net>
* fix: memory deletion * fix: bun run lint --------- Co-authored-by: Adam Gough <adamgough@Adams-MacBook-Pro.local>
* added turbopack to prod builds * block access to sourcemaps * revert changes to docs
* fix response format non-json input crash bug * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net>
…sing separate endpoint (#633) * fix(revert-deployed): revert deployed functionality with separate endpoint * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net>
…#634) * fix(dropdown): simplify & fix tag dropdown for parallel & loop blocks * fixed build
…, and chat client (#637) * add response format structure to tag dropdown * handle response format outputs for chat client and chat panel, implemented the response format handling for streamed responses * cleanup
#638) * keep warning until refresh * works * fix sockets server sync on reconnection * infinite reconn attempts * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net>
…anges, add read-only offline mode (#641) * force user to refresh on disconnect in order to mkae changes, add read-only offline mode * remove unused hook * style * update tooltip msg * remove unnecessary useMemo around log
…ading socket server, fixed persistence issue during streaming back from LLM response format, removed unused events (#642) * fix(sockets): added debouncing for sub-block values to prevent overloading socket server, fixed persistence issue during streaming back from LLM response format, removed unused events * reuse existing isStreaming state for code block llm-generated response format
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
1 Skipped Deployment
|
|
✅ No security or compliance issues detected. Reviewed everything up to 3421eae. Security Overview
Detected Code ChangesThe diff is too large to display a summary of code changes. Reply to this PR with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
Extensive v0.2.9 release improving reliability and user experience across the platform with socket handling, OAuth, and response format enhancements.
- Added robust socket connection handling with offline mode support, refresh prompts, and debounced sub-block values to prevent server overload
- Migrated Reddit tools to use OAuth endpoints with proper token refresh and scopes for improved API stability
- Implemented StreamingResponseFormatProcessor for reliable JSON response parsing during LLM streaming
- Enhanced folder/workflow management with cascade deletions and fixed sharing permissions
- Enabled Turbopack builds in production for significantly faster build times
75 files reviewed, 47 comments
Edit PR Review Bot Settings | Greptile
| let Icon = blockConfig?.icon | ||
| let bgColor = blockConfig?.bgColor || '#6B7280' // Fallback to gray | ||
|
|
||
| if (!blockConfig) { | ||
| if (connection.type === 'loop') { | ||
| Icon = RepeatIcon as typeof Icon | ||
| bgColor = '#2FB3FF' // Blue color for loop blocks | ||
| } else if (connection.type === 'parallel') { | ||
| Icon = SplitIcon as typeof Icon | ||
| bgColor = '#FEE12B' // Yellow color for parallel blocks | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: consider moving special block configurations to a dedicated config file to maintain consistency and make updates easier
| if (disabled) { | ||
| return userPermissions.isOfflineMode ? 'Connection lost - please refresh' : 'Read-only mode' | ||
| } | ||
| return defaultMessage | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Consider moving this helper to a shared utils file since similar tooltip logic might be needed elsewhere
| } | ||
| } | ||
|
|
||
| logger.info(`[${requestId}] Fetching access token from ${baseUrl}/api/auth/oauth/token`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Reveals sensitive URL, consider moving this to debug level logging or removing base URL from log
| REDDIT_CLIENT_ID: z.string().optional(), | ||
| REDDIT_CLIENT_SECRET: z.string().optional(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Consider grouping all social media platform OAuth credentials together (X, Discord, Reddit, etc.) for better organization
| timestamp, | ||
| }) | ||
|
|
||
| room.lastModified = timestamp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Consider adding validation before updating lastModified to ensure timestamp is newer than current value
| // Check for variable references like <start.input> | ||
| if (trimmedValue.startsWith('<') && trimmedValue.includes('>')) { | ||
| // Keep variable references as-is | ||
| return trimmedValue | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Consider extracting variable reference check to separate method for better maintainability
| // Safely parse response format with proper error handling | ||
| const responseFormat = parseResponseFormatSafely(responseFormatValue, edge.source) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Duplicate code block from line 107-108. Consider extracting response format parsing logic into a shared hook.
| Object.entries(workflowData.state.blocks || {}).forEach(([blockId, block]) => { | ||
| const blockState = block as any | ||
| subblockValues[blockId] = {} | ||
| Object.entries(blockState.subBlocks || {}).forEach(([subblockId, subblock]) => { | ||
| subblockValues[blockId][subblockId] = (subblock as any).value | ||
| }) | ||
| }) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Consider using typesafe approach instead of 'as any' for block state
| originalStream: ReadableStream, | ||
| blockId: string, | ||
| selectedOutputIds: string[], | ||
| responseFormat?: any | ||
| ): ReadableStream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Consider grouping related parameters into an options object for better maintainability if more parameters are added in the future
| const responseFormatValue = useSubBlockStore.getState().getValue(block.id, 'responseFormat') | ||
| const responseFormat = parseResponseFormatSafely(responseFormatValue, block.id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Accessing store state directly outside React lifecycle. Consider using a hook or memoizing this value.
* fix(sharing): fixed folders not appearing when sharing workflows (simstudioai#616) * fix(sharing): fixed folders not appearing when sharing workflows * cleanup * fixed error case * fix(deletions): folder deletions were hanging + use cascade deletions throughout (simstudioai#620) * use cascade deletion * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan> * fix(envvars): t3-env standardization (simstudioai#606) * chore: use t3-env as source of truth * chore: update mock env for failing tests * feat(enhanced logs): integration + log visualizer canvas (simstudioai#618) * feat(logs): enhanced logging system with cleanup and theme fixes - Implement enhanced logging cleanup with S3 archival and retention policies - Fix error propagation in trace spans for manual executions - Add theme-aware styling for frozen canvas modal - Integrate enhanced logging system across all execution pathways - Add comprehensive trace span processing and iteration navigation - Fix boolean parameter types in enhanced logs API * add warning for old logs * fix lint * added cost for streaming outputs * fix overflow issue * fix lint * fix selection on closing sidebar * tooltips z index increase --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan> Co-authored-by: Waleed Latif <walif6@gmail.com> * fix(frozen canvas): don't error if workflow state not available for migrated logs (simstudioai#624) * fix(frozen canvas): don't error if workflow state not available for old logs * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan> * fix(reddit): update to oauth endpoints (simstudioai#627) * fix(reddit): change tool to use oauth token * fix lint * add contact info * Update apps/sim/tools/reddit/get_comments.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update apps/sim/tools/reddit/hot_posts.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update apps/sim/tools/reddit/get_posts.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * fix type error --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local> Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * feat(tools): added reordering of tool calls in agent tool input (simstudioai#629) * added tool re-ordering in agent block * styling * fix(oauth): fix oauth to use correct subblock value setter + remove unused local storage code (simstudioai#628) * fix(oauth): fixed oauth state not persisting in credential selector * remove unused local storage code for oauth * fix lint * selector clearance issue fix * fix typing issue * fix lint * remove cred id from logs * fix lint * works --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net> * fix(mem-deletion): hard deletion of memory (simstudioai#622) * fix: memory deletion * fix: bun run lint --------- Co-authored-by: Adam Gough <adamgough@Adams-MacBook-Pro.local> * feat(build): added turbopack builds to prod (simstudioai#630) * added turbopack to prod builds * block access to sourcemaps * revert changes to docs * fix(docs): fixed broken docs links (simstudioai#632) * fix(resp format): non-json input was crashing (simstudioai#631) * fix response format non-json input crash bug * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net> * fix(revert-deployed): correctly revert to deployed state as unit op using separate endpoint (simstudioai#633) * fix(revert-deployed): revert deployed functionality with separate endpoint * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net> * fix(dropdown): simplify & fix tag dropdown for parallel & loop blocks (simstudioai#634) * fix(dropdown): simplify & fix tag dropdown for parallel & loop blocks * fixed build * fix(response-format): add response format to tag dropdown, chat panel, and chat client (simstudioai#637) * add response format structure to tag dropdown * handle response format outputs for chat client and chat panel, implemented the response format handling for streamed responses * cleanup * fix(sockets-server-disconnection): on reconnect force sync store to db (simstudioai#638) * keep warning until refresh * works * fix sockets server sync on reconnection * infinite reconn attempts * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net> * fix(build): fixed build * Revert "fix(sockets-server-disconnection): on reconnect force sync store to d…" (simstudioai#640) This reverts commit 6dc8b17. * fix(sockets): force user to refresh on disconnect in order to mkae changes, add read-only offline mode (simstudioai#641) * force user to refresh on disconnect in order to mkae changes, add read-only offline mode * remove unused hook * style * update tooltip msg * remove unnecessary useMemo around log * fix(sockets): added debouncing for sub-block values to prevent overloading socket server, fixed persistence issue during streaming back from LLM response format, removed unused events (simstudioai#642) * fix(sockets): added debouncing for sub-block values to prevent overloading socket server, fixed persistence issue during streaming back from LLM response format, removed unused events * reuse existing isStreaming state for code block llm-generated response format --------- Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com> Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan> Co-authored-by: Aditya Tripathi <aditya@climactic.co> Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local> Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Adam Gough <77861281+aadamgough@users.noreply.github.com> Co-authored-by: Adam Gough <adamgough@Adams-MacBook-Pro.local>
Uh oh!
There was an error while loading. Please reload this page.