Vinod gave a kudos to Anant, Anenth, Bhargav, Gaurav, Kundan and others

@anantpal @uttamkini @anenth @akhil @gauravkumar @vasu @viky @kundankumar @bhargavvoleti @vedarth Pulling off a high quality major redesign release with ease.

Vinod gave a kudos to Gaurav, Navaneeth, Vasu and Akhil

@gauravkumar @vasu @navaneethr @akhil Brought the bug count down to 4 last weekend from 20's even though there was a steady influx of bugs every day.

Vasu
  

Kudos to @gauravkumar for driving the calendar invite issues fix and bringing it to a closure. This was a very tricky issue to track and involved a lot of back and forth with the customers. He took the initiative to setup call with one of the customers and went through each flow in great detail.

Vasu
  

Kudos to @gauravkumar for driving the calendar invite issues fix and bringing it to a closure. This was a very tricky issue to track and involved a lot of back and forth with the customers. He took the initiative to setup call with one of the customers and went through each flow in great detail.

Vasu
  

Vinod is now induction friendly 😂😂😂

Vasu
  

Slack for iOS Upload

We've increased thinking zones for our CTO in the new office 😝

Vasu
  

@rajesh on his sugar free diet today 😜😜

Vasu
  

We finally moved to React v15 today. These are something that went well, and what are the loose ends that we need to tie up before the next update.

What went well

  • Removing dependencies one by one instead of a big bang change
  • Changes had a small area of impact
  • Faster testing.

What could have gone better

Choosing a third party library

We need to get better at picking UI libraries. For instance react-bootstrap doesn't follow any standards, and has breaking changes for every minor bump. They say this in their homepage and still we picked it. For some reason we're ok with sticking with existing solutions even when they clearly don't suit our needs. The time we spent on hacking react-select(still not merged, even after a year - https://github.com/JedWatson/react-select/pull/660 :P) we could've built one.

Not running multiple versions of React/ Locking library versions

Ideally we should've done the upgrade before introducing libraries that were dependent on React 15. We're not enforcing this, and this leads to a lot of script errors. Check this (https://github.com/facebook/react/issues/1939) for some context. Looks like the solution is to lock the dependencies and have npm/yarn scream at us when we add a library that doesn't comply with the package requirements.

Loose ends, and what next

Throw react-select

React select covers a lot of scenarios, but it breaks for a lot of our UI requirements

  • creating new option
  • extending the menu renderer and so on

Plus the library is very slow in accepting PR's. We may have to start looking out for another library, or better yet, write one ourselves and open source it :D

Sortable js

SortableJS is unmaintained for quite some time and is using a lot of non standard code. Someone has written a wrapper over it(https://github.com/cheton/react-sortable/) and seems to be popular. We need to evaluate it and close it before the next major react upgrade.

react-bootstrap

react-bootstrap is a non standard library and very slow moving. They moved from 0.27 to 0.30 in the last year and a half, with so many breaking changes. They don't seem to have a clear path for a stable release.

We need to evaluate other options like blueprint.js or build our standard components soon. This will hit us in the next react upgrade.

Other minor changes

  • We're moving to yarn. Yarn is much faster when compared to npm and warns us when a library is outdated or is incompatible with other dependencies
  • enzyme is in for writing component tests. Even facebook's document recommends it. We need to slowly move all skindeep tests to enzyme and remove that as a dependency
  • the current version of hot-reloader is incompatible with react v15. So I've removed it for now.
  • React is now more particular about the props that we pass. We can no longer pass a random argument to our component. For instance <input minWidth="100"/> will throw a warning. For more information read https://fb.me/react-unknown-prop.
Vasu
  

Kudos to @gauravkumar for driving the react-bootstrap upgrade and taking it to completion.

Vasu
  

Kudos to @kundankumar for doing a great job with testing the complex upgrade. He has quickly automated some critical paths of the app for this.

Vasu
  

Screen Shot 2016-11-07 at 2.42.38 PM

@ashwin 😂

Vasu
  

Slack for iOS Upload

@rajeshthiagarajan's lunch today 😝

Vasu
  

After :boss: sees the post 😂

Vasu
  

This is so thoughtful 😀Thanks @nivedita

Show More
Need help?