Closed Bug 1423652 Opened 7 years ago Closed 7 years ago

upgrade react-redux to latest in prep for React 16

Categories

(Firefox :: New Tab Page, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 59
Iteration:
1.25
Tracking Status
firefox59 --- fixed

People

(Reporter: dmosedale, Assigned: dmosedale)

References

Details

Attachments

(1 file)

We're upgrading from 4.4.5 to 5.0.6.  The full changelist can be found by groveling through

https://github.com/reactjs/react-redux/releases

The most important change, though, is the major version bump:

https://github.com/reactjs/react-redux/releases/tag/v5.0.0

> Version 5.0 maintains API compatibility with v4.x but due to major internal changes and potential behavior differences across nearly all API surfaces, semver dictates a major version bump.

The most obvious behavior change appears to be this:

> Store state change notifications sent to components are now guaranteed to occur top-down, so if your code may behave differently if it relied on notifications happening out of order.

Kate, do you know if this is likely to present issues for us?

Possible performance wins:

> Significant performance gains were achieved by avoiding extra calls to setState() and render() by ensuring the order of change notifications to occur top-down, matching React's natural flow. Performance tests and benchmarks are discussed in #416.

Because bugs induced by the behavior changes could well be non-obvious, I think this wants to be exported separately from the other upgrades so it gets testing in nightly that's isolated from them.
It would also help to see whether this itself generates performance wins in the field by looking at telemetry.
Flags: needinfo?(khudson)
Assignee: nobody → dmose
As it turns out, we've been using react-redux 4.4.5 for our tests (because that's what's in package.json), while in production, we got upgraded to react-redux 5.0.3 in April.  So we won't be getting much in the way of production wins here, and, additionally, the big semantic changes have already happened.

So this bug is really about upgrading both versions to 5.0.6.

I'm feeling increasingly like the fragility of our current vendoring setup is something of a footgun.
Flags: needinfo?(khudson)
Keywords: perf
Summary: upgrade react-redux to latest in prep for React 16 and possible perf wins → upgrade react-redux to latest in prep for React 16
On the up-side, we will get a 25% size reduction which might help JS loading/parsing speed, as well as a warning fix.  The size change comes because react-redux switched over to using Rollup for their builds.
Commits pushed to master at https://github.com/mozilla/activity-stream

https://github.com/mozilla/activity-stream/commit/e8aa5bffa47ab3ca9f4226e626a3c2e145c9f32a
chore(dependencies): upgrade react-redux to 5.0.6; fix bug 1423652

https://github.com/mozilla/activity-stream/commit/61f44e711d67da88fd38c485540538948045c0f4
Merge pull request #3899 from dmose/react-redux-upgrade

chore(dependencies): upgrade react-redux to 5.0.6; fix bug 1423652
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Blocks: 1418130
Blocks: 1421441
Component: Activity Streams: Newtab → New Tab Page
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: