Skip to content

Fix 1150 evaluation notes limit#1450

Open
mayank200529 wants to merge 7 commits into
Sachinchaurasiya360:mainfrom
mayank200529:fix-1150-evaluation-notes-limit
Open

Fix 1150 evaluation notes limit#1450
mayank200529 wants to merge 7 commits into
Sachinchaurasiya360:mainfrom
mayank200529:fix-1150-evaluation-notes-limit

Conversation

@mayank200529
Copy link
Copy Markdown
Contributor

@mayank200529 mayank200529 commented Jun 5, 2026

Description

Added a 2000-character limit to the recruiter evaluation notes textarea and implemented a live character counter to improve feedback and prevent overly long notes.

Related Issue

Fixes #1150

Type of Change

  • Bug Fix
  • Feature
  • Enhancement
  • Documentation

Testing

Manually tested the evaluation form by typing notes and verified that:

  • The character counter updates live while typing.
  • The textarea stops accepting input after 2000 characters.
  • The counter changes color when approaching the limit.
  • Existing save evaluation/save notes functionality remains unchanged.

Screenshots / Video

Screenshot attached.

Checklist

  • Code follows project guidelines
  • No new compile/type errors
  • Tested manually (include steps above)
  • No .env, credentials, or node_modules committed
  • Docs updated (if needed)
  • Screenshot or video attached for every UI change (PR will be rejected if missing)

Summary by CodeRabbit

  • Bug Fixes
    • Improved search accuracy for repository and organization lookups to deliver more consistent and reliable results.

@github-actions github-actions Bot added bug Something isn't working gssoc level:intermediate Requires moderate project understanding scope:backend Changes to server-side / API code labels Jun 5, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 5, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

The PR improves the opensource module by fixing route precedence to avoid /:id parameter conflicts and normalizing search input trimming across two query methods (listRepos and getGsocOrgs) to ensure consistent filtering behavior.

Changes

OpenSource module improvements

Layer / File(s) Summary
Route ordering fix for student progress endpoints
server/src/module/opensource/opensource.routes.ts
The /first-pr/progress GET and PATCH routes are reordered to prevent conflicts with the /:id wildcard, moved after /analytics/trend and before admin routes. The import line is also updated.
Search query input normalization
server/src/module/opensource/opensource.service.ts
listRepos and getGsocOrgs both trim search input before filtering, ensuring that tag matching and field substring queries consistently use trimmed values instead of raw input.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

bug, type:bug, scope:backend, quality:clean, level:beginner

Suggested reviewers

  • Sachinchaurasiya360

Poem

🐰 Routes now skip the wild /:id dance,
Search inputs trimmed, no whitespace chance—
Clean queries flow through the service layer,
Order preserved, no more parameter flare!
Quality blooms in the opensource care. 🌿

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title describes fixing an evaluation notes limit, but the actual changes modify route ordering and add search trimming, not evaluation notes functionality. The title does not match the changeset. The actual changes are in opensource routes and service search logic, not evaluation form notes. Update the title to reflect the actual changes made.
Linked Issues check ⚠️ Warning The linked issue #1150 requires adding a character limit and counter to the EvaluationForm notes textarea, but the PR changes only affect opensource route ordering and search input trimming. The code changes do not implement the required character limit and counter for the EvaluationForm notes textarea. Add the necessary modifications to client/src/module/recruiter/EvaluationForm.tsx to satisfy issue #1150.
Out of Scope Changes check ⚠️ Warning The PR includes changes to opensource routes and search service methods that are completely unrelated to the stated objective of fixing evaluation notes character limits. Remove the out-of-scope changes to opensource.routes.ts and opensource.service.ts, or clarify their relationship to issue #1150. These changes appear to belong in a different PR.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ 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 and usage tips.

@github-actions github-actions Bot added quality:exceptional Exceptional implementation quality type:bug Bug fixes gssoc:approved Approved for GSSoC scoring labels Jun 5, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

Hi @mayank200529, thanks for contributing to InternHack! 🎉

I have automatically:

  • 👤 Assigned this PR to you.
  • 🏷️ Applied the gssoc:approved label.

Our workflows will now analyze your changes to classify:

  • 📈 PR Difficulty: level:*
  • 🧩 PR Type: type:*
  • 🌟 PR Quality: quality:*

Tip

Ensure your PR description references the issue it resolves (e.g. Closes #123). This allows the bot to inherit any additional labels from that issue!

Happy coding! 🚀

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@server/src/module/opensource/opensource.routes.ts`:
- Line 1: Remove the invisible BOM (U+FEFF) at the start of the file that
precedes the import; open the file containing the import of Router
(opensource.routes.ts) and delete and retype the first line "import { Router }
from \"express\";" (or use your editor's "Remove BOM" feature / dos2unix) so the
BOM is gone and the module parses correctly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 73e000ef-205a-4b4b-9945-6c5e4c5a9a2f

📥 Commits

Reviewing files that changed from the base of the PR and between 0c176ae and 13895fd.

📒 Files selected for processing (2)
  • server/src/module/opensource/opensource.routes.ts
  • server/src/module/opensource/opensource.service.ts

@@ -1,4 +1,4 @@
import { Router } from "express";
import { Router } from "express";
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.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Remove the BOM (Byte Order Mark) character from the import statement.

The first line contains an invisible BOM character (U+FEFF) before the import keyword, which can cause module parsing failures and unexpected syntax errors in Node.js ES modules.

🧹 Proposed fix to remove BOM
-import { Router } from "express";
+import { Router } from "express";

Note: Most editors display BOM invisibly. To fix: delete the entire first line and retype it, or use a tool like dos2unix or your editor's "Remove BOM" feature.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import { Router } from "express";
import { Router } from "express";
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@server/src/module/opensource/opensource.routes.ts` at line 1, Remove the
invisible BOM (U+FEFF) at the start of the file that precedes the import; open
the file containing the import of Router (opensource.routes.ts) and delete and
retype the first line "import { Router } from \"express\";" (or use your
editor's "Remove BOM" feature / dos2unix) so the BOM is gone and the module
parses correctly.

@mayank200529
Copy link
Copy Markdown
Contributor Author

Hi @Sachinchaurasiya360,

I have completed the implementation and submitted PR #1450 for this issue.

Changes made

  • Added a 2000-character limit to the notes textarea.
  • Added a live character counter.
  • Added visual feedback when approaching the character limit.
  • Preserved existing functionality and behavior.

Kindly review the PR.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working gssoc:approved Approved for GSSoC scoring gssoc level:intermediate Requires moderate project understanding quality:exceptional Exceptional implementation quality scope:backend Changes to server-side / API code type:bug Bug fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[recruiter] Evaluation form notes textarea has no max-length or character counter

1 participant