Repository navigation
feat(presets): default donuts follow the #806 slot table - #972
Open
SeoJCalive wants to merge 1 commit into
Open
SeoJCalive wants to merge 1 commit into
SeoJCalive wants to merge 1 commit into
Conversation
New installs and library or donut resets get the agreed layout: every face 8 slots or fewer, core and stage-1 slots on the front, edit slots first on the back of the edit-type donuts, GIF after WEBP on images and metadata removal on video, audio and PDF. Migrations that used to copy the current defaults (AddBackFaces, AddPdfSlides, missing-donut and mixed-donut migrations) now read a frozen copy of the previous defaults, so data from older versions and imported bundles come out as before. Tests compare those paths with results captured from the previous code. Part of #806
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this change?
Part of #806. This changes the default slots of all 19 built-in donuts to the table agreed in the issue:
Only new installs and Reset library / Reset donut get the new layout. An existing user's donuts don't change, and neither does anything migrated or imported from an older version.
The new layout
How each face was built:
Type of change
Existing users
Saved profiles are never compared with the defaults when they're read, so a user's own donuts can't change. What could leak the new layout into old data were the migrations that copy the current defaults:
AddBackFaces, for profiles saved without back faces (before schema 30, or in a bundle);AddPdfSlides(schema < 18);These now read a frozen copy of the previous defaults,
BuiltInDataschema-58 profiles, which is identical toCreateProfiles()at 51a6ba2.PdfDonutkeeps the schema-18–58 PDF front forAddPdfSlides. New installs,ResetLibraryandResetProfileuse the newCreateProfiles(). The schema version doesn't change, because the file format and existing data are the same.How "unchanged" is judged: for each case the new code's result is compared with a fixture captured by running the old code (51a6ba2) on the same input. The fixtures were not derived from the new code. Each comparison covers:
The cases are Load and Import of:
How was it tested?
dotnet format --verify-no-changesdotnet test. On Linux I ran Core (900/900) and the App tests for the toolbar, profiles, presets,DefaultPlacementTestsandRenderTests(371/372). I didn't run the whole App suite locally; CI covers it.RenderTests.Engines_page_shows_versions_descriptions_and_download_speed. The system Ghostscript and LibreOffice on that machine report an empty version. This PR doesn't touch engines or the engines page.DefaultPlacementTests(as asked): 8/8 pass, no violations, no generic-only slots.Mutation checks. Each change was applied on its own, then reverted:
CreateProfiles()AddBackFacesuses the new defaultsto-pngfrom the frozen image frontScreenshots (UI changes)
Each image shows before on the left and after on the right, rendered by the same headless render test on 51a6ba2 and on this branch. Greyed slots are tools whose engine isn't installed on the capture machine (FFmpeg, Calibre), the same before and after.
The other 22 faces that changed
The 7 faces not shown are unchanged: presentations, CAD and mixed fronts; subtitles, fonts, data and GIS backs. The archives back has no slots before or after.
Checklist
src/Filee.App/Assets/i18n/*.jsonfiles (none added)THIRD-PARTY-NOTICES.md(none added)