0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-10 13:32:45 +00:00

Move normalization to before diffing

This commit is contained in:
David Bolack
2025-07-09 19:37:57 -05:00
parent 81e20f032e
commit a02361ee65
2 changed files with 10 additions and 7 deletions

View File

@@ -260,6 +260,8 @@ const EditPage = createClass({
//Prepare content to send to server //Prepare content to send to server
const brew = { ...this.state.brew }; const brew = { ...this.state.brew };
brew.text = brew.text.normalize();
this.savedBrew.text = this.savedBrew.text.normalize();
brew.pageCount = ((brew.renderer=='legacy' ? brew.text.match(/\\page/g) : brew.text.match(/^\\page$/gm)) || []).length + 1; brew.pageCount = ((brew.renderer=='legacy' ? brew.text.match(/\\page/g) : brew.text.match(/^\\page$/gm)) || []).length + 1;
brew.patches = stringifyPatches(makePatches(this.savedBrew.text, brew.text)); brew.patches = stringifyPatches(makePatches(this.savedBrew.text, brew.text));
brew.hash = await md5(this.savedBrew.text.normalize()); brew.hash = await md5(this.savedBrew.text.normalize());

View File

@@ -339,9 +339,10 @@ const api = {
// Initialize brew from request and body, destructure query params, and set the initial value for the after-save method // Initialize brew from request and body, destructure query params, and set the initial value for the after-save method
const brewFromClient = api.excludePropsFromUpdate(req.body); const brewFromClient = api.excludePropsFromUpdate(req.body);
const brewFromServer = req.brew; const brewFromServer = req.brew;
brewFromServer.text = brewFromServer.text.normalize();
splitTextStyleAndMetadata(brewFromServer); splitTextStyleAndMetadata(brewFromServer);
brewFromServer.hash = await md5(brewFromServer.text.normalize()); brewFromServer.hash = await md5(brewFromServer.text);
if((brewFromServer?.version !== brewFromClient?.version) || (brewFromServer?.hash !== brewFromClient?.hash)) { if((brewFromServer?.version !== brewFromClient?.version) || (brewFromServer?.hash !== brewFromClient?.hash)) {
if(brewFromClient?.version !== brewFromClient?.version) if(brewFromClient?.version !== brewFromClient?.version)