Disable onboarding when using Marionette
Categories
(Remote Protocol :: Marionette, enhancement, P3)
Tracking
(Not tracked)
People
(Reporter: davehunt, Unassigned)
Details
User Story
Please read the following document in how to get started: https://firefox-source-docs.mozilla.org/testing/marionette/marionette/NewContributors.html
Attachments
(3 files)
The browser onboarding can be disabled by setting the 'browser.onboarding.enabled' pref to false. This can be added to the RECOMMENDED_PREFS map in testing/marionette/components/marionette.js.
Reporter | ||
Updated•6 years ago
|
Comment 1•6 years ago
|
||
:davehunt May I take this up? Thanks!
Comment 2•6 years ago
|
||
This also needs to be added to the following two locations: https://dxr.mozilla.org/mozilla-central/source/testing/marionette/client/marionette_driver/geckoinstance.py https://dxr.mozilla.org/mozilla-central/source/testing/geckodriver/src/prefs.rs
Comment 3•6 years ago
|
||
Hello, Is this bug open for solving?
Reporter | ||
Comment 4•6 years ago
|
||
> Is this bug open for solving? Yes! If you're interested in working on it I can assign it to you. Have you contributed to mozilla-central previously? If not, you may find https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Introduction a useful place to get started.
Comment 5•6 years ago
|
||
No, This will be my first time and I would like to work on this bug. Thank you
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 6•6 years ago
|
||
I have assigned the bug to you. Please comment here if you need any assistance.
Reporter | ||
Updated•6 years ago
|
Comment 7•6 years ago
|
||
Thank you for assigning the issue.
Comment 8•6 years ago
|
||
Hello, I had started with the issue and understood the changes I need to make to the repo. But I got stuck with part of how to implement the changes with the Mozilla-central and also studied the page directed to me but :( It would be great if I could get a starting on how to proceed. Thank you and sorry for the convience :)
Comment 9•6 years ago
|
||
akshitadvlp, I added a link to our documenation to the user story section. Please read it to know how to get started.
Comment 10•6 years ago
|
||
Otherwise you can also reach out on the #introduction or #ateam IRC channels.
Comment 11•6 years ago
|
||
Hello, I have implemented the changes. It would be really helpful if I can get suggestions on the changes, as the correct files needs to be pushed. https://dxr.mozilla.org/mozilla-central/source/testing/marionette/components/marionette.js : https://ghostbin.com/paste/7fsh6 https://dxr.mozilla.org/mozilla-central/source/testing/marionette/client/marionette_driver/geckoinstance.py : https://ghostbin.com/paste/t2kgo https://dxr.mozilla.org/mozilla-central/source/testing/geckodriver/src/prefs.rs : https://ghostbin.com/paste/mjeot Thank you:)
Comment 12•6 years ago
|
||
akshitadvlp, please see my last comment and the URL I added in the user story section of this bug. When you open it you will find all details under `Work on bugs and get code review`. Just follow the links and read on.
Comment 13•6 years ago
|
||
Hello Henrik, I am following the documentation, thank you for linking that. I just thought to get confirmation about the changes before pushing them now I will upload it through the review part. Thank you and sorry for the inconvenience :)
Comment 14•6 years ago
|
||
We do reviews through our review tools, just to make sure to track remaining issues correctly. So thanks for uploading now.
Comment 15•6 years ago
|
||
Hello, I have made all the changes as mentioned but when pushing to review through ssh. It is giving me an error. remote: Permission denied (public key). abort: no suitable response from remote hg! Can I get a little suggestion on how to move forward? Thank you :)
Comment 16•6 years ago
|
||
Can you please tell me which commands you used to push the changes? Make sure that you run `hg push review`. I assume you missed to specify `review` which indeed will not work. To solve problems like that it is better to reach us on IRC so that we can clarify this directly.
Comment hidden (mozreview-request) |
Comment 18•6 years ago
|
||
Hello, I have submitted a review :)
Comment 19•6 years ago
|
||
mozreview-review |
Comment on attachment 8961996 [details] bug 1443572 https://reviewboard.mozilla.org/r/230844/#review236332 Code analysis found 3 defects in this patch: - 3 defects found by mozlint You can run this analysis locally with: - `./mach lint path/to/file` (JS/Python) If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Invalid syntax [py3: is-parseable] ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Invalid syntax [py2: is-parseable] ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Syntaxerror: invalid syntax [flake8: E999]
Comment 20•6 years ago
|
||
mozreview-review |
Comment on attachment 8961996 [details] bug 1443572 https://reviewboard.mozilla.org/r/230844/#review236334 Code analysis found 3 defects in this patch: - 3 defects found by mozlint You can run this analysis locally with: - `./mach lint path/to/file` (JS/Python) If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Invalid syntax [py3: is-parseable] ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Invalid syntax [py2: is-parseable] ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Syntaxerror: invalid syntax [flake8: E999]
Comment 21•6 years ago
|
||
mozreview-review |
Comment on attachment 8961996 [details] bug 1443572 https://reviewboard.mozilla.org/r/230844/#review236336 Code analysis found 3 defects in this patch: - 3 defects found by mozlint You can run this analysis locally with: - `./mach lint path/to/file` (JS/Python) If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Invalid syntax [py3: is-parseable] ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Invalid syntax [py2: is-parseable] ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Syntaxerror: invalid syntax [flake8: E999]
Comment 22•6 years ago
|
||
mozreview-review |
Comment on attachment 8961996 [details] bug 1443572 https://reviewboard.mozilla.org/r/230844/#review236338 Code analysis found 3 defects in this patch: - 3 defects found by mozlint You can run this analysis locally with: - `./mach lint path/to/file` (JS/Python) If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Invalid syntax [py3: is-parseable] ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Invalid syntax [py2: is-parseable] ::: testing/marionette/client/marionette_driver/geckoinstance.py:369 (Diff revision 1) > "browser.snippets.enabled": False, > "browser.snippets.syncPromo.enabled": False, > "browser.snippets.firstrunHomepage.enabled": False, > > + # (bug 1443572) > + "browser.onboarding.enabled", False, Error: Syntaxerror: invalid syntax [flake8: E999]
Comment 23•6 years ago
|
||
akshitadvlp, please check the review comments from the code review bot which you want to fix. Also make sure that you run the Marionette unit tests locally to make sure that the code is working. Right now you will see a couple of exceptions. Once it has been done and you updated the mozreview patch, make also sure to flag me as reviewer of the patch inside of mozreview. Thanks.
Comment 24•6 years ago
|
||
Thank you the guidance. I will implement the changes and revert you asap.
Updated•6 years ago
|
Comment 25•6 years ago
|
||
The system I had made the setup for Mozilla-central crashed and I have been waiting for it to get repaired to complete the bug.
Comment 26•6 years ago
|
||
I wonder if you will have the time to finish your patch. If not please let us know. Thanks.
Updated•6 years ago
|
Comment 27•6 years ago
|
||
As @whimboo suggested, I'll start working on this bug as soon as I can.
Comment hidden (mozreview-request) |
Comment 29•6 years ago
|
||
mozreview-review |
Comment on attachment 8983511 [details] Bug 1443572 - Disable Photon onboarding experience for Marionette and geckodriver https://reviewboard.mozilla.org/r/249362/#review255538 I did not know what tests to run, so I was about to run the unit tests, but I needed a build and it was taking a lot of time, so I pushed this to review, so that the try server can find all the errors. ::: testing/geckodriver/src/prefs.rs:47 (Diff revision 1) > > // Never start the browser in offline mode > ("browser.offline", Pref::new(false)), > > + // Disable browser onboarding > + // (bug 1443572) I am doubtful that this comment is needed, but I saw a similar comment on line 28 and kept it.
Comment 30•6 years ago
|
||
mozreview-review |
Comment on attachment 8983511 [details] Bug 1443572 - Disable Photon onboarding experience for Marionette and geckodriver https://reviewboard.mozilla.org/r/249364/#review255718 ::: commit-message-89d79:1 (Diff revision 1) > +Bug 1443572 - Disabled browser onboarding when using Marionette r?whimboo Please adjust so it looks like: `Bug 1443572 - Disable Photon onboarding experience for Marionette and geckodriver.` ::: testing/geckodriver/src/prefs.rs:11 (Diff revision 1) > // channel builds of Firefox. Removing a preference from this file > // will cause regressions, so please be careful and get review from > // a Testing :: Marionette peer before you make any changes to this file. > > lazy_static! { > pub static ref DEFAULT: [(&'static str, Pref); 80] = [ You added a pref so the length of the list also needs to be bumped up. Please note that I landed huge changes to that file yesterday, which means you have to rebase your bookmark against central, after pulling from it. Currently you wont be able to compile geckodriver. Try it out yourself by changing into `testing/geckodriver` and call `cargo build`. ::: testing/geckodriver/src/prefs.rs:47 (Diff revision 1) > > // Never start the browser in offline mode > ("browser.offline", Pref::new(false)), > > + // Disable browser onboarding > + // (bug 1443572) Lets name it "Disable Photon onboarding experience". Also there is no need to add the bug number here because there is nothing left to do. ::: testing/marionette/client/marionette_driver/geckoinstance.py:381 (Diff revision 1) > fennec_prefs = { > # Enable output of dump() > "browser.dom.window.dump.enabled": True, > > + # Disable browser onboarding > + # (bug 1443572) Photon is Firefox only. So we don't need it for the Fennec instance. ::: testing/marionette/client/marionette_driver/geckoinstance.py:523 (Diff revision 1) > # Do not show the EULA notification which can interfer with tests > "browser.EULA.override": True, > > + # Disable browser onboarding > + # (bug 1443572) > + "browser.onboarding.enabled": False, Same as for my comment for prefs.rs. Please update. ::: testing/marionette/components/marionette.js:97 (Diff revision 1) > // as it is picked up at runtime. > ["browser.offline", false], > > + // Disable browser onboarding > + // (bug 1443572) > + ["browser.onboarding.enabled", false], Same as above.
Comment hidden (mozreview-request) |
Comment 32•6 years ago
|
||
As I mentioned on IRC, I do not see "browser.onboarding.enabled" as false, which I have set in the files. I believe I checked what bookmark I was on, and also verified that the files had it set as false. @whimboo mentioned about using unpatched Marionette, but I do not understand how to do that.
Comment 33•6 years ago
|
||
mozreview-review |
Comment on attachment 8983511 [details] Bug 1443572 - Disable Photon onboarding experience for Marionette and geckodriver https://reviewboard.mozilla.org/r/249364/#review256468 ::: testing/marionette/client/marionette_driver/geckoinstance.py:518 (Diff revision 2) > > # Do not show the EULA notification which can interfer with tests > "browser.EULA.override": True, > > + # Disable Photon onboarding experience > + "broswer.onboarding.enabled": False, This should be `browser`.
Comment 34•6 years ago
|
||
(In reply to Aditya Khadse from comment #32) > As I mentioned on IRC, I do not see "browser.onboarding.enabled" as false, > which I have set in the files. I believe I checked what bookmark I was on, > and also verified that the files had it set as false. @whimboo mentioned > about using unpatched Marionette, but I do not understand how to do that. As noted in my review there is a spelling mistake which causes the appropriate pref not to appear as false when testing with Marionette. Anyway, in your case you should always see the blue box at the top-left corner when opening a new tab.
Comment 35•6 years ago
|
||
Aditya, are you going to finish off this patch? Please let us know. Thanks.
Comment 36•6 years ago
|
||
I'm extremely sorry but I have been busy with my college and was unable to continue working on this. I'll need some time to get back to this and will try to upload a patch within a few hours. Sorry for the inconvenience.
Comment hidden (mozreview-request) |
Comment 38•6 years ago
|
||
mozreview-review |
Comment on attachment 8983511 [details] Bug 1443572 - Disable Photon onboarding experience for Marionette and geckodriver https://reviewboard.mozilla.org/r/249364/#review269400 ::: testing/geckodriver/src/prefs.rs:11 (Diff revision 3) > // channel builds of Firefox. Removing a preference from this file > // will cause regressions, so please be careful and get review from > // a Testing :: Marionette peer before you make any changes to this file. > > lazy_static! { > - pub static ref DEFAULT: [(&'static str, Pref); 52] = [ > + pub static ref DEFAULT: [(&'static str, Pref); 53] = [ This change cannot be applied anymore because your local checkout of mozilla-central is too old. Please run a pull -u on central, and fix this merge conflict. ::: testing/marionette/client/marionette_driver/geckoinstance.py:518 (Diff revision 3) > > # Do not show the EULA notification which can interfer with tests > "browser.EULA.override": True, > > + # Disable Photon onboarding experience > + "broswer.onboarding.enabled": False, As mentioned already last time there is a spelling error. That's why onboarding is not getting disabled.
Comment 39•6 years ago
|
||
It looks like that in recent versions of Nightly the notification isn't shown anymore. Instead there is an indication with a small blue dot on the Nightly logo of `about:newtab`. Anyway, I think it's still worth fixing it.
Comment 40•6 years ago
|
||
(In reply to Henrik Skupin (:whimboo) from comment #39) > It looks like that in recent versions of Nightly the notification isn't > shown anymore. Instead there is an indication with a small blue dot on the > Nightly logo of `about:newtab`. Anyway, I think it's still worth fixing it. Then it should be added with a comment saying when it can be removed.
Comment 41•6 years ago
|
||
(In reply to Andreas Tolfsen 「:ato」 from comment #40) > Then it should be added with a comment saying when it can be removed. No, we should keep it until it completely got removed. Also as for any guided tour this can change again over time.
Updated•5 years ago
|
Comment 42•2 years ago
|
||
The browser.onboarding.enabled pref doesn't exist anymore. We should either update this bug to reflect whatever current prefs need changing (if any) or close this out if there's nothing left to do.
Comment 43•2 years ago
|
||
Thanks for letting us know Ryan. I had a look and found bug 1462415 which removed the onboarding system addon in favor of a more simplified version in Firefox 64. But I'm not sure if there are any preferences that we may have to disable for the new onboarding experience.
Gijs, is there anything you would have in mind? If not we probably should close this old bug. Thanks.
Comment 44•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+1] from comment #43)
Thanks for letting us know Ryan. I had a look and found bug 1462415 which removed the onboarding system addon in favor of a more simplified version in Firefox 64. But I'm not sure if there are any preferences that we may have to disable for the new onboarding experience.
Gijs, is there anything you would have in mind? If not we probably should close this old bug. Thanks.
I don't work on onboarding, 302 Mardak.
Comment 45•2 years ago
|
||
I had to grab an old build to remind myself what this was. Did it need to be disabled to avoid changing the interface? Looks like it decides to show a message on about:newtab potentially covering the search box or other UI.
There is a browser.aboutwelcome.enabled
pref but toggling that will result in it opening about:newtab instead of about:welcome.
New user onboarding now is only shown for a brand new profile and doesn't change other UIs like about:newtab, so I don't think a new pref needs to be set (as has been the case for the past 40+ versions ?), so the outdated pref can be removed.
Comment 46•2 years ago
|
||
Thanks Ed! So basically there was the request to get this preference added but we actually never did. At the end we weren't that much affected at least in CI because new tabs are getting opened with about:blank
by default. Only users who are modifying the pref which controls if the new tab page should be opened might have seen it.
I think that the only remaining question here would be if there is some other pref we would like to have to set? Which affect das browser.aboutwelcome.enabled
have when the new tab page is enabled/disabled? Also what does the welcome page do? For us it would be important because in most of the cases Marionette/geckodriver will use a fresh Firefox profile for the tests. And we don't want to have some overlays covering parts of the page as shown in the currently selected tab.
Comment 47•2 years ago
|
||
about:welcome disabled via the pref ends up loading the contents of about:home/newtab. In either case, the content loaded stays within the tab without overlaying outside of its page.
Comment 48•2 years ago
|
||
Ok, so it sounds like as long as we do not open about:welcome
we won't be affected with any onboarding experience, and as such the following preferences that we set should be enough:
Closing as invalid given that there is nothing to fix.
Updated•1 year ago
|
Description
•