mozilla :: #testpilot

17 May 2017
16:07_6a68doh
16:11chuckpauloiegasSV warning us about QA coming: https://amyslifeingifs.files.wordpress.com/2016/01/beprepared.gif
16:12pauloiegasSVchuck: good one :D
16:17clouserwsorry, forgot I have to be on time to the 9:15 meetings these days so had to bail
16:18fzzzyjgruen: the barberpole behind "Shutting down..." is broken on this pr and I dunno why. Any ideas how that could break? https://github.com/mozilla/testpilot/pull/2447
16:21_6a68fzzzy | lorchard: did I summarize correctly in the etherpad?
16:21fzzzylooking in the dom inspector, the node does have the proper animation: and background-image: properties. weird
16:23lorchard_6a68: Yeah, I think so
16:25_6a68 thanks
16:25_6a68I may as well post to discourse about it
16:30lorchardman... trying to type in etherpad and my browser keeps beachballing for 60 seconds at a time :/
16:31_6a68etherpad literally the laggiest interface on earth
16:31_6a68memorize the number of chars to navigate/delete, then type sentence without any visual feedback
16:37fzzzyafter typing out that list I still think I am leaning towards the bootstrap approach, with the idea that we would try to move to the api experiment approach in, say, 6 months or something
16:37fzzzybut i wouldn't mind going right for the api experiment approach, with the understanding that we are more likely to run into roadblocks
16:37_6a68oh hell no, I forgot etherpad bullet points are lost when copy-pasting
16:38lorchardThe main issue I have with the bootstrap approach is we have to rebuild all experiments if we ever want to change anything in the bootstrap
16:38JSON_voorheesfzzzy: is there a way for me to run just one test at a time?
16:38JSON_voorheestrying to run the experiment page test
16:41lorchardMan, I'm super ready to upgrade this laptop heh
16:42fzzzyJSON_voorhees: i do not know the answer but i would also like to know the answer
16:42_6a68posted to discourse https://discourse.mozilla-community.org/t/discussion-notes-migrating-away-from-the-sdk/15670
16:43_6a68lorchard: yeah, I agree. it's also a lot more tooling work to make sure our embedding thing works with webpack et al
16:44lorchardAlso depends on how much we want to dictate to experiment authors I guess
16:44_6a68it's like a whole separate API surface to consider in addition to the APIs we want to provide to the code
16:44JSON_voorhees:) fzzzy
16:45JSON_voorheesI can't seem to figure out why this test is failing, I need to get it to log to the console
16:45lorchardJSON_voorhees fzzzy Are you guys talking about frontend tests?
16:45JSON_voorheeslorchard: yea
16:45fzzzylorchard: i think so
16:45lorchardIt's just mocha... you can take the command from package.json and put the filename of a test in rather than --recursive
16:46JSON_voorheesahh okay
16:46fzzzynice, thanks
16:46lorchardhttp://mochajs.org
16:46lorchardAt least I think that's all you have to do
16:47JSON_voorheesgod it's such a pretty day today, if only i wasn't sneezing every 30 seconds
16:47JSON_voorheesi didn't have allergies on the west coast, now that I'm back over here I got them back
16:48lorchardYeah, so I think something like cd frontend && ../node_modules/.bin/mocha --require babel-register --require test-setup.js test/app/containers/ExperimentPage-test.js
16:48_6a68JSON_voorhees: heh, my west coast allergies never stop, since it never gets cold
16:48lorcharda little complicated by paths and such
16:48_6a68they were not bad when I lived back east \_()_/
16:50JSON_voorheesfunny I always thought they were worse the closer you are to were you grew up
16:50JSON_voorhees*shrug*
16:50JSON_voorheesnever been told that, just anecdotal
16:58jgruenfzzzy i saw that bug
16:58jgrueni can take a look
16:58fzzzyjgruen: you'll need to look on that branch
16:59jgruenkk
17:00fzzzyjgruen: never mind i figured it out
17:01fzzzyit's because opacity: 0
17:01clouserwI got my very first iphone yesterday. send me your tips, tricks, and sweet apps!
17:03fzzzyall i ever use on the iphone is notes, reminders, messages, and the wunderground app
17:30_6a68I use gmaps, authenticator, irccloud, firefox, youtube, spotify everyday. pythonista is cool but i rarely open it. safari has a really slick app called queue, if you like to read tech books on your phone
17:31_6a68Product people probably have cooler recs ;-)
17:32_6a68I do sync some notes between my work laptop and phone. and moment makes a really great camera app
17:49jgruenfzzzy: oh yeah, there was some reason i did that
17:50fzzzyjgruen: it's fixed, I had to make the one that had opacity: 1 use a more specific selector than the one that specified opacity: 0
17:56fzzzylorchard: do you know how the 404 page works on dev? re: https://github.com/mozilla/testpilot/issues/2446
17:57lorchardNot off the top of my head no
17:58lorchardThough I think maybe this bug is that the little data-* attribute dispatcher I added needs to load a 404 page instead of the home page
17:58lorchardI want to say custom 404 pages don't work on dev because the server doesn't implement it
17:58lorchards/dev/local dev/
18:00lorchardoh, huh, maybe it does already try to run the error route
18:00lorchardit's the page we're serving up on S3 that has data-page-name="home" on it, so we might need to generate an "error.html" page and reconfigure S3 to use that for 404s
18:01lorchardThat, or bring back the window.location routing that triggers an error page when it sees an unknown path
18:28lorchardfzzzy: Not sure if you're a tox expert, but I got the integration test PR to run by not using it https://github.com/mozilla/testpilot/pull/2380#issuecomment-302185901
18:29JSON_voorheeshey lorchard I'm having an issue with one line in the test I'm writing, https://github.com/mozilla/testpilot/blame/master/frontend/test/app/containers/ExperimentPage-test.js#L347 any idea why this would be failing?
18:29JSON_voorhees(you were on blame)
18:30lorchardWhat's the message it's failing with?
18:30JSON_voorheesI duplicated that whole test for the max_release check and everything is working except the line where I grab the id and simulate the click
18:30JSON_voorheesError: Method props is only meant to be run on a single node. 0 found instead.
18:30lorchardSounds like it's not finding a node with that l10n ID
18:30JSON_voorheesIt's weird cus when I query it in the webpage it shows up fine
18:31lorchardHow are you querying it
18:31JSON_voorheeslorchard: that's what I was thinking too
18:31fzzzyJSON_voorhees: you might need to set hasAddon
18:31JSON_voorheessame method
18:31JSON_voorheesfzzzy: that could be it
18:31lorchardI mean, what code?
18:31lorchardAre you querying it in that test?
18:31JSON_voorheesbut the min_version test doesn't set that
18:31b4handlorchard: thanks for that debugging! I am going to try and still use tox but figure out what is the problem.
18:31lorchardAll depends on what the component context is at the time
18:31fzzzylorchard: I dunno what tox is
18:32lorchardI vaguely know what tox is, but not entirely what it does or why processes would die :/
18:32_6a68TIL irccloud has a hard limit on the number of channels you can be in
18:32lorchardI tried a half-dozen different ways to start the gulp server and all of them led to them dying once tox was called
18:33JSON_voorhees_6a68: weechat becons you
18:33b4handI may try to start gulp within tox
18:33fzzzylorchard: at least you found something!
18:33b4handtox is a virtualenv
18:33_6a68JSON_voorhees: lol, I like having a bouncer and a mobile app
18:33JSON_voorheeslorchard: I'm calling findByL10nID to query it
18:33lorchardnot sure if tox does it or if circleci gets cranky about resource limits or what
18:34JSON_voorhees_6a68: np, just install a ssh client on your phone and use tmux and the tiny keyboard
18:34lorchardThe annoying / bizarre thing is that it only happens in an automated run and not in a manual run, so I was wondering about resource limits, TTYs, obscure unix stuff
18:34JSON_voorheeshahaha
18:34b4handOr maybe it doesn't like 2 virtualenv's
18:34lorchardJSON_voorhees: So you call findByL10nID in that test? like what code are you using
18:35_6a68JSON_voorhees: heh, I've lost my linux perspective on computing, and just want shit to work without writing code
18:35_6a68although, the way iOS and iphones are going, I'll probably get a rooted android next, and script everything onboard with python
18:35fzzzyJSON_voorhees: in the beforeEach for that describe block, it is setting hasAddon true. Make sure your copied test has a beforeEach that is doing the same thing.
18:36JSON_voorheesfzzzy: it's in the same block so it should be getting set each time
18:37lorchardAlso thinking if you're setting a *max_versIon*, and not a *min_version*, you wouldn't see the upgrade notice
18:37fzzzyok
18:37JSON_voorheesalso all the other asserts are passing in my block
18:37JSON_voorheesI'm about to push so I can link to it
18:37lorchardBut, like pastebin the exact code so we can see what's what
18:38JSON_voorheeslorchard: https://github.com/mozilla/testpilot/pull/2438/files#diff-bc5ca168864c41cd2f6648520536c480R371
18:40JSON_voorheesjgruen: was this the final copy you wanted? https://github.com/mozilla/testpilot/issues/2424#issuecomment-302157311
18:41jgruenyeah
18:42JSON_voorheesokay cool
18:42lorchardPoking at that code... threw this in there, and got 0 console.log(findByL10nID('versionChangeNoticeLink').length);
18:47lorchardJSON_voorhees: Looks like this is the problem - the version is 49.0, which doesn't exceed that max_release, and so the notice doesn't appear and the link isn't there to be clicked
18:47lorchardhttps://github.com/mozilla/testpilot/pull/2438/files#diff-bc5ca168864c41cd2f6648520536c480R367
18:48JSON_voorheeswow I'm an idiot
18:48JSON_voorheesthank you
18:48lorchardLooks like it passes if you throw that link click & GA check at the end of the test :)
18:49fzzzyyeah move the link check to the bottom of the test block
18:49lorchardEh, that's why I wanted to see the full code, because I miss crap like that all the time :)_
18:49JSON_voorheesgot it, working now!
18:49JSON_voorheesthank you both fzzzy lorchard
18:50fzzzythere are a few easy small pull requests if anyone has time
18:51JSON_voorheesfzzzy: I'll try and take a look
18:51lorchardAlso not sure if it helps, because the HTML is all a one-liner, but you can do `console.log(subject.html())` to see what the React rendering looks like in the test
18:52JSON_voorheesoh that's great, lorchard
18:52JSON_voorheesI'll def use that in the future
18:52fzzzyI use atom-beautify to clean up unformatted stuff
18:53fzzzyyou have to save it in an html file first so it knows what type it is
18:53ianbickingsharon: screenshots.firefox.com is updated to the latest code now as well, and good for testing
18:53sharon_Thank you! I'll take a look.
18:59JSON_voorheestus
19:02fzzzyit's almost 90 degrees right now. what the heck
19:02JSON_voorheesfzzzy: it's 86 here
19:03JSON_voorheesand yesterday I was wearing a jacket
19:09fzzzyit was hot here yesterday but cold before that
19:32fzzzylorchard: I think there's already a notfound page on s3
19:32lorchardThere's an error page, but I didn't see a notfound that we're generating now
19:32fzzzyoh ok
19:33fzzzyclouserw: how is not found set up in s3 right now?
19:33lorchardIt's in the website hosting panel I screenshotted
19:34lorchardIt's index.html for both, but one needs to be changed to notfound/index.html
19:34lorchards/both/ both index & error document/
19:34fzzzycool
19:35fzzzyok i see the screenshot, i only looked at the pr not the bug
19:38clouserwwhat screenshot are we talking about?
19:38lorchardclouserw: https://github.com/mozilla/testpilot/issues/2446#issuecomment-302196425
19:40clouserwand the ask is to have the Error document field point to /notfound/index.html ?
19:40lorchardWe'll need to change the Error Document in Static Website Hosting on S3 to `notfound/index.html`
19:40lorchardyeah, because we dropped window.location routing in JS, so now index.html is just the home page and doesn't trap unknown paths
19:41clouserwsounds reasonable to me. I pinged r e l u d on the bug.
19:41lorchardI just changed it on dev, but it will need to be changed on stage & prod
19:41fzzzythanks for changing it on dev!
19:42lorchardand I think we do already have a notfound/index.html, so we don't have to wait for deploy
19:42lorchardJust looked like we missed it in the list of pages to generate in the post-react-router setup until my recent PR
19:43lorchardNot super urgent either, just that 404s will just result in the home page rather than a 404 error until the change is made
19:47fzzzy
19:49fzzzyanybody have a windows box and feel like looking at the two windows issues? they look small.
19:50fzzzyi should get a windows vm, do I order a copy of windows 10 through IT or something? does it come on a usb stick nowadays?
19:50fzzzyalso what vm do people use on the mac nowadays
20:06fzzzylorchard: I get a csp violation on /experiments which is blocking ;(function installGlobalHook(window) {
20:06fzzzy ....
20:06fzzzydoes that look familiar? installGlobalHook?
20:07fzzzyinstallGlobalHook doesn't occur anywhere in our source or node_modules
20:08fzzzyraven maybe?
20:08fzzzylooks like it might be part of react
20:37_6a68fzzzy: I have a windows box, I would be happy to take the two small issues
20:38_6a68unless you already got your vm setup :-)
20:38fzzzy_6a68: you sure? you have a lot on your plate
20:38fzzzybut they are probably one liners, css
20:38_6a68I could use a break, yeah
20:38fzzzyplease do then :)
20:38_6a68if they get involved I'll probably give up :-)
20:39_6a68fzzzy: btw, I just put in servicenow requests for used laptops, it works better for some firefox bugs. I have dedicated win 7 and linux laptops
20:39fzzzysweeeet
20:40fzzzyI'll try vm first since i use it so rarely
20:49lorchardfzzzy: Are you running any addons? We get CSP reports for attempted script injection from addons all the time
20:49fzzzyoh yeah it might be the react devtools
20:49fzzzythat's all i have installed
20:49fzzzythanks!
20:50lorchardYeah, that code doesn't appear anywhere in frontend/build for me
20:50lorchardso I'd guess it's an addon
20:51lorchardI put in a servicenow request for a new laptop about 5 weeks ago, hoping something happens with it
21:46b4handlorchard: starting the server within tox works!
21:46lorchardOh huh, well alright then :)
21:47b4handIts failing for some other reasons but thanks to your unix knowledge and gulp, I got it. Thanks a bunch
21:47b4handI'm going to pull and rebase
21:48lorchardSweet, glad to help :) figured it was something annoying that needed grinding away at ugh
21:48b4handAfter 90 builds I needed some help lol
21:49* b4hand gets chills thinking of that
21:50lorchardHeh, yeah, I think I did like 20 or so myself just to narrow things down. Kind of brain killing to change one thing and then wait 5-8 minutes
21:59_6a68lorchard: that's a really long time to wait on a servicenow ticket, you might want to hop in #servicedesk and ask about it
21:59_6a68at that rate, you could have bought and expensed it yourself by now
22:00lorchardYeah, I commented on the request to kind of bump it... didn't want to pester anyone since it's not super urgent. But I guess that's been awhile :)
22:03_6a68heh
22:11b4handlorchard: I have a flake8 run that will test all the py files. Do you mind me updating the other py files to be flake8 compliant?
22:12lorchardYeah, sure, no reason they shouldn't be, I don't htikn
22:12lorcharder (think)
22:12b4handcool
22:14lorchardAlright, off to dinner
22:17JSON_voorheesping dcoates
22:17JSON_voorheesGot a quick question regarding https://github.com/mozilla/testpilot/issues/2435
22:18dcoatesJSON_voorhees: shoot
22:18JSON_voorheesBasically we wanna store whether a user has been part of an experiment or not, trying to decide if we should store it on the addon side or in local storage on the client
22:19JSON_voorheesSince I'm less familiar with the current addon architecture and coming changes I thought I'd ask you
22:19JSON_voorheesI'm also unsure if there even is a webextension wrapper equivalent to sdk/simple-storage, tho I'm assuming there should be
22:21dcoatesJSON_voorhees: the addon would probably be more robust. it'd allow us to know about uninstalls that aren't via the site
22:21dcoateswebext do have storage
22:22JSON_voorheessweet, that's what I was thinking
22:22JSON_voorheesThanks dcoates :)
22:22dcoatesnp
22:47JSON_voorheesdcoates: one more question, do we have a certain date format we use throughout the project
22:48JSON_voorheesisostring is probably good
22:51dcoatesJSON_voorhees: iso is what we use in the experiment json files iirc
22:56JSON_voorheesthat's what I was thinking
22:57JSON_voorheesOh I can just use sdk/simple-storage for this thing now anyways
22:57JSON_voorheeswe haven't converted yet
22:59dcoatesJSON_voorhees: the whole redux state gets stored in simple-storage, so you could just add it there
23:02JSON_voorheessweet
23:02JSON_voorheesis it okay if I add it in addonListeners?
23:03JSON_voorheesSorry it's been a while since I've looked through this addon
23:18dcoatesJSON_voorhees: you might try adding to reducers/experiments.js
18 May 2017
No messages
   
Last message: 7 days and 8 hours ago