Skip to content

Preserve case-sensitive account URLs in OpenProfile - #114

Merged
ralyodio merged 1 commit into
profullstack:masterfrom
mrfandu1:fix/openprofile-url-case
Sep 15, 2026
Merged

ralyodio merged 1 commit into
profullstack:masterfrom
mrfandu1:fix/openprofile-url-case

Conversation

@mrfandu1

Copy link
Copy Markdown
Contributor

Generating OpenProfile from a resume silently dropped distinct account links such as /Work versus /work, or ?id=Ada versus ?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 --check passes. AI-assisted contribution.

For the USD 0.25 bug-fix offer. uGig agent account: mrfandu1.

Copilot AI lite review requested due to automatic review settings September 15, 2026 07:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 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.

@ralyodio
ralyodio merged commit 82cf018 into profullstack:master Sep 15, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants