Commit Graph

17677 Commits

Author SHA1 Message Date
Doug Bunting cb298f16e9
Merge branch 'release/2.2' => 'release/3.0' (#13100) 2019-08-24 11:06:25 -07:00
Doug Bunting 208b50afca
Merge branch 'release/3.0-preview9' => 'release/3.0' (#13283) 2019-08-24 11:02:55 -07:00
Javier Calvarro Nelson 61dc5fbe28 [ApiAuthorization] Disables pop-up logout by default
* There is an issue in Edge that prevents it from working.
* Can be enabled by setting 'popUpDisabled = false' in 'authorize.service.ts'
2019-08-23 20:00:53 -07:00
Doug Bunting 8417429b9b
Fix a typo and address remaining service reference TODO items (#13364)
- #4923
- typo caused problems when cleaning files
- add `%(OpenApiProjectReference.GlobalPropertiesToRemove)` metadata
  - stop removing `$(Configuration)` or `$(Platform)` global properties
- address timing issues cropping up occasionally in builds using service ref features
  - avoid `AfterTargets="Build"`; referencing projects sometimes continue while post-build work is done
    - instead use `BeforeTargets="Build"` since that's a no-op target wrapping up a build
- set only properties in buildMultiTargeting\Microsoft.Extensions.ApiDescription.Server.targets
  - items not evaluated early enough to reference in all cases
- rename Microsoft.Extensions.ApiDescription.Client tasks
- remove net461 task assembly
2019-08-23 15:59:58 -07:00
Doug Bunting e89a0519b9 Use Microsoft.Extensions.CommandLineUtils and Microsoft.Extensions.Tools.Internal in service ref programs
- add '--quiet' option
- add '--debug' option (when building Debug configuration)
- support `--` in `dotnet-getdocument`; users may want to explictly add options for GetDocument.Insider
- remove '--no-color' option
- use `IReporter` extension methods instead of static `Reporter` class
- reduce `static` use to ease testing (coming soon) and share the `IConsole` and `IReporter`
  - add `ProgramBase`
- allow mix of known and unknown command-line arguments
  - maintain existing behaviour using switch added in aspnet/Extensions#2210

nits:
- add a couple more `CommandLineApplicationExtensions` methods
- take VS suggestions
2019-08-23 15:54:55 -07:00
Brennan 6d311041f0
Properly wait for workaround (#13286) 2019-08-23 11:15:40 -07:00
John Luo 3b5a9e51d2 Set Blazor Client projects to use preview 9 label 2019-08-23 10:16:56 -07:00
Ryan Brandenburg cfcffd8251 OpenAPI ServiceReference Tool (#12810)
Add ServiceReference tool
2019-08-22 11:16:16 -07:00
Pranav K 7bb56a8dba
Do not throw if RouteComparison compares two identical references
Fixes https://github.com/aspnet/AspNetCore/issues/13313
2019-08-21 13:18:41 -07:00
Kevin Pilch 733218c652
Merge pull request #13226 from aspnet/rynowak/interop-reliability
Improve reliability of reliability tests
2019-08-20 14:00:29 -07:00
Hao Kung 55b271227d Fix privacy link (#13262) 2019-08-20 09:03:06 -07:00
Pranav K 2061713b47 Use min.js files 2019-08-19 18:57:46 -07:00
Brennan Conroy 4fb2dda133 Fix AllProtocols with duplicates 2019-08-19 16:27:16 -07:00
Ryan Nowak be2a71855b Improve reliability of reliability tests
Fixes: #13086

- Fixed some wrong logging (wrong EventIds)
- Added a base class for ignitor tests
- Centralized code for capturing data in ignitor
- Make `WaitForXyz` methods return the thing they found
- Make `WaitForXyz` methods report logs on timeout
- Fix synchronization problems with some tests
- Split invalid event tests into their own class for code reuse

The main thing here is that some of the JS interop reliability tests had
causality/synchronization problems. They were either not waiting for a
render batch, or they were not *triggering* a render batch.

In addition to that, I did a general consolidation of the infrastructure
for these tests to make sure that they are all using the same set of
practices. I found and fixed cases where tests were using timeouts that
were too small (inconsistency) or where they were using non-threadsafe
data structures (these tests always involve concurrency).
2019-08-19 15:31:43 -07:00
Stephen Halter ff5c200345
Wait until after UseHttps() to read HttpProtocols (#13202)
- This makes it so ListenOptions.HttpProtocols can be set after
  ListenOptions.UseHttps() is called and still function.
2019-08-19 10:58:49 -07:00
Ryan Nowak 8035ef0a27 Add AdditionalAssemblies to Router
Adds the ability to specify multiple assemblies to the Router
component.

Prior to preview 8, the router would search all dependencies of
`AppAssembly` for routable components. We made an intentional change to
stop that. However, we haven't yet give users a way to specify multiple
assemblies if their components are split across assemblies.
2019-08-19 09:07:12 -07:00
Javier Calvarro Nelson 5678f84d60
[Blazor] Adds a version to the Circuit ID purpose (#13250)
* It prevents older payloads from being unprotected should we ever change the format.
* Follows recommended practices when using data protection.
2019-08-19 17:58:56 +02:00
Justin Kotalik 8a777e50fb Merge branch 'release/2.2' into release/3.0 2019-08-19 08:15:07 -07:00
Javier Calvarro Nelson 74b801506b
[Blazor] Enables the client to initiate blazor server-side renders (#13147)
* [Blazor] Allows multiple components as entry points
* Removes all overloads that register a component statically with aborts
  selector.
* Updates render component to have a RenderMode parameter that indicates
  how the component must render. Valid values are Static, Server, and
  ServerPrerendered.
* When using Server or ServerPrerendered we emit marker comments into
  the page that are later used by blazor.server.js to bootrstrap a
  blazor server-side application.
2019-08-17 20:44:59 +02:00
dotnet-maestro[bot] 8283e6ac2b
[release/3.0] Update dependencies from aspnet/EntityFrameworkCore (#13210)
* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190816.12

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview9.19416.12
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview9.19416.12
- dotnet-ef - 3.0.0-preview9.19416.12
- Microsoft.EntityFrameworkCore - 3.0.0-preview9.19416.12
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview9.19416.12
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview9.19416.12
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview9.19416.12

Dependency coherency updates

- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Http - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Primitives - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.JSInterop - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Mono.WebAssembly.Interop - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.NETCore.App.Runtime.win-x64 - 3.0.0-preview9-19416-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.Extensions.Logging - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview9-19416-01 (parent: Microsoft.Extensions.Logging)
- Microsoft.NETCore.App.Ref - 3.0.0-preview9-19416-01 (parent: Microsoft.Extensions.Logging)
- NETStandard.Library.Ref - 2.1.0-preview9-19416-01 (parent: Microsoft.Extensions.Logging)
- Internal.AspNetCore.Analyzers - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.Testing - 3.0.0-preview9.19416.7 (parent: Microsoft.EntityFrameworkCore)

* React to breaking changes
2019-08-17 17:44:06 +00:00
Pranav K 8857746e4b
Merge pull request #13112 from aspnet/darc-release/3.0-9048d89c-e829-4684-8acd-94ef228abee6
[release/3.0] Update dependencies from 2 repositories
2019-08-16 20:09:08 -07:00
Brennan 4d0c03fe28
Fix build race (#13197) 2019-08-16 19:42:43 -07:00
John Luo fc0c26cbec Remove site-extension workarounds (#13044) 2019-08-16 19:24:06 -07:00
Doug Bunting 04b1adbc2e
Move service reference projects into Tools directory (#13185)
- start of #4914 and #4896
- make infrastructure more accessible to these projects
- update list of projects
  - run `.\eng\scripts\GenerateProjectList.ps1`
2019-08-16 19:05:37 -07:00
Pranav K 5bc79e8449
Ignore overriden properties in component parameters (#13198)
* Ignore overriden properties in component parameters

* Modify MemberAssignment to return shadowed properties, but not inherited properties
* Modify ComponentProperties to throw if a Parameter property is non-public

Fixes https://github.com/aspnet/AspNetCore/issues/13162
2019-08-16 17:53:55 -07:00
Doug Bunting c0d5248fb4 Refine service reference warnings and errors
- #12792
- client:
  - add error if OpenAPI file does not exist
  - separate unsupported TFM case from targets being called when disabled
- server:
  - generalize multi-targeting handling in Microsoft.Extensions.ApiDescription.Server
    - add `$(_OpenApiGenerateDocumentsTFM)`, the TFM used when invoking inner build
    - default `$(OpenApiGenerateDocuments)` to 'true' only when a supported TFM exists
  - add separate error for non-existent cache file in `OpenApiGetDocuments` target
  - add error in `GetDocumentInsider` if no documents are found
    - make `<Warning />` in the targets file an `<Error />`
    - add more text to existing `ServiceNotFound` error
- both:
  - write errors to `stderr`
  - clean up top-level output for `Exception`s
    - stop writing the `Message` twice

* Correct "Open API" mentions; should be "OpenAPI"
  - change package tags and comments

* Add service reference projects to MvcNoDeps.slnf

nits:
- add "service reference" tag in Microsoft.Extensions.ApiDescription.* packages
- add "document generation" tag in Microsoft.Extensions.ApiDescription.Server package
- `.Trim()` TFM properties because `<TargetFrameworks>;netcoreapp3.0;;</TargetFrameworks>` is allowed
- don't use bold black for verbose messages
- reorder MSBuild property settings for readability
2019-08-16 16:55:56 -07:00
Pranav K 895dfb40fc
Fixup template 2019-08-16 15:34:58 -07:00
Ryan Nowak aafb0813e6 Rename DOM types and change namespace
Fixes: #12553

This change renames all of our browser/DOM specific types from
`UIFooEventArgs` to `FooEventArgs` and puts the in the `.Web` namespace.

In addition to this, we're moving `EventHandlers` and `BindAttributes`
to the same. This has the impact of scoping the mappings those classes
provide based on the `.Web` namespace.

This means that we now expect `.Web` to be present as a using in
basically all contexts for a browser-based Blazor app. Updated
templates, samples and tests. I'll also need to update about a million
tests in the compiler codebase.

I've logged https://github.com/aspnet/AspNetCore.Docs/issues/13832 to
track the docs and release notes part of this work.
2019-08-16 14:34:34 -07:00
Ryan Nowak 3b51b55176 Create CircuitSecret
Fixes: #13012

This change introduces a circuit id 'secret' as the concept that's used when
doing handshaking between the client and the server, and makes CircuitId
(visible to user-code) a separate concept (not a secret, can't be used
to open a connection).

The scope of this grew once I realized that we probably shouldn't be
logging Circuit Secret in so many places, we should be logging CircuitId
as the piece of data we use for correlation, and try to keep the secret
out of logs except where really necessary (and with trace level).

I ended up creating a new type to represent the combination of the
circuit id and secret and prevent
accidental misuse, and then chased down all of the build errors.

As an extra detail, the circuit id is part of the data-protected payload
that's used as the secret. This way we can always get the id back from
the secret without any external storage.
2019-08-16 08:19:38 -07:00
Pranav K 203caa020f
React to more changes 2019-08-16 07:16:14 -07:00
Pranav K 029e455e7b
Remove ref:suppressField 2019-08-15 23:00:46 -07:00
Ryan Nowak 7f054152db Move public rendering types to .RenderTree
Fixes: #12552

We're not documenting these types for public use in this release. We
already have an analyzer implemented to chase you away from taking a
dependency.
2019-08-15 20:14:59 -07:00
Justin Kotalik 3e08d453fe fix xunit namespace 2019-08-15 17:05:17 -07:00
Justin Kotalik b79e9aac36 refs 2019-08-15 17:03:19 -07:00
Justin Kotalik 829f893f29 React to extensions changes 2019-08-15 17:03:19 -07:00
Pranav K 98c8988baa React to JSRuntime changes 2019-08-15 17:02:56 -07:00
N. Taylor Mullen f890c9104c Improves further on Blazor reconnection experience.
- Expanded `ReconnectDisplay` to have a `rejected` method on it. This is the method that indicates we will never be able to reconnect to the server. By default we provide a nice little message letting users know that reconnection is no longer possible and that a refresh must take place.
- Added a logger to the `DefaultReconnectionDisplay` since part of its job is handling `Retry` clicks which indirectly call `reconnect()`. Therefore, it needed the ability to log information to the console to inform users why certain reconnects were not possible.
- Updated the `UserSpecifiedDisplay` to have a `refused` understanding. Added a new CSS class to represent the `refused` state as well.
- Updated existing tests to abide by the new `ReconnectDisplay` structure
- Added a new test to validate that the `refused``ReconnectDisplay` method results in proper behavior.

#12442
2019-08-15 14:17:35 -07:00
Pranav K b2a0b02e35
Update runtime compilation to target CSharpLang v8.0 by default (#13110)
Fixes https://github.com/aspnet/AspNetCore/issues/9129
2019-08-15 09:18:41 -07:00
Justin Kotalik 417cba2d50 Microsoft.AspNetCore.App =>Ref in the platform manifest (#13129) 2019-08-15 08:48:06 -07:00
Justin Kotalik f70eef0db1
I don't know how to write debug asserts (#13134) 2019-08-15 08:27:39 -07:00
N. Taylor Mullen 10452bf783 Improve Blazor reconnection experience.
- Updated text of reconnect dialog to be more clear.
- Added user feedback to the `Retry` event button click. The current flow is `Attempting to reconnect` -> `Failed to reconnect ... [Retry]` -> Click Retry -> `Attempting to reconnect`.
- Found that in cases where the server went away entirely the reconnect event would through unexpectedly preventing the reconnect display from handling a failed reconnect. Added a separate error flow to understand when the server went away/could not start a SignalR connection to.
- Could not find a great way to add tests for this scenario.

Addresses #12442
2019-08-14 16:27:00 -07:00
Ryan Nowak 13fc89ce49 Dispose DI scope with async support in circuit host
Fixes part of #12918

This fixes the part of this issue that we're going to be able to do in
3.0 safely.
2019-08-14 15:24:02 -07:00
N. Taylor Mullen e5a950de97 Re-enable reconnection failed invocation validation test.
- Relaxed the `maxRetries` and `retryIntervalMilliseconds` parameters to enable the test to complete quicker. Couldn't reproduce a failure even as the test is originally on my own Mac.

#12578
2019-08-14 14:47:33 -07:00
Ajay Bhargav Baaskaran c605d6cf63
Don't release SemaphoreSlim when it is canceled (#12818)
* Don't release SemaphoreSlim when it is cancelled

* fixed tests

* Rebased

* Updated ref

* mark test as flaky
2019-08-14 12:40:44 -07:00
Ryan Nowak 1f7d59d8f1 Remove IComponentContext
Fixes part of: #12553

We don't believe that this is needed anymore. We no longer call
OnAfterRender when you're prerendering, so the main use case of this
type is gone.
2019-08-14 12:06:05 -07:00
Pranav K a285e966e3
Mark InteropReliabilityTests flaky again (#13130) 2019-08-14 11:15:17 -07:00
John Luo ed360e171a fix npm flake (#13106) 2019-08-14 07:48:34 -07:00
Javier Calvarro Nelson 74c09470c6
[Blazor][Fixes #12056] Avoid producing warnings for bad inputs.
* Does not produce warnings when receiving invalid event arguments.
* Does not produce warnings when receiving an invalid event handler id.
* Does not produce warnings when receiving an ack for an unknown batch.
2019-08-14 13:01:53 +02:00
Mikael Mengistu e7a1dc620b
Update SignalR Sample (#13078) 2019-08-13 15:12:31 -07:00
Justin Kotalik 2217be2826 Skip/disable tests in 2.2 for IIS (#12985)
* Skip/disable tests in 2.2 for IIS

* Update ServicesTests.cs
2019-08-13 14:00:33 -07:00