Skip to content

v1.3.2 - Socket.IO Fixes and Stability Improvements

Choose a tag to compare

@thechandanbhagat thechandanbhagat released this 09 Mar 06:40
· 153 commits to main since this release
5e04270

Release Notes - Version 1.3.2

Release Date: March 9, 2026
Previous Version: v1.3.0
Repository: https://github.com/thechandanbhagat/ezpm2gui


Overview

Version 1.3.2 focuses on bug fixes, stability improvements, and enhanced Socket.IO connection reliability. This release addresses critical user-reported issues and improves the overall user experience.


Bug Fixes

Socket.IO False Positive Connection Errors (Critical)

Issue: Users reported seeing "Connection to server lost. Trying to reconnect..." messages even though the application continued working normally.

Resolution:

  • Implemented intelligent connection monitoring with data flow tracking
  • Added 3-second debounce mechanism before displaying connection errors
  • Error only appears when no data received for more than 5 seconds
  • Automatic error clearing when data flow resumes
  • Fixed React hooks dependency issues that could cause memory leaks

Impact: Eliminates annoying false positive warnings, providing a smoother user experience.

Files Changed:

  • src/client/src/App.tsx - Enhanced connection state management
  • src/server/index.ts - Improved server-side Socket.IO configuration

TypeScript Compilation Errors

Issue: TypeScript errors in Socket.IO configuration preventing successful builds.

Resolution:

  • Removed process.env reference causing TS error (TS2591)
  • Removed invalid Socket.IO client options (pingTimeout, pingInterval - server-only)
  • Changed NodeJS.Timeout to number type for better browser compatibility (TS2503)

Impact: Clean TypeScript compilation without errors.

Files Changed:

  • src/client/src/App.tsx

Missing UUID Dependency

Issue: Runtime errors due to missing uuid package dependency.

Resolution:

  • Added uuid package to dependencies (via PR #1 from @factomind-technologies)
  • Updated package-lock.json with proper dependency resolution

Impact: Prevents runtime crashes when UUID generation is needed.

Files Changed:

  • package.json
  • package-lock.json

Enhancements

Improved Socket.IO Resilience

  • Server-side: Increased ping timeout from 5s to 10s for better tolerance on slow networks
  • Server-side: Added explicit transport configuration (WebSocket + polling fallback)
  • Server-side: Increased upgrade timeout to 10s for more reliable connections
  • Client-side: Enhanced reconnection strategy with better timeout handling
  • Client-side: Improved transport configuration for automatic fallback

Impact: More stable connections on slower or unreliable networks.


Connection State Management

  • Tracks last data update timestamp to verify actual data flow
  • Distinguishes between transient network hiccups and real disconnections
  • Handles different disconnect reasons appropriately (server vs. client initiated)
  • Improved error recovery and automatic retry logic

Impact: Better user feedback and reduced confusion about connection status.


Documentation Updates

  • Corrected project name capitalization in README.md
  • Updated .groupcode/functionalities.json timestamp
  • Created comprehensive Socket.IO fix documentation in docs/SOCKET_RECONNECTION_FIX.md

Technical Details

Files Modified (8 files, 126 insertions, 14 deletions)

  1. src/client/src/App.tsx (+110 lines)

    • Enhanced Socket.IO connection configuration
    • Added connection monitoring with debouncing
    • Improved error state management
    • Fixed TypeScript compatibility issues
  2. src/server/index.ts (+11 lines)

    • Improved Socket.IO server configuration
    • Increased timeouts for better reliability
    • Enhanced transport configuration
  3. package.json & package-lock.json

    • Added uuid dependency
    • Updated version numbers
  4. src/client/package.json

    • Updated client version
  5. README.md

    • Documentation improvements
  6. src/server/config/remote-connections.json

    • Configuration updates
  7. .groupcode/functionalities.json

    • Timestamp update

Testing Recommendations

Before deploying this version, we recommend testing:

  1. Normal Operation

    • Verify no false positive connection errors during normal use
    • Check that process list and metrics update smoothly
  2. Network Interruption

    • Stop the server and verify error appears after ~8 seconds (5s + 3s debounce)
    • Restart server and verify error clears automatically
  3. Slow Network Conditions

    • Test on slow/high-latency networks
    • Verify no premature disconnection warnings
  4. WebSocket Fallback

    • Block WebSocket connections
    • Verify automatic fallback to polling transport

Installation & Upgrade

Fresh Installation

npm install -g ezpm2gui@1.3.2

Upgrade from Previous Version

npm update -g ezpm2gui

From Source

git pull origin main
npm install
npm run build

Breaking Changes

None - This is a backward-compatible release.


Acknowledgments


What's Next

Planned for v1.3.3+

  • Enhanced remote server management features
  • Improved cron job scheduling interface
  • Advanced process filtering and search capabilities
  • Performance monitoring enhancements

Commit History Since v1.3.0

5e04270 - Update .gitignore to exclude additional files and remove outdated documentation
bb0d1bf - Update version to 1.3.1 in package.json
afafa1b - Correct capitalization of project name in README
80cb9f8 - Merge branch 'main' of github.com:thechandanbhagat/ezpm2gui
b44c127 - Fix TypeScript errors in Socket.IO configuration
0e37787 - Fix Socket.IO false positive reconnection messages
7234bf8 - Merge pull request #1 from factomind-technologies/add-uuid
8962bc4 - Add missing uuid dependency
f9f594b - 1.3.2
07dce9c - fix: rebuild client with latest UI changes for npm publish
fc0ddf2 - chore: update lastUpdated timestamp in functionalities.json

Known Issues

No known critical issues at this time.

If you encounter any issues, please report them at:
https://github.com/thechandanbhagat/ezpm2gui/issues


License

MIT License - See LICENSE file for details


Full Changelog: v1.3.0...v1.3.2