Commit Graph

17611 Commits

Author SHA1 Message Date
Doug Bunting 0dc822a6ad
Merge branch 'release/3.0' into merge/release/3.0-preview8-to-release/3.0 2019-08-03 13:31:00 -07:00
Ryan Nowak 352df35864 Re-enable components E2E tests on the CI 2019-08-03 08:52:03 -07:00
Javier Calvarro Nelson 521cabc545
[Blazor][Fixes #12283] Prevent HtmlRenderer from calling OnAfterRender by default (#12684)
[Blazor] Prevents HtmlRenderer from calling OnAfterRender by default
2019-08-03 13:03:48 +02:00
Ryan Nowak d52d7e3284
Harden StartCircuit (#12825)
* Harden StartCircuit

Fixes: #12057

Adds some upfront argument validation as well as error handling for
circuit intialization failures.
2019-08-02 20:35:29 -07:00
Ryan Nowak 7f924dd599 fix outlying namespace 2019-08-02 17:23:46 -07:00
Ryan Nowak 3cc6e8373b Fail faster in Blazor E2E tests
This change adds a fail-fast mechanism to our E2E tests based on
the browser console. This will fail super hard if an unhandled exception
is thrown.

I think it would be interesting to also see if we could do the same
thing for 404s.

The goal of this change is to make it so that the E2E tests can fail
faster (3-4s) than the 30s timeout in the case that something
catastrophic happens. As a nice side benefit you get to see the
exception message.
2019-08-02 17:23:46 -07:00
Ryan Nowak 40e268f59e Skip failing tests 2019-08-02 17:23:46 -07:00
Ryan Nowak da49e0e0f6 Fix broken test
These parameters are declared incorrectly.
2019-08-02 17:23:46 -07:00
Steve Sanderson 8a1cf8386f
Stricter key clash detection. Fixes #12691 (#12837) 2019-08-02 22:16:47 +01:00
Brennan c15f1e145f
[SignalR] Change log levels (#12742) 2019-08-02 10:51:23 -07:00
N. Taylor Mullen d312d797fc Change non-public [Parameter] warning severities to error.
- In preview8 we warned users for non-public `[Parameter]`s and `[Parameter]` setters. For preview9 this is now an error because things will not work as they expect.
- Updated existing tests to reflect the new error expectation.

#12294
2019-08-02 10:25:26 -07:00
Artak 45f9a2a44e
Updated dependencies (#12836) 2019-08-02 09:57:10 -07:00
Justin Kotalik 02d28e1c54
Only use read Pipe when running on Http2. (#12737) 2019-08-02 08:02:59 -07:00
Doug Bunting 8dd1be9474 Fix XML escaping
- #12786
- escape `'<'` chars in attribute values to make the .targets file valid XML
- escape `'\''` chars nested within single-quoted values to make `msbuild` conditions valid
2019-08-01 22:04:52 -07:00
Ryan Nowak 9b888e9df5
Blazor API Review: IUriHelper (#12425)
* Rename IUriHelper -> NavigationManager

- Remove IUriHelper interface
- Rename to NavigationManager
- Remove all traces of old naming

There's no functional or design change in this commit - just removing
all traces of the old name. The next few iterations will try to improve
the design.

* Minor API tweaks to NavigationManager

Making Initialize protected causes problems because right now the
server-side code needs to deal with one of two different
implementations, hence an exchange type is used. I followed the same
pattern that was used for auth for symmetry but I have some *cool*
thoughts.

- We can remove this when we remove stateful prerendering
- I have another idea to banish this pattern to the land of wind and
ghosts

If this ends up sticking around longer than a week in the code, lets
discuss other ideas and try to improve the pattern.

* Use hub method for server-side navigation

* Get rid of async local

* Add hub method test

* Misc bikeshedding

* Update src/Components/Server/src/Circuits/DefaultCircuitFactory.cs

Co-Authored-By: campersau <buchholz.bastian@googlemail.com>

* PR feedback
2019-08-01 17:11:09 -07:00
Chris Ross 59f6b852c2
HPACK circular overflow #12190 (#12782) 2019-08-01 14:30:32 -07:00
Ryan Nowak 001b54f42e Add component for managing a DI scope
Fixes: #5496
Fixes: #10448

This change adds a *utility* base class that encourages you to do the
right thing when you need to interact with a disposable scoped or
transient service.

This solution ties the lifetime of a DI scope and a service to a
component instance. Note that this is not recursive - we expect users to
pass services like this around (or as cascading values) if the design
dictates it.
2019-08-01 12:03:34 -07:00
Chris Ross 0559d39746
Fix form pipe parser #12381 (#12749) 2019-08-01 11:28:35 -07:00
John Luo 9459b73972
Merge pull request #12752 from aspnet/jamesnk/grpc-dep-preview8
Update gRPC template dependency for preview 8 and link to macOS docs
2019-08-01 11:25:57 -07:00
Ryan Nowak 45f50905d5 Remove stateful prerendering
Fixes: #12245
Fixes: #12630

This change removes stateful pre-rendering from Server-Side Blazor. This
means that when you render a component during the initial HTTP request,
we we will no longer preserve the component instances and their
parameters. While this feature was useful, it cause serious scalability
concerns.

This means that it will now be required to register "entry-point"
components in startup similar to client-side Blazor.
2019-08-01 07:44:14 -07:00
Ryan Brandenburg 5c11687506 SPA template precedence (#12781)
Merging this as there are no actual code-changes here.
2019-07-31 16:43:40 -07:00
Ryan Nowak b42ebf119d Fix incrementalism of Blazor solution 2019-07-31 13:31:26 -07:00
James Newton-King 1434e239d6
Change OSX to macOS in error message (#12756) 2019-08-01 08:30:56 +12:00
Javier Calvarro Nelson 2969001a75
[Identity] Fix flaky test (#12771) 2019-07-31 21:58:10 +02:00
Pranav K 9e6924235e
Add logging to RemoteRenderer to time a round-trip (#12638) 2019-07-31 12:18:31 -07:00
Justin Kotalik aab75e8dda
Decrement activeStreamCount earlier s.t. client view matches the server. (#12704) 2019-07-31 07:45:36 -07:00
Javier Calvarro Nelson 7a0a286ce6
[Blazor][Fixes #12197] Dispose the circuit on graceful disconnections (#12449)
* Immediately releases the circuit when the client disconnects gracefully.
* This functionality is limited to websockets.
* We are able to release the circuit in the following situations:
  * The user closes the browser.
  * The user navigates away.
  * The user reloads the page.
2019-07-31 13:17:00 +02:00
James Newton-King ccfa7f13ea
Clean up 2019-07-31 13:58:18 +12:00
James Newton-King 10b9c338f2
Clean up 2019-07-31 13:57:16 +12:00
James Newton-King 4841d5f019
Update gRPC template dependency for preview 8 and link to macOS docs 2019-07-31 13:50:06 +12:00
Phil Henning b2e11d77e8 Insert seed localization for templates. (#11040)
* Insert seed localization for templates.

* Updated loc strings for Worker for some langs

* Update en string.json for Blazor project template

* Refresh strings for initial seeding
2019-07-30 16:00:08 -07:00
Ryan Nowak 6045c08072 Blazor API Review: Built-in components
Fixes: #12548

Renaming properties to drop 'Content' as a suffix. We haven't been
consistent in using this, and we're removing it instead of adding it
elsewhere.
2019-07-30 09:35:49 -07:00
Ryan Nowak bef01f3e9a Blazor API Review: UIEventArgs types
Fixes: #12550

Removes UIEventArgs in favor of EventArgs as the base class.

Moving Type into all of our event args types - this is important because
many of the events types are used for multiple events.

The only think about this that isn't perfect is that we have keep
special casing change because of how binding works. I renamed the type
to drop the `UI` prefix. It's not possible to define a subclass in the
Web project because of the way covariance works (or doesn't work) in
.NET.
2019-07-29 22:40:28 -07:00
Ryan Nowak 3919dd55c6 Fix globalization for `@bind-value`
Fixes: #12631

These mappings were missing and adding them restores the correct
behaviour. Mixing up the usage of `@bind` vs `@bind-value` so we have
more coverage of this.
2019-07-29 22:39:56 -07:00
Ryan Nowak 82478eac6b Blazor API Review: Forms
Fixes: #12549
2019-07-29 22:37:12 -07:00
Brennan ad533b76fb Limit max handshake size (#12678) 2019-07-29 16:34:25 -07:00
Stephen Halter 75f4159e5a
Accurately count only newly examined bytes (#12639)
- Ensure Kestrel count all bytes read using TryRead
- Ensure Kestrel doesn't double count examined but
  not consumed bytes
2019-07-29 10:14:14 -07:00
John Luo 4debc9c455 Update SDK to preview7 (#12682)
- react to SDK changes (Microsoft.NETCore.App.Ref assemblies grouping)
- update `dotnet new -u` logic
2019-07-29 10:06:07 -07:00
John Luo e2d57e2806
Revert "Improve components infrastructure (#12145)" (#12679)
* Revert "Improve components infrastructure (#12145)"

This reverts commit e149f9c0aa.

* Update JS file
2019-07-29 09:03:57 -07:00
David Fowler ad94d41a7f Fixed parameter name casing (#12681) 2019-07-29 07:25:28 -07:00
Alessio Franceschelli c23b9feb19 HeaderPropagation: reworded registration exception for clarity (#12636)
* HeaderPropagation: reworded registration exception for clarity

* feedback
2019-07-27 12:59:17 -07:00
Brennan a1e77a2c09
Set transport handlers earlier in Typescript client (#12524) 2019-07-26 21:54:07 -07:00
James Newton-King 2d4fd05adf
Add host caution to MVC GetUri extension methods (#12629) 2019-07-27 15:39:25 +12:00
Brennan 98abd9e256
Cleanup exception message (#12623) 2019-07-26 15:54:27 -07:00
Justin Kotalik 4aebd29abc
Increase Http2 Header limit size to the MaxFrameSize (#12625) 2019-07-26 14:31:48 -07:00
John Luo e149f9c0aa
Improve components infrastructure (#12145)
* Remove generated Web.JS javascript files files

* Build NodeJS project referenced by managed projects by default

* Build Web.JS before other CI jobs

- We can't build Web.JS on Linux Musl for example

* Make BuildAll not override explicit BuildJava/NodeJS/Native/Managed settings

* Capture CodeCheck logs for debugging

* Skip NodeJS projects when generation ref assemblies

* Do not build dependent projects if NodeJS is not built

* Make build fail immediately if BuildNodeJS is true but NodeJS is not installed

* Do not build nodejs in installer builds
2019-07-26 13:31:01 -07:00
Chris Ross 922fd9cb0d React to kestrel merge conflict (#12624) 2019-07-26 11:55:37 -07:00
Hao Kung a0e0338d7e
Add missing area in link generation for identity UI (#12590) 2019-07-26 11:04:08 -07:00
Javier Calvarro Nelson 0d553f7147
Fix small issue in Identity UI (#12607)
The logic for selecting the views assembly had a small bug.
Added an E2E test to cover the scenario.
2019-07-26 19:37:13 +02:00
Justin Kotalik 51497f72a6
Check length for pipe test rather than byte content (#12612) 2019-07-26 09:59:08 -07:00
Ryan Nowak bfd4305fd8
Blazor API Review: Parameters (#12547)
* Blazor API Review: Parameters

Part of #11610
2019-07-26 09:46:47 -07:00
Chris Ross 5631b97d12
Kestrel HttpClient Http2 interop tests #4763 (#11869) 2019-07-26 09:45:45 -07:00
Justin Kotalik 2a35f8ee4c
Merge pull request #12444 from dotnet-maestro-bot/merge/release/2.2-to-master
[automated] Merge branch 'release/2.2' => 'master'
2019-07-26 08:02:12 -07:00
David Fowler e78d17e07b
Update HubProtocol.md (#12509)
* Update HubProtocol.md

Updated the code sample in the protocol doc to reflect the actual programming API

* Update src/SignalR/docs/specs/HubProtocol.md

Co-Authored-By: Brennan <brecon@microsoft.com>
2019-07-25 19:12:14 -07:00
Brennan 331ff2404d
Send HttpOnly (if applicable) when deleting cookies (#12593) 2019-07-25 17:42:23 -07:00
Pranav K d7bfbb5824
Add formatter mapping for JSON (#12592)
Fixes https://github.com/aspnet/AspNetCore/issues/12414
2019-07-25 16:50:54 -07:00
Martin Stenhoff b13f2614de Changing Analzyer to Analyzer 2019-07-25 16:38:24 -07:00
Dylan Dmitri Gray 1aebfa681a
Dylan/resettable tcs (#12453)
* renames, resettable tcs; custom awaitable now dispatches
2019-07-25 16:38:13 -07:00
Chris Ross 080660967b
Unified response body features (#12328) 2019-07-25 16:27:08 -07:00
John Luo 2884ef6e1f
Update default project names (#12431) 2019-07-25 14:56:51 -07:00
Harley Adams a07ad16e4d IIS - Skip setting a header if the value is empty #11032 (#12486) 2019-07-25 14:39:52 -07:00
Brennan 648bdf706e
Avoid unobserved tasks in WebSocketsTransport (#12315) 2019-07-25 14:25:00 -07:00
Andrew Stanton-Nurse cac51846e9
fix #12516 by cleaning up Hosting error page (#12545)
* fix #12516 by cleaning up error page

* add a Diagnostics.slnf because I was there

* missed the IIS update

* update WebHost's error page

* Fix slnf path
2019-07-25 13:01:00 -07:00
Javier Calvarro Nelson e0d522e1f7
Remove flaky mark from E2E templates tests (#12450)
* Removes the [Flaky] mark for the React_IndividualAuth test.
* Removes the [Flaky] mark for all the blazorserverside template tests.
2019-07-25 21:59:51 +02:00
Justin Kotalik 8cbc76f1ec Merge remote-tracking branch 'origin/release/2.2' 2019-07-25 11:41:11 -07:00
Justin Kotalik d463dc7721
Update CorsMiddlewareFunctionalTest.cs (#12571) 2019-07-25 11:28:30 -07:00
Pranav K a181fc2b67
Clean up MvcSandbox (#12542) 2019-07-25 10:25:07 -07:00
Ryan Nowak 6526022f6c Blazor API Review: RenderTreeBuilder
Fixes: #12415
2019-07-25 09:45:26 -07:00
N. Taylor Mullen c76cb9248d Add support for increment/decrement [Parameter] usage detection.
- Didn't realize there was an increment or decrement operation kind.
- Added tests to cover this scenario

#12543
2019-07-25 08:47:13 -07:00
Javier Calvarro Nelson 143c101693
[Identity] Move to use static web assets support. (#11029)
* Moves Identity UI to use Static Web Assets
  * Removes the static files as embedded content.
  * Stops plugging the static assets through the embedded file provider.
  * Selects the UI framework at build time instead of runtime.
2019-07-25 17:34:45 +02:00
Justin Kotalik 9a6d4af9d6 Merge release/2.1 into release/2.2 (#12290) 2019-07-24 18:01:57 -07:00
Justin Kotalik 69feac2633
Catch all exceptions from Exit shutdown (master). (#12522) 2019-07-24 14:56:04 -07:00
Stephen Halter 34903da1e9
Fix ConcurrentPipeWriterTests (#12383) 2019-07-24 14:51:31 -07:00
N. Taylor Mullen c54a7209d7 Clear route values after middleware invocation.
#11233
2019-07-24 14:12:06 -07:00
N. Taylor Mullen 479d5ed40a Addressed code review comments. 2019-07-24 14:12:06 -07:00
N. Taylor Mullen 9a6881b0e8 Fix endpoint routing statefulness.
- In the case that other middleware change the path of an `HttpContext` and cause middleware to re-invoke we used to short-circuit on second time through the middleware pipeline, now we allow routing to occur.
- Added unit tests to validate the clearing of state.

#11233
2019-07-24 14:12:06 -07:00
Steve Sanderson 54da777b7c
Reset scroll position after navigation. Fixes #10482 (#12423) 2019-07-24 10:25:59 -07:00
Steve Sanderson 8b7fcf1f76
Update user on reconnect. Fixes #12051 (#12421) 2019-07-24 10:23:38 -07:00
Artak 9b6f10d20c
Marked the RunClientTests as flaky (#12497) 2019-07-24 09:51:55 -07:00
Steve Sanderson dd0d483f7d
Fix Web.JS tests (#12513) 2019-07-24 09:48:12 -07:00
Hisham Bin Ateya 28678ee430 Change unsupported culture log level (#12153)
* Change unsupported culture log level to Debug

* Fix unit tests
2019-07-23 20:05:10 -07:00
Andrew Stanton-Nurse 4928eb3de0
fix #12445 by migrating dotnet-sql-cache to new SqlClient (#12447) 2019-07-23 14:40:18 -07:00
Ryan Nowak 3e2f88497d Remove manual ref-assembly generation for Components 2019-07-23 14:39:14 -07:00
Alessio Franceschelli 14c6abafda Test PageActionInvoker logs and fix declaring type name for handler in logs (#12326)
* Test PageActionInvoker logs and fix declaring type name for handler
2019-07-23 10:38:39 -07:00
Andrew Stanton-Nurse 48b44dbb92
Add clarifying comment to HttpMethods.cs (#12441)
To help prevent well-meaning (but not actually desirable) changes like https://github.com/aspnet/AspNetCore/pull/12439
2019-07-23 08:09:16 -07:00
Ben Adams 2e0d7889ad Kestrel code tidyups (#11896) 2019-07-22 12:57:52 -07:00
Javier Calvarro Nelson c918d72f36
[Blazor] [Fixes #11847] Renderer.DispatchEventAsync throws null reference exception if event handler throws synchronously (#12393)
[Blazor] [Fixes #11847] Renderer.DispatchEventAsync throws null
reference exception if event handler throws synchronously
* Returns after handling the exception.
* Adds a unit test and an E2E test to validate expected behavior.
2019-07-22 19:14:30 +02:00
Javier Calvarro Nelson d846cb4b97
[Blazor] Update typescript dependencies (#12395)
* [Blazor] Update npm dependencies to fix security vulnerabilities
* Update to latest typescript compiler
2019-07-22 19:10:45 +02:00
Pranav K a99ab25700
Add converters for ProblemDetails and ValidationProblemDetails (#12216)
* Add converters for ProblemDetails and ValidationProblemDetails

ProblemDetails & ValidationProblemDetails require IgnoreNullValues to be
applied on the types. We'll use a converter to workaround the absence of this
feature

Fixes https://github.com/aspnet/AspNetCore/issues/11522
2019-07-22 09:40:04 -07:00
David Fowler f8c22859a0
Complete the reader in Dispose (#12430)
- This should avoid issues about completing while still reading.
- Dispose the HttpResponseMessage in some tests that use ResponseHeadersRead);
2019-07-22 09:23:22 -07:00
Andrew Stanton-Nurse fd5517f301
Be more defensive in BufferingDisabled test (#12278)
Fixes https://github.com/aspnet/AspNetCore-Internal/issues/2826

We [use `?.` in `master`](f56cb72b7f/src/Hosting/Server.IntegrationTesting/src/Deployers/ApplicationDeployer.cs (L103)) and it seems like the test can end up in this state (by the linked issue) so back-porting that defensive measure seems reasonable.
2019-07-22 09:20:40 -07:00
Steve Sanderson 077df0e3ca
Support more types of redirection during prerendering. Fixes #11591 (#12418)
* E2E test to show current behavior

* Actually support base-relative, root-relative, and absolute redirections during prerendering

* Fix MVC functional test
2019-07-22 08:14:10 -07:00
Steve Sanderson 178374d228
Make reconnection work more realistically (#12420)
* Support reconnection even if an earlier attempt failed

* Add "reload" button to reconnect dialog on failure

* Update blazor.*.js
2019-07-22 07:52:20 -07:00
Artak Mkrtchyan 330a7708c0 Dependency updates 2019-07-22 06:59:25 -07:00
David Fowler 9851e01688
Track connection earlier (#12387)
- We made a change to dispatch connection execution but that also ended up dispatching the tracking of those connections in the connection manager. While it's not a huge deal most of the time it can affect graceful shutdown as there can be queued connections that are delayed in the thread pool queue which are untracked. This change makes it so we track the KestrelConnection before dispatching.
2019-07-21 21:14:03 -07:00
Steve Sanderson 2c3a44371a
Clear unused routing params. Fixes #7419 (#12407) 2019-07-21 20:00:03 -07:00
Steve Sanderson 22fbeac336
Clarify IUriHelper GetAbsoluteUrl behavior. Fixes #9717 (#12422)
* E2E test showing it already works when navigating inside the app

* E2E test showing expected behavior around both sides of prerendering
2019-07-21 17:22:26 -07:00
Steve Sanderson e043f9317f
Make server-side Blazor template logout use POST. Fixes #11981 (#12419) 2019-07-21 17:20:46 -07:00
Pranav K 36a651e29a
Support fewer data types in BlazorPackHubProtocol (#11662)
These are data types not used \ required by Blazor.
2019-07-21 16:39:45 -07:00
Ryan Nowak 6421c41d30 Update refs 2019-07-21 14:28:41 -07:00