Crash in small terminal window
評価
調査の方向性
まず、小さな Windows ターミナルで NewLocaleCommand を実行中にクラッシュを再現し、次に PromptHelper.PromptValue と Sharprompt's DefaultConsoleDriver.ClearLine を通るスタックを追跡します。動作を shibayan/Sharprompt#283 と比較します。完了条件は、ターミナルが小さい場合でもプロンプトが ArgumentOutOfRangeException をスローしなくなることです。
索引モデルが issue の本文から書いたものです。
説明
Brief description of your issue
Steps to reproduce
shibayan/Sharprompt#283
Expected behavior
N/A
Actual behavior
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.ArgumentOutOfRangeException: The value must be greater than or equal to zero and less than the console's buffer size in that dimension. (Parameter 'top')
Actual value was 41.
at System.ConsolePal.SetCursorPosition(Int32 left, Int32 top)
at Sharprompt.Drivers.DefaultConsoleDriver.SetCursorPosition(Int32 left, Int32 top)
at Sharprompt.Drivers.DefaultConsoleDriver.ClearLine(Int32 top)
at Sharprompt.Internal.OffscreenBuffer.ClearConsole(Int32 cursorBottom, Int32 writtenLineCount)
at Sharprompt.Internal.RenderScope.Dispose()
at Sharprompt.Forms.FormRenderer.Render[TModel](Action`2 template, TModel result)
at Sharprompt.Forms.FormRenderer.Render[TModel](Action`2 template, TModel result)
at Sharprompt.Forms.FormBase`1.Start()
at Sharprompt.Prompt.Input[T](InputOptions`1 options)
at Sharprompt.Prompt.Input[T](Action`1 configure)
at Sharprompt.Prompt.Input[T](String message, Object defaultValue, String placeholder, IList`1 validators)
at Microsoft.WingetCreateCLI.PromptHelper.PromptValue[T](String message, Object model, String memberName, T instance)
at InvokeStub_PromptHelper.PromptValue(Object, Span`1)
at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
--- End of inner exception stack trace ---
at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at Microsoft.WingetCreateCLI.PromptHelper.PromptPropertyAndSetValue[T](Object model, String memberName, T instance, Int32 minimum, Object validationModel, String validationName)
at Microsoft.WingetCreateCLI.Commands.BaseCommand.PromptOptionalProperties[T](T manifest, List`1 optionalPropertiesNames)
at Microsoft.WingetCreateCLI.Commands.NewLocaleCommand.GenerateLocaleManifest(Manifests originalManifests, LocaleManifest referenceLocaleManifest)
at Microsoft.WingetCreateCLI.Commands.NewLocaleCommand.Execute()
at Microsoft.WingetCreateCLI.Program.Main(String[] args)
Environment
wingetcreate.exe info
PS C:\Users\tbyta\GitHub\winget-pkgs\manifests\m\Microsoft\Sysinternals\Whois\1.21> wingetcreate.exe info
Windows 程序包管理器清单创建程序 v1.12.13.0
Copyright (c) Microsoft Corporation. All rights reserved.
操作系统: Microsoft Windows NT 10.0.26200.0
系统体系结构: Arm64
Winget-Create 目录 路径
---------------------------------------------------------------------------------------------------------------------------------
日志 %LOCALAPPDATA%\Packages\Microsoft.WindowsPackageManagerManifestCreator_8wekyb3d8bbwe\LocalState\DiagOutputDir
用户设置 %LOCALAPPDATA%\Packages\Microsoft.WindowsPackageManagerManifestCreator_8wekyb3d8bbwe\LocalState\settings.json
安装程序缓存 %TEMP%\wingetcreate
链接
----------------------------------------------------
隐私声明 https://aka.ms/winget-create-privacy
许可协议 https://aka.ms/winget-create-license
第三方声明 https://aka.ms/winget-create-3rdPartyNotice
主页 https://aka.ms/winget-create
- 主要言語
- C#
- スター
- 656
- フォーク
- 115
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/winget-create のほかの issue
-
Remove `--prtitle` from Usage commands対応中かも @reginaldalfret が 6 日前に担当しました。 オープンIssue-Docs Needs-Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
microsoft/winget-create#705 ·
-
Issue-Feature Needs-Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
microsoft/winget-create#680 ·
-
Duplicate Surfacing workflow fails on every run with "Blocked compile-agentic version: v0.83.4"オープンNeeds-Triage
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
microsoft/winget-create#706 ·
-
Issue-Feature Needs-Triage
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
microsoft/winget-create#701 ·
-
Issue-Feature Needs-Triage
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
microsoft/winget-create#700 ·
microsoft/winget-create の issue をすべて見る
似ている issue
-
affected/v17 affected/v18 area/frontend type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
umbraco/Umbraco-CMS#24186 ·
メンテナーはふだん 2 日以内に返信
-
.NET Azure Functions Docs OpenTelemetry
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
getsentry/sentry-dotnet#5715 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
AssignTargetPath does not recognize forward slashes in relative path specifiers対応中かも @AustinAviv が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
メンテナーはふだん 2 日以内に返信
-
needs-area-label
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Fallout-build/Fallout#708 ·
メンテナーはふだん 5 日以内に返信