Commit Graph

689 Commits

Author SHA1 Message Date
Steve Sanderson 98cd3ab349 Allow loading dlls with arbitrary extensions 2020-03-04 12:30:10 +00:00
Steve Sanderson fee14d8e13 Update debug proxy to match Mono commit b91580bafa7208b4a52d66cfadce070551f1904a 2020-03-03 11:43:55 +00:00
Javier Calvarro Nelson 085f6e1585
[Blazor][Fixes #19503] Exclude gzip files from manifest (#19525)
* Exclude gzip files from manifest
* Add a test to validate the service-worker manifest
2020-03-03 03:41:58 -08:00
Pranav K 555cf52454
Initialize the runtime state correctly for debugging (#19426)
* Initialize the runtime state correctly for debugging

On startup the DebugProxy needs to know when the runtime
has initialized enough to be able to begin interaction
this is accomplished by breaking in mono_wasm_runtime_ready()
which the Proxy sees does initialization and then resumes from.
Simply setting mono_wasm_runtime_is_ready breaks that logic,
but even worse it appears that the variable is linked out
in the release version

* Regen webassembly.js

Co-authored-by: Larry Ewing <lewing@microsoft.com>
2020-02-28 08:17:24 -08:00
Javier Calvarro Nelson 2b72b637bf
[Blazor][Wasm] Add missing state callbacks (#19405)
* Adds missing callback when logging in and logging out successfully
2020-02-27 09:48:48 -08:00
Steve Sanderson eed3605ae5
In debug mode, don't enable the linker by default (plus other minor build fixes) (#19374)
* In debug mode, don't enable the linker by default

* Fixup

* Update Blazor.MonoRuntime.targets

* Ensure we have a true/false value. Stop inferring from BlazorLinkOnBuild.

* Avoid doing work for ServiceWorkerAssetsManifest when it's not being used

* React to BlazorLinkOnBuild->BlazorWebAssemblyEnableLinking rename

Co-authored-by: Pranav K <prkrishn@hotmail.com>
2020-02-27 11:49:47 +00:00
Javier Calvarro Nelson b2d01f80d3
[Blazor] Fix error handling in AuthorizeService.ts 2020-02-26 09:08:38 -08:00
Steve Sanderson f3633f3c38
Remove unused DevToolsClient.cs source file (#19364) 2020-02-26 15:33:31 +00:00
Pranav K d8ff2743a0
Target the Razor SDK in Driver app (#19344)
Fixes https://github.com/dotnet/aspnetcore/issues/19307
2020-02-25 13:33:49 -08:00
Steve Sanderson 34b165a0ef
Update Mono debug proxy (#19335)
* Update to match Mono sources at a8d34b2

* Update to match Mono sources at fafa41f

* Update to match Mono sources at ed012b6

* Change class/struct/enum types to internal

* Use ILogger in proxy code

* Update to match https://github.com/mono/mono/pull/19026
2020-02-25 14:51:46 +00:00
Steve Sanderson bfcf72dfdf
Fix boot json on mac/linux (#19332) 2020-02-25 11:48:31 +00:00
Javier Calvarro Nelson 226f461806
[Blazor] Remove compression middleware from the template (#19285)
Remove response compression from the template
2020-02-24 11:03:00 -08:00
Ryan Nowak 9c16db3e89 Add service provider factory support
Fixes: #18814

This adds back support on the Blazor WASM Host for using
ISerivceProviderFactory<>.

We previously had this support when the Blazor WASM host was a clone of
generic host, but I accidentally lost it when simplifying the host
(sorry :( ).
2020-02-21 16:28:17 -08:00
Pranav K 7ba8d06717
BlazorWASM: API review (#19219)
Fixes https://github.com/dotnet/aspnetcore/issues/13174
2020-02-21 12:58:02 -08:00
Steve Sanderson 6fe946e633
Blazor WebAssembly caching fixes (#19235)
* Support logging errors that happen really early

* Tolerate all the ways caching might be unavailable

* Include dotnet.js in blazor.boot.json

* Reorganize boot manifest to categorize files by role, not just by filename extension

* Enable cache-busting and SRI check on dotnet.js

* Change cache-busting to vary filename, not using querystring. Needed to make PWA manifest still work.
2020-02-21 17:35:36 +00:00
Javier Calvarro Nelson c9c06f573d
[Blazor] Adds support for statically pre-compressing assets using gzip (#19157)
* Adds a task to perform gzip compession.
* Gzips framework files incrementally
* Serves pre-compressed versions of the framework files when possible.
2020-02-21 09:32:07 -08:00
Javier Calvarro Nelson 0541e19ac2
[Blazor][Wasm] Adds support for AAD and AADB2C using msal.js (#19190)
* Adds a new library Microsoft.Authentication.WebAssembly.Msal that handles authentication for Blazor Webassembly applications using msal.js
2020-02-21 09:12:36 -08:00
Pranav K 4715de45eb
Fixup RuntimeDependenciesResolver test (#19208)
Fixes https://github.com/dotnet/aspnetcore/issues/12059
2020-02-21 08:35:20 -08:00
Javier Calvarro Nelson 9ded8e17d4
Change MapBlazorWebAssemblyApplication to UseBlazorFrameworkFiles (#19198) 2020-02-21 04:20:41 -08:00
Steve Sanderson 06def5cee6 Workaround CacheStorage API bug 2020-02-20 21:31:19 +00:00
Marlon Regenhardt 6a85855fbb
[Blazor][Wasm] Move HttpClient from default services to Program.Main (#19119)
* [Blazor][Wasm] Move HttpClient from default services to extension method (#16929)

* Apply suggestions from code review

Co-authored-by: Steve Sanderson <SteveSandersonMS@users.noreply.github.com>
2020-02-20 10:47:49 -08:00
Javier Calvarro Nelson c39bc6a6bd
[Blazor] Move to MapBlazorWebAssemblyApplication (#19147)
Move to MapBlazorWebAssemblyApplication as the way to map blazor files into a hosted application.
2020-02-19 23:56:43 -08:00
Pranav K 1dfbe75e9f
Rename Blazor.Mono -> Components.WebAssembly.Runtime (#19124)
* Rename Blazor.Mono -> Components.WebAssembly.Runtime
2020-02-19 09:06:50 -08:00
Javier Calvarro Nelson 0e155fd7ca
[Fixes #12588][Blazor] Move Blazor to use Static Web Assets (#18409)
* [Blazor] Move Blazor to use Static Web Assets
* Plugs-in Blazor wasm through the static web assets infrastructure.
* Avoids the need for a custom Blazor.config file.
* Removes broken auto-rebuild and debug support.
* Removes unnecessary server-side Blazor helpers.
2020-02-19 04:05:03 -08:00
Pranav K 52c4598618
Fixup 2020-02-18 15:26:15 -08:00
Pranav K 92409e2e57 Make the dev-server log less (#18971)
* Make the dev-server log less
* Allow loading a user configured settings file
2020-02-18 15:08:30 -08:00
Pranav K 31f63d9e72 Add a perf scenario involing nested components + editing
* Adds additional scenarios to address https://github.com/dotnet/aspnetcore/issues/17011
* Include commit hash so we can track the build of Blazor WASM associated with a perf run
* Port some infrastructure fixes from master

Fixes https://github.com/dotnet/aspnetcore/issues/17011
2020-02-18 15:08:30 -08:00
Pranav K e521205b5d
Rename Blazor.Mono -> Components.WebAssembly.Runtime 2020-02-18 14:16:59 -08:00
Pranav K c935e9aa2d
Blazor WebAssembly package renames (#19026)
Fixes https://github.com/dotnet/aspnetcore/issues/18384
2020-02-18 10:54:28 -08:00
Javier Calvarro Nelson 07098b3d97
[Blazor][Wasm] Template changes to support auth in Blazor wasm (#18933)
* [Blazor] Adds a project template option for individual auth
* Handles hosted scenarios with Identity Server.
* Handles non-hosted scenarios with oidc-client.js.
* Handles AAD and B2C scenarios with an MSAL library (disabled for now).
2020-02-17 17:27:21 -08:00
Javier Calvarro Nelson 0dbb01bd8c
[Blazor] Adds an authentication library for Blazor webassembly (#18851)
* Adds a Microsoft.AspNetCore.Components.WebAssembly.Authentication
  library for performing authentication in Blazor webassembly.
* Includes a default implementation that supports OIDC capable IdPs
  using oidc-client.js
* Includes multiple primitives to deal with authentication flows and
  supports acquiring access tokens to call APIs.
  * RemoteAuthenticatorView is responsible for handling authentication
    operations at the user interface level.
  * RemoteAuthenticatorService is responsible for handling the lower
    level authentication details by using JavaScript interop to interact
    with the underlying javascript library implementing the auth protocol.
  * SignOutSessionStateManager handles CSRF protection for the logout
    path.
  * IAccessTokenProvider handles provisioning access tokens to call APIs.
2020-02-17 14:36:57 -08:00
Steve Sanderson 4628dfb005
Cache assemblies and wasm using content hashes (#18859) 2020-02-17 17:17:44 +00:00
thetownfool 8fb412e960
allow valid error message to be displayed on linux (#18997)
when attempting to enable client debugging on blazor-wasm an attempt to
provide a helpful message casues an ¨Unknown OS platform¨ exception

relates to #16366 #12970
2020-02-14 10:37:23 -08:00
Steve Sanderson 04b4602c2b
PWA template (#18878)
* Add service worker

* Add manifest

* Bring back BaselineTest.cs

* Add baselines for blazorwasm templates

* Add publishing test for PWA template

* Baseline fixes

* Fix baseline test logic to allow for multi-project outputs

* Remove non-blazorwasm baselines, since this branch now only covers blazorwasm

* Add test for PWA publish output

* Beginning generation of assets manifest

* Generate assets manifest including blazor outputs

* Tweaks

* Write assets manifest in JSON form

* Publish service worker

* Better API

* More resilience

* Better API again

* Make ComputeBlazorAssetsManifestItems public as people will need to customize the list

* Exclude service worker files from assets manifest

* Use web standard format for hash

* Update project template

* In assets manifest, only include items being published

* Renames

* Compute default assets manifest version by combining hashes

* Emit sw manifest in .js form

* Update service worker in project

* Actually isolate browser instances when requested during E2E tests

* E2E test for published PWA operating offline

* Fix SWAM path in template

* Clarify targets
2020-02-14 15:52:23 +00:00
Pranav K fb50111c92
No-op if ValidateComplexType is validated without the right context (#18935)
Fixes https://github.com/dotnet/aspnetcore/issues/17316
2020-02-13 15:29:27 -08:00
Pranav K fd9f20311d
Only update the dev-server 2020-02-12 14:20:10 -08:00
Pranav K c38765628d
Build against the 3.1.0 AspNetCore
The version of the runtime that projects compile against
is stamped in to the runtimeconfig.json. In an earlier change, the AspNetCoreRef version
was bumped up to 3.1.2 which causes running dotnet dev-serve to fail
if you do not have the runtime installed.

In addition, the template json allows roll-forwards to major version (5.0 versions) if that's the only version
available. We do this with the razor compiler:
https://github.com/dotnet/aspnetcore-tooling/blob/master/src/Razor/src/Microsoft.AspNetCore.Razor.Tools/runtimeconfig.template.json
2020-02-11 16:37:14 -08:00
Pranav K 376f378c0a
Ensure resolved assemblies works correctly when not linked + incremental build (#18797)
Fixes https://github.com/dotnet/aspnetcore/issues/18752
2020-02-11 09:12:17 -08:00
William Godbe cae6a9cfb3
Use non-stable versioning in blazor-wasm (#18894)
* Use stable versioning in blazor-wasm

* This branch never builds the targeting pack

* Update eng/Versions.props

* Undo changes to patchconfig.props

Co-authored-by: Pranav K <prkrishn@hotmail.com>
2020-02-10 14:05:36 -08:00
Ryan Nowak 82cbdc604e Remove Auto-Rebuild dead-code
Fixes: #17248

Removes the (*unused*) auto-rebuild code left over from early Blazor
previews.
2020-02-10 08:01:58 -08:00
Pranav K 9450e95f2e
Merge branch 'blazor-wasm' into prkrishn/purge 2020-02-05 12:29:19 -08:00
Steve Sanderson 27b2872344 Support VS Code "pwa-chrome" debug type 2020-02-05 18:35:06 +00:00
Pranav K 96db485508
Remove extra sln 2020-02-05 10:26:43 -08:00
Pranav K f54902f169
Purge the blazor-wasm branch 2020-02-03 17:49:41 -08:00
Steve Sanderson 4360535bab
Update to newer ws-proxy sources (#18760)
* Update to latest ws-proxy sources

* Changes needed inside ws-proxy sources for inclusion in Microsoft.AspNetCore.Blazor.Server

* Use ILogger in ws-proxy

* Fix for /json endpoint when on HTTPS
2020-02-03 13:49:44 -08:00
Pranav K bbafecc053
Update Web.JS scripts (#18635) 2020-01-28 13:18:31 -08:00
Pranav K bb1b2c4bf2
Use scenario name for measurements and metadata (#18609) 2020-01-28 09:08:57 -08:00
Ajay Bhargav B 24be2992de
Run Blazor E2E tests on SauceLabs (#18456)
* Run Blazor E2E tests on SauceLabs

* Added azure pipeline

* update yml

* Update meta

* More changes
2020-01-27 17:54:18 -08:00
Pranav K e24f73e14b
Fix build warnings in MonoProxy (#18573) 2020-01-24 16:04:11 -08:00
Pranav K 9bdf208631
Fixup bad merge (#18570) 2020-01-24 15:05:45 -08:00