-
Notifications
You must be signed in to change notification settings - Fork 177
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
Data Structure: reduce redundancy when storing fonts #12625
Conversation
Plugin builds for 373f526 are ready 🛎️!
|
Size Change: +300 B (0%) Total Size: 2.71 MB
ℹ️ View Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's QA and Bug Bash it 👍🏻
Confirmed that google fonts as well as custom fonts added to the web story plugin both work as expected. |
@merapi good to merge? |
LG to me, I tested in on Windows and was also OK. |
Context
This is a follow-up to #12131.
Right now when adding 10 text elements all with the same font, there will be 10 font objects being stored, all with the same information. That's very redundant.
Instead of this, consider storing all existing fonts at the story level instead of on each element to reduce redundancy.
Summary
Keeps as much of the existing code i.e. calls to calcFontMetrics(element) the same while reducing how we store the font data.
When Saving or Updating
getStoryPropsToSave.js
👉 At this point we should have clean / reduced font storage
When we re-load
useLoadStory.js
👉 At this point we should have clean font data at the story level and the data back on the elements --- meaning code that wants to get the data from the element (font) can do so vs #12445 where I introduced a new elementFontData param for passing font data.
See before and after:
#12625 (comment)
Relevant Technical Choices
To-do
User-facing changes
Testing Instructions
This PR can be tested by following these steps:
This PR makes updates to font strorage we shouldn't see any visual changes while editing, previewing or outputting a story.
#12625 (comment)
If you have access to the database you can check the way stories are saved i.e.
#12625 (comment)
Reviews
Does this PR have a security-related impact?
Does this PR change what data or activity we track or use?
Does this PR have a legal-related impact?
Checklist
Type: XYZ
label to the PRFixes #12261