Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tree dump utility to E2E test framework and fix Image border issue #3754

Merged
merged 25 commits into from
Dec 16, 2019

Conversation

ddalp
Copy link
Contributor

@ddalp ddalp commented Dec 10, 2019

  • Created a TreeDump custom view manager and added it to E2E test project, so test can dump UIElement tree at runtime to verify the expected tree structure and layout properties. The TreeDump control can be configured to take two parameters: dumpID: specifies the dump file name to read from Assets for comprison or used to generate the .out file when match failed; uiaID: specify which node in the UIElement tree to start comparison, or the whole tree when leaving blank.
  • Fix the border issue for Image ImageStyleProps borderRadius #3456 , we need to put the Image canvas under a border element, so we can apply border properties on it.
  • Add E2E test for the image border properties, using the newly added TreeDump custom view.
Microsoft Reviewers: Open in CodeFlow

}
}

public static string DumpToXML(DependencyObject root, DependencyObject excludedNode)
Copy link
Contributor

@licanhua licanhua Dec 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DumpToXML [](start = 29, length = 9)

Please rename this. In the first design, the output is XML, but finally it's just a simple text with indent #Resolved

}
else
{
await MatchTreeDumpFromLayoutUpdateAsync();
Copy link
Contributor

@licanhua licanhua Dec 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MatchTreeDumpFromLayoutUpdateAsync [](start = 26, length = 34)

Will it introduce unnecessary layout cycle? For example. View is ready -> Layout updated -> not matched -> Textblocked updated -> Layout updated -> #Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will cause layout once when text changes from Failed to Passed. If there are additional failure, I don't update TextBlock.Text. User has to click on it to view all saved error messages.


In reply to: 356297384 [](ancestors = 356297384)

@@ -0,0 +1,16 @@
[Windows.UI.Xaml.Controls.Border]
Padding=0,0,0,0
Copy link
Contributor

@licanhua licanhua Dec 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possible just make the extension name .treedump as .txt. customer doesn't need to setup a tool to open .treedump. #Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do.


In reply to: 356300132 [](ancestors = 356300132)

@@ -0,0 +1,179 @@
using System;
Copy link
Contributor

@licanhua licanhua Dec 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copyright #Resolved

testID={IMAGE_ELEMENT}
style={imageWithBorder?styles.imageWithBorder:styles.image}
resizeMode={'center'}
source={{uri: 'http://facebook.github.io/react-native/img/header_logo.png'}}
Copy link
Contributor

@licanhua licanhua Dec 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

http://facebook.github.io/react-native/img/header_logo.png [](start = 21, length = 58)

make it to Assert. it may introduce unnecessary delay and flakiness of testing #Resolved

@@ -103,15 +107,19 @@ const char *ImageViewManager::GetName() const {
}

XamlView ImageViewManager::CreateViewCore(int64_t tag) {
return ReactImage::Create().as<winrt::Canvas>();
auto image = ReactImage::Create().as<winrt::Canvas>();
auto border = winrt::Border();
Copy link
Contributor

@kmelmon kmelmon Dec 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This introduces an extra XAML element in the tree that may be unnecessary. Grid and StackPanel both allow rounded corners. Can you switch the Canvas to one of those instead? This would save an extra element.

Also - we should consider pushing the rounded corners down to Panel in lifted XAML. Feel free to discuss/open a feature request on WinUI. #Closed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On top of the border issue, we also need to solve the problem for background on image, currently image brush is set to the image canvas's background so we need an additional container element to be able to draw background. Having extra border element solves both issues. Agree we should consider rounded corners for panel, we have similar issue for ViewViewManager too.


In reply to: 356349285 [](ancestors = 356349285)

SetBorderThickness(node, element, ShadowEdges::Left, propertyValue.asDouble());
} else if (propertyValue.isNull()) {
SetBorderThickness(node, element, ShadowEdges::Left, 0);
Copy link
Contributor

@kmelmon kmelmon Dec 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch. Is there a test for this scenario? #Closed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have this image test to test three scenarios: no border, switch to border and then switch back to no border. The third scenario was where I found this cleanup code missing.


In reply to: 356349717 [](ancestors = 356349717)

assert.ok(
result.includes('TreeDump:Passed'),
'Dump comparison passed for image without border!'
);
Copy link
Contributor

@kmelmon kmelmon Dec 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the test fails, will anything be visible in the test output or as test artifacts other than this message? It will be particularly important to report this as a test artifact when the test is running in the CI loop. Note this doesn't have to be done for this checkin - feel free to file an issue to improve this. #Closed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added steps to generate artifacts for the generated .out file and .err file during the test.


In reply to: 356351609 [](ancestors = 356351609)

testID={IMAGE_ELEMENT}
style={imageWithBorder?styles.imageWithBorder:styles.image}
resizeMode={'center'}
source={{uri: 'http://facebook.github.io/react-native/img/header_logo.png'}}
Copy link
Contributor

@kmelmon kmelmon Dec 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

http://facebook.github.io/react-native/img/header_logo.png [](start = 21, length = 58)

I suggest packaging an image into the local bundle but that may require fixing #2452 first. If so please leave a note in that bug to come back and fix this test. #Closed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switching to using the embedded image data directly.


In reply to: 356352744 [](ancestors = 356352744)

Copy link
Contributor

@kmelmon kmelmon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🕐

@ghost ghost added the Needs: Author Feedback The issue/PR needs activity from its author (label drives bot activity) label Dec 11, 2019
@ghost ghost removed the Needs: Author Feedback The issue/PR needs activity from its author (label drives bot activity) label Dec 11, 2019
return ReactImage::Create().as<winrt::Canvas>();
auto image = ReactImage::Create().as<winrt::Canvas>();
auto border = winrt::Border();
border.Child(image);
Copy link
Contributor

@kmelmon kmelmon Dec 12, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yesterday in our discussion, I had a question about whether or not the image is supposed to draw underneath the border (as opposed to being inset). Did you find out how this behaves on other platforms? #Closed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had a discussion with Keith offline, we decided to switch image from Canvas to Grid so we can set border properties on it and still just have 1 element for image in the tree. That means we can't support background property on Image for now, that requires at least three elements, and implementing TransferProperties, Reparent etc. Out of scope for this bug fix but I will open a new issue to track the background for image for fix at later time.


In reply to: 357410515 [](ancestors = 357410515)

export function ImageTestPage() {
const [imageWithBorder, setImageBorder] = useState(false);
const [clickCount, setClickCount] = useState(0);
const onOressBorder = () => {
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const onOressBorder = () => {
const onPressBorder = () => {
``` #Resolved

/>
</View >
<Button title= {imageWithBorder?"Hide Border":"Show Border"}
onPress={onOressBorder}
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
onPress={onOressBorder}
onPress={onPressBorder}
``` #Resolved

wait(100);
waitCount += 1;
}
} while (waitCount <= maxWait && testResult == false);
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
} while (waitCount <= maxWait && testResult == false);
} while (waitCount <= maxWait && !testResult);
``` #Resolved

maxWait +
'...####'
);
wait(100);
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there no event you can wait for? #Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was going to add event and wait for that, but we have issues with the optimized constructor with Context parameter on release build issue, so I decided to do polling for now. Will open a issue to revisit later after Jon fixes the Custom ViewManager bug.


In reply to: 357846482 [](ancestors = 357846482)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to open an issue to add a WaitForIdle or similar.


In reply to: 357870760 [](ancestors = 357870760,357846482)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Create #3779 to track this.


In reply to: 358440736 [](ancestors = 358440736,357870760,357846482)

@@ -54,6 +58,7 @@ protected override void OnLaunched(LaunchActivatedEventArgs e)
{
base.OnLaunched(e);
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
ApplicationView.GetForCurrentView().TryResizeView(new Size(1024, 768));
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You had mentioned issues having consistent layout sizes. Did this work? #Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, by default we will launch the app at 800x600 and I also added the code to fail and don't do comparison if size is not 800x600 in tree dump too.


In reply to: 357847530 [](ancestors = 357847530)

var bounds = ApplicationView.GetForCurrentView().VisibleBounds;
if (bounds.Width != 800 || bounds.Height != 600)
{
// Dump disabled when window size is not 1024x768!
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Dump disabled when window size is not 1024x768!
// Dump disabled when window size is not 800x600!
``` #Resolved

await Windows.Storage.FileIO.WriteTextAsync(errFile, m_errString);
}
catch (IOException)
{
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log something out? How frustrating will this be if it silently fails? #Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But we are inside writing out the error text file, if that fails (i.e. file is opened in Notepad) I don't know where else to log...:)


In reply to: 357860121 [](ancestors = 357860121)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like I should use GenerateUniqueName collision option to avoid issues when file is currently opened already.


In reply to: 357875080 [](ancestors = 357875080,357860121)

}
catch (Exception)
{
value = "Exception when read " + property.Name;
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Include exception message? #Resolved

}
public sealed class DefaultFilter
{
private List<string> _propertyNameWhiteList = new List<string> {"Foreground", "Background", "Padding", "Margin", "RenderSize", "Visibility", "CornerRadius", "BorderThickness",
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AllowList, per PoliCheck #Resolved

Comment on lines 182 to 187
} else if (propertyName == "borderTopWidth") {
if (propertyValue.isNumber())
if (propertyValue.isNumber()) {
SetBorderThickness(node, element, ShadowEdges::Top, propertyValue.asDouble());
} else if (propertyValue.isNull()) {
SetBorderThickness(node, element, ShadowEdges::Top, 0);
}
Copy link
Member

@chrisglein chrisglein Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could replace all of this with something like this:

std::optional<ShadowEdges> edge;
if (propertyName == "borderTopWidth") {
  edge = ShadowEdges::Top
} else if (propertyName == "borderRightWidth") {

and at the end

if (edge.has_value()) {
  if (propertyValue.isNumber()) {
    SetBorderThickness(node, element, edge.value(), propertyValue.asDouble());
  } else if (propertyValue.isNull()) {
    SetBorderThickness(node, element, edge.value(), 0);
  }
}

And/or put the mapping of string -> edge into a map. #Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated with map, thanks for the tips on std::optional..


In reply to: 357864798 [](ancestors = 357864798)

@ddalp
Copy link
Contributor Author

ddalp commented Dec 13, 2019

CodeFlow for GitHub does not download executable files. If you trust this file and would like to run it, please download it yourself through GitHub.

Remove and git ignore this file #Resolved


Refers to: packages/E2ETest/msbuild.binlog:1 in b6aedd8. [](commit_id = b6aedd8, deletion_comment = False)

@@ -32,6 +32,16 @@ static double DefaultOrOverride(double defaultValue, double x) {
return x != c_UndefinedEdge ? x : defaultValue;
};

static const std::unordered_map<std::string, ShadowEdges> edgeTypeMap = {
Copy link
Contributor

@licanhua licanhua Dec 16, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

edgeTypeMap [](start = 58, length = 11)

If you are going to with map, I would suggest you put it in another PR. we have a lot of functions which can follow the same pattern (string -> enum) like padding

#Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to keep this change as for now, we can open a new issue to track creating consolidated property mapping utility as we have many property mappings code in various shadow node/view managers.


In reply to: 358372703 [](ancestors = 358372703)

<Button title= {imageWithBorder?"Hide Border":"Show Border"}
onPress={onPressBorder}
testID={SHOW_IMAGE_BORDER}/>
<TreeDumpControl style={styles.treeDumpControl} dumpID={imageWithBorder?'ImageWithBorder':'ImageWithoutBorder'+clickCount} uiaID={IMAGE_CONTAINER} testID={TREE_DUMP_RESULT} />
Copy link
Contributor

@licanhua licanhua Dec 16, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'ImageWithoutBorder'+clickCount [](start = 94, length = 31)

ImageWithoutBorder0.txt and ImageWithoutBorder2.txt is not readable, also you created a hard binding between ImageTestPage and Image.spec.ts. If you refactor the test case like changing the order or inserting a new click, it doesn't work anymore. #Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am going to refactor the dumpID to "ImageWithoutBorder" and "ImageWithoutBorder-Subsequent", so it would work for click count > 2. The dump file is different if you initially don't have a border, or had a border then removed the border.


In reply to: 358381794 [](ancestors = 358381794)

Copy link
Contributor

@kmelmon kmelmon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Copy link
Contributor

@licanhua licanhua left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@ddalp ddalp merged commit dda1fe7 into microsoft:master Dec 16, 2019
ghost pushed a commit that referenced this pull request Jan 9, 2020
* GetFacebookReactInstance

* def

* ...

* Add __cdecl explicitly

* Update ReactUWP.vcxproj

* Update E2ETest to use ReactApplication (#3715)

* Update E2ETest to use ReactApplication

* Minor update

* Remove generating pch.pch

* Change files

* Shrink pch file size for Microsfot.ReactNative

* Revert "Remove generating pch.pch"

This reverts commit 39286c8.

* fix build

* Update Timeout

* applying package updates ***NO_CI***

* Update ParityStatus.md (#3555)

Documentation update based on #2852 completion

* Bump @microsoft/api-extractor from 7.6.1 to 7.7.0 (#3717)

Bumps [@microsoft/api-extractor](https://github.com/microsoft/rushstack) from 7.6.1 to 7.7.0.
- [Release notes](https://github.com/microsoft/rushstack/releases)
- [Commits](https://github.com/microsoft/rushstack/compare/@microsoft/api-extractor_v7.6.1...@microsoft/api-extractor_v7.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump @microsoft/api-documenter from 7.6.1 to 7.7.2 (#3724)

Bumps [@microsoft/api-documenter](https://github.com/microsoft/rushstack) from 7.6.1 to 7.7.2.
- [Release notes](https://github.com/microsoft/rushstack/releases)
- [Commits](https://github.com/microsoft/rushstack/compare/@microsoft/api-documenter_v7.6.1...@microsoft/api-documenter_v7.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Aligning Microsoft.Windows.CppWinRT Versions (#3733)

* Re-aligned SampleAppCPP project to match the others, #3728
* Updated all projects to 2.0.190730.2

* applying package updates ***NO_CI***

* Bump @types/react-native from 0.60.22 to 0.60.24 (#3740)

Bumps [@types/react-native](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-native) from 0.60.22 to 0.60.24.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-native)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump @types/node from 10.17.6 to 10.17.7 (#3741)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 10.17.6 to 10.17.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update CONTRIBUTING.md

update instructions on how to install submodules in the case where you started out working on vnext then switched to current.

* Use ReactNative.V8JSI.Windows.0.1.6 and ReactNative.Hermes.Windows.0.1.6 (#3729)

* unify hermes and v8jsi version

* Change files

* use HERMES_Package and V8_Package

* remove them from reactuwp project

* applying package updates ***NO_CI***

* Reduce build time on pipeline (#3734)

* reduce build time

* changes

* fix pipeline failure

* use Add-AppxPackage

* E2E test still use windows-2019 image

* force install vs dependencies on vs2019 image for E2E test

* parameters.forceVSDependencies

* add ../../.ado/variables/vs2017.yml

* Revert "add ../../.ado/variables/vs2017.yml"

This reverts commit b829251.

* revert and force

* Fix pipeline error

* Add react-native-win32 package (#3762)

* Add react-native-win32 package

* Publish packages using access public

* applying package updates ***NO_CI***

* Miscellaneous fixes in ETW tracing and Systrace (#3745)

* Miscellaneous fixes in ETW tracing and Systrace

* Miscellaneous fixes in ETW tracing and Systrace - Adding missing files

* Submitting the ETW schema resouce dll and the register script

* Change files

* applying package updates ***NO_CI***

* Strongly typed value serialization and deserialization using IJSValueReader, JSValue, and IJSValueWriter (#3760)

* Merged implementation of strongly typed value serialization and deserialization using IJSValueReader, JSValue, and IJSValueWriter

* Change files

* Updated CLI template for C++ native modules

* applying package updates ***NO_CI***

* Update to react-native@0.60.0-microsoft.31 (#3769)

* Update to react-native@0.60.0-microsoft.31

* Change files

* Change files

* applying package updates ***NO_CI***

* Fix toggle debugger setting issue with ReactApplication (#3767)

* Fix toggle debugger setting issue with ReactApplication

* applying package updates ***NO_CI***

* Delete .pch after build on pipeline (#3771)

* delete pch after build

* applying package updates ***NO_CI***

* Redirect build directory to C: on vs2017-win2016 build machine (#3768)

* init

* rollback language to default

* use False

* Fix by comment and enable SampleApp on pipeline

* update

* disable msbuild SampleApp

* Apply suggestions from code review

* applying package updates ***NO_CI***

* ignore Bundle folder in sampleapps (#3778)

* Add tree dump utility to E2E test framework and fix Image border issue (#3754)

Add TreeDump utility to E2E test framework and image border fix with TreeDump tests.

* applying package updates ***NO_CI***

* Update yarn.lock

* Change files

* Added new unit test projects to ReactWindows-Universal solution. (#3775)

* Added new unit test projects to ReactWindows-Universal solution.

* Made C# code compatible with C# 7.0

* Fixed some build breaks found by CI

* Trying to fix the Microsoft.ReactNative.Cxx.UnitTests build in CI loop

* Fixed Microsoft.ReactNative.Cxx.UnitTests project build break in CI and removed AMD64.

* Removed C# unit tests project

* applying package updates ***NO_CI***

* Update document for removing ReleaseBundle and DebugBundle (#3702)

* Update doc to removing DebugBundle and ReleaseBundle

* Change files

* applying package updates ***NO_CI***

* CLI reads name from app.json if it doesn't exist in package.json (#3781)

* read name from app.json

* Change files

* applying package updates ***NO_CI***

* Change CLI to add prompt if no --template parameter is supplied (#3784)

* merge

* add prompt

* Change files

* applying package updates ***NO_CI***

* Conditionally use BitmapImage (#3712)

* Use BitmapImage for cover, contain, and stretch resizeModes

* Fix comments

* timing issues

* wip

* Move 'center' resizeMode to BitmapImage

* code cleanup

* ReactImage->Source() refactor

* Clean up for PR

* Change files

* PR feedback

* only create ImageBrush and BitmapImage is needed

* Remove memory stream cache + flicker workaround

* don't cache availablesize + formatting

* SizeChanged event handler

* Fix dynamic resizeMode switch edge case

* Fix merge conflict + add inline data to image playground

* fix playground buildci

* applying package updates ***NO_CI***

* Bump rnpm-plugin-windows from 0.3.8 to 0.4.0 (#3800)

Bumps [rnpm-plugin-windows](https://github.com/ReactWindows/react-native-windows) from 0.3.8 to 0.4.0.
- [Release notes](https://github.com/ReactWindows/react-native-windows/releases)
- [Commits](rnpm-plugin-windows_v0.3.8...rnpm-plugin-windows_v0.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump pretty-format from 24.8.0 to 24.9.0 (#3764)

Bumps [pretty-format](https://github.com/facebook/jest/tree/HEAD/packages/pretty-format) from 24.8.0 to 24.9.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v24.9.0/packages/pretty-format)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump stacktrace-parser from 0.1.6 to 0.1.8 (#3765)

Bumps [stacktrace-parser](https://github.com/errwischt/stacktrace-parser) from 0.1.6 to 0.1.8.
- [Release notes](https://github.com/errwischt/stacktrace-parser/releases)
- [Commits](https://github.com/errwischt/stacktrace-parser/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump @types/react-native from 0.60.24 to 0.60.25 (#3757)

Bumps [@types/react-native](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-native) from 0.60.24 to 0.60.25.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-native)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Port windowsbrush code into react-native-windows (#3789)

* merge

* move windowsBrush stuff over from fork

* added RNTester page

* Change files

* CR comments

* applying package updates ***NO_CI***

* Make sure that C# and C++ SampleApp projects identifiers have proper CS and Cpp suffixes to avoid name collisions. (#3802)

* Removed Bridge sub-namespace in favor of Microsoft.ReactNative (#3804)

* Removed Bridge sub-namespace in favor of Microsoft.ReactNative

* Change files

* Fixed E2ETest build break

* applying package updates ***NO_CI***

* fixing case issues (#3806)

* Bump @react-native-community/cli from 2.9.0 to 2.10.0 (#3663)

Bumps [@react-native-community/cli](https://github.com/react-native-community/react-native-cli) from 2.9.0 to 2.10.0.
- [Release notes](https://github.com/react-native-community/react-native-cli/releases)
- [Commits](react-native-community/cli@v2.9.0...v2.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* reduce build flavors for RNWUniversalPR  (#3773)

* reduce build flavours

* reenable DesktopPR

* \\

* Update .ado/windows-vs-pr.yml

* Bunch of style properties fixes and TreeDump utility updates (#3793)

* Support CornerRadius for TextInput

* Fix cornerRadius issue for TextInput and some updates to TreeDump, plus new test for control style.

* applying package updates ***NO_CI***

* Get flow clean, and turn on flow-check during build (#3730)

* Get flow check working

* Get flow clean, and turn on flow check during build

* Change files

* fix

* Move RNTester files to matching location from RN\rntester

* PR feedback

* fix

* applying package updates ***NO_CI***

* SourceCode module should provide scriptURL when running livereload without webdebugger (#3803)

* Minor fixups after initial rn-win32 checkin

* Provide source uri in SourceCode module when using livereload

* Provide source uri in SourceCode module when using livereload

* Change files

* build fix

* fix build

* fix build

* applying package updates ***NO_CI***

* Remove remaining need for fork of RN for win32 JS (#3811)

* Remove remaining need for fork of RN for win32 JS

* Change files

* Build fix

* Change files

* applying package updates ***NO_CI***

* Export ability to query names of loaded native modules (master branch) (#3813)

* Export ability to query native module names

This is needed for testability (intenral CR using it out now). It's not ideal to add more exports, but we will always have to have some between instance interfaces.

* Change files

* Fix x86 mangeled name

* applying package updates ***NO_CI***

* Changed Microsoft.ReactNative to be independent from ReactUWP (#3809)

* Changed Microsoft.ReactNative to be independent from ReactUWP

* Removed ReactUWP project from the ReactUWPTestApp to reduce compiled code size.

* Removed commented code from pch.h

* Moved WindowsBrushExample.windows.tsx to fix RNTester bundle building

* Updated TreeDumps to fix test cases.

* An attempt to fix E2ETest

* Changed ViewPanel naemspace in the E2ETest tree dumps

* Changed namespace for ViewPanel in other E2ETest tree dumps

* applying package updates ***NO_CI***

* Allow UAP SDK to be in other folder other than ProgramFiles (#3815)

* check UAP in SDK10 installation folder

* applying package updates ***NO_CI***

* Add InjectBundleContent target (#3821)

* add InjectBundleContent target

* Change files

* format

* applying package updates ***NO_CI***

* Bump @types/react-native from 0.60.25 to 0.60.28 (#3831)

Bumps [@types/react-native](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-native) from 0.60.25 to 0.60.28.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-native)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* [Security] Bump handlebars from 4.1.2 to 4.5.3 (#3818)

Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.1.2 to 4.5.3. **This update includes a security fix.**
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](handlebars-lang/handlebars.js@v4.1.2...v4.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Call StartAnimation on m_scaleCombined for ScaleX / ScaleY animations (#3829)

* Call StartAnimatiom on m_scaleCombined for ScaleX / ScaleY animations

There was a copy-paste error previously that started m_translationCombined instead.

* Change files

* applying package updates ***NO_CI***

* Remove remaining need for fork of RN for win32 JS (#3834)

* Remove remaining need for fork of RN for win32 JS

* Change files

* Build fix

* Change files

* Enable flow type checking in win32

* Fix build

* applying package updates ***NO_CI***

* Rename GetFacebookReactInstance

* Fix code review comment

* Update TurboModuleUtils.cpp

* Fix lint errors

Co-authored-by: Di Da <dida@microsoft.com>
Co-authored-by: rnbot <53619745+rnbot@users.noreply.github.com>
Co-authored-by: Harini Kannan <harinik@microsoft.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Jon Thysell <thysell@gmail.com>
Co-authored-by: kmelmon <33470154+kmelmon@users.noreply.github.com>
Co-authored-by: Canhua Li <canli@microsoft.com>
Co-authored-by: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Co-authored-by: Anandraj <mganandraj@outlook.com>
Co-authored-by: Vladimir Morozov <vmoroz@users.noreply.github.com>
Co-authored-by: Marlene Cota <marlenecota@gmail.com>
Co-authored-by: Mike Kaufman <mike-kaufman@users.noreply.github.com>
Co-authored-by: Nick Gerleman <nick@nickgerleman.com>
Co-authored-by: Tom Shea <tom@shea.at>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants