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

92 -> 94 on acid3 #17

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

gennaroterry
Copy link
Contributor

No description provided.

@gennaroterry
Copy link
Contributor Author

Some requests to the /scramjet/* endpoints are bypassing the Service Worker and directly hitting the server. When that problem is solved, you can get 97 on Acid3.

@velzie
Copy link
Member

velzie commented Nov 24, 2024

Some requests to the /scramjet/* endpoints are bypassing the Service Worker and directly hitting the server. When that problem is solved, you can get 97 on Acid3.

this is a browser bug, there's not much we can do about it

@gennaroterry
Copy link
Contributor Author

gennaroterry commented Nov 24, 2024

Some requests to the /scramjet/* endpoints are bypassing the Service Worker and directly hitting the server. When that problem is solved, you can get 97 on Acid3.

this is a browser bug, there's not much we can do about it

As a temporary workaround,
we can set up the server to act as a simple, old-school proxy for these requests.

fastify.get('/scramjet/*', async (request, reply) => {
// remove some headers from client
// send to dest.
// remove some headers from server and then send back.
}

@gennaroterry
Copy link
Contributor Author

gennaroterry commented Nov 24, 2024

Alternatively, we can let the server handle the part of the work that the service worker only partially completes.

scramjet/server.js

Lines 29 to 34 in c92430e

if (bare.shouldRoute(req)) {
bare.routeRequest(req, res);
} else {
handler(req, res);
}

@velzie
Copy link
Member

velzie commented Nov 24, 2024

the server as in the dev server? which isn't exported or used anywhere?
definitely out of scope for the project

i believe firefox ignores the w3c recommendation which actually makes it behave correctly. maybe it's worth opening an issue over on chromium

@ProgrammerIn-wonderland
Copy link
Contributor

Is this about syncxhr?

@gennaroterry
Copy link
Contributor Author

Is this about syncxhr?

This PR implements parse5 as a solution to address limitations in htmlparser2, specifically targeting Acid3 test 29 compliance.

Additionally, There is a known issue where Chromium-based browsers bypass the service worker, sending requests directly to the backend server - a behavior that affects both Acid3 test 65(I can't quite recall the exact test number) and Cloudflare's turnstile JavaScript loading mechanism.

@gennaroterry
Copy link
Contributor Author

gennaroterry commented Nov 24, 2024

the server as in the dev server? which isn't exported or used anywhere?
definitely out of scope for the project

i believe firefox ignores the w3c recommendation which actually makes it behave correctly. maybe > it's worth opening an issue over on chromium

Agreed, There is no good solution on the client side for chromium currently.

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