-
Notifications
You must be signed in to change notification settings - Fork 9
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
feat: detect if SODA is behind a firewall #373
Conversation
Thank you for submitting this pull request! We appreciate your contribution to the project. Before we can merge it, we need to review the changes you've made to ensure they align with our code standards and meet the requirements of the project. We'll get back to you as soon as we can with feedback. Thanks again! |
Reviewer's Guide by SourceryThis PR implements network connectivity checks to detect if SODA is being blocked by firewalls. It adds functionality to detect both internal firewall issues (blocking communication with SODA server) and external firewall interference (blocking communication with Pennsieve). The implementation includes new UI components to notify users of potential network issues and provides guidance for resolution. Sequence diagram for detecting firewall issuessequenceDiagram
actor User
participant SODA
participant Server
participant Pennsieve
User->>SODA: Start application
SODA->>Server: Check server live status
alt Server is live
SODA->>User: Show potential network issues (internal firewall)
User->>SODA: Restart SODA
end
SODA->>Pennsieve: Check external firewall interference
alt Blocked by external firewall
SODA->>User: Show potential network issues (external firewall)
end
Updated class diagram for network connectivity checksclassDiagram
class SODA {
+serverIsLive()
+clientBlockedByExternalFirewall(url)
}
class Swal {
+fire(options)
+close()
}
class ipcMain {
+handle(channel, listener)
}
class ipcRenderer {
+invoke(channel)
}
SODA --> Swal : uses
SODA --> ipcMain : interacts
SODA --> ipcRenderer : interacts
note for SODA "Detects network issues and interacts with Swal for user notifications"
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Thanks for making updates to your pull request. Our team will take a look and provide feedback as soon as possible. Please wait for any GitHub Actions to complete before editing your pull request. If you have any additional questions or concerns, feel free to let us know. Thank you for your contributions! |
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.
Hey @aaronm-2112 - I've reviewed your changes - here's some feedback:
Overall Comments:
- The global.serverLive flag is set to false in multiple error handlers but there's no clear logic for setting it back to true. This could lead to the server being permanently marked as down.
- Consider consolidating the firewall detection and notification logic to avoid showing multiple redundant alerts to users.
Here's what I looked at during the review
- 🟡 General issues: 3 issues found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
Quality Gate failedFailed conditions See analysis details on SonarQube Cloud Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE |
Thanks for closing this pull request! If you have any further questions, please feel free to open a new issue. We are always happy to help! |
Checks for a firewall that prevents LAN communication to SODA server. Checks for network interference when connecting to Pennsieve (e.g., SSL/TLS issues, ropped requests, etc).
Summary by Sourcery
Introduce functionality to detect and notify users of potential firewall issues affecting SODA's connectivity to its server and Pennsieve. Enhance user experience by providing informative alerts and documentation links for troubleshooting network problems. Update CI workflow to accommodate changes related to firewall detection.
New Features:
Enhancements:
CI: