paranext / paranext-core

Electron client, extension host, and C# library for Paranext
https://paranext.github.io/paranext-core/
MIT License
16 stars 2 forks source link

Exceptions related to Checks #1075

Open roopa0222 opened 3 weeks ago

roopa0222 commented 3 weeks ago

Describe the bug On the zzz6 project, when testing checks from the backend. Below exceptions are thrown

To Reproduce

  1. QuotationCheckBase [2024-08-20 10:33:42.575] [debug] Getting test check results for {"projectId":"E00BA5FA500B897477C9CAA4B9BC6A6633DC532A","start":{"book":"JUD","chapterNum":1,"verseNum":1,"versificationStr":"English"}} on E00BA5FA500B897477C9CAA4B9BC6A6633DC532A [at C:\Repos\paranext-core\extensions\dist\hello-world\src\main.js:275:83] [2024-08-20 10:33:42.967] [info]
    [dotnet data provider] Exception while handling message: Paratext.Checks.RequiredCheckSettingsMissingException: Quotes settings are invalid for project zzz6.

You can edit the settings on Project > Project settings > Quotation rules. at Paratext.Checks.Checks.QuotationCheckBase.GetReferencesInternal(IEnumerable1 tokens, String desiredKey) at Paratext.Checks.ScriptureInventoryBase.GetReferences(IEnumerable1 tokens, String desiredKey) at Paratext.Checks.Checks.QuotationCheckBase.Run(Int32 bookNum, ChecksDataSource source, IRecordCheckError recordError) at Paranext.DataProvider.Checks.CheckRunner.RunCheck(String checkId, ScriptureCheckBase check, CheckInputRange range) in C:\Repos\paranext-core\c-sharp\Checks\CheckRunner.cs:line 291 at Paranext.DataProvider.Checks.CheckRunner.RunChecksForProject(String projectId) in C:\Repos\paranext-core\c-sharp\Checks\CheckRunner.cs:line 265 at Paranext.DataProvider.Checks.CheckRunner.SetActiveRanges(CheckInputRange[] ranges) in C:\Repos\paranext-core\c-sharp\Checks\CheckRunner.cs:line 135 at Paranext.DataProvider.Checks.CheckRunner.HandleRequest(String functionName, JsonArray args) in C:\Repos\paranext-core\c-sharp\Checks\CheckRunner.cs:line 96 at Paranext.DataProvider.NetworkObjects.DataProvider.FunctionHandler(JsonElement request) in C:\Repos\paranext-core\c-sharp\NetworkObjects\DataProvider.cs:line 91 at Paranext.DataProvider.MessageHandlers.MessageHandlerRequestByRequestType.HandleMessage(Message message)+MoveNext() in C:\Repos\paranext-core\c-sharp\MessageHandlers\MessageHandlerRequestByRequestType.cs:line 47 at Paranext.DataProvider.MessageTransports.PapiClient.HandleIncomingMessage(Message message) in C:\Repos\paranext-core\c-sharp\MessageTransports\PapiClient.cs:line 545

  1. CapitalizationCheck

[2024-08-20 10:40:41.974] [info] [extension host] 10:40:41.971 > Getting test check results for {"projectId":"E00BA5FA500B897477C9CAA4B9BC6A6633DC532A","start":{"book":"2JN","chapterNum":1,"verseNum":1,"versificationStr":"English"}} on E00BA5FA500B897477C9CAA4B9BC6A6633DC532A [at C:\Repos\paranext-core\extensions\dist\hello-world\src\main.js:275:83] [2024-08-20 10:40:41.979] [info]
[dotnet data provider] Event received: MessageType: event from 1, EventType = platformScripture.extensionHostCheckRunner-data:onDidUpdate Event received: MessageType: event from 1, EventType = platformScripture.extensionHostCheckRunner-data:onDidUpdate [/dotnet data provider] [2024-08-20 10:40:42.099] [info]
[dotnet data provider] Exception while handling message: System.FormatException: The input string '4I' was not in a correct format. at System.Number.ThrowFormatException[TChar](ReadOnlySpan1 value) at System.Int32.Parse(String s) at Paranext.DataProvider.Checks.Chec [/dotnet data provider] [2024-08-20 10:40:42.103] [info] [dotnet data provider] kResultsRecorder.RecordError(ITextToken token, Int32 offset, Int32 length, Enum1 checkType, String message, Enum`1 messageId, VerseListItemType type) in C:\Repos\paranext-core\c-sharp\Checks\CheckResultsRecorder.cs:line 32 at Paratext.Checks.Checks.UncapitalizedStylesCheck.Run(Int32 bookNum, ChecksDataSource source, IRecordCheckError recordError) at Paratext.Checks.Checks.CapitalizationCheck.Run(Int32 bookNum, ChecksDataSource source, IRecordCheckError recordError) at Paranext.DataProvider.Checks.CheckRunner.RunCheck(String checkId, ScriptureCheckBase check, CheckInputRange range) in C:\Repos\paranext-core\c-sharp\Checks\CheckRunner.cs:line 291 at Paranext.DataProvider.Checks.CheckRunner.RunChecksForProject(String projectId) in C:\Repos\paranext-core\c-sharp\Checks\CheckRunner.cs:line 265 at Paranext.DataProvider.Checks.CheckRunner.SetActiveRanges(CheckInputRange[] ranges) in C:\Repos\paranext-core\c-sharp\Checks\CheckRunner.cs:line 135 at Paranext.DataProvider.Checks.CheckRunner.HandleRequest(String functionName, JsonArray args) in C:\Repos\paranext-core\c-sharp\Checks\CheckRunner.cs:line 96 at Paranext.DataProvider.NetworkObjects.DataProvider.FunctionHandler(JsonElement request) in C:\Repos\paranext-core\c-sharp\NetworkObjects\DataProvider.cs:line 91 at Paranext.DataProvider.MessageHandlers.MessageHandlerRequestByRequestType.HandleMessage(Message message)+MoveNext() in C:\Repos\paranext-core\c-sharp\MessageHandlers\MessageHandlerRequestByRequestType.cs:line 47 at Paranext.DataProvider.MessageTransports.PapiClient.HandleIncomingMessage(Message message) in C:\Repos\paranext-core\c-sharp\MessageTransports\PapiClient.cs:line 545 [/dotnet data provider]

Expected behavior A clear and concise description of what you expected to happen.

lyonsil commented 2 weeks ago

The PR fixed the second part of this issue. The first part of the issue won't be fixed until we have a settings/inventory dialog to configure the quotation check.