{"push_id":2691850578,"size":11,"distinct_size":1,"ref":"refs/heads/master","head":"bee1b922659e00d6568cc08584b284870139e722","before":"ac99caff34fd3f00e75c94bb0a3c206d61a016ae","commits":[{"sha":"8f1e062b4fa53b590c0dcfd756f09fa2cbad9659","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"Wrap all pages in I18nProvider\n\nSo here's the deal\n\nBefore, we had only a handful of pages that needed to be wrapped\nwith the React context stuff because it was only relevant for\npages that needed data.\n\nSo, for example, the registration page needed to populate itself\nwith previously submitted values, but the 404 page was just static\ntext.\nAt that point, it was just a matter of wrapping the pages that\nneeded it with `withProvider(withContext(PageName))`.\n\nNow the baseline has shifted.\n\nSince the <I18nProvider> needs an `en` or `fr` string, and since\nthat's only really available in `WithProvider`, anything that gets\na React.Provider will also be wrapped in an `I18nProvider`.\n\nThis means all pages now need to be wrapped with the\nReact context Provider since they all need to be translated.\n\nAs such, I just made that the default for all pages in `routes.js`\ninstead of copy-pasting it all into the various page components.\n\n//\n\nDeleted the RegistrationPage test because it was pointless.","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/8f1e062b4fa53b590c0dcfd756f09fa2cbad9659"},{"sha":"e8d172a9cf30b6dd57165f2cecf516264b8a0914","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"After is complaining about passing an array through or something","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/e8d172a9cf30b6dd57165f2cecf516264b8a0914"},{"sha":"7b3dc44550d5846af3cac31e04f2eaf6b43292a9","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"Switch out LanguageSwitcher\n\nGet language data from the context.\nMeans we don't need Apollo client here either.\n\nNow we're using a button which is a semantic win for us.\nLinks are meant to go somewhere, whereas buttons are supposed to\ndo some data processing.","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/7b3dc44550d5846af3cac31e04f2eaf6b43292a9"},{"sha":"60b40a5339190637590b872dc93e9eac57027339","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"FederalBanner withContext\n\nUse the language from the context to change the FIP flag.\nMeans we can remove the Apollo Query from here too.","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/60b40a5339190637590b872dc93e9eac57027339"},{"sha":"9dfcfe406b097d84091500f7d1fdaa917c3c5e13","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"Fix tests for FederalBanner after withContext\n\nThis is the general pattern we're going to see as we add withContext\nto components.\nIn short, we have to export a wrapped version of the component\nas well as a basic version of it for testing.\n\nIn our tests, we can pass in the hardcoded context object that\nthe PropTypes expect and we're all good.\n\n//\n\nWorth pointing out that there's an enzyme problem whereby the new\nReact Provider and Consumer nodes aren't recognized as legitimate\nnodes, so any tests that rely on them will fail.\nThis should be addressed in the near future but for right now\nwe can't do a lot about it.\nSource:\n- https://github.com/airbnb/enzyme/issues/1509\n\nSince the LanguageSwitcher is part of the FederalBanner (and\nthe LanguageSwitcher is wrapped in withContext), this means that\nwe can't `mount` our FederalBanner component until enzyme is updated.","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/9dfcfe406b097d84091500f7d1fdaa917c3c5e13"},{"sha":"b60e566362f8565bbcbcf0f048493354bf233706","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"Footer withContext\n\nAgain, we want to pass language to our wordmark so that it has\nthe proper aria label.\nSince there was no Query here before (the footer wasn't localised\npreviously), there's nothing to remove.","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/b60e566362f8565bbcbcf0f048493354bf233706"},{"sha":"9cdb103d2b36f639db55709959a24a8e165c3048","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"Remove ApolloProvider where possible\n\nThis is the big one.\n\nAt this point, all of our local data is being passed down through\nReact context, so we can dismantle most of our ApolloProvider.\n\nThis means:\n- we can remove it from `Document.js` completely since it's not\n  hydrating our components with data\n- we can remove it from `client.js` completely for the same reason\n- we can remove all the link state stuff from createApolloClient\n\nThe only two places we still need the Provider are:\n1. Wrapping our Submission component so that it can make async\n   graphql calls to our email API\n2. On the server under the `/submit` route so that we can make\n   syncronous graphql calls to the email API (this is for when\n   we POST data from the no-JS version of the submit page)","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/9cdb103d2b36f639db55709959a24a8e165c3048"},{"sha":"3ff1fe7733fa26fdf5542adcaa94a32dbd52cd89","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"Skip page tests until enzyme updates itself\n\nEnzyme throws an error whenever it's used to try and render a\nReact Provider or Consumer.\nSource:\n- https://github.com/airbnb/enzyme/issues/1509\n\nThey've promised an update in the next week or so, but until\nthen we can't `mount` any of our pages.\n\nWorth pointing out that these tests are pretty useless anyway.","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/3ff1fe7733fa26fdf5542adcaa94a32dbd52cd89"},{"sha":"549b22a652578af52716e43b887d1c06d6058a05","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"Preserve language when clearing data\n\nSince we are saving _all_ data to the same cookie,\nwhen the cookie is deleted, we lose the preferred language.\n\nIn order to prevent this, what I am doing is\n- getting the language value from the cookie before it is deleted\n- deleting the cookie\n- redirecting to the 'cancel' page with a `language` query parameter\n- the language will then be reset before the user gets the HTML\n  response for the cancel page\n\n//\n\nThis means that, unlike previously, cookies are never entirely\nremoved. Even if there was no cookie saved previously, (the\nlanguage would default to 'en'), cancelling will explicitly\nset your language to english.","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/549b22a652578af52716e43b887d1c06d6058a05"},{"sha":"1f799c8180cb0055006e8338287234b6c4721348","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"Add \"lang\" attribute to the <head>\n\nFinally.\n\nLook how easy it was.","distinct":false,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/1f799c8180cb0055006e8338287234b6c4721348"},{"sha":"bee1b922659e00d6568cc08584b284870139e722","author":{"name":"Paul Craig","email":"6ef2e69d5de046fe3b4234f1930214075ac13852@hotmail.com"},"message":"Merge pull request #220 from cds-snc/retire-apollo\n\nMerge 3rd: Server-side language-switching","distinct":true,"url":"https://api.github.com/repos/cds-snc/ircc-rescheduler/commits/bee1b922659e00d6568cc08584b284870139e722"}]}
{"actor":{"display_login":"pcraig3"}}