Skip to content

Add checks to prevent De-AMP loops #13213

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

Merged
merged 4 commits into from
May 10, 2022
Merged

Conversation

ShivanKaul
Copy link
Collaborator

@ShivanKaul ShivanKaul commented Apr 29, 2022

Resolves brave/brave-browser#22610

  1. Set a header called "X-Brave-De-AMP" that we check for before De-AMPing.
  2. If canonical/target URL is the same as the current pending URL, don't De-AMP.

Submitter Checklist:

  • I confirm that no security/privacy review is needed, or that I have requested one
  • There is a ticket for my issue
  • Used Github auto-closing keywords in the PR description above
  • Wrote a good PR/commit description
  • Squashed any review feedback or "fixup" commits before merge, so that history is a record of what happened in the repo, not your PR
  • Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • Checked the PR locally: npm run test -- brave_browser_tests, npm run test -- brave_unit_tests, npm run lint, npm run gn_check, npm run tslint
  • Ran git rebase master (if needed)

Reviewer Checklist:

  • A security review is not needed, or a link to one is included in the PR description
  • New files have MPL-2.0 license header
  • Adequate test coverage exists to prevent regressions
  • Major classes, functions and non-trivial code blocks are well-commented
  • Changes in component dependencies are properly reflected in gn
  • Code follows the style guide
  • Test plan is specified in PR before merging

After-merge Checklist:

Test Plan:

  1. https://shivankaul.com/brave/de-amp/test-redirect-loop-1.html and https://shivankaul.com/brave/de-amp/test-redirect-loop-2.html are 2 AMP pages that point to each other. Visiting one should not cause a redirect loop.
  2. https://www.airlive.net/new-footage-shows-an-ukrainian-mig-29-taking-off-from-mykolaiv-seconds-before-the-runway-is-shelled-by-the-russians/ should not cause constant reloading of the page.

@ShivanKaul ShivanKaul requested a review from bridiver April 29, 2022 03:56
@ShivanKaul ShivanKaul self-assigned this Apr 29, 2022
@ShivanKaul ShivanKaul added this to the 1.40.x - Nightly milestone Apr 29, 2022
NavigateToURLAndWaitForRedirects(original_url, landing_url);
}

IN_PROC_BROWSER_TEST_F(DeAmpBrowserTest, CanonicalRedirectsToAmp) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

this needs to start from the original amp page to properly replicate the issue as mentioned in DM and on the issue

@bridiver bridiver force-pushed the bugfix/de-amp/redirect-check branch from b20f315 to 4f34d07 Compare May 8, 2022 22:00
Copy link
Collaborator

@bridiver bridiver left a comment

Choose a reason for hiding this comment

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

we'll do a follow-up to address tests, etc.. when you're back from pto

@bridiver bridiver merged commit 1246aac into master May 10, 2022
@bridiver bridiver deleted the bugfix/de-amp/redirect-check branch May 10, 2022 19:09
@ShivanKaul ShivanKaul restored the bugfix/de-amp/redirect-check branch June 1, 2022 02:53
ShivanKaul pushed a commit that referenced this pull request Jun 2, 2022
@kjozwiak kjozwiak deleted the bugfix/de-amp/redirect-check branch June 3, 2022 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Auto-redirect AMP pages - Loops - page won't load.
2 participants