Skip to content

Fix/env trailing whitespace - #1147

Open
desireddymohithreddy0925 wants to merge 15 commits into
itzzavdhesh:mainfrom
desireddymohithreddy0925:fix/env-trailing-whitespace
Open

Fix/env trailing whitespace#1147
desireddymohithreddy0925 wants to merge 15 commits into
itzzavdhesh:mainfrom
desireddymohithreddy0925:fix/env-trailing-whitespace

Conversation

@desireddymohithreddy0925

@desireddymohithreddy0925 desireddymohithreddy0925 commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

🐛 Bug Fix Description

This PR removes an invisible trailing whitespace character from the PORT=3001 line in .env.example that was causing strict Docker environments to parse the port as '3001 ', leading to server startup crashes (RangeError [ERR_SOCKET_BAD_PORT]).

Fixes #748
Fixes #783

💡 Proposed Solution

  • Stripped all trailing whitespaces from .env.example.
  • Added an .editorconfig file to automatically enforce trim_trailing_whitespace = true globally for all future contributions, ensuring this bug never gets reintroduced. (Markdown files are exempt to preserve valid line-break syntax).

✅ Acceptance Criteria

  • The trailing whitespace is removed from .env.example.
  • Verified that the environment file is now compatible with strict Docker parsers.
  • Added formatting guidelines (.editorconfig) to prevent trailing whitespace moving forward.

🌱 Contributor Checklist

  • I am participating via GSSoC
  • I have read the contribution guidelines
  • I checked for existing issues before creating this

Summary by cubic

Remove a hidden trailing space in .env.example that caused strict Docker setups to read PORT as 3001 and crash on startup. Add DX guardrails (Docker dev, lint/format CI) and apply repo-wide Prettier formatting, plus small UI/accessibility and server reliability improvements.

  • Bug Fixes

    • Strip trailing whitespace from .env.example; enforce trim_trailing_whitespace via .editorconfig (Markdown exempt).
    • Fix Docker env parsing to prevent ERR_SOCKET_BAD_PORT on boot.
    • Harden TTS voice cache checks and errors; update tests for new paths.
  • New Features

    • Docker dev support with Dockerfile and docker-compose.yml.
    • Lint/format pipeline: GitHub Action, eslint.config.js, .lintstagedrc, lint/format:check scripts; apply Prettier formatting across the codebase.
    • Add @gradio/client type stubs and UX tweaks (keyboardable sliders, improved ARIA, smoother canvas via requestVideoFrameCallback).

Written for commit b5d5eef. Summary will update on new commits.

Review in cubic

@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the itzzavdhesh's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@desireddymohithreddy0925, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 11 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 18d8aa09-d5ec-4162-9c5a-7b702855ad17

📥 Commits

Reviewing files that changed from the base of the PR and between e915118 and b5d5eef.

⛔ Files ignored due to path filters (2)
  • package-lock.json is excluded by !**/package-lock.json
  • server/data/voiceforge.db is excluded by !**/*.db
📒 Files selected for processing (88)
  • .editorconfig
  • .github/ISSUE_TEMPLATE/elusoc_bug_report.md
  • .github/ISSUE_TEMPLATE/elusoc_feature_request.md
  • .github/ISSUE_TEMPLATE/gssoc_bug_report.md
  • .github/ISSUE_TEMPLATE/gssoc_feature_request.md
  • .github/ISSUE_TEMPLATE/nsoc_bug_report.md
  • .github/ISSUE_TEMPLATE/nsoc_feature_request.md
  • .github/ISSUE_TEMPLATE/ssoc_bug_report.md
  • .github/ISSUE_TEMPLATE/ssoc_feature_request.md
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/PULL_REQUEST_TEMPLATE/elusoc.md
  • .github/PULL_REQUEST_TEMPLATE/gssoc.md
  • .github/PULL_REQUEST_TEMPLATE/nsoc.md
  • .github/PULL_REQUEST_TEMPLATE/ssoc.md
  • .github/workflows/lint.yml
  • .github/workflows/mentor-merge-eligibility.yml
  • .github/workflows/pr-review-handler.yml
  • .lintstagedrc
  • CONTRIBUTING.md
  • Dockerfile
  • README.md
  • client/index.html
  • client/postcss.config.js
  • client/public/404.html
  • client/src/App.jsx
  • client/src/components/AudioTrimmer.jsx
  • client/src/components/FavoriteMessages.jsx
  • client/src/components/Footer.jsx
  • client/src/components/KeyboardShortcutsModal.jsx
  • client/src/components/LanguageSelector.jsx
  • client/src/components/MessageCard.jsx
  • client/src/components/PrivacyModeToggle.jsx
  • client/src/components/ProfileCard.jsx
  • client/src/components/QuickReplies.jsx
  • client/src/components/ReceiveProfileModal.jsx
  • client/src/components/ScrollToBottomButton.jsx
  • client/src/components/ScrollToTopButton.jsx
  • client/src/components/ShareProfileModal.jsx
  • client/src/components/SpeechHistory.jsx
  • client/src/components/TextToSpeech.jsx
  • client/src/components/ThemeContext.jsx
  • client/src/components/VideoPreview.jsx
  • client/src/components/VoiceForge.jsx
  • client/src/components/VoiceQuickSettings.jsx
  • client/src/components/VoiceRecorder.jsx
  • client/src/components/useToast.jsx
  • client/src/hooks/useSpeechHistory.js
  • client/src/hooks/useTTS.js
  • client/src/hooks/useVirtualCamera.js
  • client/src/hooks/useVoiceClone.js
  • client/src/main.jsx
  • client/src/pages/About.jsx
  • client/src/pages/Analytics.jsx
  • client/src/pages/Call.jsx
  • client/src/pages/Contributors.jsx
  • client/src/pages/Onboarding.jsx
  • client/src/pages/PrivacyPolicy.jsx
  • client/src/pages/Settings.jsx
  • client/src/styles.css
  • client/src/utils/audioExtractor.js
  • client/src/utils/audioProcessor.js
  • client/src/utils/db.js
  • client/src/utils/faceProcessor.js
  • client/src/utils/formatTime.js
  • client/src/utils/languages.js
  • client/src/utils/pitchShifter.js
  • client/src/utils/voiceSettings.js
  • client/src/utils/voiceSettings.test.js
  • client/src/utils/wavEncoder.js
  • client/src/utils/webrtc.js
  • client/tailwind.config.js
  • client/vite.config.js
  • docker-compose.yml
  • docs/virtual-camera.md
  • eslint.config.js
  • package.json
  • playwright.config.js
  • pr_body.md
  • server/controllers/voiceController.js
  • server/index.js
  • server/jsconfig.json
  • server/middleware/upload.js
  • server/routes/voice.js
  • server/test/helpers.js
  • server/test/voiceController.mock-mode.test.js
  • server/test/voiceController.secure-id.test.js
  • server/types/gradio.d.ts
  • tests/permissions.spec.js
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 25, 2026

Copy link
Copy Markdown

✍️ DCO Sign-off Needed

Hey @desireddymohithreddy0925! 👋 One or more commits in this PR are missing a Signed-off-by: line.

Warning

How to fix:

For the latest commit:

git commit --amend --signoff
git push --force-with-lease

For multiple commits, replace N with the number to update:

git rebase --signoff HEAD~N
git push --force-with-lease

This comment will update automatically after you push.


🤖 VoiceForge Automation · Updates automatically on edits

@github-actions

Copy link
Copy Markdown

🛠️ PR Needs Updates

Hey @desireddymohithreddy0925! 👋 A few things need fixing before a mentor can review this PR.

Warning

  • Select a program PR template: GSSoC, NSOC, SSOC, or ELUSOC.
  • Use the mandatory VoiceForge PR template and keep all required sections.
  • fix: Resolve trailing space and MOCK_CHATTERBOX in .env.example #783 is a pull request. Please link the issue this PR resolves.
  • Use a clear PR title, for example feat: add voice preview or [feature]: add voice preview.
  • This PR changes 90 files. VoiceForge keeps contributor PRs focused, so please recheck the changed files and reduce the PR to 13 files or fewer unless a maintainer explicitly approves the larger scope.

How to fix:

  • PR template: Use one complete program PR template and keep all required sections.
  • Linked issue: Add a valid closing reference like Closes #64, and make sure the issue has the same program label.
  • PR title: Use a clear title like fix: update onboarding progress bar or [bug refactor]: replace pending stream cache.
  • Large PR: Please recheck the changed files, remove accidental edits, and keep this contribution polished and focused on one approved issue. If the larger scope is truly needed, ask a mentor before continuing.
  • Program: Choose exactly one program: GSSoC, NSOC, SSOC, or ELUSOC.

Once fixed, the workflow re-runs automatically and pings the right mentor.


🤖 VoiceForge Automation · Updates automatically on edits

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed against the latest diff

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread eslint.config.js
Comment thread Dockerfile
Comment thread Dockerfile
Comment thread eslint.config.js
Comment thread client/src/components/VoiceQuickSettings.jsx
Comment thread client/src/pages/Contributors.jsx
Comment thread .lintstagedrc
Comment thread package.json
Comment thread .github/workflows/lint.yml
Comment thread README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Trailing space in .env.example breaks Docker parsing.

1 participant