Date of birth field on orbitz.com travelers section doesn't accept valid input in Nightly

NEW
Assigned to

Status

Tech Evangelism
Desktop
4 months ago
12 days ago

People

(Reporter: cmore, Assigned: karlcow)

Tracking

Firefox 55

Firefox Tracking Flags

(firefox54 unaffected, firefox55 disabled, firefox56+ wontfix, firefox57+ wontfix, firefox58 affected)

Details

(Whiteboard: [sitewait], URL)

Attachments

(2 attachments)

(Reporter)

Description

4 months ago
Steps to reproduce:

1) Create an account on orbitz.com

2) Go to: https://www.orbitz.com/user/account

3) Click "other travelers"

4) Make up a name and try to enter a date into the birth date field.

5) Click save at the bottom.

Expected results:

Travler saved

Actual results:

Error saying "invalid date or format".

It is difficult to use the date picker to start let alone submit the form. No matter if I put in a valid date or not, I get the invalid date format error.

It works perfectly fine in Firefox 54.0 release or Chrome, but not in Fx 56.01a. When I got this error, I had to use another browser to book a flight.
(Reporter)

Comment 1

4 months ago
Created attachment 8880983 [details]
Orbitz date picker for DOB for travler
(Reporter)

Comment 2

4 months ago
Created attachment 8880984 [details]
DOB error
Jessica, this sounds like it might be a regression caused by us implementing input type=date, can you investigate / forward to someone who can?
Component: General → Untriaged
Flags: needinfo?(jjong)
Keywords: regression, regressionwindow-wanted
Product: Firefox → Core

Comment 4

4 months ago
[Tracking Requested - why for this release]:

[Tracking Requested - why for this release]: Break web page

Regression window (with dom.forms.datetime;true):
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=3e6775cee4f7098f4d11bdd452c276a56ac1f29a&tochange=feaeb4c4a1149a7925e9d0e32a61fde7ad74b8f2

Regressed by Bug 1346085
Blocks: 1346085
status-firefox54: --- → unaffected
status-firefox55: --- → disabled
status-firefox56: --- → affected
tracking-firefox56: --- → ?
Component: Untriaged → Layout: Form Controls
Keywords: regressionwindow-wanted
Version: unspecified → 55 Branch
From the network monitor, I see the same form data sent to the server from Chrome and from Firefox Nightly, that is, for example:

{"first_name":"nj","middle_name":"","last_name":"kk","dob":"2017-06-01","primaryCountryCode":"1","phone_number":"","altCountryCode":"1","alt_phone_number":"","emergencyContactFirstName":"","emergencyContactLastName":"","engcyCountryCode":"1","emergencyContactPhoneNumber":"","alpha3PrimaryCountryCode":"usa","alpha3AltCountryCode":"usa","alpha3EngcyCountryCode":"usa"}

I wonder if the server is doing anything special when the UA is Firefox/Gecko, since I used "Edit and Resend" to change the UA part and then everything worked fine.

Is there a way to confirm this?
Flags: needinfo?(jjong)

Comment 6

4 months ago
(In reply to Jessica Jong [:jessica] from comment #5)
> From the network monitor, I see the same form data sent to the server from
> Chrome and from Firefox Nightly, that is, for example:
> 
> {"first_name":"nj","middle_name":"","last_name":"kk","dob":"2017-06-01",
> "primaryCountryCode":"1","phone_number":"","altCountryCode":"1",
> "alt_phone_number":"","emergencyContactFirstName":"",
> "emergencyContactLastName":"","engcyCountryCode":"1",
> "emergencyContactPhoneNumber":"","alpha3PrimaryCountryCode":"usa",
> "alpha3AltCountryCode":"usa","alpha3EngcyCountryCode":"usa"}
> 
> I wonder if the server is doing anything special when the UA is
> Firefox/Gecko, since I used "Edit and Resend" to change the UA part and then
> everything worked fine.
> 
> Is there a way to confirm this?

I can confirm that UA spoofing fixis the problem, I.e., Setting "general.useragent.override" to "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36" also fix the problem.

So, it seems the site are doing different processing for each UA, and this is the site problem.

Tech evangelism?
Keywords: regression
Karl, is this something you could help with? Do you know if we have contacts at Orbitz?
Component: Layout: Form Controls → Desktop
Flags: needinfo?(kdubost)
Product: Core → Tech Evangelism
Version: 55 Branch → Firefox 55
(Assignee)

Comment 8

4 months ago
POST /users/189237532/addassociated HTTP/1.1
Host: www.orbitz.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.orbitz.com/user/account
Content-Type: application/json
X-Requested-With: XMLHttpRequest
Content-Length: 370
Cookie: *** long cookie string ***
Connection: keep-alive

{"first_name":"Foo","middle_name":"","last_name":"Bar","dob":"2017-06-06","primaryCountryCode":"1","phone_number":"","altCountryCode":"1","alt_phone_number":"","emergencyContactFirstName":"","emergencyContactLastName":"","engcyCountryCode":"1","emergencyContactPhoneNumber":"","alpha3PrimaryCountryCode":"usa","alpha3AltCountryCode":"usa","alpha3EngcyCountryCode":"usa"}


{
  "exception": "Unable to parse date of birthjava.text.ParseException: Unparseable date: \"2017-06-06\"",
  "success": "0",
  "omnitureData": "{\"accountName\":\"10207aidepxe\",\"omnitureProperties\":{\"charSet\":\"UTF-8\",\"eVar56\":\"notRewardsMember\",\"server\":\"www.orbitz.com\",\"eVar55\":\"authenticated | full | EMAIL\",\"eVar54\":\"1033\",\"eVar18\":\"D\\u003dpageName\",\"eVar17\":\"D\\u003dpageName\",\"pageName\":\"page.Account.MyAccount\",\"list1\":\"11918.1|12520.0|99991.0\",\"activityId\":\"3a863a4e-00e0-4a0a-88e9-70a79ff32dce\",\"prop30\":\"1033\",\"prop11\":\"189237532\",\"prop10\":\"3a863a4e-00e0-4a0a-88e9-70a79ff32dce\",\"userType\":\"AUTHENTICATED\",\"prop13\":\"201442670\",\"prop12\":\"d65a0c18-f061-4d88-82e8-ec94480411d3\",\"eVar40\":\"NoPartnerTier\",\"prop14\":\"9a9e0042c34e72b4d3a49cce866c194139f11ca357003817d245a2fde885824d\"}}",
  "errorCode": "INVALID_DATE",
  "id": 189237532,
  "email": "mozwebqa@****.***"
}
Flags: needinfo?(kdubost)
Whiteboard: [needscontact]
(Assignee)

Comment 9

4 months ago
so at least we know that their issue is happening at 
  "exception": "Unable to parse date of birthjava.text.ParseException: Unparseable date: \"2017-06-06\"",
(Assignee)

Comment 10

4 months ago
I had a contact 4 years ago. I can try again.


Oh but wait… We are not sending the same thing than Safari.

* Safari/Chrome  "dob": "11/10/1985",
* Firefox        "dob": "2017-06-06",


So maybe there is something else before. We need to handle ;)

What the browser sent (Firefox) HTTP POST data:


{
  "first_name": "Foo",
  "middle_name": "",
  "last_name": "Bar",
  "dob": "2017-06-06",
  "primaryCountryCode": "1",
  "phone_number": "",
  "altCountryCode": "1",
  "alt_phone_number": "",
  "emergencyContactFirstName": "",
  "emergencyContactLastName": "",
  "engcyCountryCode": "1",
  "emergencyContactPhoneNumber": "",
  "alpha3PrimaryCountryCode": "usa",
  "alpha3AltCountryCode": "usa",
  "alpha3EngcyCountryCode": "usa"
}


What the browser sent (Safari) HTTP POST data:

{
  "first_name": "foo",
  "middle_name": "",
  "last_name": "bar",
  "dob": "11/10/1985",
  "primaryCountryCode": "1",
  "phone_number": "",
  "altCountryCode": "1",
  "alt_phone_number": "",
  "emergencyContactFirstName": "",
  "emergencyContactLastName": "",
  "engcyCountryCode": "1",
  "emergencyContactPhoneNumber": "",
  "alpha3PrimaryCountryCode": "usa",
  "alpha3AltCountryCode": "usa",
  "alpha3EngcyCountryCode": "usa"
}


When it's working the browser receives (Safari):

{
    "success": "1",
    "omnitureData": "{\"accountName\":\"10207aidepxe\",\"omnitureProperties\":{\"charSet\":\"UTF-8\",\"eVar56\":\"notRewardsMember\",\"server\":\"www.orbitz.com\",\"eVar55\":\"authenticated | full | EMAIL\",\"eVar54\":\"1033\",\"eVar18\":\"D\\u003dpageName\",\"eVar17\":\"D\\u003dpageName\",\"eVar28\":\"Account.Traveler.Add.Success\",\"pageName\":\"page.Account.AssociatedTravelers\",\"list1\":\"99991.0|11918.1|99991.0\",\"activityId\":\"49ca053d-eb7a-4b01-8dc0-7adaaa8f165d\",\"prop16\":\"Account.Traveler.Add.Success\",\"prop30\":\"1033\",\"prop11\":\"189237532\",\"prop10\":\"49ca053d-eb7a-4b01-8dc0-7adaaa8f165d\",\"userType\":\"AUTHENTICATED\",\"prop13\":\"201442670\",\"prop12\":\"30ca6335-d82e-47fd-9515-f5fa265aa9f0\",\"eVar40\":\"NoPartnerTier\",\"events\":\"event27\",\"prop14\":\"9a9e0042c34e72b4d3a49cce866c194139f11ca357003817d245a2fde885824d\"}}",
    "id": 189237532,
    "email": "mozwebqa@*******"
}
(Assignee)

Comment 11

4 months ago
The markup associated.
<input id="assoDOB" name="dob" placeholder="mm/dd/yyyy" typebuffer="" type="date">
I also noticed that in nightly devtools. it display an empty event. Opening a bug for this.
(In reply to Karl Dubost :karlcow from comment #10)
> I had a contact 4 years ago. I can try again.
> 
> 
> Oh but wait… We are not sending the same thing than Safari.
> 
> * Safari/Chrome  "dob": "11/10/1985",
> * Firefox        "dob": "2017-06-06",
> 

Safari doesn't support <input type=date>, so it's shown as a regular textbox with placeholder "mm/dd/yyyy". I think the server might be expecting the format "mm/dd/yyyy" from Firefox too, because we didn't support <input type=date>, until now. Now, we send the date in the same format as Chrome, that is, "yyyy-mm-dd", which is defined in the spec.
(Assignee)

Comment 13

4 months ago
In Opera (Blink),


{
  "alpha3AltCountryCode": "usa",
  "alpha3EngcyCountryCode": "usa",
  "alpha3PrimaryCountryCode": "usa",
  "altCountryCode": "1",
  "alt_phone_number": "",
  "dob": "2015-06-17",
  "emergencyContactFirstName": "",
  "emergencyContactLastName": "",
  "emergencyContactPhoneNumber": "",
  "engcyCountryCode": "1",
  "first_name": "foo ",
  "last_name": "bar",
  "middle_name": "bar",
  "phone_number": "",
  "primaryCountryCode": "1"
}

so indeed server side user agent sniffing. I guess the best solution for them is to avoid server side UA sniffing and accept the two formats. 

I tried to renew an old contact, but the person left.
orbitz is part of expedia. I will dig for a contact.

Thanks.
Assignee: nobody → kdubost
Track 56+ as broken web page.
tracking-firefox56: ? → +
Karl, any luck on contacts?
Flags: needinfo?(kdubost)
(Assignee)

Comment 16

3 months ago
There are two github repos for Expedia 
@ExpediaDotCom and @ExpediaInc
and Orbitz has on GitHub
@OrbitzWorldwide

Let's try with https://github.com/neuroshock

Contacted today
Flags: needinfo?(kdubost)
(Assignee)

Updated

3 months ago
Whiteboard: [needscontact] → [sitewait]
(Assignee)

Comment 17

3 months ago
Trying another contact.
David Strugnell at Expedia.
https://twitter.com/struggyone
https://github.com/struggyone
I tried writing to a couple of people through LinkedIn contacts. 
Do we know it's still broken in 56/57?
(Reporter)

Comment 19

2 months ago
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #18)
> I tried writing to a couple of people through LinkedIn contacts. 
> Do we know it's still broken in 56/57?

I just tested it in the latest nightly 57 and still doesn't work. I can now save the initial form, but it doesn't save anything and when I edit it and try to use the date picker, I get the same error as comment 0. So, in this case, I would have to use Chrome if this happened.
Mark 56 won't fix as we are only 1 week from RC.
status-firefox56: affected → wontfix
status-firefox57: --- → affected
tracking-firefox57: --- → +
Adam, do you think you might be able to find some contacts via LinkedIn for this one?
Flags: needinfo?(astevenson)
Sure, reaching out to Kevin Bess https://www.linkedin.com/in/krbess/.
Flags: needinfo?(astevenson)
Doesn't look like they are answering, marking this fix-optional for 57. 
I messaged another possible contact from Orbitz with a link to this bug.
status-firefox57: affected → wontfix
status-firefox58: --- → affected
I also reported the issue as "feedback" on both Expedia and Orbitz support sites with a link to the bug and a request that the feedback be passed on to a web dev or engineering team.
You need to log in before you can comment on or make changes to this bug.