fix(sockets-server-disconnection): on reconnect force sync store to db #638
fix(sockets-server-disconnection): on reconnect force sync store to db #638icecrasher321 merged 5 commits intostagingfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
1 Skipped Deployment
|
There was a problem hiding this comment.
PR Summary
Enhanced socket reconnection and data persistence with forced database synchronization when connections are restored. Key changes:
- Implemented infinite reconnection attempts with exponential backoff (1s to 30s) in
socket-context.tsx - Added new force-sync API endpoint
/api/workflows/[id]/force-syncfor workflow synchronization - Introduced Zod validation schema in
validation.tsto ensure data integrity during synchronization - Enhanced
ConnectionStatuscomponent to display syncing states with visual indicators - Reduced disconnection notice timing from 15s to 6s for improved UX
5 files reviewed, 9 comments
Edit PR Review Bot Settings | Greptile
.../control-bar/components/user-avatar-stack/components/connection-status/connection-status.tsx
Show resolved
Hide resolved
| const currentState = workflowStore | ||
| const subblockValues = subBlockStore.workflowValues[activeWorkflowId] || {} |
There was a problem hiding this comment.
logic: workflowStore appears to be accessed directly without .state or a getter - might cause issues with store updates
| const currentState = workflowStore | |
| const subblockValues = subBlockStore.workflowValues[activeWorkflowId] || {} | |
| const currentState = workflowStore.state | |
| const subblockValues = subBlockStore.workflowValues[activeWorkflowId] || {} |
.../control-bar/components/user-avatar-stack/components/connection-status/connection-status.tsx
Show resolved
Hide resolved
| blocks: z.record(z.any()), | ||
| edges: z.array(z.any()), |
There was a problem hiding this comment.
logic: Using z.any() for blocks and edges reduces type safety. Consider defining explicit types for these core structures since they're critical for sync operations.
|
✅ No security or compliance issues detected. Reviewed everything up to 118f096. Security Overview
Detected Code Changes
Reply to this PR with |
* fix(sharing): fixed folders not appearing when sharing workflows (#616) * fix(sharing): fixed folders not appearing when sharing workflows * cleanup * fixed error case * fix(deletions): folder deletions were hanging + use cascade deletions throughout (#620) * use cascade deletion * fix lint --------- Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan> * fix(envvars): t3-env standardization (#606) * chore: use t3-env as source of truth * chore: update mock env for failing tests * feat(enhanced logs): integration + log visualizer canvas (#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 (#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 (#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 (#629) * added tool re-ordering in agent block * styling * fix(oauth): fix oauth to use correct subblock value setter + remove unused 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(mem-deletion): hard deletion of memory (#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 (#630) * added turbopack to prod builds * block access to sourcemaps * revert changes to docs * fix(docs): fixed broken docs links (#632) * fix(resp format): non-json input was crashing (#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 (#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 (#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 (#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 (#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…" (#640) This reverts commit 6dc8b17. * fix(sockets): force user to refresh on disconnect in order to mkae changes, 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 * 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 (#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>
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(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>
Description
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Kill sockets server --> make changes --> restart sockets server --> continue making changes dependent on change you made when you were offiline --> refresh once warning goes away on reconnect --> changes still persisted!
Checklist:
bun run test)Security Considerations: