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

Adapt app to syncronizer #719

Merged
merged 54 commits into from
Oct 26, 2023
Merged

Adapt app to syncronizer #719

merged 54 commits into from
Oct 26, 2023

Conversation

halgari
Copy link
Collaborator

@halgari halgari commented Oct 18, 2023

Reworks the app to use the new ALoadoutSyncronizer, and for each game to have a default syncronizer. Reworks the Skyrim code to reference this synchronizer and updates the tests accordingly

LoadoutMarker is now a singleton for each LoadoutId and the LoadoutRegistry will automatically update the DataStoreIds whenever the loadout is altered. This is in preparation for the next step of tech debt removal where we'll be going single process with the app. So the round-trip and the incured latency of hitting the database is no longer needed, making these markers singletons reduces a bit of complexity in the design.

@codecov
Copy link

codecov bot commented Oct 19, 2023

Codecov Report

Merging #719 (9632e20) into main (c5d7ad4) will decrease coverage by 2.91%.
Report is 49 commits behind head on main.
The diff coverage is 68.20%.

❗ Current head 9632e20 differs from pull request most recent head c400aba. Consider uploading reports for the commit c400aba to get more accurate results

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #719      +/-   ##
==========================================
- Coverage   64.86%   61.95%   -2.91%     
==========================================
  Files         660      674      +14     
  Lines       19395    19500     +105     
  Branches     1293     1276      -17     
==========================================
- Hits        12580    12082     -498     
- Misses       6489     7090     +601     
- Partials      326      328       +2     
Flag Coverage Δ
Linux 61.36% <68.20%> (-2.86%) ⬇️
Windows 61.20% <68.20%> (-2.89%) ⬇️
clean_environment_tests 61.94% <68.20%> (-2.90%) ⬇️
network_tests ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...xusMods.Games.BethesdaGameStudios/ABethesdaGame.cs 100.00% <100.00%> (ø)
...s/NexusMods.Games.BethesdaGameStudios/Constants.cs 100.00% <100.00%> (ø)
...ds.Games.BethesdaGameStudios/PluginAnalysisData.cs 100.00% <100.00%> (ø)
...usMods.Games.BethesdaGameStudios/PluginAnalyzer.cs 76.78% <100.00%> (+0.42%) ⬆️
...es/NexusMods.Games.BethesdaGameStudios/Services.cs 100.00% <100.00%> (ø)
...s/SkyrimLegendaryEdition/SkyrimLegendaryEdition.cs 80.00% <100.00%> (ø)
...s/NexusMods.Games.DarkestDungeon/DarkestDungeon.cs 61.53% <100.00%> (+1.92%) ⬆️
...c/Games/NexusMods.Games.RedEngine/Cyberpunk2077.cs 92.10% <100.00%> (+2.63%) ⬆️
...ames/NexusMods.Games.RedEngine/RedModDeployTool.cs 20.83% <ø> (ø)
src/Games/NexusMods.Games.Sifu/Sifu.cs 86.95% <100.00%> (+8.00%) ⬆️
... and 46 more

... and 59 files with indirect coverage changes

@halgari halgari requested a review from a team October 19, 2023 09:07
@erri120 erri120 removed the request for review from a team October 19, 2023 13:38
@Al12rs Al12rs changed the title Adapt apt to syncronizer Oct 20, 2023
@Al12rs
Copy link
Contributor

Al12rs commented Oct 24, 2023

As reported on Discord, running the CanInstallAndApplyMostPopularMods tests of SSE and SLE locally fails.
Attempting to run the App and manually apply a mod using the Launch button also results in an exception.

@github-actions
Copy link
Contributor

Qodana for .NET

60 new problems were found

Inspection name Severity Problems
Redundant using directive 🔶 Warning 18
Redundant nullable warning suppression expression 🔶 Warning 5
Parameter has no matching param tag in the XML comment 🔶 Warning 4
XML comment has a 'param' tag for 'Parameter', but there is no parameter by that name 🔶 Warning 2
Return type of a function can be non-nullable 🔶 Warning 2
Unused parameter (private accessibility) 🔶 Warning 2
Cannot resolve reference in XML comment 🔶 Warning 1
Async function without await expression 🔶 Warning 1
Possibly impure struct method is called on readonly variable: struct value always copied before invocation 🔶 Warning 1
Redundant class or interface specification in base types list 🔶 Warning 1
Use preferred style for trailing comma before new line in multiline lists ◽️ Notice 4
Redundant empty argument list on object creation expression ◽️ Notice 3
Redundant 'else' keyword ◽️ Notice 3
Field can be made readonly (private accessibility) ◽️ Notice 2
Member can be made static (shared) (private accessibility) ◽️ Notice 2
Put local function after 'return' or 'continue' ◽️ Notice 2
Use preferred style of 'new' expression when created type is not evident ◽️ Notice 1
Remove redundant parentheses ◽️ Notice 1
Use explicit or implicit modifier definition for types ◽️ Notice 1
'if' statement can be rewritten as '??' expression ◽️ Notice 1
Part of foreach loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used ◽️ Notice 1
Loop can be converted into LINQ-expression ◽️ Notice 1
Make constructor in abstract class protected ◽️ Notice 1

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

@halgari halgari requested a review from Al12rs October 25, 2023 20:48
Copy link
Contributor

@Al12rs Al12rs left a comment

Choose a reason for hiding this comment

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

Looks good! Code should be clearer with latest changes.
If you want there are a few miscellaneous warnings, but otherwise this can be merged for me.

@halgari halgari merged commit b85ab7b into main Oct 26, 2023
6 of 7 checks passed
@halgari halgari deleted the adapt-apt-to-syncronizer branch October 26, 2023 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants