Skip to content
This repository was archived by the owner on May 20, 2025. It is now read-only.

Commit b79257f

Browse files
abodalevskyMax
authored andcommitted
Fix WPF. Application crashes on startup (#973)
* Align windows examples with the latest react native react native v: 0.47.1 * re-create corrupted json file
1 parent de0c36f commit b79257f

File tree

5 files changed

+20
-6
lines changed

5 files changed

+20
-6
lines changed

Examples/CodePushDemoApp/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"react": "16.0.0-alpha.12",
1111
"react-native": "^0.47.1",
1212
"react-native-code-push": "file:../../",
13-
"react-native-windows": "^0.43.0-rc.0"
13+
"react-native-windows": "^0.47.0-rc.5"
1414
},
1515
"devDependencies": {
1616
"babel-jest": "20.0.3",

Examples/CodePushDemoApp/windows/CodePushDemoApp.Wpf/CodePushDemoApp.Wpf.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102
<ItemGroup>
103103
<Reference Include="Facebook.Yoga, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
104104
<SpecificVersion>False</SpecificVersion>
105-
<HintPath>..\packages\Facebook.Yoga.1.2.0-pre1\lib\net45\Facebook.Yoga.dll</HintPath>
105+
<HintPath>..\packages\Facebook.Yoga.1.5.0-pre1\lib\net45\Facebook.Yoga.dll</HintPath>
106106
<Private>True</Private>
107107
</Reference>
108108
<Reference Include="System" />
@@ -171,9 +171,9 @@
171171
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
172172
</PropertyGroup>
173173
<Error Condition="!Exists('..\packages\Microsoft.ChakraCore.1.4.1\build\netstandard1.0\Microsoft.ChakraCore.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ChakraCore.1.4.1\build\netstandard1.0\Microsoft.ChakraCore.props'))" />
174-
<Error Condition="!Exists('..\packages\Facebook.Yoga.1.2.0-pre1\build\net45\Facebook.Yoga.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Facebook.Yoga.1.2.0-pre1\build\net45\Facebook.Yoga.targets'))" />
174+
<Error Condition="!Exists('..\packages\Facebook.Yoga.1.5.0-pre1\build\net45\Facebook.Yoga.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Facebook.Yoga.1.5.0-pre1\build\net45\Facebook.Yoga.targets'))" />
175175
</Target>
176-
<Import Project="..\packages\Facebook.Yoga.1.2.0-pre1\build\net45\Facebook.Yoga.targets" Condition="Exists('..\packages\Facebook.Yoga.1.2.0-pre1\build\net45\Facebook.Yoga.targets')" />
176+
<Import Project="..\packages\Facebook.Yoga.1.5.0-pre1\build\net45\Facebook.Yoga.targets" Condition="Exists('..\packages\Facebook.Yoga.1.5.0-pre1\build\net45\Facebook.Yoga.targets')" />
177177
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
178178
Other similar extension points exist, see Microsoft.Common.targets.
179179
<Target Name="BeforeBuild">
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Facebook.Yoga" version="1.2.0-pre1" targetFramework="net46" />
3+
<package id="Facebook.Yoga" version="1.5.0-pre1" targetFramework="net46" />
44
<package id="Microsoft.ChakraCore" version="1.4.1" targetFramework="net46" developmentDependency="true" />
55
</packages>

Examples/CodePushDemoApp/windows/CodePushDemoApp/project.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"dependencies": {
3-
"Facebook.Yoga": "1.2.0-pre1",
3+
"Facebook.Yoga": "1.5.0-pre1",
44
"Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2"
55
},
66
"frameworks": {

windows/CodePush.Net46/UpdateManager.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,13 +266,27 @@ internal async Task RollbackPackageAsync()
266266
private async Task<IFolder> GetCurrentPackageFolderAsync()
267267
{
268268
var info = await GetCurrentPackageInfoAsync().ConfigureAwait(false);
269+
if (info == null)
270+
{
271+
return null;
272+
}
269273
var packageHash = (string)info[CodePushConstants.CurrentPackageKey];
270274
return packageHash == null ? null : await GetPackageFolderAsync(packageHash, false).ConfigureAwait(false);
271275
}
272276

273277
private async Task<JObject> GetCurrentPackageInfoAsync()
274278
{
275279
var statusFile = await GetStatusFileAsync().ConfigureAwait(false);
280+
var info = await CodePushUtils.GetJObjectFromFileAsync(statusFile).ConfigureAwait(false);
281+
282+
if (info != null)
283+
{
284+
return info;
285+
}
286+
287+
// info file has been corrupted - re-create it
288+
await statusFile.DeleteAsync().ConfigureAwait(false);
289+
statusFile = await GetStatusFileAsync().ConfigureAwait(false);
276290
return await CodePushUtils.GetJObjectFromFileAsync(statusFile).ConfigureAwait(false);
277291
}
278292

0 commit comments

Comments
 (0)