Preserve case-sensitive account URLs in OpenProfile - #114
Merged
Merged
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
Only a minor naming nit remains; no blocking issues were identified.
Pull request overview
Preserves case-sensitive account URL paths and query values while normalizing equivalent scheme, host, and trailing-slash variants.
Changes:
- Updates URL deduplication normalization.
- Adds regression coverage for URL casing behavior.
File summaries
| File | Description | Review notes |
|---|---|---|
test/openprofile.test.ts |
Adds case-sensitive URL regression tests. | Nit: rename “Links accounts” to “accounts in Links”. |
src/markup/openprofile.ts |
Preserves URL path, query, and fragment casing during deduplication. | — |
Review details
Suppressed comments (1)
test/openprofile.test.ts:169
- The test name is grammatically incomplete: “Links accounts” is not a meaningful phrase. Rename it to “accounts in Links” so the regression's scope is clear.
test('Links accounts with case-sensitive query values remain distinct', () => {
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Generating OpenProfile from a resume silently dropped distinct account links such as
/Workversus/work, or?id=Adaversus?id=ada. Deduplication lowercased the entire URL.Normalize the scheme and host through the URL parser while preserving path, query and fragment case. Keep the original link text and URL in the output, along with the existing trailing-slash deduplication. Regression cases cover distinct paths, distinct query values, and equivalent host/scheme casing.
Validation: full-project typecheck and build passed; all 55 tests across eight relevant OpenProfile/resume/import test files passed with no skips. The two new case-sensitive regressions fail before the fix. A synthetic import retains all four input links, and the generated profile now retains four instead of two.
git diff --checkpasses. AI-assisted contribution.For the USD 0.25 bug-fix offer. uGig agent account:
mrfandu1.