Skip to content

Merge release/3.1 #15355

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

Merged
merged 38 commits into from
Oct 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
43bd3a4
[3.0] Skip known failure in ShutdownTestWaitForShutdown (#14744)
Tratcher Oct 15, 2019
5ceb94f
[release/3.0] Pin Microsoft.Internal.Extensions.Refs (#15062)
mmitche Oct 16, 2019
e8c9952
Add .sidebar to .nav-item so to just target the nav in the template a…
Sep 26, 2019
1b2c443
In Blazor Server template, show login UI on small screens too. Fixes …
SteveSandersonMS Oct 17, 2019
c76df96
Treat FormatExceptions and OverflowExceptions to be treated as model …
pranavkm Oct 17, 2019
b9aeff4
Merge branch 'release/3.1' into merge/release/3.0-to-release/3.1
dougbu Oct 17, 2019
90b42ba
Update Facebook API to 4.0 #4684 (#14798)
Tratcher Oct 17, 2019
6d43b50
Handle large limits for form keys and values #13719 (#15066)
Tratcher Oct 17, 2019
6f9f659
Update dependencies from https://github.com/aspnet/AspNetCore-Tooling…
dotnet-maestro[bot] Oct 17, 2019
0da2edb
Re-enable Linux installer builds (#15119)
dougbu Oct 17, 2019
60ace9d
Merge branch 'release/3.0' => 'release/3.1' (#15086)
dougbu Oct 17, 2019
5dfb923
Flow return url in register confirmation (#15075)
HaoK Oct 17, 2019
a4af618
Add "allowReconnect" to SignalR CloseMessages (#14908)
halter73 Oct 17, 2019
5db0c95
Merge branch 'release/3.1' into merge/release/3.0-to-release/3.1
dougbu Oct 17, 2019
5440cd3
Merge branch 'release/3.0' => 'release/3.1' (#15126)
dougbu Oct 18, 2019
c298c94
Validation fixes for Blazor (#14972)
pranavkm Oct 18, 2019
19718f6
[Blazor][Fixes #15155] Clarifies the message to turn on detailed erro…
javiercn Oct 18, 2019
5f3037d
Add support for `EnableStopPropagation` and `EnablePreventDefault`.
Oct 18, 2019
65585c1
Renable shutdown tests Internal/#2577 (#15131)
Tratcher Oct 18, 2019
3d3d5f6
Add MS Edge support for debugging (#15176)
pranavkm Oct 19, 2019
3c9b8f7
[release/3.1] Update dependencies from 2 repositories (#15135)
dotnet-maestro[bot] Oct 19, 2019
a1fea20
Update Blazor survey link for 3.1.0-preview2 (#15173)
danroth27 Oct 19, 2019
0de5791
[release/3.1] Update dependencies from 2 repositories (#15183)
dotnet-maestro[bot] Oct 20, 2019
cdae83e
Use the declared type to infer NullableContextOptions (#15134)
pranavkm Oct 20, 2019
4fd9d38
Remove partial resend email functionality (#14901)
HaoK Oct 21, 2019
fe62ce7
Fail fast if authenticator key is null (#14037)
HaoK Oct 21, 2019
394445f
[Blazor] Improve the reliability of 'JSInteropThrowsInUserCode' (#15219)
javiercn Oct 21, 2019
f90c9ac
Use MinimumOSVersion in Kestrel (#15228)
Tratcher Oct 21, 2019
c1389d7
Identity UI footer fix (#15042)
ryanbrandenburg Oct 21, 2019
08608af
[Blazor] Fixes reliability issues in the blazor reliability tests (#1…
javiercn Oct 22, 2019
1ea47f1
Run users options last (#15121)
BrennanConroy Oct 22, 2019
99e79a0
Mark classes in typescript as private for docs (#15265)
BrennanConroy Oct 22, 2019
3d93e09
Add support for hub specific IHubProtocols that don't affect other hu…
BrennanConroy Oct 22, 2019
9bb9fc3
[3.1] Update Grpc.AspNetCore to 2.24.0 (#15245)
JamesNK Oct 22, 2019
8c77190
Reduce the number of members on ModelMetadataIdentity (#15280)
pranavkm Oct 23, 2019
9f9fbd0
Fix some issues with Ignitor (#15276)
pranavkm Oct 23, 2019
882df60
Merge remote-tracking branch 'origin/release/3.1'
pranavkm Oct 23, 2019
e880751
update tests
BrennanConroy Oct 24, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@
/src/Servers/ @tratcher @jkotalik @anurse @halter73
/src/Middleware/Rewrite @jkotalik @anurse
/src/Middleware/HttpsPolicy @jkotalik @anurse
/src/SignalR/ @mikaelm12 @BrennanConroy @halter73 @anurse
/src/SignalR/ @BrennanConroy @halter73 @anurse
1 change: 1 addition & 0 deletions eng/ProjectReferences.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
<ProjectReferenceProvider Include="GetDocument.Insider" ProjectPath="$(RepoRoot)src\Tools\GetDocumentInsider\src\GetDocumentInsider.csproj" />
<ProjectReferenceProvider Include="Microsoft.AspNetCore.SignalR.Specification.Tests" ProjectPath="$(RepoRoot)src\SignalR\server\Specification.Tests\src\Microsoft.AspNetCore.SignalR.Specification.Tests.csproj" />
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Blazor.Build" ProjectPath="$(RepoRoot)src\Components\Blazor\Build\src\Microsoft.AspNetCore.Blazor.Build.csproj" />
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Blazor.DataAnnotations.Validation" ProjectPath="$(RepoRoot)src\Components\Blazor\Validation\src\Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.csproj" />
<ProjectReferenceProvider Include="Ignitor" ProjectPath="$(RepoRoot)src\Components\Ignitor\src\Ignitor.csproj" />
<ProjectReferenceProvider Include="BlazorServerApp" ProjectPath="$(RepoRoot)src\Components\Samples\BlazorServerApp\BlazorServerApp.csproj" />
<ProjectReferenceProvider Include="Microsoft.AspNetCore" ProjectPath="$(RepoRoot)src\DefaultBuilder\src\Microsoft.AspNetCore.csproj" RefProjectPath="$(RepoRoot)src\DefaultBuilder\ref\Microsoft.AspNetCore.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
Expand Down Expand Up @@ -89,19 +91,26 @@ private static async Task DebugHome(HttpContext context)
}
catch (Exception ex)
{

await context.Response.WriteAsync($@"
<h1>Unable to find debuggable browser tab</h1>
<p>
Could not get a list of browser tabs from <code>{debuggerTabsListUrl}</code>.
Ensure Chrome is running with debugging enabled.
</p>
<h2>Resolution</h2>
<h1>Unable to find debuggable browser tab</h1>
<p>
Could not get a list of browser tabs from <code>{debuggerTabsListUrl}</code>.
Ensure your browser is running with debugging enabled.
</p>
<h2>Resolution</h2>
<p>
<h4>If you are using Google Chrome for your development, follow these instructions:</h4>
{GetLaunchChromeInstructions(appRootUrl)}
<p>... then use that new tab for debugging.</p>
<h2>Underlying exception:</h2>
<pre>{ex}</pre>
");
</p>
<p>
<h4>If you are using Microsoft Edge (Chromium) for your development, follow these instructions:</h4>
{GetLaunchEdgeInstructions(appRootUrl)}
</p>
<strong>This should launch a new browser window with debugging enabled..</p>
<h2>Underlying exception:</h2>
<pre>{ex}</pre>
");

return;
}

Expand Down Expand Up @@ -144,20 +153,42 @@ There is more than one browser tab at <code>{targetTabUrl}</code>.

private static string GetLaunchChromeInstructions(string appRootUrl)
{
var profilePath = Path.Combine(Path.GetTempPath(), "blazor-edge-debug");

if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
return $@"<p>Close all Chrome instances, then press Win+R and enter the following:</p>
<p><strong><code>""%programfiles(x86)%\Google\Chrome\Application\chrome.exe"" --remote-debugging-port=9222 {appRootUrl}</code></strong></p>";
return $@"<p>Press Win+R and enter the following:</p>
<p><strong><code>chrome --remote-debugging-port=9222 --user-data-dir=""{profilePath}"" {appRootUrl}</code></strong></p>";
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
{
return $@"<p>Close all Chrome instances, then in a terminal window execute the following:</p>
<p><strong><code>google-chrome --remote-debugging-port=9222 {appRootUrl}</code></strong></p>";
return $@"<p>In a terminal window execute the following:</p>
<p><strong><code>google-chrome --remote-debugging-port=9222 --user-data-dir={profilePath} {appRootUrl}</code></strong></p>";
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
return $@"<p>Execute the following:</p>
<p><strong><code>open /Applications/Google\ Chrome.app --args --remote-debugging-port=9222 --user-data-dir={profilePath} {appRootUrl}</code></strong></p>";
}
else
{
throw new InvalidOperationException("Unknown OS platform");
}
}

private static string GetLaunchEdgeInstructions(string appRootUrl)
{
var profilePath = Path.Combine(Path.GetTempPath(), "blazor-chrome-debug");

if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
return $@"<p>Press Win+R and enter the following:</p>
<p><strong><code>msedge --remote-debugging-port=9222 --user-data-dir=""{profilePath}"" {appRootUrl}</code></strong></p>";
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
return $@"<p>Close all Chrome instances, then in a terminal window execute the following:</p>
<p><strong><code>open /Applications/Google\ Chrome.app --args --remote-debugging-port=9222 {appRootUrl}</code></strong></p>";
return $@"<p>In a terminal window execute the following:</p>
<p><strong><code>open /Applications/Microsoft\ Edge\ Dev.app --args --remote-debugging-port=9222 --user-data-dir={profilePath} {appRootUrl}</code></strong></p>";
}
else
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<span class="text-nowrap">
Please take our
<a target="_blank" class="font-weight-bold" href="https://go.microsoft.com/fwlink/?linkid=2100553">brief survey</a>
<a target="_blank" class="font-weight-bold" href="https://go.microsoft.com/fwlink/?linkid=2109206">brief survey</a>
</span>
and tell us what you think.
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@ html, body {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
color: #0366d6;
}

.btn-primary {
color: #fff;
background-color: #1b6ec2;
border-color: #1861ac;
}

app {
position: relative;
display: flex;
Expand All @@ -21,10 +31,21 @@ app {
}

.main .top-row {
background-color: #e6e6e6;
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
}

.main .top-row > a, .main .top-row .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
}

.main .top-row a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}

.sidebar {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
Expand All @@ -44,38 +65,38 @@ app {
top: -2px;
}

.nav-item {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}

.nav-item:first-of-type {
padding-top: 1rem;
.sidebar .nav-item {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}

.nav-item:last-of-type {
padding-bottom: 1rem;
}

.nav-item a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.sidebar .nav-item:first-of-type {
padding-top: 1rem;
}

.nav-item a.active {
background-color: rgba(255,255,255,0.25);
color: white;
.sidebar .nav-item:last-of-type {
padding-bottom: 1rem;
}

.nav-item a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
.sidebar .nav-item a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}

.sidebar .nav-item a.active {
background-color: rgba(255,255,255,0.25);
color: white;
}

.sidebar .nav-item a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}

.content {
padding-top: 1.1rem;
}
Expand Down Expand Up @@ -116,9 +137,17 @@ app {
}

@media (max-width: 767.98px) {
.main .top-row {
.main .top-row:not(.auth) {
display: none;
}

.main .top-row.auth {
justify-content: space-between;
}

.main .top-row a, .main .top-row .btn-link {
margin-left: 0;
}
}

@media (min-width: 768px) {
Expand Down
34 changes: 34 additions & 0 deletions src/Components/Blazor/Validation/src/ComparePropertyAttribute.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.

namespace System.ComponentModel.DataAnnotations
{
/// <summary>
/// A <see cref="ValidationAttribute"/> that compares two properties
/// </summary>
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public sealed class ComparePropertyAttribute : CompareAttribute
{
/// <summary>
/// Initializes a new instance of <see cref="BlazorCompareAttribute"/>.
/// </summary>
/// <param name="otherProperty">The property to compare with the current property.</param>
public ComparePropertyAttribute(string otherProperty)
: base(otherProperty)
{
}

/// <inheritdoc />
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
var validationResult = base.IsValid(value, validationContext);
if (validationResult == ValidationResult.Success)
{
return validationResult;
}

return new ValidationResult(validationResult.ErrorMessage, new[] { validationContext.MemberName });
}
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Description>Provides experimental support for validation using DataAnnotations.</Description>
<IsShippingPackage>true</IsShippingPackage>
<HasReferenceAssembly>false</HasReferenceAssembly>
</PropertyGroup>

<ItemGroup>
<Reference Include="Microsoft.AspNetCore.Components.Forms" />
</ItemGroup>

<ItemGroup>
<InternalsVisibleTo Include="Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.Tests" />
</ItemGroup>

</Project>
Loading