Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SF-3123 Update ParatextData to 9.5.0.8 #2917

Merged
merged 3 commits into from
Dec 20, 2024
Merged

SF-3123 Update ParatextData to 9.5.0.8 #2917

merged 3 commits into from
Dec 20, 2024

Conversation

pmachapman
Copy link
Collaborator

@pmachapman pmachapman commented Dec 18, 2024

This PR:

  • Updates ParatextData to 9.5.0.8
  • Marks a sync as failed when ParatextData refuses to send/receive because the project requires a version of Paratext greater than the version Scripture Forge users.
  • Adds support for projects that utilize whitespace and invisible characters (a new feature in Paratext 9.5).
    • These whitespace characters can be added to a chapter in Paratext, and are viewable in Scripture Forge. They can be removed or replaced in the Scripture Forge Quill editor.

Known bugs:

  • You cannot paste the special whitespace characters into Quill. This is fixed in Quill 2.0.

Known behavior change:

  • After syncing a project after this update, the file ParatextVersionForUsers.xml will be created with this contents:
<?xml version="1.0" encoding="utf-8"?>
<ParatextVersionList>
  <ParatextVersionForUser>
    <UserName>[username goes here...]</UserName>
    <MachineName>[machine name goes here...]</MachineName>
    <VersionNbr>1</VersionNbr>
    <LatestProductionReleaseStr>9.5.0.8</LatestProductionReleaseStr>
  </ParatextVersionForUser>
</ParatextVersionList>

Due to the wide range of potential issues, a full regression run should be performed when this is deployed to QA. I have tested core Scripture Forge functionality (updating chapters, notes, and biblical terms), but there is always a risk of change in expected behavior.


This change is Reviewable

Copy link

codecov bot commented Dec 18, 2024

Codecov Report

Attention: Patch coverage is 92.85714% with 1 line in your changes missing coverage. Please review.

Project coverage is 80.91%. Comparing base (5202070) to head (9a8afc6).

Files with missing lines Patch % Lines
...c/SIL.XForge.Scripture/Services/ParatextService.cs 90.90% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2917      +/-   ##
==========================================
+ Coverage   80.90%   80.91%   +0.01%     
==========================================
  Files         533      533              
  Lines       31211    31218       +7     
  Branches     5084     5084              
==========================================
+ Hits        25250    25259       +9     
+ Misses       5211     5198      -13     
- Partials      750      761      +11     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@pmachapman pmachapman force-pushed the fix/SF-3123 branch 2 times, most recently from 02bf004 to d381eef Compare December 18, 2024 01:18
@pmachapman pmachapman added the will require testing PR should not be merged until testers confirm testing is complete label Dec 18, 2024
@pmachapman pmachapman marked this pull request as ready for review December 18, 2024 01:48
@pmachapman pmachapman changed the title WIP: SF-3123 Update ParatextData to 9.5.0.8 SF-3123 Update ParatextData to 9.5.0.8 Dec 18, 2024
Copy link
Collaborator

@Nateowami Nateowami left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 5 of 8 files at r1.
Reviewable status: 5 of 8 files reviewed, 1 unresolved discussion (waiting on @pmachapman)


src/SIL.XForge.Scripture/Services/ParatextService.cs line 357 at r1 (raw file):

                                    Result: SendReceiveResultEnum.Failed
                                        or SendReceiveResultEnum.NotUpgraded
                                        or SendReceiveResultEnum.ProjectVersionUpgraded,

Maybe we should be checking that the result isn't Succeeded?

Copy link
Collaborator Author

@pmachapman pmachapman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 5 of 8 files reviewed, all discussions resolved (waiting on @Nateowami)


src/SIL.XForge.Scripture/Services/ParatextService.cs line 357 at r1 (raw file):

Previously, Nateowami wrote…

Maybe we should be checking that the result isn't Succeeded?

Done. Thank you - that looks a lot better!

Copy link
Collaborator

@Nateowami Nateowami left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 2 of 8 files at r1.
Reviewable status: 7 of 8 files reviewed, 1 unresolved discussion (waiting on @pmachapman)


src/SIL.XForge.Scripture/Services/ParatextService.cs line 347 at r2 (raw file):

                string srResultDescriptions = ExplainSRResults(results);
                _logger.LogInformation($"SendReceive results: {srResultDescriptions}");
                if (!noErrors || !success || (results?.Any(r => r.Result != SendReceiveResultEnum.Succeeded) == true))

If results is null, doesn't this third thing resolve to null == true? Do we care about the situation where results is null?

Copy link
Collaborator Author

@pmachapman pmachapman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 7 of 8 files reviewed, 1 unresolved discussion (waiting on @Nateowami)


src/SIL.XForge.Scripture/Services/ParatextService.cs line 347 at r2 (raw file):

Previously, Nateowami wrote…

If results is null, doesn't this third thing resolve to null == true? Do we care about the situation where results is null?

I forgot to invert the condition. Sorry. Fixed (and added cases explicitly mentioned in the code blocks above).

@pmachapman pmachapman requested a review from marksvc December 19, 2024 20:44
Copy link
Collaborator

@Nateowami Nateowami left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 1 of 1 files at r3, all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @marksvc)

@Nateowami Nateowami added ready to test and removed will require testing PR should not be merged until testers confirm testing is complete labels Dec 19, 2024
@pmachapman pmachapman removed the request for review from marksvc December 20, 2024 01:56
@Nateowami Nateowami added testing complete Testing of PR is complete and should no longer hold up merging of the PR and removed ready to test labels Dec 20, 2024
@Nateowami Nateowami enabled auto-merge (squash) December 20, 2024 16:44
@Nateowami Nateowami merged commit 0cc2c02 into master Dec 20, 2024
15 checks passed
@Nateowami Nateowami deleted the fix/SF-3123 branch December 20, 2024 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing complete Testing of PR is complete and should no longer hold up merging of the PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants