Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated regex to ignore backslash #559

Merged
merged 2 commits into from Apr 5, 2024
Merged

Updated regex to ignore backslash #559

merged 2 commits into from Apr 5, 2024

Conversation

Rachit1313
Copy link
Collaborator

@Rachit1313 Rachit1313 commented Apr 4, 2024

Closes #427

Changes Made:

Updated regex to ignore backslash in github commands.

How to test:

Both the links with backslash at the end or without would recieve diff when a link of github PR is imported using /import command.

@Rachit1313 Rachit1313 requested review from humphd and kliu57 April 4, 2024 01:44
Copy link

cloudflare-pages bot commented Apr 4, 2024

Deploying chatcraft-org with  Cloudflare Pages  Cloudflare Pages

Latest commit: 4ea670d
Status: ✅  Deploy successful!
Preview URL: https://8e430d3b.console-overthinker-dev.pages.dev
Branch Preview URL: https://issue-427.console-overthinker-dev.pages.dev

View logs

@Rachit1313 Rachit1313 self-assigned this Apr 4, 2024
Copy link
Collaborator

@kliu57 kliu57 left a comment

Choose a reason for hiding this comment

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

Behaviour is different for /import https://github.com/tarasglek/chatcraft.org/pull/421

Than /import http://github.com/tarasglek/chatcraft.org/pull/421
Moreover, behaviour is different from production for /import https://github.com/tarasglek/chatcraft.org/pull/421/ and all others

Output stops at line 83

image

Also, sorry about the PR close then reopen thing, I needed to close my PR and I clicked the button on the wrong one.

@kliu57 kliu57 closed this Apr 4, 2024
@kliu57 kliu57 reopened this Apr 4, 2024
@@ -8,11 +8,11 @@ export class GitHubRewriter extends DefaultRewriter {

async rewriteUrl(url: URL) {
// Blob URLs - https://github.com/<owner>/<repo>/blob/<branch>/<path>
if (url.origin === "https://github.com" && /\/(.*)\/blob\/(.*)$/.test(url.pathname)) {
// https://github.com/<owner>/<repo>/blob/<branch>/<path> -> https://raw.githubusercontent.com<owner>/<repo>/<branch>/<path>
if (url.origin === "https://github.com" && /\/(.*)\/blob\/(.*)\/?$/.test(url.pathname)) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

# Works
/import https://github.com/tarasglek/chatcraft.org/blob/main/.eslintignore

# Fails
/import https://github.com/tarasglek/chatcraft.org/blob/main/.eslintignore/

The latter returns a 400 from the server

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I just verified that this is something we have in production as well

Copy link
Collaborator

Choose a reason for hiding this comment

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

Do you want to fix it while you're working on this or split it off into a future issue?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I would like to work on debugging this, but as this PR fixes the problem for PRs and gist, i would like to get this merged and create another issue and PR for that one.

functions/lib/rewriters/github-rewriter.ts Show resolved Hide resolved
functions/lib/rewriters/github-rewriter.ts Show resolved Hide resolved
@mingming-ma mingming-ma self-requested a review April 4, 2024 22:25
@Rachit1313
Copy link
Collaborator Author

@kliu57 , for me both the import command on PR 412 without backslash returns the same number of lines i.e 83 in production as well in my branch preview URL.
image
image

@Rachit1313
Copy link
Collaborator Author

Rachit1313 commented Apr 5, 2024

@kliu57 And for the second part i.e difference between https and http, I believe this is because we are only looking for https in the origin of the URL to confirm if we want to rewrite this with github-rewriters.ts. Everywhere in our code we used https to verify.
image
I am not sure, just guessing, @humphd would be able to answer this.

@humphd
Copy link
Collaborator

humphd commented Apr 5, 2024

@kliu57 , for me both the import command on PR 412 without backslash returns the same number of lines i.e 83 in production as well in my branch preview URL. image image

this is likely due to it being a diff, with only ~6 lines of context (so it naturally cuts if off), which is normal.

@humphd
Copy link
Collaborator

humphd commented Apr 5, 2024

@kliu57 And for the second part i.e difference between https and http, I believe this is because we are only looking for https in the origin of the URL to confirm if we want to rewrite this with github-rewriters.ts. Everywhere in our code we used https to verify. image I am not sure, just guessing, @humphd would be able to answer this.

I think requiring HTTPS is fine.

Copy link
Collaborator

@mingming-ma mingming-ma left a comment

Choose a reason for hiding this comment

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

Here is comparing results:

Prod This PR
import https, has end slash image image
import https, no end slash image image
import http, has end slash image image
import http, no end slash image image

By my understanding, it fixes the issue, and code changes LGTM!

@Rachit1313
Copy link
Collaborator Author

I think we're good to land this. I'll fix for 400 error of blob as a separate issue.

Copy link
Collaborator

@rjwignar rjwignar left a comment

Choose a reason for hiding this comment

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

These changes LGTM.
I think the Blob URL issue can be resolved in a followup.

@rjwignar rjwignar merged commit 4cd9a7a into main Apr 5, 2024
7 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.

/import command is sensitive to trailing backslash
5 participants