fix(app): strip trailing slash from custom vendor website URLs (CS-398)#3500
Open
github-actions[bot] wants to merge 1 commit into
Open
fix(app): strip trailing slash from custom vendor website URLs (CS-398)#3500github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
1 issue found across 2 files
Confidence score: 3/5
- In
apps/app/src/app/(app)/setup/components/OnboardingStepInput.tsx,cleanDomainInputcan turn pasted URLs with surrounding whitespace into a double-protocol value (e.g., preservinghttps://then adding another), which can produce invalid domains and break onboarding URL handling; trim before protocol normalization (or normalize after final trim) to de-risk this path.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/app/src/app/(app)/setup/components/OnboardingStepInput.tsx">
<violation number="1" location="apps/app/src/app/(app)/setup/components/OnboardingStepInput.tsx:539">
P2: Pasting a protocol URL with surrounding whitespace stores a double protocol. Because trimming occurs after the protocol replacement, `cleanDomainInput(' https://example.com ')` leaves `https://example.com`; the caller then prepends another `https://`, and the malformed value is persisted for the vendor. Trimming before stripping the protocol would keep this input valid.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
| // Helper to strip protocol, www, and trailing slashes from a website URL, | ||
| // leaving just the bare domain for display/validation | ||
| export const cleanDomainInput = (raw: string): string => { | ||
| return raw |
Contributor
There was a problem hiding this comment.
P2: Pasting a protocol URL with surrounding whitespace stores a double protocol. Because trimming occurs after the protocol replacement, cleanDomainInput(' https://example.com ') leaves https://example.com; the caller then prepends another https://, and the malformed value is persisted for the vendor. Trimming before stripping the protocol would keep this input valid.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/app/src/app/(app)/setup/components/OnboardingStepInput.tsx, line 539:
<comment>Pasting a protocol URL with surrounding whitespace stores a double protocol. Because trimming occurs after the protocol replacement, `cleanDomainInput(' https://example.com ')` leaves `https://example.com`; the caller then prepends another `https://`, and the malformed value is persisted for the vendor. Trimming before stripping the protocol would keep this input valid.</comment>
<file context>
@@ -533,12 +533,24 @@ const normalizeVendorName = (name: string): string => {
+// Helper to strip protocol, www, and trailing slashes from a website URL,
+// leaving just the bare domain for display/validation
+export const cleanDomainInput = (raw: string): string => {
+ return raw
+ .replace(/^(https?:\/\/)+/gi, '')
+ .replace(/^(www\.)+/gi, '')
</file context>
Suggested change
| return raw | |
| return raw.trim() |
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.
This is an automated pull request to merge chas/custom-vendor-url-format into dev.
It was created by the [Auto Pull Request] action.
Summary by cubic
Standardizes custom vendor website input by cleaning domains (remove protocol, www, and trailing slashes) and validating the cleaned value. This prevents false “invalid URL” states and ensures consistent display and saving.
cleanDomainInputand used it for display, change handlers, and touched-invalid checks.isValidDomainto validate the cleaned domain; allows empty, rejects paths/spaces, requires a dot.https://to cleaned values for storage.cleanDomainInputandisValidDomain.Written for commit 8b3427d. Summary will update on new commits.