Compiler and tooling experience for Razor ASP.NET Core apps in Visual Studio, Visual Studio for Mac, and VS Code.
Перейти к файлу
N. Taylor Mullen e9cd763349 Fix HTML completion race when typing too quickly
- There was a race when typing too quickly our synchronization mechanism would try and reduce the work that was done to cancel pre-existing requests. So in the scenario when you were to type `<tr` what would happen is that 3 completion requests would fire:
    1. Triggered completion for `<`
    2. Typing completion for `t`
    3. Typing completion for `r`
    Now when we sped things up we were able to process requests in parallel which meant that we could handle simultaneous requests for `<`, `t` and `r` all at the same time; however, this in turn results in an interesting behavior where if we ask for completion at `r` while `<` and `t` are still active our synchronization mechanism would aggressively cancel the older requests. For completion this is catastrohpic because it would result in a 0 length completion list because HTML does not respect completion requests beyond trigger characters and the beginning of the word.
- To fix this issue I added a new mechanism for synchronization which takes a flag `rejectOnNewerParallelRequest` which states do not reject a synchronization request aggressively if this flag is `true`. Now this doesn't mean the requests never get rejected. If there's a batched document update or document close / open this will still reject the document; it just means that on the requesting of synchronization that older completion requests are not rejected eagerly.
- Added tests to our projection and synchronization stack to account for this
- Ensured that these changes are not breaking changes so marked some bits as virtual.

### Before

![before image](https://i.imgur.com/sZfGaub.gif)

### After

![after image](https://i.imgur.com/5EsJdDm.gif)

Fixes #5743
2021-11-16 18:15:33 -08:00
.devcontainer Add support for launching debugging proxy from UI extension (#3013) 2021-01-31 18:20:45 -08:00
.githooks Git hooks format (#2984) 2021-01-21 21:22:04 +00:00
.github Clean up CODEOWNERS (#3694) 2021-06-03 16:02:27 -07:00
.vscode Fix bootability of VSCode with Razor dev assets. (#3306) 2021-03-18 20:25:43 +00:00
docs/contributing Add Support for SupportLocalizedComponentNames (#4255) 2021-09-24 17:15:57 -07:00
eng Update LanguageServerClientImplementation package to proper version 2021-11-13 13:27:33 -08:00
src Fix HTML completion race when typing too quickly 2021-11-16 18:15:33 -08:00
.editorconfig Move to MIT license. 2021-08-04 20:08:09 -07:00
.gitattributes Collapse xlf files in PRs 2021-07-09 08:31:16 +10:00
.gitignore [master] Update dependencies from dotnet/aspnetcore (#3285) 2021-03-12 20:28:35 +00:00
CODE-OF-CONDUCT.md
CONTRIBUTING.md
Directory.Build.props Fix build break. 2021-08-09 10:16:56 -07:00
Directory.Build.targets Fix build break. 2021-08-09 10:16:56 -07:00
LICENSE.txt Move to MIT license. 2021-08-04 20:08:09 -07:00
NOTICE.txt Add third party notices file. (#4402) 2021-10-01 12:31:42 -07:00
NuGet.config Update Benchmarking infrastructure for net6.0 2021-04-20 12:36:24 -07:00
README.md Master to main (#3310) 2021-03-19 17:30:20 -07:00
SECURITY.md Renormalize source files 2021-02-01 09:14:10 -08:00
activate.ps1
activate.sh
azure-pipelines-richnav.yml Update azure-pipelines-richnav.yml 2021-10-22 10:15:49 -07:00
azure-pipelines.yml Pin vsce version used in release script (#5704) 2021-11-12 15:58:18 -08:00
build.cmd
build.ps1 Git hooks format (#2984) 2021-01-21 21:22:04 +00:00
build.sh
clean.cmd
clean.ps1
clean.sh
global.json Update dependencies from https://github.com/dotnet/arcade build 20210916.4 (#4214) 2021-09-20 13:00:49 +00:00
restore.cmd
restore.sh
startvs.cmd

README.md

ASP.NET Core Tooling

ASP.NET Core is an open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. This repo contains tools for working on ASP.NET Core apps using the .NET Core Command Line, Visual Studio & Visual Studio Code.

Status Build Status

Build Windows Linux MacOS
Debug Build Status Build Status Build Status
Release Build Status Build Status Build Status

Get Started

Follow the Getting Started instructions in the ASP.NET Core docs.

Also check out the .NET Homepage for released versions of .NET, getting started guides, and learning resources.

How to Engage, Contribute, and Give Feedback

Some of the best ways to contribute are to try things out, file issues, join in design conversations, and make pull-requests.

Reporting security issues and bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

These are some other repos for related projects:

Code of conduct

See CODE-OF-CONDUCT.md