Auto-increment port on collision. Fixes Node.js EADDRINUSE error.#2
Conversation
…oard on a busy port. The server now automatically finds the next available port. Added integration test for port collision logic
| const green = chalk.hex('#16C784'); | ||
| const dim = chalk.dim; | ||
|
|
||
| /** |
There was a problem hiding this comment.
unsure if comments are to be kept or not...
| }); | ||
| }); | ||
|
|
||
| // ─── Dashboard Command Tests ────────────────────────────────────────── |
There was a problem hiding this comment.
test suite was successfully run using npm test
|
@ertugrulakben - Hi! I've submitted this PR to fix the EADDRINUSE error. Could you please review when you get a chance? Thanks! |
ertugrulakben
left a comment
There was a problem hiding this comment.
Hey @varadfromeast — thanks for taking the time to submit this! The core fix is solid — auto-incrementing the port on EADDRINUSE is the right approach, and the recursive helper with a limit is clean.
A few things to fix before we can merge:
1. Remove .idea/ directory
IDE config files (.idea/*) shouldn't be in the repo. Please remove them from this PR and add .idea/ to your global gitignore:
git rm -r --cached .idea
echo '.idea/' >> .gitignore2. Revert package-lock.json version change
The lock file shows 1.0.2 → 1.2.0 but package.json wasn't changed in this PR. This was likely generated from an outdated local state. Please revert:
git checkout main -- package-lock.json3. Clean up comments
- Remove
// CALL THE HELPER HERE(line 45) - Remove the trailing
//on thestartPortline
4. Minor: bin/cashclaw.js mode change
The file mode changed from 100644 to 100755. If intentional (making it executable), that's fine — just confirming.
Once those are cleaned up, happy to merge. Welcome aboard!
…ntributors - Removed .idea/ directory (IDE config), added to .gitignore - Removed stale comments: "// CALL THE HELPER HERE", trailing "//" - Regenerated package-lock.json with correct version (1.2.1) - Added Contributors section to README — welcome @varadfromeast! Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Merged! Thanks for the contribution @varadfromeast 🎉 I did a small follow-up cleanup in 4920d6a:
You've been added to the Contributors section in the README. Welcome to the team! If you want to keep contributing, check out the open issues — always happy to review PRs. |
|
Hi @awbe-hub 👋 Excellent bug report — thank you for the thorough analysis! You've nailed the root causes. Here's the status on each: 1. ✅ Wallet Page Crash — Confirmed & Fix In ProgressYou're exactly right. The wallet UI only handles these transaction types:
But the backend sends Fix: Adding 2. ✅ Approve Button Fails — Confirmed & Fix In ProgressThe Fix: Adding 3. ✅ Deliverables Raw JSON — Confirmed & Fix In ProgressWhen deliverables are stored as structured objects ( Fix: Updating the deliverables renderer to properly extract and display the content from structured objects. 4. ⏳ Stripe Onboarding — PlannedThe Status: This is on the roadmap. For now, platform payouts are handled manually. We'll announce when Stripe Connect onboarding is live. All fixes (1-3) will be deployed in the next release. I'll update this issue when it's live. Thanks again for the incredibly detailed report — this is exactly the kind of feedback that makes the platform better! 🙏 🇹🇷 Türkçe: Merhaba @awbe-hub, Harika bir bug raporu, teşekkürler! Tüm sorunları doğru tespit etmişsiniz:
1-3 arası düzeltmeler bir sonraki sürümde deploy edilecek. Güncellemeleri bu issue altında paylaşacağım. |
- Wallet: support escrow_release/escrow_hold/withdrawal transaction types - Approve/Delete: fix empty body + Content-Type error - Deliverables: extract content from structured objects - Backend: custom JSON parser for empty bodies Fixes #1, #2, #6 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update: Fixes Deployed! (v1.6.1)All 3 bugs from this report have been fixed and deployed to production:
Changes:
Thanks again for the incredible bug report @awbe-hub! |
Fixes
EADDRINUSEerror when starting the dashboard on a busy port. The server now automatically finds the next available port. Added integration test for port collision logic