copaair.com - Unable to create an account, stuck loading after accepting Terms and Conditions
Categories
(Web Compatibility :: Site Reports, defect, P1)
Tracking
(Webcompat Priority:P3, Webcompat Score:1, firefox136 wontfix, firefox137 wontfix, firefox138 wontfix, firefox142 fixed)
People
(Reporter: ctanase, Assigned: twisniewski)
References
()
Details
(5 keywords, Whiteboard: [webcompat-source:product])
User Story
platform:windows,mac,linux,android impact:workflow-broken configuration:general affects:all branch:release diagnosis-team:networking user-impact-score:0 outreach-assignee:valentin outreach-contact-date:2025-04-29
Attachments
(5 files, 1 obsolete file)
Environment:
Operating system: Windows 11/10
Firefox version: Firefox 136.0.1 (release)/138
Preconditions:
- Clean profile
Steps to reproduce:
- Navigate to: https://www.copaair.com/en-gs/enrollment/
- Fill in the required fields.
- Click on "Create an account".
- Accept the Terms and Conditions.
Expected Behavior:
Account gets created, welcome window shown.
Actual Behavior:
Stuck loading on the Terms and Conditions window.
Notes:
- Reproducible on the latest Firefox Release and Nightly
- Reproducible regardless of the ETP setting
- Works as expected using Chrome
Created from webcompat-user-report:21ba2197-0fc7-48f4-99dc-c120d570e8f3
Comment 1•1 year ago
|
||
Since nightly and release are affected, beta will likely be affected too.
For more information, please visit BugBot documentation.
Comment 2•1 year ago
|
||
On clicking the button, I see a
Uncaught TypeError: can't access property "innerText", document.querySelector(...) is null
but no idea what it's looking for.
Comment 3•1 year ago
|
||
Here's a profile for that infinite stuck https://share.firefox.dev/4bGK9jx with nsHttp:5 logging enabled
It looks like we never finish the https://apicm.copaair.com/loyalty/createProfile request.
I wonder if necko folks can take a look about this first.
Comment 4•1 year ago
|
||
there's definitely something networking related happening.
I see the following in wireshark:
TLSv1.3 Record Layer: Alert (Level: Warning, Description: Close Notify)
Opaque Type: Application Data (23)
Version: TLS 1.2 (0x0303)
Length: 19
[Content Type: Alert (21)]
Alert Message
Level: Warning (1)
Description: Close Notify (0)
Unclear if the server is broken by itself, or if we are doing something wrong.
Comment 5•1 year ago
|
||
Kershaw - can you take a look since Valentin is on PTO for 2 weeks? Thanks
Updated•1 year ago
|
Comment 6•1 year ago
|
||
The bug seems to reproduce only in Firefox, when HTTP/2 is enabled
It works in Chrome and Safari.
Turning off HTTP/2 seems to make it work.
The GoAway i was seeing earlier was on a backup connection, and TLS Alert, so not really relevant, but the request does seem to stall.
I'm currently looking at what exactly is different between the Chrome request and Firefox request, but this does seem to be a difference.
I also did a mozregression back to Fx 90, and could still reproduce the bug. Either this is a corner case in our implementation, or an issue with the server, but given that it only happens in Firefox, I'd say it's probably Firefox's fault.
Comment 7•1 year ago
|
||
This is actually a site problem.
Opening https://apicm.copaair.com/loyalty/createProfile in a new tab times out, while opening https://apicm.copaair.com/loyalty/ returns immediately.
The User-Agent header didn't seem to impact this.
I copied the request as curl, and it also timed out when loaded via curl.
Removing arguments one by one, I narrowed it down to curl 'https://apicm.copaair.com/loyalty/createProfile' -H 'TE: trailers' -v
It seems it's the TE: trailers header is the one causing the issue.
Comment 8•1 year ago
|
||
I sent an email to HelpDesk@copaair.com notifying them of the issue.
Dennis, I think we can theoretically also ship an intervention where we clear the header prior to sending the request?
Is this important enough to do that?
Updated•1 year ago
|
Comment 9•1 year ago
|
||
Sorry for the delay here. This is a top-1k site in some country, so this is absolutely worth investigating. We can do pretty much everything if we want to, I'll let Tom decide if this is easy-enough to create an intervention for.
| Assignee | ||
Comment 10•1 year ago
|
||
I wrote an intervention to alter the TE header, but it's not working. I've tried altering the header for just https://apicm.copaair.com/loyalty/createProfile* or the whole site, to remove the header or change it to or deflate;q=0.5, but the site still gives the same innerText error, and the POST request just seems to hang there. Is there more to the story here, Valentin? I'll attach my patch (I've confirmed the TE header is being changed on the requests).
| Assignee | ||
Comment 11•1 year ago
|
||
Comment 12•1 year ago
•
|
||
Thanks for the patch Tom. I've looked into it, and came across these comments in mozilla::net::Http2Compressor::EncodeHeaderBlock and mozilla::net::nsHttpTransaction::OnActivated
It seems "TE" is the one header that we can't clear using this code.
Comment 13•1 year ago
|
||
There are two workarounds for this issue:
- Disable HTTP/2 support via
network.http.http2.enabled= false - Setting nsIHttpChannelInternal::allowSpdy to false on the channel. Unfortunately I don't think we can do this via the webextension API, so it seems unlikely we can ship an intervention for it.
| Assignee | ||
Comment 14•1 year ago
|
||
Yes, realistically we're stuck here as far as interventions go. Ideally we either add a per-site pref to force specific origins/match-patterns to not use http2, or change the code Valentin found in comment 12 to allow at least the webcompat addon to alter that header. Either will require Gecko changes that our webcompat addon can't do on its own.
| Assignee | ||
Updated•1 year ago
|
Comment 15•1 year ago
|
||
I've called support and they've instructed me how to file a ticket on the website.
Now waiting for a reply:
Case Number: 3263049
Estimated response time: a maximum of 15 days.
Updated•1 year ago
|
Comment 16•1 year ago
|
||
First reply:
We could not validate bugs or errors during the registration process using Firefox. We will notify our web support team for further validation.
Comment 17•1 year ago
|
||
Valentin, do we understand why this isn't happening in Chrome?
Comment 18•1 year ago
|
||
Because they don't set the TE: trailers header - presumably because they don't support any trailers:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Trailer
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Server-Timing
| Assignee | ||
Comment 19•1 year ago
•
|
||
I wonder.. could we make it possible just for addons (or even only the webcompat addon) to remove/change the TE header (and any other such unforgeable headers within reason)? It might be worth doing so, in case we run into other cases where a site isn't as responsive.
Comment 20•1 year ago
|
||
I posted a patch on bug 1971725 to allow stripping the TE headers.
I think this is the only such header that we couldn't normally overwrite. The first revision will not set the TE: trailers header if the requestHead contains "te": "moz_no_te_trailers":
channel.setRequestHeader("TE", "moz_no_te_trailers", false);
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 21•1 year ago
|
||
Updated•1 year ago
|
Updated•1 year ago
|
Comment 22•1 year ago
|
||
Comment 23•1 year ago
|
||
| bugherder | ||
| Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 24•1 year ago
|
||
The site seems to have fixed this now, so I'll remove the intervention.
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 25•1 year ago
|
||
Comment 26•1 year ago
|
||
Comment 27•1 year ago
|
||
| bugherder | ||
Updated•1 year ago
|
| Reporter | ||
Comment 28•1 year ago
|
||
Verified, the issue is still reproducible with the RC build.
Tested with:
- Browser / Version: Firefox 142.0-candidate build 1
- Operating System: Windows 10
| Reporter | ||
Updated•1 year ago
|
| Reporter | ||
Updated•1 year ago
|
Comment 29•1 year ago
|
||
Thomas, maybe (In reply to Thomas Wisniewski [:twisniewski][PTO August 18-22] from comment #24)
The site seems to have fixed this now, so I'll remove the intervention.
Was the site not actually fixed, or maybe they rolled back the fix?
Should we reland the intervention?
| Assignee | ||
Comment 30•1 year ago
|
||
Yes, it looks like they must have changed their site back to the version broken in Firefox. I'll re-ship the intervention ASAP.
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 31•1 year ago
|
||
Comment 32•1 year ago
|
||
Comment 33•1 year ago
|
||
| bugherder | ||
Updated•1 year ago
|
Updated•9 months ago
|
Comment 34•9 months ago
|
||
This seems fixed, leaving open since there is an intervention in place.
Updated•7 months ago
|
Updated•7 months ago
|
Description
•