Commit Graph

190 Commits

Author SHA1 Message Date
Pranav K 753dad3e3f
Re-enable assertion for pdbs during WASM publish (#26912)
Fixes https://github.com/dotnet/aspnetcore/issues/25135
2020-10-15 09:23:18 -07:00
dotnet-maestro[bot] aa50176707
[release/5.0] Update dependencies from dotnet/arcade (#26817)
[release/5.0] Update dependencies from dotnet/arcade


 - `NETCOREAPP5_0` -> `NET5_0`

 - Add PublishIISAssets To Fix Test
2020-10-14 04:35:26 +00:00
Javier Calvarro Nelson 901bf9ba43
[Blazor] Missing IAsyncDisposable implementation on renderer (#26848)
* Implement async disposable on the renderer

* Minor cleanups
2020-10-13 13:50:54 -07:00
Hao Kung 0a52bb721c
API docs for Components (#26505)
* Turn on doc warnings

* Api ref stuff

* Add api docs

* Api docs

* Missing docs

* Add docs

* Update src/Components/WebAssembly/WebAssembly.Authentication/src/Services/ExpiredTokenException.cs

Co-authored-by: Pranav K <prkrishn@hotmail.com>

Co-authored-by: Pranav K <prkrishn@hotmail.com>
2020-10-02 13:22:14 -07:00
Pranav K 0e5d7ef1d4
Attempt to read the logs from the browser (#26289)
* Attempt to read the logs from the browser

Seleniunm currently does not return log messages (See https://github.com/SeleniumHQ/selenium/issues/8229).
This making figuring out blazor WASM test failures a lot harder.

This change adds some JS to the test apps to read the console output.

* WIP
2020-09-28 17:07:22 -07:00
Safia Abdalla b925b2886a
Pass all scopes in token request and update IndividualLocalAuth template (#26232)
* Pass all scopes in token request and update IndividualLocalAuth template

* Fix build and address feedback from peer review
2020-09-23 20:42:44 -07:00
Pranav K de1bf0abe4
Detect culture change in .NET (#26192)
* Detect culture change in .NET

With ICU sharding enabled, blazor wasm attempts to detect if the application culture was changed by the
application code as part of Program.MainAsync and tell them they need to opt out of sharding.

Prior to this change, Blazor compared the .NET culture string with a JS representation for language. With iOS 14,
the two culture strings differ in casing which prevents the use of any Blazor WASM app the latest version installed.

As part of this change, the comparison is performed entirely in .NET which avoids relying on the JS representation.

* Fixups
2020-09-23 09:00:38 -07:00
Safia Abdalla 93f73c7764
Add support for debugging lazy-loaded assemblies (#25943)
* Add support for debugging lazy-loaded assemblies

* Address feedback from peer review

* Increase wait for output on tests
2020-09-22 08:23:39 -07:00
Pranav K 2228c98b88
Use ICU sharding (#25521) 2020-09-10 10:17:02 -07:00
Doug Bunting 475fc569d9
[release/5.0-rc2] Add public API baselines for Components (#25660)
- part of #24347
- unable to do src/Components/Authorization due to contained `*.razor` file
- ignored src/Components/Analyzers and src/Components/WebAssembly/Sdk
2020-09-06 21:33:03 -07:00
Javier Calvarro Nelson 3d38d397ae
[Blazor] CSS isolation follow-ups (#25565)
This change includes several improvements to CSS isolation that we have gathered from validation and usage feedback.

We have switched from producing a single scoped CSS bundle file for the entire application with all the scoped css files from the current project, referenced projects and package projects to producing one bundle per referenced project/package and to include those bundles into an "application" bundle throught CSS @import statements.

We have cleaned up the bundle names to make them more unique by including the project name on them and we have also cleaned up the bundle extensions.

We have decided to put the individual bundles generated for the project scoped css assets into the static web assets base path of the project, so that when developers reference assets from their scoped css files (like using the CSS url function) the path they use matches what they have inside their library wwwroot folder.

We have decided to put the application bundle on the root path of the application provided that the developer has not overriden the default StaticWebAssetsBasePath.

This is so that the bundle location is consistent across templates, and can be found at ProjectName.styles.css independent of whether the app is a blazor webassembly app or a server side blazor app.

For cases where the default StaticWebAssetBasePath has been overriden, the value is respected and the bundle is placed at $(StaticWebAssetBasePath)/ProjectName.styles.css.

Packaged razor class libraries with scoped css files now package a "project" bundle instead of the individual files.
2020-09-04 10:54:44 -07:00
Mackinnon Buck bbc7fd8192
IJSUnmarshalledObjectReference for unmarshalled JS interop calls on JavaScript objects. (#25548)
* Added IJSUnmarshalledObjectReference

* Working support for IJSUnmarshalledObjectReference

* CR feedback

* Removed IVT and made JSObjectReference public

* Updated JSON converter.

* Update JSObjectReferenceJsonConverterTest.cs

* Removed whitespace 😓
2020-09-04 10:27:10 -07:00
Mackinnon Buck 2a0b7dc43e
JSObjectReference API review follow-up (#25476)
* API review changes.

* Fixed JSObjectReferenceJsonConverter

* CR feedback

* Update JSObjectReferenceExtensions.cs
2020-09-02 15:09:26 -07:00
Doug Bunting 7579b300f7
Mark some projects as non-packable or non-shippable (#25468)
- used `$(IsTestAssetProject)` in src/Razor/test; slightly more correct
  - we don't have a special category for test infrastructure projects
2020-08-31 22:46:53 -07:00
Pranav K e4b1950bc0
Set PrivateAssets on transport package (#25450)
The transport package does not ship and we do not want it to appear in WebAssembly.Server's nuspec.
2020-08-31 11:30:43 -07:00
Artak 3db5c9cbc5
Use MonoProxy package for debugging (#24721)
* Use MonoProxy package for debugging

* Initial working end-to-end

* Update package version and polish up dbging issues

* Throw exception if DebugProxy received no output
2020-08-28 10:29:34 -07:00
Safia Abdalla 3c3995f653
Add media type mappings for .blat files (#25284) 2020-08-28 10:29:24 -07:00
Doug Bunting 31bd4d4b1d
[release/5.0] Correct baseline checks (#25227)
- mostly duplicates #25217
- update `BaselineGenerator` to produce baselines useful in 6.0 (too)
- update Baseline.Designer.props using new generator (matching 3.1.7 release)
- always suppress references expressed only in `*.nuspec` files
  - needed even in servicing builds
- restore warning and errors about removed references (new for 5.0)
  - adjust exclusions to handle `@(_ProjectReferenceByAssemblyName)` removal

nit: do not generate empty `<ItemGroup />` elements

* Correct `@(SuppressBaselineReference)` items
  - remove out-of-date `@(SuppressBaselineReference)` items
    - either 3.1.7 baselines we're using don't include reference or still using package
    - fix some comments and `Condition` attributes to make remainder easy to find
  - add missing `@(SuppressBaselineReference)` items
2020-08-28 09:53:20 -07:00
Safia Abdalla 6f780bb9ea Throw exception if DebugProxy received no output 2020-08-28 08:25:49 -07:00
Safia Abdalla a3ed9add5d Update package version and polish up dbging issues 2020-08-28 08:25:49 -07:00
Safia Abdalla 302d79a347 Initial working end-to-end 2020-08-28 08:25:18 -07:00
Safia Abdalla 691910c67d Use MonoProxy package for debugging 2020-08-28 08:23:30 -07:00
Safia Abdalla e2dd2969b5
Set SameSiteMode for cookies in authentication tests (#25281) 2020-08-26 12:22:34 -07:00
Pranav K b0530a68c0
Do not include the shared framework in the packages (#24816)
* Do not include the shared framework in the packages

DevServer and dotnet-watch include binaries from the ASP.NET Core shared framework
as part of the package. This change compiles these projects against the most recently built
version of the shared framework which ensures build and publish work as normals. Individual
projects from the runtime can be referenced to pick up new runtime features when necessary

* More hacks!

* Ensure shared runtime is built before running tests

* Delete dotnet-watch.nuspec
2020-08-25 10:03:58 -07:00
Javier Calvarro Nelson 402dc41d33
[Blazor] Render Blazor Webassembly components from MVC (#25203)
* Server pieces

* Changes for prerendering

* Discover client components

* tmp

* Cleanup

* Cleanups

* Undo changes

* Remove unwanted changes

* Move interop class to its own file

* Cleanup unwanted changes

* Add test rendering multiple client-side components

* Unit tests and E2E tests

* Cleanups

* Addressed feedback

* Rename Client to WebAssembly in RenderMode

* Update generated js files

* Cleaned up JS and addressed feedback

* Client->WebAssembly and other feedback

* Unify component discovery code and use webassembly instead of 'client'

* Update js files

* Fix tests
2020-08-25 09:30:24 -07:00
Mackinnon Buck 8a2f29bb53
JSObjectReference (#25028) 2020-08-24 21:02:19 -07:00
Pranav K 85835c7134
Default new runtime feature switches (#25108)
Porting #23932 to WebAssemblySDK.

* Default new runtime feature switches

These new feature switches have been added to the runtime to make applications smaller. Setting reasonable defaults to Blazor wasm projects.

Fixes https://github.com/dotnet/aspnetcore/issues/25099

If there is an ask mode template to fill out, let me know and I can do it.
2020-08-22 14:35:13 +00:00
Safia Abdalla ecf2a23d3d
Update to @azure/msal-browser@2.0.0 (#24827)
* Update to @azure/msal-browser@2.0.0
* Retain promise during initialization
* Set knownAuthority hostname from authority URL
* Add KnownAuthorities config option and fix silent sign-in
* Set knownAuthorities default to empty list
2020-08-21 11:15:41 -07:00
Mackinnon Buck 0b1042c54e
InputFile Component (#24640) 2020-08-20 17:52:41 -07:00
Eric Erhardt a700662dec
Quote the ToolAssembly path in BrotliCompress task. (#25101)
Fix #25098
2020-08-20 23:36:09 +00:00
Pranav K 4f64c65325
Add a regression test for web.config transform (#25056)
This was resolved as part of moving to the WebAssembly SDK.
A test that would have helped us catch this sooner. This change addresses the test gap.

Resolves https://github.com/dotnet/aspnetcore/issues/24568
2020-08-20 10:14:53 -07:00
Brennan df04381411
Quarantine flaky Razor Integration tests (#25043) 2020-08-19 14:34:12 -07:00
Pranav K c6814f4f4d
Enable the compatibility analyzer for Blazor WebAssembly (#24978)
See https://github.com/dotnet/sdk/pull/12872#issuecomment-673783153
2020-08-19 10:00:08 -07:00
Pranav K d2f34d6d99
Enable trimming for Microsoft.Extensions packages (#24986)
* Enable trimming for Microsoft.Extensions packages

Fixes https://github.com/dotnet/aspnetcore/issues/24634

* Update Microsoft.NET.Sdk.BlazorWebAssembly.csproj

* Apply suggestions from code review

* Fixup test
2020-08-19 16:29:52 +00:00
Javier Calvarro Nelson 38563dd8d1
[Blazor][Identity] Update to the latest identity server version (#25002)
* Updates to IdentityServer 4.0.4
* Updates templates with the new migrations.
* Fixes a small configuration bug that required the configuration for the key to be specified.
* Updates the error url in IdentityServer config to match our template defaults.
2020-08-19 02:12:35 -07:00
Pranav K 8a8a1ac972
Fixups 2020-08-17 12:47:10 -07:00
Pranav Krishnamoorthy 4e57d1b041
Merged PR 9371: Revive support for globalization and localization in Blazor WASM
Revive support for globalization and localization in Blazor WASM

* Load icu and timezone data files
* Unskip tests

Fixes https://github.com/dotnet/aspnetcore/issues/24174
Fixes https://github.com/dotnet/aspnetcore/issues/22975
Fixes https://github.com/dotnet/aspnetcore/issues/23260
2020-08-17 09:02:18 -07:00
Juan Barahona a2a6db2ee3
[Blazor][Fixes #22912] Fix "registration is not supported" never displayed in blazor webassembly authentication (#24862) 2020-08-14 02:40:01 -07:00
Adrian Wright ede7d08984
Allow ".dll" extensions in BlazorWebAssemblyLazyLoad MSBuild task. (#24866)
* Allow ".dll" extensions in BlazorWebAssemblyLazyLoad MSBuild task.
* Only allow assemblies that are specified with an extension.
Co-authored-by: Adrian Wright <adrian@compiledcoding.co.uk>
2020-08-13 09:41:03 -07:00
msftbot[bot] 4092201629
Merge pull request #24823 from dotnet-maestro-bot/merge/release/5.0-preview8-to-master
[automated] Merge branch 'release/5.0-preview8' => 'master'
2020-08-12 03:56:30 +00:00
Pranav K c3a12cefae
Include the DebugProxy binaries in DevServer (#24817)
* Remove unused nuspec property that relied on relative path
2020-08-11 19:14:35 -07:00
Pranav K 8e5533f2a3
Use BlazorWebAssemblySDK (#24371)
* Use BlazorWebAssemblySDK

* Update projects to use the BlazorSDK
* Remove tasks and targets from RazorSDK
* Remove workarounds from BlazorSDK

* Fixup

* Fixup
2020-08-11 17:29:01 +00:00
Pranav K 059e2fdc49
Remove Internal.AspNetCore.Analyzers (#24693)
* Remove Internal.AspNetCore.Analyzers

This resolves build flakiness caused by referencing the analyzer:

```
2020-08-07T21:22:39.1149296Z ##[error].dotnet\sdk\5.0.100-rc.1.20379.10\Microsoft.Common.CurrentVersion.targets(4188,5): error MSB3026: (NETCORE_ENGINEERING_TELEMETRY=Build)
Could not copy "F:\workspace\_work\1\s\artifacts\obj\Internal.AspNetCore.Analyzers\Release\netstandard1.3\Internal.AspNetCore.Analyzers.dll"
to "F:\workspace\_work\1\s\artifacts\bin\Internal.AspNetCore.Analyzers\Release\netstandard1.3\Internal.AspNetCore.Analyzers.dll". Beginning retry 1 in 1000ms.
The process cannot access the file 'F:\workspace\_work\1\s\artifacts\bin\Internal.AspNetCore.Analyzers\Release\netstandard1.3\Internal.AspNetCore.Analyzers.dll' because it is being used by another process.
```

The analyzer checks if pubternal types are being exposed in public APIs. We no longer author pubternal types, so this is no longer a concern.

* Remove DisablePubternalApiCheck
2020-08-11 03:08:55 +00:00
Eric Erhardt d25a7658c8
Remove LinkerWorkaround.xml (#24748)
* Remove LinkerWorkaround.xml

The workaround file is no longer needed, now that the underlying bugs are fixed in the dotnet/runtime libraries.

Fix #23262

* Also remove LinkerWorkaround from Components/WebAssembly
2020-08-10 18:59:59 +00:00
Adam Sitnik a196a6a0db
stop using RuntimeInformation.IsOSPlatform(OSPlatform.Browser) (removed in upcoming builds) (#24652)
switch back to RuntimeInformation.IsOSPlatform(OSPlatform.Create("BROWSER"))
2020-08-07 19:10:02 +00:00
dotnet-maestro[bot] f52077f599
[master] Update dependencies from dotnet/runtime dotnet/efcore (#24496)
* React to SDK changes

* Skip instead of quar

* Rely on transitive Microsoft.Bcl.AsyncInterfaces since it's now part of DependencyInjection.
    - This was introduced as part of: https://github.com/dotnet/runtime/pull/40189
    - Prior to this we'd get version conflicts for our referenced Bcl.AsyncInterfaces.

* Update global.json
    - move to RC1 SDK

* React to runtime nullability changes with DataAnnotations.
    - ValidationResult was updated to declare its nullability: a9009db46e (diff-8e86bc8fee3eb0242c5b8368dfabe065)

* Stop using HttpRequestMessage.Properties in favor of non-obsoleted HttpRequestMessage.Options.
    - Introduced in 3eda592cf4

* Stop using more HttpRequestMessage.Properties in Component's web assembly project.
    - Introduced in dotnet/runtime@3eda592

* Update dependencies from https://github.com/dotnet/runtime build 20200804.16

System.ComponentModel.Annotations , System.Diagnostics.DiagnosticSource , System.Diagnostics.EventLog , Microsoft.Extensions.Logging , Microsoft.Extensions.Logging.Abstractions , Microsoft.Extensions.Logging.Configuration , Microsoft.Extensions.Logging.Console , Microsoft.Extensions.Logging.Debug , Microsoft.Extensions.Logging.EventLog , Microsoft.Extensions.Logging.EventSource , Microsoft.Extensions.Logging.TraceSource , Microsoft.Extensions.Options , Microsoft.Extensions.Options.ConfigurationExtensions , Microsoft.Extensions.Options.DataAnnotations , Microsoft.Extensions.Primitives , Microsoft.Extensions.Internal.Transport , Microsoft.Extensions.Http , Microsoft.Extensions.Hosting , Microsoft.Extensions.Caching.Abstractions , Microsoft.Extensions.Caching.Memory , Microsoft.Extensions.Configuration , Microsoft.Extensions.Configuration.Abstractions , Microsoft.Extensions.Configuration.Binder , Microsoft.Extensions.Configuration.CommandLine , Microsoft.Extensions.Configuration.EnvironmentVariables , Microsoft.Extensions.Configuration.FileExtensions , Microsoft.Extensions.Configuration.Ini , Microsoft.Extensions.Configuration.Json , Microsoft.Extensions.Configuration.UserSecrets , Microsoft.Extensions.Configuration.Xml , Microsoft.Extensions.DependencyInjection , Microsoft.Extensions.DependencyInjection.Abstractions , Microsoft.Extensions.DependencyModel , Microsoft.Extensions.FileProviders.Abstractions , Microsoft.Extensions.FileProviders.Composite , Microsoft.Extensions.FileProviders.Physical , Microsoft.Extensions.FileSystemGlobbing , Microsoft.Extensions.HostFactoryResolver.Sources , Microsoft.Extensions.Hosting.Abstractions , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.Platforms , Microsoft.Win32.Registry , Microsoft.Win32.SystemEvents , Microsoft.NETCore.App.Internal , Microsoft.NETCore.App.Ref , System.Drawing.Common , System.Text.Encodings.Web , System.Text.Json , System.Threading.Channels , System.Windows.Extensions , System.ServiceProcess.ServiceController , System.Security.Principal.Windows , System.IO.Pipelines , System.Net.Http.Json , System.Net.Http.WinHttpHandler , System.Net.WebSockets.WebSocketProtocol , System.Reflection.Metadata , System.Resources.Extensions , System.Runtime.CompilerServices.Unsafe , System.Security.AccessControl , System.Security.Cryptography.Cng , System.Security.Cryptography.Pkcs , System.Security.Cryptography.Xml , System.Security.Permissions
 From Version 5.0.0-rc.1.20370.4 -> To Version 5.0.0-rc.1.20404.16

* Ignitor to 5.0

* Constants

* Update dependencies from https://github.com/dotnet/efcore build 20200805.3

Microsoft.EntityFrameworkCore.Tools , Microsoft.EntityFrameworkCore.SqlServer , dotnet-ef , Microsoft.EntityFrameworkCore , Microsoft.EntityFrameworkCore.Relational , Microsoft.EntityFrameworkCore.Sqlite , Microsoft.EntityFrameworkCore.InMemory
 From Version 5.0.0-rc.1.20372.13 -> To Version 5.0.0-rc.1.20405.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Pranav K <prkrishn@hotmail.com>
Co-authored-by: wtgodbe <wigodbe@microsoft.com>
Co-authored-by: N. Taylor Mullen <nimullen@microsoft.com>
Co-authored-by: Justin Kotalik <jukotali@microsoft.com>
2020-08-05 18:42:25 -07:00
Pranav K b654051748
Remove Blazor internal profiling infrastructure (#24468) (#24589)
* Put back InternalCalls

* Removing .NET profiling calls

* Remove JS side profiling

Co-authored-by: Steve Sanderson <SteveSandersonMS@users.noreply.github.com>
2020-08-05 12:45:42 -07:00
Doug Bunting e13368391b
Keep `@(Reference)` metadata when creating `@(ProjectReference)` items (#21567)
- #20818, fix e.g. references to Microsoft.Web.Xdt.Extensions in our packages
- make `@(Reference)` items much more broadly applicable
- emit an error when `@(ProjectReference)` is used instead of `@(Reference)`
    - then get rid of the errors (!!)
- rename a couple of projects to match their assembly names
    - then regenerate the `@(ProjectReferenceProvider)` items
- switch intersection approach from Exclude / Exclude to Copy / Update / Copy

Projects of particular interest:
- src/DefaultBuilder/src/Microsoft.AspNetCore.csproj
    - honouring metadata left e.g. Microsoft.AspNetCore.Components.WebAssembly.DevServer package unchanged
    - removed redundant metadata after that confirmation
- src/Razor/tools/Microsoft.AspNetCore.Razor.Internal.Transport/
    - content of this package unchanged but metadata avoids extra work
    - add a comment about the extra work
- src/SiteExtensions/LoggingAggregate/src/Microsoft.AspNetCore.AzureAppServices.SiteExtension/
    - success! removes Microsoft.Web.Xdt.Extensions dependency from the package
- src/SiteExtensions/Runtime/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj
    - add a `Condition` to avoid an ordering issue I hit here
- src/Tools/Extensions.ApiDescription.Server/src/
    - avoid errors the new build ordering and timing caused

Separately, up the timeout in the `<DownloadFile />` task
- hit repeated timeouts downloading dotnet-runtime-5.0.0-rc.1.20370.4-win-x64.zip

nits:
- remove dupe `@(Reference)` item in Microsoft.AspNetCore.Components.WebAssembly.DevServer.csproj
- remove useless `%(ProjectReference.IsImplicitlyDefined)` metadata as well as its misspellings
- remove extra spaces from ProjectReferences.props
- clean up a few comments in ResolveReferences.targets

* !fixup! Correct other references to renamed projects
2020-08-04 10:05:55 -07:00
Steve Sanderson 6f7a3dfd4e
Remove Blazor internal profiling infrastructure (#24468)
* Put back InternalCalls

* Removing .NET profiling calls

* Remove JS side profiling
2020-07-31 22:04:48 +01:00
Javier Calvarro Nelson b326be1710
[Blazor] Wires up CSS isolation (#24221) (#24271)
* Wires up CSS isolation on the build.
* Transforms the css files during build.
* Bundles all scopes css into a single file and exposes it on _framework/scoped.styles.cs
* Packs pre-processed files as static web assets.
2020-07-24 08:42:35 -07:00