Buildbot retriggers on iOS webkit (Safari or Firefox on iOS) do not display auth dialogue

RESOLVED WONTFIX

Status

RESOLVED WONTFIX
2 years ago
10 months ago

People

(Reporter: jya, Unassigned)

Tracking

Details

(Reporter)

Description

2 years ago
This used to work not that long ago.

Selecting a job and pressing R or using UI to do so (retrigger job). It asks to login just fine and will show the pop up "retrigger request sent"

But the job actually never starts. Must use a desktop.

Tested on either iPhone 6 or iPad Pro, running iOS 9

Comment 1

2 years ago
Could you give a link to specific push and job type that doesn't retrigger? (Retriggering is implemented differently for say buildbot jobs vs taskcluster ones)

Also, is the Persona email you are using a @mozilla.com one?

Updated

2 years ago
Flags: needinfo?(jyavenard)

Updated

2 years ago
Summary: Can't retrigger job on TreeHerder web site with either Safari or Firefox → Can't retrigger jobs with either Safari or Firefox
(Reporter)

Comment 2

2 years ago
any one there will do:
https://treeherder.mozilla.org/#/jobs?repo=try&author=jyavenard@mozilla.com

it's the same regardless of the job type.

Yes, my persona is @mozilla.com
Flags: needinfo?(jyavenard)

Comment 3

2 years ago
In addition to being logged in via Persona, are you also seeing the HTTP auth login for buildbot retriggers?

I've just tested retriggering in desktop Firefox and it works fine for me. I don't have an iphone on which to test. Is localstorage and/or referrers disabled on the iphone browsers?
(Reporter)

Comment 4

2 years ago
(In reply to Ed Morley [:emorley] from comment #3)
> In addition to being logged in via Persona, are you also seeing the HTTP
> auth login for buildbot retriggers?

yes, I have to login there too before I see the pop up that the job was retriggered.

> 
> I've just tested retriggering in desktop Firefox and it works fine for me. I
> don't have an iphone on which to test. Is localstorage and/or referrers
> disabled on the iphone browsers?

Oh, it works well from desktop firefox. It's iOS based browser that is the problem (I haven't tested using Safari on mac desktop)
(Reporter)

Updated

2 years ago
Summary: Can't retrigger jobs with either Safari or Firefox → Can't retrigger jobs with either Safari or Firefox on iOS

Comment 5

2 years ago
Ah ok.

I've also checked New Relic for any exceptions (though for buildbot retriggers the requests are made directly from the client to the releng-owned buildapi, so we wouldn't see them for that) and didn't see any relating to this.

The only other suggestion I have at this point would be to try using releng's self-serve directly (eg https://secure.pub.build.mozilla.org/buildapi/self-serve/try/rev/0ecf8989455013e231085f40db85bacfa1f63692 ; linked from each push on the treeherder UI) to:
(a) see if that works, to narrow things down a bit
(b) use as a workaround in the meantime, if it does work
(Reporter)

Comment 6

2 years ago
Ok.. So I made this one
https://secure.pub.build.mozilla.org/buildapi/self-serve/try/rev/f894927eed82422392cf10f97cce36bb52aa3e28

Triggered 1 then 10.
I can see the stuff queued in the normal TreeHerder interface.

So that works.
I think http://www.engadget.com/2011/03/19/mobile-safaris-privacy-settings-give-web-marketers-headaches/ is still accurate about iOS Safari blocking third party cookies.
So is this just bug 1263731?

Updated

a year ago
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → INCOMPLETE

Updated

a year ago
Resolution: INCOMPLETE → INVALID
(Reporter)

Comment 9

a year ago
How is this an invalid bug?

It is still not working and is an absolute pain.

When our own products do not work with our working tools it is very unfortunate
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Sorry to hear this is still happening. I was going by comment 8 (and the lack of reply to it), which if it's the cause here, makes this bug a dupe of one that was wontfixed.

I don't have an iphone to test this with, so could you confirm whether this still repros with cookies and referrer enabled? If so, any web-console equivalent exceptions would be useful (guess you might need to use any remote developer tool support that might exist for that platform).

(In reply to Jean-Yves Avenard [:jya] from comment #9)
> When our own products do not work with our working tools it is very unfortunate

Firefox for iOS is in a bit of a grey area in that it's not our own web platform, but a wrapper around the webkit/safari for iOS, which is lacking in many regards (depending on version):
https://caniuse.com/#compare=firefox+53,chrome+58,ios_saf+9.3,ios_saf+10.0-10.2,ios_saf+10.3

What version of iOS Safari are you using?
Flags: needinfo?(jyavenard)
(Reporter)

Comment 11

a year ago
(In reply to Ed Morley [:emorley] from comment #10)
> Sorry to hear this is still happening. I was going by comment 8 (and the
> lack of reply to it), which if it's the cause here, makes this bug a dupe of
> one that was wontfixed.

Yes, it is still happening.

> 
> I don't have an iphone to test this with, so could you confirm whether this
> still repros with cookies and referrer enabled? If so, any web-console
> equivalent exceptions would be useful (guess you might need to use any
> remote developer tool support that might exist for that platform).

I don't see a way to disable cookies or change anything related to the referrer in Firefox for iOS. As such, I don't know if they are disabled or not (though I doubt it)

> Firefox for iOS is in a bit of a grey area in that it's not our own web
> platform, but a wrapper around the webkit/safari for iOS, which is lacking
> in many regards (depending on version):
> https://caniuse.com/#compare=firefox+53,chrome+58,ios_saf+9.3,ios_saf+10.0-
> 10.2,ios_saf+10.3

I understand what Firefox for iOS actually is, but that doesn't change my point :)

Having said that, treeherder doesn't work when using safari either (and typically logging in has no effect there either)

> 
> What version of iOS Safari are you using?

I'm using latest iOS 10.3.1
Flags: needinfo?(jyavenard)
I believe you could use https://developer.mozilla.org/en-US/docs/Tools/Valence to debug iOS's Safari. That might let you see what error is blocking things.
I have an iPhone.  I'll try it in just a bit.  Have a meeting in a minute.
Maybe try a buildbot-based job? Maybe it requires a content blocker to be enabled to hit the issue?
Wes: yeah, I think you're right.  I tried a buildbot job on my iPhone and it never went.  Didn't get the doorhanger that I usually get on desktop.  I just immediately get the on-screen notify that the retrigger was sent.  

I know in comment 4, that Jean-Yves said he saw the doorhanger, but I don't get it on iOS.  If that was a misunderstanding, then perhaps FF iOS is just missing that capability.
So trying retriggering a buildbot job on desktop, I get the "Retrigger success" notification in the background even before I've pressed cancel on the HTTP basic auth popup prompt.

So there are two issues:
1) iOS Safari (and this Firefox on iOS) doesn't like HTTP basic auth prompts.
2) The notifications that are shown are talking about the status of the request to treeherder and/or taskcluster retriggers and aren't connected to the buildbot buildapi retriggers, which is confusing.

#1 is presumably not our fault.

#2 is poor UX, and due to the mis-match of retrigger flows due to buildbot vs taskcluster. I've filed bug 1359549 for making this less confusing.

Jean-Yves, can you clarify as to whether you see an HTTP basic auth prompt at all or ...?
s/and this/and thus/
(Reporter)

Comment 19

a year ago
just tried.

and I'm not prompted for a username/password.

I know for certain however that safari/FF on iOS supports basic authentication, I use it with a website of mine...
Flags: needinfo?(jyavenard)
Could you try this?

(In reply to Wes Kocher (:KWierso) from comment #12)
> I believe you could use
> https://developer.mozilla.org/en-US/docs/Tools/Valence to debug iOS's
> Safari. That might let you see what error is blocking things.
Flags: needinfo?(jyavenard)
(Reporter)

Comment 21

a year ago
sorry, but I have no idea what I'm supposed to do with that.

I enabled web inspector on my iphone.
I started Safari on the mac and enabled debugger menu and checked "automatically show web inspector for JSContext"

I then installed the Valence add-on on Firefox on mac (nightly) https://ftp.mozilla.org/pub/labs/fxdt-adapters/mac64/valence-mac64-latest.xpi

not sure if I need to also install https://ftp.mozilla.org/pub/labs/fxdt-adapters/mac64/fxdt-adapters-mac64-latest.xpi as there's no reference to it in the documentation..

I then when on Firefox mac Tools -> Web Developer -> WebIDE

From there in the doc I'm stuck on "Choose your Runtime: Open the runtime list on the right of the toolbar. Under the "Custom" section, choose "Safari, Firefox, and other WebViews on iOS" or "Chrome Desktop". For Android devices, choose "Chrome on Android" in the "USB Devices" section. You may need to accept a debugging connection from your device."

I don't see any of those entries.

There's runtime list. no custom section in there either. There's a "Remote Runtime" button, but that only open a window with localhost:6000
Flags: needinfo?(jyavenard)

Comment 22

11 months ago
Just to check I have a full understanding of this bug:
* it only affects buildbot jobs and not taskcluster
* it only affects iOS webkit and not {Firefox for Android, any desktop browser}
* it is likely due to the HTTP auth dialogue not being shown, meaning the username/password isn't being sent to buildapi
* in addition to the retrigger not occurring, the UX is poor since it shows "success" even though a subset of the requests (the buildapi parts) didn't work - albeit this is filed as the separate bug 1359549
* attempts at debugging on an iOS device haven't been successful / it's not clear how to do so

Is this correct?

If so, my thought is that since:
(a) buildbot is EOL
(b) this only affects iOS webkit
(c) we're now only a team of size two, so have way more bugs to fix than we can handle
(d) Treeherder support for mobile is "best effort" - even on Firefox for Android (and much less than that for iOS webkit)
...we should just wontfix this.

Updated

11 months ago
Summary: Can't retrigger jobs with either Safari or Firefox on iOS → Buildbot retriggers on iOS webkit (Safari or Firefox on iOS) do not display auth dialogue

Updated

10 months ago
Component: Treeherder → Treeherder: Job Triggering & Cancellation

Updated

10 months ago
Status: REOPENED → RESOLVED
Last Resolved: a year ago10 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.