PCR-916 - server side rendering#7
Open
NickBurkhartBB wants to merge 154 commits intobrandingbrand:lastGoodfrom
Open
PCR-916 - server side rendering#7NickBurkhartBB wants to merge 154 commits intobrandingbrand:lastGoodfrom
NickBurkhartBB wants to merge 154 commits intobrandingbrand:lastGoodfrom
Conversation
'onLoad' should not be called when a component updates, if the 'uri' is unchanged. Fixes a regression introduced by 92952ee
* Fix 'addEventListener' handler registration. * Fix event object provided to handlers. * Fix event object type - always include 'type' and 'effectiveType'. * Fix unit test semantics. * Fix documented NetInfo types. Close necolas#724
Align with recent changes to the React Native API.
Replaces the 'animated' package with the latest implementation from React Native. Requires a few imports to be replaced. Close necolas#716 Fix necolas#714 Fix necolas#688
Also fixes importing these APIs from 'react-native' when used with the Babel plugin.
Allows AppRegistry to hydrate server-side rendered apps. Fix necolas#733
The object returned by 'ReactDOM.findDOMNode' when rendered by 'react-test-renderer' doesn't match the DOM API for an element. Only attempt to bind the listener if 'addEventListener' is present on the object. Fix necolas#720
Improve API compatibility with React Native by exporting 'react-art' as 'ART'. Fix necolas#602
* Update all packages. * Remove 'react-native-stylesheet'; since React 16 it is equivalent in performance to using the full 'react-native-web' View implementation. * Remove 'styled-components/primitives'; it's as slow as 'styled-components'. * Record latest benchmark results and hardware.
Rely on web's native smooth scrolling mechanism when implemented in the browser: https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior Fix necolas#593
Exclude middle, wheel, and right click mouse events from the responder system. This fixes the Touchables incorrectly triggering 'onPress' in response to these events. Filter mousemove events in the 'extractEvents' methods, and check for active touches rather than the length of the touch bank. This fixes the PanResponder not functioning after the first touch in Firefox. Fix necolas#719 Fix necolas#729 Close necolas#804
Account for scroll offsets when calculating measurements. Fix necolas#702 Fix necolas#805 Close necolas#806
Fix a regression introduced by "ResponderEvent event filtering" 9ee89bc. Touchable press events were firing twice after the event normalization was moved up into 'extractEvents'. The reason is: 1) events were previously not normalized throughout the responder system 2) once they were normalized, the fix introduced by a535c55 stopped working 3) because normalized nativeEvent did not include event data like 'cancelable'. This patch adds more of the original nativeEvent fields to the normalized event, so that React's synthetic event can return the correct information for 'bubbles', 'cancelable', 'isDefaultPrevented()', etc.
Prevent the responder system recording 'mouseup' events if there is no active 'touch'. Fix necolas#816
Updates the 'setValueForStyle' implementation to support style values
that contain "!important". This allows the 'flex{Basis,Grow,Shrink}'
values created by the style resolver to be applied. They currently use
the important priority as a work-around for browser-inconsistencies in
the 'flex' shorthand.
Upstream fix: facebook/react#12181
Ref necolas#798
Close necolas#813
Jest recommends using 'runInBand' for Travis CI. It runs all tests serially in the current process, rather than creating a worker pool of child processes that run tests.
Add support for new style properties and values that automatically
account for the writing direction (as introduced in React Native
0.51.0). The start/end variants are automatically resolved to match the
global writing direction, as defined by I18nManager.isRTL. Start/End
take precedence over Left/Right.
Adds support for the following properties:
* `borderTop{End,Start}Radius`
* `borderBottom{End,Start}Radius`
* `border{End,Start}Color`
* `border{End,Start}Style`
* `border{End,Start}Width`
* `end`
* `margin{End,Start}`
* `padding{End,Start}`
* `start`
And values:
* `clear: "end" | "start"`
* `float: "end" | "start"`
* `textAlign: "end" | "start"`
I18nManager supports `doLeftAndRightSwapInRTL` and `swapLeftAndRightInRTL` to query and control the BiDi-flipping of left/right properties and values. For example, you may choose to use `end`/`start` for positioning that flips with writing direction, and then disable `left`/`right` swapping in RTL so that `left` will always be `left`. The StyleSheet resolver cache must also account for the third "direction" variant: RTL with no swapping of left/right.
Now possible to license under MIT following the change to React Native's license. facebook/react-native@26684cf Fix necolas#828
React Native for Web may use '!important' as part of the internal resolving of styles. But user styles should never be allowed to include '!important' in the value. Print a warning to the console when they do.
The previous fix to support inline SVG data in utf-8 format broke images that were rendering base64 SVGs.
Touch events can produce trailing mouse events, which cause unwanted events to fire in the responder event system. This issue is avoided in `Touchable` by cancelling the event in the responder release callback. To fix the issue in other areas, like the PaneResponder, this hack is moved into `createElement` and applied to event `onResponderRelease` callback. Fix necolas#802
Events are now normalized within the responder system, so those handlers don't need to be listed anymore. Recently added events (blur, contextmenu, focus) are now also normalized.
Don't rewrite import paths for non-existent modules or types. They will attempt to be imported from the package's main export. This change currently requires a module map to be generated for the babel-plugin to use. The map is automatically regenerated for any commit that alters the entry file of react-native-web. Fix necolas#822
Match React Native (and web) expected defaults.
When rendered on the server, images now include the 'src' and will be downloaded by the browser rather than waiting for the client-side JS to initiate image loading. Fix necolas#543
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ticket: https://jira.brandingbrand.com/browse/PCR-916
@brandingbrand/product
Description
This should probably be in its own branch and not in lastGood, but I could not create a new branch in this repo, so you can make a new branch based on lastGood then modify base fork of this PR
Test
npm inpm run tsccd web-servernpm inpm run build-clientnpm run build-servernpm run build-clientnpm run start-server*ER: see page html